Editing Template:PS2 emulators workload comparison

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
|+{{ed right|PS2 emulators workload comparison}}
|+PS2 emulators workload comparison {{ed right|PS2 emulators workload comparison}}
! colspan="4" | PS2 (GS+EE)
! colspan="4" | PS2 (GS+EE)
|-
|-
! Core !! Job !! Source !! Notes
! Core !! Job !! Source !! Notes
|-
|-
| SPU0 || Spu2 || SPU Assembly || Spu2 emulator
| SPU0 || IOP || SPU ASM ||  
|-
|-
| SPU1 || Sif || SPU Assembly || Some kind of bridge to IOP, since SIF is part of EE hardware.
| - || DMA || Hardware [[CXD2953AGB]] || Only in [[CECHAxx]] and [[CECHBxx]] PS3 models with [[COK-00x|COK-001]] motherboard
|-
|-
| SPU2 || Timer || SPU Assembly || IOP timers.
| SPU2 || Isolation || C++ Raw SPU || Used for MagicGate Encryption and others (?)
|-
|-
| SPU3-6 || - || - || Unknown, emulator seems to not use them
| - || IPU || rowspan="2" | Hardware [[CXD2953AGB]] || rowspan="2" | Only in [[CECHAxx]] and [[CECHBxx]] PS3 models with [[COK-00x|COK-001]] motherboard
|-
|-
| - || GFIF
|-
| SPU5 || PS2-SPU2 || C++ || about 50% load average
|-
| - || VU1 || Hardware [[CXD2953AGB]] || Only in [[CECHAxx]] and [[CECHBxx]] PS3 models with [[COK-00x|COK-001]] motherboard
|-{{cellcolors|lightgrey}}
| SPU7 || - || - || Unavailable: Factory disabled SPU
| SPU7 || - || - || Unavailable: Factory disabled SPU
|-
|-
| PPU:0 || PS2-Devices || C++ and PPU ASM ||
| PPU:0 || PS2-Devices || C++ and PPU ASM ||
|-
|-
| PPU:1 || IOP || PPU ASM || Interpreter, dmas, iop hw regs, etc.
| PPU:1 || - || - || unused?
|-
|-
| PS2-EE || Emotion Engine || rowspan="2" | Hardware [[CXD2953AGB]] || rowspan="2" | Only in [[CECHAxx]] and [[CECHBxx]] PS3 models with [[COK-00x|COK-001]] motherboard
| PS2-EE || Emotion Engine || rowspan="2" | Hardware [[CXD2953AGB]] || rowspan="2" | Only in [[CECHAxx]] and [[CECHBxx]] PS3 models with [[COK-00x|COK-001]] motherboard
Line 27: Line 33:
! Core !! Job !! Source !! Notes
! Core !! Job !! Source !! Notes
|-
|-
| SPU0 || IOP || SPU ASM || I/O Processor (originally PS1 main processor)
| SPU0 || IOP || SPU ASM ||  
|-
|-
| SPU1 || PS2-SPU2 || SPU ASM || Sound processing unit 2
| SPU1 || DMA || SPU ASM ||  
|-
|-
| SPU2 || IPU || SPU ASM || Image Processing Unit
| SPU2 || Isolation || C++ Raw SPU || Used for MagicGate Encryption and others (?)
|-
|-
| SPU3 || VU1 || SPU ASM || Vector Unit 1
| SPU3 || IPU || SPU ASM ||  
|-
|-
| SPU4 || EEDMA || SPU ASM || EE DMA plus VIF1 handler
| SPU4 || GFIF || SPU ASM ||  
|-
|-
| SPU5 || GSGIF || SPU ASM || GIF (GS Interface, very limited since GS is on board)
| SPU5 || PS2-SPU2 || C++ || about 50% load average
|-
|-
| SPU6 || ? || ? || Emulator never access it directly but can be possibly used for MagicGate. Emulator sends/receives MG data thru virtual uart port 10.
| SPU6 || VU1 || SPU ASM ||
|-{{cellcolors|lightgrey}}
|-{{cellcolors|lightgrey}}
| SPU7 || - || - || Unavailable: Factory disabled SPU
| SPU7 || - || - || Unavailable: Factory disabled SPU
Line 50: Line 56:
|-
|-
! colspan="4" | PS2 Software
! colspan="4" | PS2 Software
|-
| colspan="5" | problematic, see Mathieulh quoted below
<pre>
The main issue here is that it's mostly not doable to emulate the GS efficiently with the rest
of the hardware because the RSX is just not meant for this task and cannot emulate the GS on
its own while all the available SPUs and the PPU are already mostly fully used to emulate the
rest of the playstation 2 hardware, this explains why sony never could finish the ps2_softemu
and that it reached a stalling step.
I honestly have no idea on how it would be possible to get over the ps3 hardware limitations to
perform a full ps2 emulation without any of the ps2 hardware present on the console, one thing
for sure is that the emulator would have to be entirely rewritten and optimized like no other
ps3 software has been.
</pre>
|-
|-
! Core !! Job !! Source !! Notes
! Core !! Job !! Source !! Notes
|-
|-
| SPU0 || IOP || SPU ASM || I/O Processor (originally PS1 main processor)
| SPU0 || IOP || SPU ASM ||  
|-
|-
| SPU1 || SPU2 || SPU ASM || Sound Processing Unit 2
| SPU1 || EEDMA || SPU ASM ||  
|-
|-
| SPU2 || VU1 || SPU ASM || Vector Unit 1
| SPU2 || Isolation || C++ Raw SPU || Used for MagicGate Encryption and others (?)
|-
|-
| SPU3 || EEDMA || SPU ASM || Emotion Engine DMA Controller
| SPU || GSE || SPU ASM || Graphic Synthesizer <!-- this row should be deleted because the GSE job is made by SPU4 ? -->
|-
|-
| SPU4 || GSEGIF || SPU ASM || GIF
| SPU3 || IPU || SPU ASM ||  
|-
|-
| SPU5 || GSE || SPU ASM ||
| SPU4 || GSEGFIF || SPU ASM ||  
|-
|-
| SPU6 || IPU || SPU ASM || Image Processing Unit
| SPU5 || PS2-SPU2 || C++ ||
|-
| SPU6 || VU1 || SPU ASM ||
|-{{cellcolors|lightgrey}}
|-{{cellcolors|lightgrey}}
| SPU7 || - || - || Unavailable: Factory disabled SPU
| SPU7 || - || - || Unavailable: Factory disabled SPU
Line 77: Line 99:
! Core !! Job !! Source !! Notes
! Core !! Job !! Source !! Notes
|-
|-
| SPU0 || IOP || SPU ASM || I/O Processor (originally PS1 main processor)
| SPU0 || IOP || ||  
|-
|-
| SPU1 || SPU2 || SPU ASM || Sound processing unit 2 (originally SPU from PS1)
| SPU1 || SPU2 || ||  
|-
|-
| SPU2 || VU1 || SPU ASM || Running VU1 code translated previously on PPU side.
| SPU2 || VU1 || ||  
|-
|-
| SPU3 || EEDMA || SPU ASM || Partial DMAC, mostly channels 1/2, and VU1 CODE r/w. Also process VIF1 commands (incl. Unpacks).
| SPU3 || EEDMA || ||  
|-
|-
| SPU4 || FE || SPU ASM || GIF unit, processing GIF tags, handling GS internal registers, etc.
| SPU4 || FE || ||  
|-
|-
| SPU5 || BE || SPU ASM ||  
| SPU5 || BE || ||
|-
| SPU6 || IPU || SPU ASM || EE Image Processing Unit
|-{{cellcolors|lightgrey}}
| SPU7 || BE || PPU/SPU ASM || Factory disabled SPU. Emulator set name for JOB, but never try to start/set it as active. Although a lot of code in emulator is ready to use it.
|-
|-
| PPU:0 || - || - ||
| SPU6 || IPU || ||
|-
|-
| PPU:1 || - || - ||
| SPU7 || BE || || <!-- Factory disabled SPU ? -->
|-
|-
|}<noinclude>[[Category:Templates]]</noinclude>
|}<noinclude>[[Category:Templates]]</noinclude>
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)

Templates used on this page: