Version 1.2.0.0;
After witnessing scattered PS3.vs.XBOX360 wars (and several incomplete and misguiding comparison like one's found in WinSuperSite) I finally decided to do a more complete comparison of these two machines.
Revision History :
1.0.1.1 : Corrected some mistakes now the CPU section is 100% correct.
1.0.1.2 : Restyling/making it more readable,Added the GPU section.
1.2.0.0 : Completion of the CPU part/Restyling.
1 - Comparing the Cores.
-The XBOX360 had it's CPU upgraded to Xenon from the Intel Mobile Celeron seen in the XBOX.
-The PS3 had it's CPU upgraded from Emotion Engine to the CELL Broadband Engine.
The almost similar PPE :
Both Xenon and the CELL have PPE (Xenon has 3,the CELL has 1),it's called Power Processing Element.
The PPE has the ability to do two way simultaneous multithreading (SMT) which means that each of the PPE's handles two instructions per cycle instead of one.
The simplified design of the PPE means that it can reach high clock levels,Both the PPE's at CELL and Xenon are clocked 3.2GHz and IBM has said that CELL can reach 4.8GHz too.
The Xenon :
The former XBOX had a mobile Celeron 733 with a pentium III architecture supporting SSE which was very good at it's time,the only 32-bit processor of the lot.
The Xenon has 3 PPE's.The difference between the PPE in the Xenon and the CELL is :
-Each of the 2-threads has VMX128,meaning 128x128-bit registers while the PPE inside CELL has a standard VMX with 32x128-bit registers.The VMX128 is similar to VMX in many aspects but it has more instructions,therefore incompatible with the standard VMX.
-Added instructions to the original PowerPC CPU's.
The idea of having a CPU handling 6 threads comes from the fact that many games require 5-6 threads to run happy.The former XBOX was not a multi-core processor so much of the multi-threading had to be done by the developers themselves.
The CPU sports 1-MiB of L2 cache which is readable by the GPU,the GPU issues an L2 cache Lock request and then reads the memory directly.The cache is clocked by half the CPU clock and it has a 256-bit wide bus.Which makes the transition of data (e.g : texture image) to the GPU faster.
The Xenon also has an encryption capability to prevent hardware hacking.
(The Microsoft team which designed the XBOX360 pointed out that XBOX had two major issues : Slow FSB and slow memory.)
The Cell Processor :
The Emotion Engine was the CPU for PS2,the first 128-bit CPU of the industry(note:the main processor was a 64-bit MIPS processor).
The CPU is the well-known CELL Processor,consisting of a PPE and 8 SPE's(Synergistic Processing Elements) one of which is disabled which makes 7 Cores.
The PPE has a 512KiB cache.
Each of the SPE's is composed of an SPU (Synergistic Processing Unit) and a MFC (Memory Flow Controller) SPE's cannot execute threads but are loaded instead with small programs.Unlike shaders that are seen in GPU's the SPU's can be chained together to perform tasks(Most shaders are forced to act parallel and they cannot share any values).Each of the SPE's 32KiB of local memory instead of cache which can be accessed directly (this is impossible to do in the cache memory and unlike cache memory there are no structures to predict which data to load).They have 128x128-bit registers.(wikipedia Called it VMX128 which seems to be wrong although they are almost similar)
Setting the SPE's jobs is a task entrusted to the programmer.So the recent portions of the XBOX360 to PS3 has less performance on PS3 than in XBOX360.
It means that it's developer's job to make a game PS3 optimized.It's been stated that XBOX360 gives performance more easily than PS3 in programs with fewer threads.
From a long time ago IBM released a CELL processor emulator for linux to aid developers in optimizing programs for the CELL processor.Also the newer release of the IBM compiler has added some instructions to the C++ for the SPUs.
The CELL processor has given extremely high performance in Stream Processing (The Emotion Engine also exceeded the Mobile Celeron in this area) for example : Toshiba demonstrated a Home Cinema Encoding 48-1920×1080 MPEG-2 streams and displaying them as thumbnails for the user to choose.
The Front side bus
In Xenon the FSB increased from the rather slow 133MHZ FSB in the Celeron to a whopping 5.4GHz which is an extremely impressive improvement.
The CELL has a very fast Front Side Bus,called FlexIO licensed by RAMBUS (according to ps3dev.info) with 76.8GB/s total I/O bandwidth from the ~150MHz on the Emotion Engine.
The Interconnect bus
The Interconnect bus inside the CELL Processor is FAST called Element Interconnect Bus (EIB).It also check the cache coherency so it makes parallel processing by the SPE's much easier.
1 - Comparing the GPU's.
GPU (Graphics Processing Unit) :
For PS3 the GPU was upgraded from the Graphics Synthesizer to NVidia RSX Reality (a chip made by nVidia) Synthesizer.
For XBOX360 the GPU was upgraded from the NV2A (a chip made by both nVidia and Microsoft) to the Xenos Processor (Custom chip made by ATI)
(Edit : Not much details or specification instead some numbers have been released (or I didn't find any
)
But I had the chance to find some very good articles on the Xenos so I'm putting some of the stuff here)
Microsoft had soe problems finding a suitable chip for the GPU,NVidia (since they were busy at the time) gave the a high price to do the job,Microsoft wandered off to find someone to make the GPU for them (they even considered - i think IBM - to make the GPU for them) but ATI managed to convince them to make the GPU.
CPU is not connected to almost anything in the XBOX360 excet the GPU,the southbridge is connected to the Xenos.Which makes Xenos part Northbridge - part GPU (ati is an expert at making both of them)
You might want to take a look at this diagram :
http://www.beyond3d.com/articles/xenos/index.php?p=03
Note : The Xenos is not a DirectX 10 chip but it has a rich set of features because of it..
The main die is at least four times bigger than the daughter die.
The daughter die is an eDRAM and has an extremely fast bus for communicating with the main die (32GB/s).
The reason for this double die is that by the current 90-nm fabrication process (fabriaction using 90-nm transistors),the die would become huge and cooling it would become more of a problem.There are also no announcments about any 65-nm plans for this chip.
The framebuffer is inside the eDRAM and to be able to do all the operations properly there is a 256GB/s fast interconnect bus between the logic and the internal memory of the chip.
The eDRAM is designed to do the 4x FSAA without any problem.
To be continued...
upcoming additions :
-Memory
-Controller
-Connectivity
-The Software and toolchain.
-...
Any suggestions will be greatly appreciated.
-Mujtaba.
After witnessing scattered PS3.vs.XBOX360 wars (and several incomplete and misguiding comparison like one's found in WinSuperSite) I finally decided to do a more complete comparison of these two machines.
Revision History :
1.0.1.1 : Corrected some mistakes now the CPU section is 100% correct.
1.0.1.2 : Restyling/making it more readable,Added the GPU section.
1.2.0.0 : Completion of the CPU part/Restyling.
CPU (Central Processing Unit) :(note : much of the specs are drawn out of wikipedia, I have checked much of the facts with other sources - any corrections will be wellcome)
1 - Comparing the Cores.
-The XBOX360 had it's CPU upgraded to Xenon from the Intel Mobile Celeron seen in the XBOX.
-The PS3 had it's CPU upgraded from Emotion Engine to the CELL Broadband Engine.
The almost similar PPE :
Both Xenon and the CELL have PPE (Xenon has 3,the CELL has 1),it's called Power Processing Element.
The PPE has the ability to do two way simultaneous multithreading (SMT) which means that each of the PPE's handles two instructions per cycle instead of one.
The PPE show clear signs of being designed for stream processing.SMT : Is a cheaper way of making a CPU multi-threaded rather than adding actual cores.An implementation of it is the well-known HyperThreading,but keep in mind that intel's implementation was incomplete so it actually ran some applications slower than the time that HyperThreading was inactive.It yielded only 30% more performance on running multi-threaded tasks.IBM, however has a more sophisticated implementation which is better than the ones done by intel and MIPs.
The PPE has also been stripped out of it's instruction window.And it has only one execution unit per-thread.Also PPE does not have the ability to do out of order execution so it should execute in order.Stream Processing : Where a great amount of data passes through the CPU with almost similar instructions,for example decoding an MPEG-2 is called stream processing
In a PPE two instructions get read,passed to the pipeline and go to thier respective execution units.Instruction Window : A logic inside the CPU which chooses which instructions it can pass to the multiple execution units.
Out of order execution : I means that the processor can rearrange the order that instructions run without making anthing go wrong.In the end CPU once more arranges the output in the way they should be.
The PPE,like pentium 4 has a 21 step deep processing pipelines,meaning that when a single instruction gets executed,an instruction enters the pipeline.A jump instruction (like a GOTO instruction in BASIC), makes the CPU dump all the stored an processed commands and getting new instructions in,so a deep pipeline means a bad reputation with programs that have many GOTO's (like branch prediction).A deep pipeline was exactly the thing that almost killed Prescott (a 30 step deep pipeline).For info on pipelining go to this page : http://arstechnica.com/articles/paedia/cpu/pipelining-1.ars/2
The small cache (512KiB for CELL and 1MiB for Xenon,lack of out of order execution,deep pipeline all mean than PS3 is more likely to suffer a lot at AI,physics and GameLogic.Branch prediction : One of the examples of branch prediction:In many A.I.'s that play chess.The computer first looks at all the things it can do.Then predicts what move the foe will do after it has made this move.Giving scores to each of the leaves of the tree,it finds the best move.
For more info : http://en.wikipedia.org/wiki/Branch_prediction
The simplified design of the PPE means that it can reach high clock levels,Both the PPE's at CELL and Xenon are clocked 3.2GHz and IBM has said that CELL can reach 4.8GHz too.
The Xenon :
The former XBOX had a mobile Celeron 733 with a pentium III architecture supporting SSE which was very good at it's time,the only 32-bit processor of the lot.
SSE : the abbreviation of "Streaming SIMD Extensions"
SIMD : Single Instruction Multiple Data
The Xenon has 3 PPE's.The difference between the PPE in the Xenon and the CELL is :
-Each of the 2-threads has VMX128,meaning 128x128-bit registers while the PPE inside CELL has a standard VMX with 32x128-bit registers.The VMX128 is similar to VMX in many aspects but it has more instructions,therefore incompatible with the standard VMX.
-The 1MiB cache shared between the 3 PPE's opposed to the 512MiB in the CELL.Also the Xenon cache has direct connection to the GPU.VMX : IBM's name for altivec, a vector processor which was always used in the High-End processors.The IBM G5 was the first Desktop processor to have the VMX inside.
Vector processor : A processor that can act on more than one registers(the numbers that the CPU acts on) for example it can calculate the average of 8 numbers with a single instruction instead of adding numbers two-by two.
-Added instructions to the original PowerPC CPU's.
The idea of having a CPU handling 6 threads comes from the fact that many games require 5-6 threads to run happy.The former XBOX was not a multi-core processor so much of the multi-threading had to be done by the developers themselves.
The CPU sports 1-MiB of L2 cache which is readable by the GPU,the GPU issues an L2 cache Lock request and then reads the memory directly.The cache is clocked by half the CPU clock and it has a 256-bit wide bus.Which makes the transition of data (e.g : texture image) to the GPU faster.
The Xenon also has an encryption capability to prevent hardware hacking.
(The Microsoft team which designed the XBOX360 pointed out that XBOX had two major issues : Slow FSB and slow memory.)
The Cell Processor :
The Emotion Engine was the CPU for PS2,the first 128-bit CPU of the industry(note:the main processor was a 64-bit MIPS processor).
.According to MicroDesign Resources, the Emotion Engine is two times the speed of a 733 MHz Pentium III and 15 times the speed of a 400 MHz Celeron at handling tasks like full-motion video (SIMD)-source : wikipedia.
The CPU is the well-known CELL Processor,consisting of a PPE and 8 SPE's(Synergistic Processing Elements) one of which is disabled which makes 7 Cores.
The PPE has a 512KiB cache.
Each of the SPE's is composed of an SPU (Synergistic Processing Unit) and a MFC (Memory Flow Controller) SPE's cannot execute threads but are loaded instead with small programs.Unlike shaders that are seen in GPU's the SPU's can be chained together to perform tasks(Most shaders are forced to act parallel and they cannot share any values).Each of the SPE's 32KiB of local memory instead of cache which can be accessed directly (this is impossible to do in the cache memory and unlike cache memory there are no structures to predict which data to load).They have 128x128-bit registers.(wikipedia Called it VMX128 which seems to be wrong although they are almost similar)
Setting the SPE's jobs is a task entrusted to the programmer.So the recent portions of the XBOX360 to PS3 has less performance on PS3 than in XBOX360.
It means that it's developer's job to make a game PS3 optimized.It's been stated that XBOX360 gives performance more easily than PS3 in programs with fewer threads.
From a long time ago IBM released a CELL processor emulator for linux to aid developers in optimizing programs for the CELL processor.Also the newer release of the IBM compiler has added some instructions to the C++ for the SPUs.
The CELL processor has given extremely high performance in Stream Processing (The Emotion Engine also exceeded the Mobile Celeron in this area) for example : Toshiba demonstrated a Home Cinema Encoding 48-1920×1080 MPEG-2 streams and displaying them as thumbnails for the user to choose.
The Front side bus
In Xenon the FSB increased from the rather slow 133MHZ FSB in the Celeron to a whopping 5.4GHz which is an extremely impressive improvement.
The CELL has a very fast Front Side Bus,called FlexIO licensed by RAMBUS (according to ps3dev.info) with 76.8GB/s total I/O bandwidth from the ~150MHz on the Emotion Engine.
The Interconnect bus
The Interconnect bus inside the CELL Processor is FAST called Element Interconnect Bus (EIB).It also check the cache coherency so it makes parallel processing by the SPE's much easier.
Cache Coherency : To ensure that the data that each processor in a multi-core system is valid and up-to-date (e.g. The data on which a processor operates has not been changed by another processor)
Recent tests by IBM show that the SPEs can reach 98% of their theoretical peak performance using optimized parallel Matrix Multiplication.-source: wikipedia
1 - Comparing the GPU's.
GPU (Graphics Processing Unit) :
For PS3 the GPU was upgraded from the Graphics Synthesizer to NVidia RSX Reality (a chip made by nVidia) Synthesizer.
For XBOX360 the GPU was upgraded from the NV2A (a chip made by both nVidia and Microsoft) to the Xenos Processor (Custom chip made by ATI)
(Edit : Not much details or specification instead some numbers have been released (or I didn't find any
But I had the chance to find some very good articles on the Xenos so I'm putting some of the stuff here)
Microsoft had soe problems finding a suitable chip for the GPU,NVidia (since they were busy at the time) gave the a high price to do the job,Microsoft wandered off to find someone to make the GPU for them (they even considered - i think IBM - to make the GPU for them) but ATI managed to convince them to make the GPU.
CPU is not connected to almost anything in the XBOX360 excet the GPU,the southbridge is connected to the Xenos.Which makes Xenos part Northbridge - part GPU (ati is an expert at making both of them)
You might want to take a look at this diagram :
http://www.beyond3d.com/articles/xenos/index.php?p=03
The Xenos is in fact the first GPU to have unified shaders (combined vertex shader and fragment shader)Northbridge : at the traditional motherboards a chip that connects directly to the CPU,it usually connects the fastest devices on the motherboard like : RAM (the newer AMD's don't use the Northbridge to access the memory),AGP,PCI Express(only the fastest one the 16x one's).
Southbridge : the chip responsible for the slower parts of the computer like the HDD,USB ports,etc
The unified shaders is very new.The G80 is the very first to be available at PC market.The only API that takes full use of the unified shaders is DirectX 10 , there have been no changes in the OpenGL API to support it.The Rendering follows these steps :
Vertex -> Vertex Shader -> Rasterization & Culling -> Fragment Shader -> ...
The Vertex Shader gives programs to Vertex Shader.
The Fragment Shader gives programs to Fragment Shader.
The unified shader uses the same pipelines for both Fragment and Vertex Shaders
Note : The Xenos is not a DirectX 10 chip but it has a rich set of features because of it..
Xenos is combined from two dies.The main die and the daughter die.DirectX is an API released for Microsoft,the lastest version that has not been released yet is DirectX 10.
OpenGL is an API released by SGI,the version 2 which made use of the programmable shader functionality, Much of the account for OpenGL 2 goes for 3DLabs,which is almost dead not (decreased to a small foundation trying to make integrated solutions.
The PS3 is the PlayStation to support OpenGL ES (a graphics API slightly different from the standard OpenGL).
The main die is at least four times bigger than the daughter die.
The daughter die is an eDRAM and has an extremely fast bus for communicating with the main die (32GB/s).
eDRAM is a kind of memory with some pixel operations.In the XBOX360 the daughter die does Alpha-Blending and FSAA logic and some other operations.
-source:wikipediaeDRAM is used in many game consoles, including Sony PS2 and PlayStation Portable, Nintendo Wii and GameCube, and Microsoft Xbox 360.
A die in the context of integrated circuits is a small piece of semiconducting material on which a given circuit is fabricated.
The reason for this double die is that by the current 90-nm fabrication process (fabriaction using 90-nm transistors),the die would become huge and cooling it would become more of a problem.There are also no announcments about any 65-nm plans for this chip.
The framebuffer is inside the eDRAM and to be able to do all the operations properly there is a 256GB/s fast interconnect bus between the logic and the internal memory of the chip.
The eDRAM is designed to do the 4x FSAA without any problem.
FSAA : Full Scene anti-aliasing,the process of scaling down a large image without giving it a jagged look,a well known-effect in the game-programming.
For more info : http://en.wikipedia.org/wiki/FSAA
Alpha-Blending : The 4-element color format known as RGBA,has an alpha value the alpha value will be used to determine the amount of the transparency in alpha-blending.
For more info : http://www.pcmag.com/encyclopedia_term/0,2542,t=alpha+blending&i=37668,00.asp
To be continued...
upcoming additions :
-Memory
-Controller
-Connectivity
-The Software and toolchain.
-...
Any suggestions will be greatly appreciated.
-Mujtaba.