|
Wednesday, 01 June 2005 |
This article is based on information from Sony's GDC '05 presentation on the Cell processor.
The Cell processor consists of one PowerPC core (PPE) and 8 SPE cores.
The Sony presentation uses a musical analogy when describing a
Cell-based programming paradigm: The SPE's are like the orchestra, and
the PPE is the conductor.
Each SPE has greater bandwidth and performance than the PPE. They
should be used for frequently repeated tasks with good data locality
(i.e. relatively small, independent data, probably something
encapsulated in an OO container of some kind that isn't updated very
often).
The PPE is responsible for controlling and setting up global
synchronization of the Cell. The operating system runs on the PPE,
allocating resources, controlling devices and providing essential
system services. The PPE should be used for less frequently repeated
tasks with more random access data.
There are a finite number of SPE's, but the OS will support
virtualization, allowing a logical view of more SPE's than the hardware
supports. This will allow more tasks, flexible scaling and sharing of
resources, and a simple API (a "fire and forget" method of assigning
processing tasks to SPE's, using job queues). Management of SPE
resources is also allowed at the application level -- middleware and
engine technology can potentially supply this code.
Self-multitasking at the SPE level is also discussed within the
presentation, along with some other interesting details. Highly
recommended reading for anyone interested in how developers will be
able to take on the complex task of Cell programming.
Sony GDC '05 Presentation
|