The Cell Processor

As CPU technology has progressed, the top companies have pushed to get their processors to push to higher and higher speeds. Unfortunately, this required more and more power. At a time when it would be unreasonable to make even more power-hungry CPUs, the industry has almost completely switched over to multi-core architectures. With multi-core architectures, you’re able to run slower (and thus less power-hungry) cores on the same chip, and still benefit from the additive performance of all of the cores.

However, there is another processor that takes an interesting spin on multi-core technology. The Cell microprocessor, most well-known for its use in the Sony Playstation 3, is a processor that contains a main instruction unit (the “Power Processing Element”), and then 8 additional units (the “Synergistic Processing Elements) that have added optimization for doing floating point operations for both single and double precision. The PPE is itself able to run a complete operating system by itself, without any aid from the SPE units. And since the SPEs are not autonomous, the PPE also has instructions that control and delegate computational jobs to the SPEs. The SPEs are where the main power of the cell processor lies–in its vast optimization toward floating point arithmetic.

The sheer computational power of the cell processor’s SPEs can be seen in a very real example. Folding@Home, a project launched by Stanford University that takes advantage of idle CPU cycles on computers across the planet, posts its users’ statistics. The PS3 has about a sixth the number of active CPUs in the project, yet it produces about five times more teraflops than the Windows-based (and thus presumably non-cell-based) CPUs. Even if you assume that the Windows CPUs are on average 1 GHz (which is likely a far cry from true), the 3.2 GHz cell processors are still beating out these CPUs by about 40%! As one can see, the cell processor has huge potential in the world of scientific computing because of its SPEs and their optimizations toward floating point arithmetic.

As anyone that has programmed multi-threaded software can attest to, software development in this area is hard. However, while building software to take full advantage of the power of the cell processor is a hugely difficult, it seems a small price to pay to take advantage of everything that this monster of a CPU has to offer!

References:
Folding@Home Statistics: http://fah-web.stanford.edu/cgi-bin/main.py?qtype=osstats
The Cell Project at IBM Research (a multitude of information on their cell processor architecture): http://www.research.ibm.com/cell/
Wikipedia Entry: http://en.wikipedia.org/wiki/Cell_processor
Kavita Bala’s CS316 Notes: http://www.cs.cornell.edu/courses/cs316/2007fa/Lectures/Lec25_Multicore_web.pdf

Posted in Topics: Uncategorized

Jump down to leave a comment.

Leave a Comment

You must be logged in to post a comment.



* You can follow any responses to this entry through the RSS 2.0 feed.