- Emotion Engine
The Emotion Engine is a
CPU developed and manufactured bySony andToshiba for use in the Sony PlayStation 2video game console . Mass production of the Emotion Engine began in 1999.Description
The Emotion Engine consists of eight separate "units", each performing a specific task, integrated onto the same die. These units are: a MIPS-based core, two Vector Processing Units (VPU), a graphics interface (GIF), a 10 channel DMA unit, a
memory controller , an Image Processing Unit (IPU) and an input output interface.MIPS core
At the heart of the Emotion Engine is a two-way
superscalar in order MIPS-based core primarily based on the MIPS-IIIInstruction Set Architecture (MIPS-III ISA) but includes some instructions defined by the MIPS-IV ISA. The MIPS-based core consists of two 64-bit arithmetic logic units (ALU) and asingle precision (32-bit) floating point unit (FPU). The ALU and the FPU pipelines are both six stages long.To feed the execution units with instructions and data, there is a 16 KB two-way set associative
instruction cache , an 8 KBBDprefix|p=b] two-way set associative non blocking data cache and a 16 KBscratchpad RAM . Both the instruction and data caches are virtually indexed and physically tagged while thescratchpad RAM exists in a separate memory space. A combined 48 double entry instruction and datatranslation lookaside buffer is provided for translating virtual addresses.Branch prediction is achieved by a 64-entry branch target address cache and abranch history table that is integrated into the instruction cache. The branch mispredict penalty is three cycles due to the short six stage pipeline.Vector processing units
The majority of the Emotion Engine's
floating point performance is provided by two vector processing units (VPU), designated VPU0 and VPU1. Each VPU features 32128-bit registers, 16 16-bit fixed-point registers, fourFMAC (Floating point Multiply-ACcumulate) units, an FDIV (Floating point DIVide) unit and a local data memory. The data memory for VPU0 is 4 KB in size, while VPU1 features a 16 KB data memory.To achieve high bandwidth, the VPU's data memory is connected directly to the GIF, and both of the data memories can be read directly by the DMA unit. A single vector instruction consists of four 32-bit IEEE compliant
single-precision floating-point values which are distributed to the four single-precision (32-bit) FMAC units for processing. Contrary to popular belief, the Emotion Engine is not a 128-bit processor as it does not process a single 128-bit value, but a group of four 32-bit values that are stored in one 128-bit register.John L. Hennessy andDavid A. Patterson . "Computer Architecture: A Quantitative Approach, Third Edition". ISBN 1-55860-724-2] Keith Diefendorff. "Sony's Emotionally Charged Chip". The Microprocessor Report, Volume 13, Number 5, April 19, 1999. Microdesign Resources.] This scheme is similar to the SSEx extensions by Intel.The FMAC units take four cycles to execute one instruction, but as the units have a six-stage pipeline, they have a throughput of one instruction per cycle. The FDIV unit has a nine-stage pipeline and can execute one instruction every seven cycles.
Internal data bus
Communications between the MIPS core, the two VPUs, GIF, memory controller and other units is handled by a 128-bit wide internal data bus running at half the clock frequency of the Emotion Engine. At 300 MHz, the internal data bus provides a maximum theoretical bandwidth of 2.4 GB/sBDprefix|p=d] . DMA transfers over this bus occurs in packets of eight 128-bit words, achieving a peak bandwidth of 2 GB/sKeith Diefendorff, "Sony's Emotionally Charged Chip," The Microprocessor Report, Volume 13, Number 5, 19 April, 1999.] .
External interface
Communication between the Emotion Engine and RAM occurs through two channels of
DRDRAM (Direct Rambus Dynamic Random Access Memory) and thememory controller , which interfaces to the internal data bus. The two channels of DRDRAM have a maximum theoretical bandwidth of 3.2 GB/s, about 33% more bandwidth than the internal data bus. Because of this, the memory controller buffers data sent from the DRDRAM channels so the extra bandwidth can be utilised by the CPU.The Emotion Engine interfaces directly to the Graphics Synthesizer via the GIF with a dedicated 64-bit, 150 MHz bus that has a maximum theoretical bandwidth of 1.2 GB/s
To provide communications between the Emotion Engine and the Input Output Processor (IOP), the input output interface interfaces a 32-bit wide, 37.5 MHz input output bus with a maximum theoretical bandwidth of 150 MB/s to the internal data bus. It should be noted that this interface provides vastly more bandwidth than what is required by the PlayStation's input output devices.
Uses
The primary use of the Emotion Engine was to serve as the
PlayStation 2 's CPU. The first versions of thePlayStation 3 also featured an Emotion Engine on the motherboard to achieve backwards compatibility withPlayStation and PlayStation 2 games. However, subsequent releases of the PlayStation 3, including the initialPAL release, dropped the Emotion Engine to lower costs. Instead, softwareemulation is used to allow backwards compatibility.Specifications
*
Clock frequency : 294 MHz, 299 MHz (later versions)
*Instruction set : MIPS III, MIPS IV subset, 107 vector instructions
*MIPS based core: 2 issue, 2 64-bit fixed point units, 1 floating point unit, 6 stage pipeline
*Instruction cache: 16 KB, 2-way set associative
*Data cache: 8 KB, 2-way set associative
*Scratchpad RAM : 16 KB
*Translation look aside buffer: 48-entry combined instruction/data
*Vector processing unit: 4 FMAC units, 1 FDIV unit
*Vector processing unit registers: 128-bit wide, 32 entries
*Image processing unit:MPEG2 macroblock layerdecoder
*Direct memory access : 10 channels
*Internal data bus: 128 bit, 150 MHz, 2 GB/s maximum effective bandwidth
*Memory bus: Two 16-bit, 400 MHz DRDRAM channels, 3.2 GB/s (maximum theoretical bandwidth)
*Manufacturing process: 0.25 µm (0.18 µm effective LG, 4 layer metal, CMOS)
*VDDVoltage : 1.8 V
*Power consumption : 15 W at 1.8 V
*Transistor count: 10.5 million
*Die area: 240 mm2
*Packaging: 540-contact PBGATheoretical performance
*
Floating point : 6.2 billionsingle precision (32-bit) floating point operations per second
*Perspective transformation: 66 million polygons per second
*Withlighting andfog : 36 million polygons per second
*Bezier surface patches: 16 million polygons per second
*Image decompression: 150 millionpixel s per secondReferences
ee also
*
PlayStation 2
*PlayStation 3
*Graphics card
*Graphics processing unit
*Computer graphics
*List of computer graphics and descriptive geometry topics
*Cell microprocessor External links
* [http://arstechnica.com/reviews/1q00/playstation2/ee-1.html Sound and Vision: A Technical Overview of the Emotion Engine]
* [http://arstechnica.com/articles/paedia/cpu/ps2vspc.ars/1 The PlayStation2 vs. the PC: a system-level comparison of two 3D platforms]
* [http://arrakis.ncsa.uiuc.edu/ps2/ Scientific Computing on the Sony PlayStation 2]
* [http://news.bbc.co.uk/1/hi/technology/2940422.stm BBC article: PlayStation turns supercomputer]
Wikimedia Foundation. 2010.