Emotion Engine - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Emotion Engine

Description:

... at the center of the PlayStation2 gaming console. Charles Aldrich ... The PlayStation2. Unlike many of the devices we have looked at, the PS2 ... The PlayStation2 ... – PowerPoint PPT presentation

Number of Views:88
Avg rating:3.0/5.0
Slides: 22
Provided by: charles103
Category:

less

Transcript and Presenter's Notes

Title: Emotion Engine


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 well 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 weve 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
Write a Comment
User Comments (0)
About PowerShow.com