The PS3 Cell Broadband Engine Demystified

Written by Ryan decimalator
The Cell Broadband Engine chip
The Cell Broadband Engine chip

We hear a lot about the power of the PlayStation 3, but what gives Sony’s big black box the processing power to make games like Guerrilla Games’ upcoming FPS Killzone 2 look so jaw droppingly… jaw dropping? The answer is in the Cell Broadband Engine, the processor that powers the PS3.

The Cell Broadband Engine, or Cell BE, is a processor designed jointly by Sony, Toshiba and IBM starting in 2001. No, it has little to do with Broadband in the networking sense, but we will get back to that in a moment. The Cell BE was designed as a more specialized and higher powered processor than common desktop processors made by Intel and AMD, but not as specialized as the GPUs developed by Nvidia and ATI.

So what makes the Cell BE so great for gaming? It is designed for highly complex and demanding computations, like rendering amazingly detailed graphics in real-time. It’s not just great for games, it is also being used or planned to be used for everything from embedded systems in HDTVs to the world’s first petaFLOP supercomputer, built by IBM. Of course, its first commercial use was in our favorite gaming console, the PS3.

The Cell BE can be broken down into a few major pieces. First there is the Power Processing Element, or PPE. The PPE is the heart of the Cell BE, and is used to control the rest of the processor’s power. On its own, the PPE is very similar to a dual core PowerPC processor. Coincidentally, the Xenon processor that powers that other gaming system is based on a slightly modified version of the PPE.

What sets the Cell BE apart are the additional Synergistic Processing Elements (SPEs). When you hear people talking about the percentage of the power of the PS3 being used, they are generally talking about how many of the SPEs they are using. The implementation of the Cell BE that is used in the PS3 provides 7 SPEs for the PPE to assign jobs to. Each of these SPEs can basically be thought of as an additional 3.2 GHz processor. As a point of comparison, one Quad Core 3.2 GHz Core2 Extreme QX9775 processor can perform approximately 37 gigaFLOPS, or 37 billion floating point operations per second. A floating point operation is a mathematical operation involving a number with a decimal place, which are of course very common in graphics heavy applications like games. One SPE can perform about 25 gigaFLOPS. It doesn’t take much time for the Cell BE to compare those numbers, 7*25 > 37.

Lastly, tying it altogether is the Element Interconnect Bus (EIB). The EIB connects the PPE, the 7 SPEs, the memory system and I/O devices together and allows them to communicate. This is where the “Broadband” in Broadband Engine comes to play. The EIB allows each device to communicate with each other at approximately 25 GB per second, or a single layer Blu-ray worth of data per second. All told the overall bandwidth of the EIB is approximately 300 GB/s.

The reason that early on the PS3 gained a reputation for being more difficult to program for is due partly to the combination of both PPE and SPE. It takes a little more work to get the PPE to offload tasks to and manage the SPEs. Now that we are into the second generation of PS3 titles, we are seeing developers start to take more and more advantage of the power of the SPEs, bringing us games like Killzone 2, Uncharted 2 and God of War 3. And just think — we are only in year three!