Hi folks,
Just finished reading the 1250 page Emotion Engine documentation and just could not help posting here after reading this M$ post...
It seems that Microsoft is trying to copy Sony with their forthcoming console, just looking at the last couple of interviews. For those who were misinformed, the PS2 already has three different 128-bits processors which can work independently. The PS2 is often referred to as being inferior, simply because many "programmers" do not understand its architecture. If you compare the three current systems (EE, Gekko, XBox) from a technical perspective, the PS2's EE is by far the most flexible system currently available.
Microsoft did a good job to misinform people. Here are some key elements that people do not know or fail to understand:
- The PS2 has a main "EE Core" CPU (128-bits, MIPS3/4 with multimedia instructions), FPU (128-bits), Vector Unit (128-bits) which can work as a coprocessor or independently, 4 FMAC's (Floating Point Multiply Accumulate, ie D=A*B+C) and 1 FDIV (Floating Point Division).
- Like Vector Unit 0 works closely together with the CPU, Vector Unit 1 (VU1) is directly connected to the Graphics Synthesizer. VU1 is also 128-bits, has 4 FMAC's, 2 FDIV's and many other instructions to increase the usability for geometry operations. VU1 registers are memory mapped for the processor/VU0. This vector processor (in combination with VU0/EE) allows the programmer to create all the characteristics of the 3D environment. You are no longer limited by standard 3D hardware, instead the programmer sets the standard of possibilities. In other words: You have access to programming the geometry processor directly.
- ScratchPad RAM is an additional cache for the CPU/VU0. This memory runs extremely fast and is shared between the two main processors without slowdowns or cache misses. Using DMA, memory can be sent here from/to any part of the machine.
- DMA interface allows 2,4 GB/sec memory transfer from/to any location of the machine. This runs independently of other bus accesses. If you can maximize the DMA usage to as close as 100%, you are using the machine properly.
- PS2 has no texture compression??? No, not in the Graphics hardware... Instead, the CPU has a special unit to decode MPEG2 streams (macro block layers, bit stream decoding and decompressing, only Motion Compensation is handled by the Vector Units) and has YCbCr->RGB color conversion, 4x4 ordered dithering and Vector Quantization in the hardware for post processing. Images can be decompressed directly to the Graphics Synthesizer, which then draws the polygons using the texture image. Oh and on top of that, the geometry is automatically packed/unpacked by the VIF which allows compressed geometry data to be handled in real time.
- The PS2 has an IO processor with a complete PS1 inside. This processor also handles all the ports (Firewire, USB etc.) and the sound. The sound is 48 channel 16-bits and has two DSP's to handle all the special effects etc.
- Every part of the machine can send "display lists" to the Graphics Synthesizer using DMA, which will then draw what it is told to. Since the geometry is handled by the Vector Units, the programmer decides the graphical level of detail. This does mean that you need to master multiple assembly languages and 3D maths in order to make full use of the machine's features. This is why every generation of games changes so quickly.
- There is double buffered Vector Operation in the Vector unit hardware. This is cool: You can execute one program with seperate data while DMA prepares the next program with seperate data. This is going tag-team style for optimal performance.
- The Graphics Synthesizer works independently of the other parts of the machine, while still being very close to each of those parts. There is 48GB/sec graphics throughput from its 4MB graphics memory, which works more like a framebuffer to display your image. Your main memory, DVD, CPU's and/or VPU's are your texture memory, since DMA and VU1 handles this.
There are many more elements that make this machine as powerful as it is, but it would take a lot more space to explain everything. The PS2 has a lot in common with the Amiga, with the Graphics Synthesizer being very close to a high-speed 3D Copper. However, like with the Amiga, only very few teams can handle the hardware properly. Especially outside Japan, software teams have trouble with handling the Vector Units and hardware. This is why games such as Max Payne 2 look horrible on this machine. They only use the CPU, Memory, DMA and the Graphics Synthesizer. Using *only* VU1 will already increase the polygon throughput by 20-50 times! This machine is not a PC, dont compare it with PC's and dont treat it like a PC. Luckily Naughty Dog software (Jak II) managed to prove that not only Japan has good programmers. This game has everything which was said to be impossible a little while ago: 16:9 progressive mode, Dolby Digital (and there are plenty of games with DTS), fur rendering, FSAA, millions of polygons and 60Hz motion.
For those who are interested, take a look at Gran Turismo 4: Prologue to get an impression of this computer at work. Using the PS2 development "Tool", Gran Turismo 3: A-Spec was monitored to work at only 30% of the machine's buses. People who walk in here while GT4: Prologue is on, have so far not been able to see that a computer is doing the job in realtime (most of them thought it was a movie of a race until they looked really close!). And for those who think the Grand Canyon track is a picture: Try lesson 40 of the school and watch a top view perspective of the canyon instead...! This is just one out of the many good games, sadly most of them do not reach outside Japan. Maybe in a year or two...
Like always (also on the Amiga), PC ports to a custom hardware machine will nearly always be horrible because the machine is not used the way it should be. It is like porting a platform game to AGA without using the scrolling/bitplane hardware. This explains why often ported games look better on the Gamecube/XBox, which both have an architecture closer to that of a PC.
Gosh, never thought this post was going to be so big... Anyway, our message is just: There is more to computing than standard hardware! Not every machine works as a PC so dont compare them if you do not know exactly what is inside. People also claimed the Amiga was slow more than 10 years ago because of not understanding the custom hardware. This sort of thinking will keep on going forever, because computers have become common but the technology behind it has not. But I guess the Breakpoint show has already proven this for the millionth time, and thats merely a 50 Mhz CPU as PC users would say.
Best regards,
Sharwin & Rakesh Raghoebardayal
Coyote Flux
www.coyoteflux.nl