First and foremost, this is real hardware specifications and not some made up crap. I have read different sites and different forums about the capabilities of both systems and I think it's time to compare them technically and how programming works within these systems. This thread is not intended for the hardcore fans to argue which system is more powerful or capable but instead, to understand the inner working of both systems and understand what developers must go through to produce quality games for both systems.
XBOX360
First I will go over the Xbox360. The Xbox360 is a unit consisting of 3 PPUs (Power Processing units) which are at 3.2Ghz each. The 3 PPUs are capable of handling 2 threads at once to handle more data flow between each unit allowing latency times to be low and increases efficiency. The PPUs are exceptional at doing something called general purpose processing which is mostly used in web browsers, Microsoft word, excel, basically general mathematics. It also can do some vector processing which is mostly tuned for game processing which includes vertex properties, 3D graphics processing and floating point calculations plus quadrant vertex patterns (which is essentially a point in space within a 3 dimensional area.) The 3 PPUs are synchronous with each other which means they all process information on the same clock cycle (this is one of the main reasons why the Xbox360 is easier to develop for)
The Xbox360 has a Graphics Processing unit (called the Xenon) which is typically used for applying Vertex shaders and pixel shaders plus Anti Aliasing applied on a separate die attached to the main Xenon die (which helps to take some of the load off the main Xenon die).
The Xbox360 has 512MB if ram in one big chunk. Both the 3 PPUs and the Xenon share this 512MB. The benefit of this is that whatever needs more Ram can access it quickly. The bad thing about this is that if either component needs more RAM but one component is using most of it, it can generate some bad latency and bandwidth times associated with which component needs more memory. The key is to allow each component to access the RAM without effectively stealing needed RAM from the other component. If the game is enhanced graphically, it can be difficult to utilize this technique as most of the RAM would be needed on the Xenon rather than the 3 PPUs. It should not be too much of a problem however, because the 3 PPUs are primarily there to assist in Data execution rather than Data processing. Most of the vector processing that goes on is being done in the Xenon in this case.
PS3
Next is the PS3. At the core of the PS3 is the Cell processor, which is a new and complex CPU, that can be used for many different applications. The Cell is composed of 1 PPU and 8 SPUs (Synergistic Processing Units). The PPU handles most of the general Processing and the SPU's handle most of the vector processing. (One SPU is disabled because of latency issues). The Cell is excellent at doing vector processing which is used for complex 3D graphics.
Your probably wondering what is vector processing? Vector processing can also be called array processing. It's a way of doing complex mathematics very effeciently in few steps as opposed to the normal way of processing. I'll give some examples:
Basic normal CPU processing: Lets say we want to add 1+2+3+4+5+6+7+8 using normal processing (one at a time)
1+2 = sum1 (store the result somewhere)
3+4 = sum2 (store the result somewhere)
5+6 = sum3 (store the result somewhere)
7+8 = sum4 (store the result somewhere)
Sum 1 + Sum 2 = Sum1,2 (Store the result somewhere)
Sum 3 + Sum 4 = Sum3,4 (Store the result somewhere)
Sum 1,2 + Sum 3,4 = (Store final result somewhere)
With normal processing, it takes 7 steps to achieve the final result of the calculation.
Next is vector Processing using the same problem: 1+2+3+4+5+6+7+8
{1+2+3+4} + {5+6+7+8} = {Sum1,2+Sum3,4} + {Sum5,6+Sum7,8}
{Sum1,2+Sum3,4} + {Sum5,6+Sum7,8} = {Sum1,2,3,4+Sum5,6,7,8} + 0 + 0}
{Sum1,2,3,4+Sum5,6,7,8} = Final result + 0 + 0 + 0
With vector processing we solved the same calculation using only 3 steps rather than 7 steps with the normal processing. This allows the Cell to handle very large amount of calculation data very efficiently. You should also know that this operation is done on one of the SPU's. When more SPU's become involved the processing rate rises exponentially with each SPU added in the operation. That being said, the Cell processor is known as something called a super-scalar. Something that can handle extremely large amounts of data very efficiently. There are other ways to make the Cell processor even process much faster with something called cell chaining but it won't be discussed here. It would take much to long to explain.
The Cell is a very complex piece of hardware. Unlike the Xbox360 processor, the Cell is an Asynchronous processor. Data gets processed at different times on all the SPU's and the PPU. This is one of the reasons why the Cell is difficult to program for. As developers get better at programming for the Cell, this will not be such an issue.
The PS3 has a GPU called the RSX. Not much is known about this graphics processor. Very little specs have been released on the GPU since it was annoucned in 2005. Some say it is similar to a Ge-force 7800 GTX. This GPU Is primarily used for vertex shaders and pixel shaders only. The cell does most or all of the vector processing. In theory, you don't even need the RSX to display a great looking game on your television. That wouldn't be a very smart decision, because you would loose some of the enhances the GPU gives you. It also makes it easier on the Cell to use vector processing to it's maximum capability.
The PS3 also has 512 MB of RAM, it's just distributed differently. The 512 MB is split evenly with the Cell and the RSX. This way, there is no competition who gets the most RAM, because both components get a dedicated supply of RAM. Also very important to note, all 7 of the Cell's SPU's have access to the RSX at any time, on a very fact BUS. This makes it so if the cell wants to implement Anti Aliasing really quickly, each SPU can send whatever information it needs to the RSX to get it done very quickly, rather than going through the memory bus which the Xbox360 does.
It is important to note that both systems have the capability to produce fantastic games. The only people who matter on this issue is the developers. They are the ones that have to learn each system. Right now the PS3 is difficult to understand and will take at least another year to use the Cell to a respectable level. The Xbox360 is user friendly in that, it uses basic techniques of programming to get processing done fast and efficiently. The Cell's approach is to reward the developer who wants to really research the Cell and to take the time to understand what things can be done with the Cell.
I'm done...Finally.
Log in to comment