The
Emotion Engine is a CPU developed and manufactured by
Sony Computer Entertainmentis a video game company specializing in a variety of areas in the video game industry, and is a full subsidiary of Sony. The company was established on November 16, 1987 in Tokyo, Japan prior to the launch of the original PlayStation video game system...
and
Toshibais a Japanese multinational conglomerate manufacturing company, headquartered in Tokyo, Japan. The company's main business is in infrastructure, consumer products, electronic devices and components.Toshiba-made Semiconductors are among the Worldwide Top 20 Semiconductor Sales Leaders...
for use in the Sony
PlayStation 2The PlayStation 2 is a sixth-generation video game console manufactured by Sony. The PS2 console is the sequel to the original PlayStation console. The successor to the PlayStation, and the predecessor to the PlayStation 3, the PlayStation 2 forms part of the PlayStation series of video game...
video game consoleA video game console is an interactive entertainment computer or electronic device that produces a video display signal which can be used with a display device to display a video game...
, as well as certain
PlayStation 3The PlayStation 3 is the third home video game console produced by Sony Computer Entertainment, and the successor to the PlayStation 2 as part of the PlayStation series...
variants. Mass production of the Emotion Engine began in 1999.
The Emotion Engine consists of eight separate "units", each performing a specific task, integrated onto the same
dieA die in the context of integrated circuits is a small block of semiconducting material, on which a given functional circuit is fabricated.Typically, integrated circuits are produced in large batches on a single wafer of electronic-grade silicon through processes such as photolithography. The...
. These units are: a CPU core, two
Vector Processing UnitsA vector processor, or array processor, is a CPU design wherein the instruction set includes operations that can perform mathematical operations on multiple data elements simultaneously. This is in contrast to a scalar processor, which handles one element at a time using multiple instructions. The...
(VPU), a graphics interface (GIF), a 10 channel
DMADirect memory access is a feature of modern computers and microprocessors that allows certain hardware subsystems within the computer to access system memory for reading and/or writing independently of the central processing unit. Many hardware systems use DMA including disk drive controllers,...
unit, a
memory controllerThe memory controller is a digital circuit which manages the flow of data going to and from the main memory. It can be a separate chip or integrated into another chip, such as on the die of a microprocessor....
, an Image Processing Unit (IPU) and an input output interface.
The CPU core is tightly coupled to the first VPU, VPU
0.
The
Emotion Engine is a CPU developed and manufactured by
Sony Computer Entertainmentis a video game company specializing in a variety of areas in the video game industry, and is a full subsidiary of Sony. The company was established on November 16, 1987 in Tokyo, Japan prior to the launch of the original PlayStation video game system...
and
Toshibais a Japanese multinational conglomerate manufacturing company, headquartered in Tokyo, Japan. The company's main business is in infrastructure, consumer products, electronic devices and components.Toshiba-made Semiconductors are among the Worldwide Top 20 Semiconductor Sales Leaders...
for use in the Sony
PlayStation 2The PlayStation 2 is a sixth-generation video game console manufactured by Sony. The PS2 console is the sequel to the original PlayStation console. The successor to the PlayStation, and the predecessor to the PlayStation 3, the PlayStation 2 forms part of the PlayStation series of video game...
video game consoleA video game console is an interactive entertainment computer or electronic device that produces a video display signal which can be used with a display device to display a video game...
, as well as certain
PlayStation 3The PlayStation 3 is the third home video game console produced by Sony Computer Entertainment, and the successor to the PlayStation 2 as part of the PlayStation series...
variants. 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
dieA die in the context of integrated circuits is a small block of semiconducting material, on which a given functional circuit is fabricated.Typically, integrated circuits are produced in large batches on a single wafer of electronic-grade silicon through processes such as photolithography. The...
. These units are: a CPU core, two
Vector Processing UnitsA vector processor, or array processor, is a CPU design wherein the instruction set includes operations that can perform mathematical operations on multiple data elements simultaneously. This is in contrast to a scalar processor, which handles one element at a time using multiple instructions. The...
(VPU), a graphics interface (GIF), a 10 channel
DMADirect memory access is a feature of modern computers and microprocessors that allows certain hardware subsystems within the computer to access system memory for reading and/or writing independently of the central processing unit. Many hardware systems use DMA including disk drive controllers,...
unit, a
memory controllerThe memory controller is a digital circuit which manages the flow of data going to and from the main memory. It can be a separate chip or integrated into another chip, such as on the die of a microprocessor....
, an Image Processing Unit (IPU) and an input output interface.
The CPU core is tightly coupled to the first VPU, VPU
0. Together, they are responsible for executing game code and high-level modeling computations. The second VPU, VPU
1, is dedicated to geometry-transformations and lighting and operates independently, parallel to the CPU core, controlled by
microcodeMicrocode is a layer of hardware-level instructions and/or data structures involved in the implementation of higher level machine code instructions in many computers and other processors; it resides in a special high-speed memory and translates machine instructions into sequences of detailed...
. VPU
0, when not utilized, can also be used for geometry-transformations.
Display listA display list is a series of graphics commands that define an output image. The image is created by executing the commands....
s generated are sent to the GIF, which prioritizes them before dispatching them to the Graphics Synthesizer for rendering.
CPU core
The CPU core is a two-way
superscalarA superscalar CPU architecture implements a form of parallelism called instruction-level parallelism within a single processor. It thereby allows faster CPU throughput than would otherwise be possible at the same clock rate...
in-order RISC processor. It implements the
MIPS-IIIMIPS is a reduced instruction set computing instruction set architecture developed by MIPS Computer Systems . The early MIPS architectures were 32-bit, and later versions were 64-bit...
instruction set architecture (ISA) and much of MIPS-IV in addition to a custom 128-bit
single instruction multiple dataIn computing, SIMD is a technique employed to achieve data level parallelism.- History :...
(SIMD) instruction set developed by Sony. The custom instruction set consists of 107 instructions for operating on four 32-bit, eight 16-bit or sixteen 8-bit integers simultaneously. Instructions defined include: add, subtract, multiply, divide, min/max, shift, logical, leading-zero count, 128-bit load/store and 256-bit to 128-bit funnel shift in addition to some not described by Sony for competitive reasons.
The MIPS-based core consists of two
arithmetic logic unitIn computing, an arithmetic logic unit is a digital circuit that performs arithmetic and logical operations. The ALU is a fundamental building block of the central processing unit of a computer, and even the simplest microprocessors contain one for purposes such as maintaining timers...
s (ALUs) and a
floating point unitA floating-point unit is a part of a computer system specially designed to carry out operations on floating point numbers. Typical operations are addition, subtraction, multiplication, division, and square root...
(FPU). The integer units are 64-bit, but the FPU was single-precision, or 32-bit. The custom instruction set was implemented by grouping the two 64-bit integer units. Both the integer and floating-point pipelines are both six stages long. To support the custom instruction set, the integer registers are 128 bits wide.
To feed the execution units with instructions and data, there is a 16 KB two-way set associative instruction cache, an 8 KB two-way set associative non blocking data cache and a 16 KB
scratchpad RAMScratchpad memory , also known as scratchpad, scatchpad RAM or local store in computer terminology, is a high-speed internal memory used for temporary storage of calculations, data, and other work in progress...
. Both the instruction and data caches are virtually indexed and physically tagged while the
scratchpad RAMScratchpad memory , also known as scratchpad, scatchpad RAM or local store in computer terminology, is a high-speed internal memory used for temporary storage of calculations, data, and other work in progress...
exists in a separate memory space. A combined 48 double entry instruction and data
translation lookaside bufferA Translation lookaside buffer is a CPU cache that memory management hardware uses to improve virtual address translation speed. It was the first cache introduced in processors. All current desktop and server processors use a TLB. A TLB has a fixed number of slots that contain page table entries,...
is provided for translating virtual addresses. Branch prediction is achieved by a 64-entry branch target address cache and a branch 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 pointIn computing, floating point describes a system for numerical representation in which a string of digits represents a rational number....
performance is provided by two
vector processing unitA vector processor, or array processor, is a CPU design wherein the instruction set includes operations that can perform mathematical operations on multiple data elements simultaneously. This is in contrast to a scalar processor, which handles one element at a time using multiple instructions. The...
s (VPU), designated VPU0 and VPU1. Each VPU features 32
128-bitThere are currently no mainstream general-purpose processors built to operate on 128-bit integers or addresses, though a number of processors do operate on 128-bit data. System/370, made by IBM, could be considered the first rudimentary 128-bit computer as it used 128-bit floating point registers...
registers, 16 16-bit fixed-point registers, four FMAC (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. This scheme is similar to the
SSExIn computing, Streaming SIMD Extensions is a SIMD instruction set extension to the x86 architecture, designed by Intel and introduced in 1999 in their Pentium III series processors as a reply to AMD's 3DNow!...
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
GBThe gigabyte is an SI-multiple of the unit byte for digital information storage. The prefix giga means 109, therefore 1 gigabyte is ....
/s. DMA transfers over this bus occurs in packets of eight 128-bit words, achieving a peak usable bandwidth of 2 GB/s
External interface
Communication between the Emotion Engine and RAM occurs through two channels of DRDRAM (Direct Rambus Dynamic Random Access Memory) and the
memory controllerThe memory controller is a digital circuit which manages the flow of data going to and from the main memory. It can be a separate chip or integrated into another chip, such as on the die of a microprocessor....
, which interfaces to the internal data bus. Each channel is 16 bits wide and operates at 400 MHz. Combined, 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.
Fabrication
The Emotion Engine contained 10.5 million transistors on a die measuring 240 mm
2. It was fabricated by Sony and Toshiba in a 0.25
µmA micrometre or micron is one millionth of a metre,or equivalently one thousandth of a millimetre....
(0.18
µmA micrometre or micron is one millionth of a metre,or equivalently one thousandth of a millimetre....
effective L
G) complementary metal–oxide–semiconductor (CMOS) process with four levels of interconnect.
Packaging
The Emotion Engine was packaged in a 540-contact
plastic ball grid arrayA ball grid array is a type of surface-mount packaging used for integrated circuits.- Description :The BGA is descended from the pin grid array , which is a package with one face covered with pins in a grid pattern...
(PBGA).
Uses
The primary use of the Emotion Engine was to serve as the
PlayStation 2The PlayStation 2 is a sixth-generation video game console manufactured by Sony. The PS2 console is the sequel to the original PlayStation console. The successor to the PlayStation, and the predecessor to the PlayStation 3, the PlayStation 2 forms part of the PlayStation series of video game...
's CPU. The first versions of the
PlayStation 3The PlayStation 3 is the third home video game console produced by Sony Computer Entertainment, and the successor to the PlayStation 2 as part of the PlayStation series...
also featured an Emotion Engine on the motherboard to achieve backwards compatibility with PlayStation 2 games. However, subsequent releases of the
PlayStation 3The PlayStation 3 is the third home video game console produced by Sony Computer Entertainment, and the successor to the PlayStation 2 as part of the PlayStation series...
lacked the Emotion Engine in order to lower costs.
Specifications
- Clock frequency: 294 MHz, 299 MHz (later versions)
- Instruction set
An instruction set is a list of all the instructions, and all their variations, that a processor can execute.Instructions include:* Arithmetic such as add and subtract...
: 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
A CPU cache is a cache used by the central processing unit of a computer to reduce the average time to access memory. The cache is a smaller, faster memory which stores copies of the data from the most frequently used main memory locations...
: 16 KB, 2-way set associative
- Data cache
A CPU cache is a cache used by the central processing unit of a computer to reduce the average time to access memory. The cache is a smaller, faster memory which stores copies of the data from the most frequently used main memory locations...
: 8 KB, 2-way set associative
- Scratchpad RAM
Scratchpad memory , also known as scratchpad, scatchpad RAM or local store in computer terminology, is a high-speed internal memory used for temporary storage of calculations, data, and other work in progress...
: 16 KB
- Translation look aside buffer
A Translation lookaside buffer is a CPU cache that memory management hardware uses to improve virtual address translation speed. It was the first cache introduced in processors. All current desktop and server processors use a TLB. A TLB has a fixed number of slots that contain page table entries,...
: 48-entry combined instruction/data
- Vector processing unit: 4 FMAC units, 1 FDIV unit
- Vector processing unit registers
In computer architecture, a processor register is a small amount of storage available on the CPU whose contents can be accessed more quickly than storage available elsewhere. Most, but not all, modern computers adopt the so-called load-store architecture...
: 128-bit wide, 32 entries
- Image processing unit: MPEG2 macroblock
Macroblock is a term used in video compression, which represents a block of 16 by 16 pixels. Each macroblock contains 4 Y block, 1 Cb block, 1 Cr block . . Macroblocks can be subdivided further into smaller blocks, called partitions...
layer decoderA decoder is a device which does the reverse of an encoder, undoing the encoding so that the original information can be retrieved. The same method used to encode is usually just reversed in order to decode....
- Direct memory access
Direct memory access is a feature of modern computers and microprocessors that allows certain hardware subsystems within the computer to access system memory for reading and/or writing independently of the central processing unit. Many hardware systems use DMA including disk drive controllers,...
: 10 channels
- VDD Voltage
Voltage is commonly used as a short name for electrical potential difference. Its corresponding SI unit is the volt...
: 1.8 V
- Power consumption: 15 W
The watt is a derived unit of power in the International System of Units . It measures rate of energy conversion. One watt is equivalent to 1 joule of energy per second....
at 1.8 V
Theoretical performance
- Floating point
In computing, floating point describes a system for numerical representation in which a string of digits represents a rational number....
: 6.2 billion single precision (32-bit) floating point operations per second
- Perspective
Perspective in the graphic arts, such as drawing, is an approximate representation, on a flat surface , of an image as it is perceived by the eye...
transformationIn mathematics, a transformation could be any function mapping a set X on to another set or on to itself. However, often the set X has some additional algebraic or geometric structure and the term "transformation" refers to a function from X to itself which preserves this structure.Examples include...
: 66 million polygons per second
- With lighting
Lighting or illumination is the deliberate application of light to achieve some aesthetic or practical effect. Lighting includes use of both artificial light sources such as lamps and natural illumination of interiors from daylight. Daylighting is often used as the main source of light during...
and fogFog is a cloud that is in contact with the ground. A cloud may be considered partly fog; for example, the part of a cloud that is suspended in the air above the ground is not considered fog, whereas the part of the cloud that comes in contact with higher ground is considered fog...
: 36 million polygons per second
- Bezier
In the mathematical field of numerical analysis, a Bézier curve is a parametric curve important in computer graphics and related fields.Generalizations of Bézier curves to higher dimensions are called Bézier surfaces, of which the Bézier triangle is a special case.Bézier curves were widely...
surface patches: 16 million polygons per second
- Image decompression: 150 million pixel
In digital imaging, a pixel is the smallest item of information in an image. Pixels are normally arranged in a 2-dimensional grid, and are often represented using dots or squares. Each pixel is a sample of an original image, where more samples typically provide more-accurate representations of the...
s per second
See also
- PlayStation 2
The PlayStation 2 is a sixth-generation video game console manufactured by Sony. The PS2 console is the sequel to the original PlayStation console. The successor to the PlayStation, and the predecessor to the PlayStation 3, the PlayStation 2 forms part of the PlayStation series of video game...
- PlayStation 3
The PlayStation 3 is the third home video game console produced by Sony Computer Entertainment, and the successor to the PlayStation 2 as part of the PlayStation series...
- Graphics card
- Graphics processing unit
A graphics processing unit or GPU is a specialized processor that offloads 3D graphics rendering from the microprocessor. It is used in embedded systems, mobile phones, personal computers, workstations, and game consoles...
- Computer graphics
Computer graphics are graphics created using computers and, more generally, the representation and manipulation of pictorial data by a computer....
- List of computer graphics and descriptive geometry topics
- Cell microprocessor
Cell is a microprocessor architecture jointly developed by Sony Computer Entertainment, Toshiba, and IBM, an alliance known as "STI". The architectural design and first implementation were carried out at the STI Design Center in Austin, Texas over a four-year period beginning March 2001 on a budget...
External links