1 / 21

Emotion Engine

Emotion Engine. A look at the microprocessor at the center of the PlayStation2 gaming console. Charles Aldrich. The PlayStation2. Unlike many of the devices we have looked at, the PS2 seeks to do a specific task very well, namely 3D Gaming

zander
Download Presentation

Emotion Engine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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

More Related