Monday, 05 January 2009

PPE:

The PPE is a completely new core and a big departure from any of the earlier cores made by IBM. As mentioned above, the PPE has been kept simple on purpose and has general computing functionality (not all processors do, e.g. the core of a GPU would find it rather difficult to run office environment applications and won’t give you the same performance as it otherwise would in a gaming environment) so basically, any task you can run on your Intel or AMD processors, you can run on the PPE.

The PPE features 512KB of L2 cache and has an SMT (Simultaneous Multi-Threading) implementation that is similar to the Hyper-Threading concept used in Intel processors, which is designed to run at extremely fast core speeds. It also works on the similar lines as a 64-bit chip (like AMD Athlon 64) and supports Hyper-Threading like Intel CPUs.

That said, AMD and Intel’s latest chips can beat the Cell in its current implementation.

This is due to the fact that by itself it is a simple processor based on the RISC (Reduced Instruction Set Computer. The processors of today, however, run on CISC or Complex Instruction Set Computer) concept. For the un-initiated, RISC is a design philosophy where the processor understands only limited instructions about how data is to be processed. Since it comprehends lesser instructions, and couples up smaller simpler instructions to replace complex ones, the hardware gets speeded up and the processor can run at much higher clock speeds.

The end result is that in RISC, the programmers and compilers have a much tougher task as they can only work with simpler instructions. This was one of the main reasons why the move to CISC began. To clarify here, there was no ‘camp’ promoting CISC unlike RISC, which was being promoted by IBM, Stanford and others. CISC became a generic term signifying anything not RISC, but that’s a different story altogether.

The significance of the PPE is in the manufacturer’s attitude from complex processors optimized for single threaded operations to simple task dedicated processors running in parallel.

The work of the PPE is mainly scheduling, assigning and sending the processing data to each SPE for further processing. Here’s how it works:

When data enters the PPE, it is sorted and broken down into smaller chunks. The instructions are checked for parallel processing. This check is done because not all instructions can be processed in parallel mode. No matter what happens, there are always some instructions that need to be processed in a serial order, which is why this check becomes important.

Once the check is done, the PPE then decides (based on the instruction) which instruction goes to which SPE, as they all may not be identical and might be dedicated, or more appropriately specialized, for various tasks (or instructions). The instructions are then sent and PPE works like a synchroniser. This means that the PPE works more like a director/checker than the actual processor for an instruction.



Article Tools
Index
E-mail Email this article