The
Multicore acceleration technology zone
on developerWorks contains articles, tutorials, and tips to help developers
with Cell Broadband Engine™, multicore, and Power
Architecture™ application development, optimization, and migration.
For users trying to find their way in a new topic, all of that information can
be overwhelming. This page provides an overview for readers who would like to
learn about this technology but don't know where to start.
While some chip manufacturers have multiple architectures within a single
company under a unified brand, Power Architecture technology offers a
unified architecture spanning multiple companies under a single brand.
The Power Architecture family ultimately descends from the IBM 801, a
high-performance RISC chip developed by IBM in the 1970s. Learn more
about the past, present, and future of Power Architecture technology
in
"POWER
to the people: A history of chipmaking at IBM"
(developerWorks).
For more about the POWER side of things, see this excellent
IBM SP
Systems Overview
write-up from the folks at Lawrence Livermore Labs, as well as Erik
Klait's column on
"27 years of IBM
RISC."
As is usually the case with Wikipedia, its articles on
POWER
and PowerPC, on
IBM and its
products
and related topics should not be considered definitive, but they are
very often a "good place to start."
The 64-bit Power Architecture provides the foundation on which the
Cell Broadband Engine Architecture
(CBEA) is built. CBEA-compliant processors support 32- and 64-bit Power
and PowerPC applications. Cell not only supports the Power Architecture
ISA, but it inherits the memory translation, protection, and SMP coherence
model of mainstream 64-bit Power processors. CBEA also supports
virtualization (logical partitioning), large pages, and other recent
innovations in the Power architecture, making it quite easy to port an
existing operating system, such as Linux®, from Power to a Cell/B.E.
and leverage the Power processor core.
The CBEA extends Power Architecture in several ways:
Memory flow control introduces "local storage" (or "local store
memory") and DMA transactions to move data between local storage and
the system memory effective address space.
It introduces "Synergistic Processor Elements" (SPEs), an autonomous
processor that stores its program and data in its associated local
storage memory. The SPEs treat their associated local storage memory
as private memory, so local storage memory is not coherent in the
system.
DMA transactions can be issued in any of three ways:
The DMA command queues and mechanisms can be accessed using
memory mapped IO (MMIO), enabling the Power processors and
SPEs not associated with the target or source local store to
issue DMA commands to or from any local store in the system.
The SPE can issue commands associated with a particular local
store and DMA unit by using a set of "channel" commands
(essentially asynchronous, special-purpose register read and
write operations that come in blocking and nonblocking
flavors).
A mechanism known as the "DMAlist" command where a list of DMA
commands is stored in the source or target local store and
only a single command is issued to the associated DMA unit to
go and process that list.
The SPEs support a SIMD-RISC instruction set (unlike conventional RISC
processors that support separate register files for integer,
floating-point, and SIMD data types); that means they support only a
single 128-entry, 128-bit unified register file to store all types of
data.
Oh, and it was spawned as a collaboration by IBM, Sony, and Toshiba.
The really interesting (and important) thing about IBM Power Architecture
technology is the unique way in which IBM and its partners have come
together to make it an open hardware platform. Based loosely on the Linux
model (where a cadre of insiders are responsible for maintaining a stable
kernel, on which the wider community can base distributions, applications,
and so on), the Power Architecture community has formed the not-for-profit
organization Power.org™, where a cadre of insiders are responsible
for maintaining a stable instruction set architecture (ISA) on which the
wider community can base systems, code, cores, and so on.
The Power Architecture ISA has always been open. The
ISA
and other freely available standards
and
oodles
of documentation
have always been publicly available. What the movement to Power.org
has done is to take the responsibility of creating such standards and
specifications out of the hands of individual companies like IBM,
Freescale, and AMCC and put it back in the hands of individuals
working from each of those companies, and from other
places—all under the common stewardship of Power.org.
The move to open Power Architecture technology started to accelerate
around the middle of 2004. This C|Net interview with IBM's Bernie
Meyerson,
"Why
chip speed is old news,"
is a good backgrounder.
Have you been under a rock? It powers the Sony Playstation™ 3 game
console (and while I'm at it, Power processors rule the other two latest
top game consoles: the Nintendo Wii® and the Microsoft Xbox
360®). It is starting to show up in various hybrid supercomputers,
such as the Los Alamos National Laboratories' Roadrunner Cell/B.E./Opteron
hybrid and the IBM BladeCenter™ QS21 sports. And there are already
third-party boards by Mercury Computer Systems (and even Sony and Toshiba)
making their appearances. (Legal disclaimer: "The supercomputer was
designed and developed for the DOE and Los Alamos National Laboratory (LANL)
under the DOE / LANL project name Roadrunner. The Roadrunner project was named
after the state bird of New Mexico.")
Cell/B.E. technology promises to make quite a splash anywhere
compute-intensive applications are needed, such as on-the-fly, real-time
rendering (games, medical imaging) and complex systems modeling (weather
patterns, orbital object tracking, financial market prediction, genetic
analysis, pharmaceutical synthesis).
Power Architecture family members are stealthy chips, and they like to go
by many different names. They can be hard to keep track of because they
don't all use the Power or PowerPC trademark. The well-known and
ubiquitous Motorola PowerQUICC chips are PowerPC, though most chips
Freescale makes get names like
MPCxxx. The Microsoft XBox 360's CPU, the Sony Playstation 3, and the chip
for Nintendo's Wii console are all based around PowerPC, as are the
ultra-low-power PWRficient multicore processors from P.A. Semi. Xilinx
FPGAs are a hybrid architecture incorporating Power Architecture
technology. And many other implementations of Power Architecture
technology exist for printers, automobiles, routers, and the like.
The chips in the POWER line are numbered 1 through 5, with
POWER6™ anticipated somewhat soonish. They are found in
IBM Systems,
including pSeries®, iSeries®, blades, storage products,
and more.
Current-model IBM
PowerPC
offerings
include the 7xx and 9xx lines, as well as cores and other components.
The very first PPCs (the 6xx line) have been superseded, and AMCC
acquired the
PowerPC 4xx embedded
line.
Freescale PowerPC chips often
use the PowerQUICC trademark.
All three next-gen game consoles are based around Power Architecture
technology.
The "PC" in PowerPC doesn't mean "personal computer"; it stands for
Performance Computing. Now the POWER line of chips is found
only in high-performance servers and workstations from IBM, but the
PowerPC chips are found in everything from embedded devices to
supercomputers (you may already own one, especially if you're a gamer, run
a home network, or drive a late-model car).
Power Architecture technology is also found in IBM
printers
and
storage
solutions
(those are really big printers, and really powerful storage
solutions).
Where do you think these terms come from? The IBM POWER4™ was the
industry's first multicore design way back in 2001 (remember 2001 when the
HAL 9000 ran amok?). Before that, the POWER3™ was one of the first
64-bit chips in the industry back in the 1990s (when the West was young).
And we've been
virtualizing
virtually everything
on the IBM mainframes since before many of you were born. Afraid of
industry buzzwords? We eat 'em for breakfast (and will even happily run
all of your Web 2.0 applications for you).
If you are entirely new to microprocessors, but you would like to
learn how they work, then the
How
Stuff Works article on chips
is for you.
If you are not quite that new to microprocessors, but still want to
learn more about them, check out Ars Technica's
CPU
category
for general-interest articles that are useful to expert practitioners,
yet still accessible for those climbing the learning curve.
First, no. Raw processor clock speed is no longer as important as it once
was in the world of chips (in fact, it was never really all that important
in the first place). The Power Architecture-based Cell/B.E. processor
beats even the newest x86 chips in performance, hands-down, and the Blue
Gene®/L is still at the top of the Top500 list, setting new speed
records with satisfying regularity.
Nevertheless,
judging
processors based solely on clock frequency
is soooooo 1990s. These days, it's being replaced by much warmer and
fuzzier terms, like "performance per watt" and "satisfaction per
watt."
As for the niche argument, that too is complicated. On the one hand, x86
gets an awful lot of attention because it's in a lot of desktops. But
desktops themselves are a niche market (albeit a high-profile one).
Desktops make up just a tiny fraction of worldwide microprocessor sales
annually; a much larger majority of semiconductor devices finds its way
into things like cars and cell phones and the like.
On the other hand, it's true that things like supercomputers, gaming
consoles, UNIX® servers, automotive controllers, routers, and so on
could each be considered their own separate markets—and Power
Architecture technology and performance dominates in all of those
segments. With the flexibility to scale from controllers for elevators and
traffic lights to gigantic superclustered supercomputers, you might say
that with Power Architecture technology, "one architecture fits all."
Other POWER-based servers run Linux:
Linux
on POWER,
of course.
Still others favor
i5/OS®
(IBM's
successor to OS/400®).
BSD
Unix
is also a popular option (note that this links to Wikipedia's BSD
article, which includes at the bottom good links to the different BSD
flavors.
If you want POSIX, but not UNIX, you might look at real-time OSs, such
as LynxOS or QNX. Some of the real-time OSs available for Power
Architecture (both POSIX and non-) include
Fusion
Embedded RTOS,
QNX,
LynxOS, and
VxWorks.
For
more
information on RTOS
Wikipedia is, once again, a good place to start.
Not really. Because we're talking about POSIX, the apocryphal story of a
porting effort amounting to "just typing
>make" pretty much
applies—provided you are working with well-behaved code, of
course.
For those developers who favor scripting languages such as Perl, PHP, Ruby,
and so on, you should not notice any differences. For developers
attempting to write cross-platform Java™, the chip architecture is
the least of your worries (snark, snark). And for those among you who
stick to solid performers like C and Cobol, a simple recompile really
should be enough, be it from one chip architecture to another or from one
Power Architecture processor to another (although Power Architecture
binaries usually do work just fine from one family member to another,
thanks to the stability of the ISA).
If you have to dip into assembly, you will notice a difference, although
it's a breath of fresh air if you're coming from a slightly more
old-fashioned architecture with few general-purpose registers. The only
things you won't be able to easily just run on PowerPC are proprietary,
platform-specific languages, such as Visual Basic or .NET (although, even
there, projects like Mono might get you the support you need).
Check out Eclipse, an
open-source, universal toolset and IDE.
The universal and indispensable GNU
tools, including, of course,
GNU
Compiler Collection (GCC),
are available for all Power Architecture platforms, including the
Cell/B.E.
platform.
And if you are programming for the Cell Broadband Engine processor,
you'll, of course, also notice a difference, because it's got so many
cores. Check out the
Cell Broadband
Engine resource center
for all of your Cell/B.E. needs.
While some chip manufacturers offer desktop processors that are, oddly
enough, called "cores," IBM offers you the actual, real core: the basic
building block for a processor, just waiting to be customized with your
intellectual property (IP) or others'. Cheaper than ASICs, the proven
stability of a mature core can shave many a man-hour from design and
testing schedules. The Power ISA-compliant design likewise enables easier
coding and, in general, speeds your time to market. Of course, ASICs are
available as well for when you require truly custom solutions.
The micro industry today faces an all-too-common problem: too much
complexity and too few people who understand it well enough. Don't let
a lack of expertise hold you back. Consultants can do anything from
design your whole project, to just testing and verification, to just
plain old consulting (and everything in between).
Technonics offers
everything from core, processor, and bus architecture design to
assembly programming.
Multi Video
Designs
offers both training and consulting, as well as prototype
manufacturing and design services.
TechOnLine
and Phoenix Micro offer
a broad range of courses from the very general to the very
specific.
Speaking of the IBM business line, the boffins at IBM
Engineering &
Technology Services (E&TS)
are also on hand to help on your projects. Their
impressive
portfolio
includes work on medical devices, biometric devices,
supercomputers, gaming processors, and more.
IBM holds thousands of patents in new materials, devices, and design
methodologies for microelectronics (and IBM Research just keeps cranking
out more every year). Our building 323 at East Fishkill won Semiconductor
International's 2005 Top Fab award, and our foundry is recognized
industry-wide as a leader in both process and technology. IBM was even
awarded the National Medal of Technology for semiconductor innovation. And
that's not even to begin to discuss the IBM-Chartered Common Process
technology, thanks to which customers have even more choice—and
leverage—when it comes to the crucial milestone of finally
executing your carefully crafted design. That's what's special.
This
article
covers the Fishkill, New York facility in more depth.
Learn more about
Common
Platform technology
from IBM, Chartered, Samsung, and many industry EDA and IP partners.
This 2005 Semiconductor Reporter article posits many whatifs about the
Common Platform technology and
Chartered's Fab
7,
many of which have since been answered, but the piece is still a good
backgrounder.
Learn more about the
technologies
IBM has pioneered, including copper interconnects,
silicon-on-insulator (SOI), Silicon Germanium (SiGe), strained
silicon, and more.
By the way, did you know that
it
takes US$7 billion to US$8 billion of revenue to support a 12-inch
fab?
And yet it's fabulous to be fabless, as Xilinx can attest: this Power
Architecture technology partner pioneered fabless semiconductor
manufacturing back in 1984. And if you are fabless, you couldn't choose a
better partner than IBM: in recent years, IBM foundries and technology
have been thrown open to outside customers like never before, while Common
Platform technology from IBM, Chartered, and Samsung offers design
enablement and cross manufacturing on broadly supported CMOS process
technologies.
First, read every article posted to the
developerWorks Power
Architecture zone.
Then, read them again. (Good, that will get our page view statistics nice
and high -- thanks!) Next, explore some of the following resources:
The most important thing you can do is check the developerWorks Power
Architecture technology zone several times each day! Just kidding.
(Not really.) Add some of these fine sources to your online repositories:
The IBM
Journal of Research
and Development
is one of our favorites. While it focuses on both software and
hardware, it has featured lots of semiconductor-themed issues of late.
Also check out its sister pub, the
IBM Systems Journal.
Our favorite community sites include
Slashdot,
The Register, and
Linuxdevices.com (technically,
this last is Ziff-Davis, but it feels like a community site).
Freescale
and Apple both have
extensive libraries of technical papers. Now that Apple has switched
to x86 chips, we have received reports that some of their Power
Architecture-related papers are slowly disappearing. If this happens
to you, you can try to find an archived copy of them with the
Wayback
Machine.
IBM, AIX 5L, BladeCenter, Blue Gene, Chiphopper, i5/OS,
IntelliStation, OpenPower, OS/400, POWER, POWER3, POWER4, POWER5, POWER6,
Power Architecture, PowerPC, pSeries, System z are trademarks of IBM
Corporation in the United States, other countries, or both. Java and all Java-based trademarks are trademarks of Sun
Microsystems, Inc. in the United States, other countries, or both. Microsoft, Windows, Windows NT, and the Windows logo are trademarks
of Microsoft Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United
States and other countries. Linux is a registered trademark of Linus Torvalds in the United
States, other countries, or both. Other company, product, or service names may be trademarks or
service marks of others. Other company, product, or service names may be
trademarks or service marks of others.