Presentation is loading. Please wait.

Presentation is loading. Please wait.

Emotion Engine A look at the microprocessor at the center of the PlayStation2 gaming console Charles Aldrich.

Similar presentations


Presentation on theme: "Emotion Engine A look at the microprocessor at the center of the PlayStation2 gaming console Charles Aldrich."— Presentation transcript:

1 Emotion Engine A look at the microprocessor at the center of the PlayStation2 gaming console Charles Aldrich

2 The PlayStation2 Unlike many of the devices we have looked at, the PS2 seeks to do a specific task very well, namely 3D Gaming As a result the construction of the platform is different from most computers The EmotionEngine is also quite different as a result of this

3 The PlayStation2 EmotionEngine is specifically designed to handle several tasks (in order of importance) –Geometry Calculations –Behaviour/World Simulation –System Functions

4 Creating Graphics The EmotionEngine is not responsible for creating and displaying graphics, rather it is responsible for passing a list of rendering commands to the graphics synthesizer The graphics synthesizer, in the PS2 is a souped up video accelerator

5 EmotionEngine basic architecture MIPS III core A Vector Unit (actually made up of 2, VU0 and VU1) Floating Point Image Processing Unit (does mpg2) Graphics Interface Unit RDRAM interface I/O interface DMA Controller (10 channel)

6 *Image courtesy of arstechnica.com

7 Architecture, cont. All components are connected via a 128-bit internal bus Toshiba, who developed the EmotionEngine (and licensed it to Sony) decided, early on, that the EmotionEngine was not going to be a general purpose microprocessor rather it was only going to be designed to run 3D games This allowed the design team to determine the roles of the various internal devices during design

8 Architecture, cont. The idea was to set up the various components to work in groups to accomplish set tasks –CPU + FPU: basic program control, housekeeping, etc –CPU + FPU + VU0: behavior, physics calculations, etc –VU1: simple geometry calculations that produce display lists which are sent directly to the Graphics Synthesizer –IPU: image decompression Next we’ll look at how each of these groups work together

9 CPU/FPU/VU0 group Both the FPU and the VU0 have a dedicated 128-bit bus, so they do not need to use the shared system bus The dedicated bus allows the VU0 to function as a MIPS III coprocessor The VU0 and the CPU share the ScratchPadRam (16k of very fast RAM) The SPRAM functions as a workspace where both the CPU and the VU0 work together on a piece of data before sending it out over the system bus

10 VU1/Graphics Synthesizer Similar to the VU0 and the CPU, the VU1 has a dedicated 128-bit bus connection to the Graphics Interface Do not work as closely as the VU0 and CPU, neither controls the other

11 MIPS III Core details The EmotionEngine uses a specialized version of the MIPS architecture –32 128-bit registers –2 64-bit integer ALUs –128-bit load/store unit –Branch execution unit –FPU Coprocessor –Vector Coprocessor

12 MIPS III Core details, cont. Cache –16k instruction –8k data Capable of speculative execution –2 part branch-prediction mechanism –Fairly simple

13 MIPS III Core details, cont. Pipeline –Relatively short, 6 stage pipeline 1. PC Select 2. Instruction fetch 3. Instruction decode and register read 4. Execute 5. Cache access 6. Write back FPU coprocessor is fairly standard

14 SIMD The emotion engine takes advantage of SIMD (Single Instruction stream, Multiple Data stream)

15 SIMD, cont. As the picture shows, parallel streams of data all have the same instructions done to it The EmotionEngine supports (using both ALUs) 128-bit integer SIMD in several configurations –16 8-bit ops/cycle –8 16-bit ops/cycle –4 32-bit ops/cycle

16 Visual Power The EmotionEngine is best suited for precision graphics, and the power of the processor comes from the Vector Processing units As we’ve discussed already, there are two vector units The two are similar on an architectural level, but very different on a functional level

17 VU0 128-bit SIMD/VLIW design Works as a coprocessor with the CPU Has its own set of 32 128-bit FPRs (floating point registers) Also has 16 16-bit integer registers for integer operations

18 VU1 Has all the architectural features of VU0 Also has some additions which pertain to geometry functions in coordination with the Graphics Synthesizer This includes the addition of the EFU (Elementary Functional Unit) which does basic math essential to geometric processing

19 Basic Stats Clock Speed - 300 Mhz Transistors - 10.5 Million Memory - 32MB (Direct RDRAM) Memory Bandwidth - 3.5GB/sec

20 Performance Numbers Floating Point - 6.2 Gigaflops Perspective Transformation - 66 Million Polygons/sec Lighting - 38 Million Polygons/sec Fog - 36 Million Polygons/sec Curved Surface Generation (Bezier) - 16 Million Polygons/sec

21 Conclusion The EmotionEngine is clearly a very capable graphics processor, but its true power is most evident when placed in the context of the PS2 which was designed to take advantage of the processors specific architecture


Download ppt "Emotion Engine A look at the microprocessor at the center of the PlayStation2 gaming console Charles Aldrich."

Similar presentations


Ads by Google