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.
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.