Template:PS2 emulators workload comparison: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(7 intermediate revisions by the same user not shown)
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;"  
|+PS2 emulators workload comparison {{ed right|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 || IOP || SPU ASM || I/O Processor (originally PS1 main processor)
| SPU0 || Spu2 || SPU Assembly || Spu2 emulator
|-
|-
| PS2-EE || DMA || Hardware [[CXD2953AGB]] || Only in [[CECHAxx]] and [[CECHBxx]] PS3 models with [[COK-00x|COK-001]] motherboard
| SPU1 || Sif || SPU Assembly || Some kind of bridge to IOP, since SIF is part of EE hardware.
|-
|-
| SPU2 || Isolation || C++ Raw SPU || Used for MagicGate Encryption and others (?)
| SPU2 || Timer || SPU Assembly || IOP timers.
|-
|-
| PS2-EE || IPU || rowspan="2" | Hardware [[CXD2953AGB]] || rowspan="2" | Only in [[CECHAxx]] and [[CECHBxx]] PS3 models with [[COK-00x|COK-001]] motherboard
| SPU3-6 || - || - || Unknown, emulator seems to not use them
|-
|-
| PS2-EE || GFIF
|-
| SPU5 || PS2-SPU2 || C++ || Sound processing unit 2 (originally SPU from PS1) about 50% load average
|-
| PS2-EE || 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 || - || - || unused?
| PPU:1 || IOP || PPU ASM || Interpreter, dmas, iop hw regs, etc.
|-
|-
| 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 35: Line 29:
| SPU0 || IOP || SPU ASM || I/O Processor (originally PS1 main processor)
| SPU0 || IOP || SPU ASM || I/O Processor (originally PS1 main processor)
|-
|-
| SPU1 || DMA || SPU ASM || Emotion Engine DMA Controller
| SPU1 || PS2-SPU2 || SPU ASM || Sound processing unit 2
|-
|-
| SPU2 || Isolation || C++ Raw SPU || Used for MagicGate Encryption and others (?)
| SPU2 || IPU || SPU ASM || Image Processing Unit
|-
|-
| SPU3 || IPU || SPU ASM || Image Processing Unit
| SPU3 || VU1 || SPU ASM || Vector Unit 1
|-
|-
| SPU4 || GFIF || SPU ASM || GIF?
| SPU4 || EEDMA || SPU ASM || EE DMA plus VIF1 handler
|-
|-
| SPU5 || PS2-SPU2 || C++ || Sound processing unit 2 (originally SPU from PS1) about 50% load average
| SPU5 || GSGIF || SPU ASM || GIF (GS Interface, very limited since GS is on board)
|-
|-
| SPU6 || VU1 || SPU ASM || Vector Unit 1
| SPU6 || ? || ? || Emulator never access it directly but can be possibly used for MagicGate. Emulator sends/receives MG data thru virtual uart port 10.
|-{{cellcolors|lightgrey}}
|-{{cellcolors|lightgrey}}
| SPU7 || - || - || Unavailable: Factory disabled SPU
| SPU7 || - || - || Unavailable: Factory disabled SPU
Line 61: Line 55:
| SPU0 || IOP || SPU ASM || I/O Processor (originally PS1 main processor)
| SPU0 || IOP || SPU ASM || I/O Processor (originally PS1 main processor)
|-
|-
| SPU1 || EEDMA || SPU ASM || Emotion Engine DMA Controller
| SPU1 || SPU2 || SPU ASM || Sound Processing Unit 2
|-
|-
| SPU2 || Isolation || C++ Raw SPU || Used for MagicGate Encryption and others (?)
| SPU2 || VU1 || SPU ASM || Vector Unit 1
|-
|-
| SPU3 || IPU || SPU ASM || EE Image Processing Unit
| SPU3 || EEDMA || SPU ASM || Emotion Engine DMA Controller
|-
|-
| SPU4 || GSEGFIF || SPU ASM || GIF?
| SPU4 || GSEGIF || SPU ASM || GIF
|-
|-
| SPU5 || PS2-SPU2 || C++ || Sound processing unit 2 (originally SPU from PS1)
| SPU5 || GSE || SPU ASM ||
|-
|-
| SPU6 || VU1 || SPU ASM || Vector Unit 1
| SPU6 || IPU || SPU ASM || Image Processing Unit
|-{{cellcolors|lightgrey}}
|-{{cellcolors|lightgrey}}
| SPU7 || - || - || Unavailable: Factory disabled SPU
| SPU7 || - || - || Unavailable: Factory disabled SPU
Line 83: Line 77:
! Core !! Job !! Source !! Notes
! Core !! Job !! Source !! Notes
|-
|-
| SPU0 || IOP || || I/O Processor (originally PS1 main processor)
| SPU0 || IOP || SPU ASM || I/O Processor (originally PS1 main processor)
|-
|-
| SPU1 || SPU2 || || Sound processing unit 2 (originally SPU from PS1)
| SPU1 || SPU2 || SPU ASM || Sound processing unit 2 (originally SPU from PS1)
|-
|-
| SPU2 || VU1 || || Vector Unit 1
| SPU2 || VU1 || SPU ASM || Running VU1 code translated previously on PPU side.
|-
|-
| SPU3 || EEDMA || || Emotion Engine DMA Controller
| SPU3 || EEDMA || SPU ASM || Partial DMAC, mostly channels 1/2, and VU1 CODE r/w. Also process VIF1 commands (incl. Unpacks).
|-
|-
| SPU4 || FE || ||  
| SPU4 || FE || SPU ASM || GIF unit, processing GIF tags, handling GS internal registers, etc.
|-
|-
| SPU5 || BE || || Emulator run thread EEonBE, can be related.
| SPU5 || BE || SPU ASM ||  
|-
|-
| SPU6 || IPU || || EE Image Processing Unit
| SPU6 || IPU || SPU ASM || EE Image Processing Unit
|-{{cellcolors|lightgrey}}
|-{{cellcolors|lightgrey}}
| SPU7 || BE || || Factory disabled SPU. Emulator set name for JOB, but never try to start/set it as active.  
| 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 || - || - ||
| PPU:0 || - || - ||

Latest revision as of 08:48, 22 October 2024

PS2 (GS+EE)
Core Job Source Notes
SPU0 Spu2 SPU Assembly Spu2 emulator
SPU1 Sif SPU Assembly Some kind of bridge to IOP, since SIF is part of EE hardware.
SPU2 Timer SPU Assembly IOP timers.
SPU3-6 - - Unknown, emulator seems to not use them
SPU7 - - Unavailable: Factory disabled SPU
PPU:0 PS2-Devices C++ and PPU ASM
PPU:1 IOP PPU ASM Interpreter, dmas, iop hw regs, etc.
PS2-EE Emotion Engine Hardware CXD2953AGB Only in CECHAxx and CECHBxx PS3 models with COK-001 motherboard
PS2-GS Graphic Synthesizer
PS2_GX
Core Job Source Notes
SPU0 IOP SPU ASM I/O Processor (originally PS1 main processor)
SPU1 PS2-SPU2 SPU ASM Sound processing unit 2
SPU2 IPU SPU ASM Image Processing Unit
SPU3 VU1 SPU ASM Vector Unit 1
SPU4 EEDMA SPU ASM EE DMA plus VIF1 handler
SPU5 GSGIF SPU ASM GIF (GS Interface, very limited since GS is on board)
SPU6 ? ? Emulator never access it directly but can be possibly used for MagicGate. Emulator sends/receives MG data thru virtual uart port 10.
SPU7 - - Unavailable: Factory disabled SPU
PPU:0 PS2-Devices C++ and PPU ASM
PPU:1 Emotion Engine C++ and PPU ASM
PS2-GS Graphic Synthesizer Hardware CXD2972GB Only in CECHCxx PS3 models with COK-002 motherboard
PS2 Software
Core Job Source Notes
SPU0 IOP SPU ASM I/O Processor (originally PS1 main processor)
SPU1 SPU2 SPU ASM Sound Processing Unit 2
SPU2 VU1 SPU ASM Vector Unit 1
SPU3 EEDMA SPU ASM Emotion Engine DMA Controller
SPU4 GSEGIF SPU ASM GIF
SPU5 GSE SPU ASM
SPU6 IPU SPU ASM Image Processing Unit
SPU7 - - Unavailable: Factory disabled SPU
PPU:0 PS2-Devices C++ and PPU ASM
PPU:1 Emotion Engine C++ and PPU ASM
PS2 Netemu
Core Job Source Notes
SPU0 IOP SPU ASM I/O Processor (originally PS1 main processor)
SPU1 SPU2 SPU ASM Sound processing unit 2 (originally SPU from PS1)
SPU2 VU1 SPU ASM Running VU1 code translated previously on PPU side.
SPU3 EEDMA SPU ASM Partial DMAC, mostly channels 1/2, and VU1 CODE r/w. Also process VIF1 commands (incl. Unpacks).
SPU4 FE SPU ASM GIF unit, processing GIF tags, handling GS internal registers, etc.
SPU5 BE SPU ASM
SPU6 IPU SPU ASM EE Image Processing Unit
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 - -
PPU:1 - -