|
Introduction
Remember your first time? Programming a processor, that is. It must have seemed both exciting and challenging.
You ain't seen nothing yet.
Even garden-variety microprocessors present plenty of challenges to an
experienced programmer or development team. Now imagine programming
nine different processors all at once, from a single source-code
stream, and making them all cooperate. When it works, it works
amazingly well. But making it work is the trick.
That's the task that IBM, Toshiba, and Sony took on several years ago
in creating Cell, an amazing new multiprocessor microprocessor chip
that will debut later this year in Sony's PlayStation 3 video game
console, Toshiba's high-end televisions, and IBM's blade servers. Cell
is the beginning of a new family tree for all three companies, and it
promises to branch into consumer, computer, and embedded systems for
many years to come. Let's take a look at what's inside the first Cell
processor; for an insider's look at Cell's programming model, see Alex
Chow's article [to appear on Gamasutra next week].
Insanely Complex, Insanely Cool
There
aren't many businesses where manufacturing technology exceeds design
technology. Throughout human history we've been able to dream up things
we can't yet build, like spaceships, skyscrapers, jet packs, underwater
breathing apparatus, or portable computers. But in the semiconductor
business the situation is reversed: chip makers can build bigger and
more complicated chips than they can design. Manufacturing prowess
exceeds design capability. We can fabricate more transistors than we
know what to do with.
Cell
goes a long way toward ending that pattern. It's an insanely complex
chip with about 250 million transistors (compared with 125 million for
Pentium 4) that runs at more than 4GHz. With just the right conditions
Cell can crank through 256 billion floating-point operations every
second, according to IBM.
What's remarkable is that Cell wasn't developed for scientific
applications, military computers, or code breaking. Instead, Cell is
primarily intended for entertainment. It says a lot about embedded
systems when three of the world's top multinational corporations devote
millions of dollars in R&D and thousands of personnel into
developing one of the world's most complex processors--for toys.
That's
not to say that Cell can't also be used for more "serious"
applications. As we'll see, Cell lends itself to parallel processing,
which can be useful for scientific simulations and medical imaging. The
fact that it also plays Gran Turismo is just a bonus.
Figure
1 shows a top-level block diagram of the first processor in the Cell
family, more formally known as the Cell Broadband Engine, or CBE. Cell
is based around a single 64-bit PowerPC processor surrounded by eight
identical coprocessors. The central PowerPC processor can execute two
instructions at a time. That's nice, but not unusual. Intel, AMD, and
others also produce dual-issue processors, even 64-bit dual-issue
processors. So the heart of Cell is actually--dare we say it--fairly
pedestrian.
Note
that although the central processor is based on IBM's PowerPC
architecture, it's a new design, not an existing PowerPC core. Cell's
central processor is similar to the current PowerPC 970 chip, although
it's not an exact match. The central processor includes the VMX (visual
media extensions, similar to AltiVec) instruction-set extensions to the
base PowerPC instruction set. The central processor has a pair of 32K
first-level (L1) caches and a unified 512K second-level (L2) cache.
This should keep the processor humming along at 4GHz.
|