Emotion engine
1 / 21

Emotion Engine - PowerPoint PPT Presentation

  • Uploaded on

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Emotion Engine' - mohammad-freeman

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Emotion engine

Emotion Engine

A look at the microprocessor at the center of the PlayStation2 gaming console

Charles Aldrich

The playstation2
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

The playstation21
The PlayStation2

  • EmotionEngine is specifically designed to handle several tasks (in order of importance)

    • Geometry Calculations

    • Behaviour/World Simulation

    • System Functions

Creating graphics
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

Emotionengine basic architecture
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)

Architecture cont
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

Architecture cont1
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

Cpu fpu vu0 group
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

Vu1 graphics synthesizer
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

Mips iii core details
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

Mips iii core details cont
MIPS III Core details, cont.

  • Cache

    • 16k instruction

    • 8k data

  • Capable of speculative execution

    • 2 part branch-prediction mechanism

    • Fairly simple

Mips iii core details cont1
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


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

Simd cont
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

Visual power
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


  • 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


  • 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

Basic stats
Basic Stats

  • Clock Speed - 300 Mhz

  • Transistors - 10.5 Million

  • Memory - 32MB (Direct RDRAM)

  • Memory Bandwidth - 3.5GB/sec

Performance numbers
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


  • 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