PowerPC Projects


Almost 20 years of PPC

Although I always had a keen interest in embedded hardware and software, most of my work from 1983 to 1995 was on Unix-based minis/ workstations — Zilog System 8000, NCR Tower, HP-PA RISC, Sun SPARC, SGI MIPS, IBM PowerPC and DEC Alpha. The only two RISC architectures to make it from the desktop to embedded from the workstations were MIPS and PowerPC. Both Sun SPARC and DEC Alpha promised to move into embedded, but their efforts were short-lived. Not sure what to make of HP's RT Model 742rt, first advertised in 1992. My embedded PowerPC work was on three Freescale devices; the 823, 860T and M5200. Later there was the Xilinx Virtex-II Pro FPGAs, plus the AMCC 440GX.

Why did we go with PowerPC? Most importantly; two customers were willing to pay for PowerPC development. For research, much time was spent on the Xilinx PowerPC.


Some PPC history

POWER predecessor — RT

Around 1988 I worked on a RT (RISC 801-based) workstation that was lent to VW. They had an HP835 workstation for a toolroom project, which made the RT look decidedly underpowered. I do not recall liking anything about it — keyboard, screen, box or IBM's Unix port called AIX. It was taken away as quickly as it arrived.

RS6000

In 1990, IBM sales people dropped off some impressive manuals for the new RS6000, however, they were recycled some decades ago so not sure if they were reprints of journal articles. I had the PDF versions of the architecture as described in the IBM Journal of Research & Development, Vol 34, No 1, January, 1990. The RS6000 chipset included — “an instruction-cache unit (ICU), a fixed-point unit (FXU), a floating-point unit (FPU), four data-cache units (DCU), a storage- control unit (SCU), an input/output interface unit (C), and a clock chip (CLK)” pg 15 from the above journal, paper titled — The IBM RISC System/6000 processor: Hardware overview, by H. B. Bakoglu, G. F. Grohoski and R. K. Montoye, pp 12—22. These used to be available from IBM's website, but now are on IEEE Xplore Digital Library.

In the early 1990s, I ported my toolroom software to Toyota's IBM AIX workstations. Minimal effort was involved as my Sun SPARCstation also ran 32-bit Unix, so was able to complete the port in two days. (Microsoft was still 16-bit then). There were other RS6000 jobs, but none that required architectural knowledge.

The prior work under Unix was before the Apple/ IBM/ Motorola (AIM) alliance mapped out the PowerPC architecture. They were not particularly fast for their price tag, plus IBM seemed to be their own worst enemy at the time due to conflicts within their sales force between the AS400 and against Unix. IBM attempted a low-cost PowerPC to challenge the Intel x86 based PC, but nothing much came of it. Apple launched a PowerPC box, which took a while for software to be ported across from the 680x0 range. Initially an emulator or binary translator was used to run the 680x0 binaries. Even the initial PowerPC devices were not much better than the 680x0 chips, but Motorola had made the commitment after their own 88000 (m88k) RISC failed in the marketplace (too late).

Although claiming RISC credentials, IBM loved complexity with hundreds of special registers and a large number of instructions. The 603 PowerPC bus documentation was slightly better than patent-speak from the legal fraternity (planar for PCB, central electronic complex for CPU). The bus defined for the desktop and server was multi-master, cache coherent with snooping, but not simple from an embedded viewpoint.

 

PowerPC Target Market

Here we refer to embedded systems, not mainframes, where the PowerPC is still IBM's flagship processor.

The VME bus market and high-reliability industry (particularly military) chose PowerPC over x86 for many years.

The main game console vendors migrated to PowerPC around 2004 — the Sony/ Toshiba CELL and Microsoft XBox360 being the most ambitious. The Gameboy console also used a PowerPC. Looking back at the XBox triple 64-bit PowerPC and the CELL processor launch, plus IBM's refusal to provide that technology to Apple, or to commit to lower power devices for portable equipment (laptops), must have been difficult decisions.

The $400 million joint project with Toshiba and Sony for the CELL Broadband Engine for consoles would hopefully launch a powerful graphics workstation that could be hacked for Unix, but that did not happen. IBM handed the PowerPC 405 specifications to Power.Org to open source the hardware. The references are not that easy to find in 2013, but from Wikipedia — Power Architecture “Freescale joined Power.org in 2006 and IBM made the specifications of PowerPC 405 freely available to researchers and academia.” I seem to recall that being in 2005, and was hoping that Freescale would have some company in pushing PowerPC in embedded (besides AMCC).

AMCC previously paid dearly for a PowerPC 4xx license. Not sure what really happened there, as it looks like they sold the rights back to IBM?

On the games consoles, Microsoft only made the SDK available to registered game developers. Sony dithered about Linux support, but even when a SDK became available, the CELL was an unusual design and programmers struggled.

Desktop challengers did not survive long. PA Semi and Berkeley Semiconductor both owe their demise to Apple — PA Semi being acquired after they were shipping hardware that appeared to be better than IBM's and Freescale's PowerPC offerings in embedded. What will PA Semi designers do for Apple in the not too distant future, together with Apple's Intrinsity acquisition? It should be awesome, but is unlikely to be PowerPC. When revising this page, it has been a couple of years since these two acquisitions, so not sure they intended to do something spectacular or just remove competition. Maybe it is still coming?


Freescale and PowerQUICC

PowerPC became really interesting for embedded use when Motorola (later to become Freescale) produced highly integrated communications devices. The Freescale PowerPC offerings filled most of the holes that many other vendors could not:

 


Our PowerPC embedded projects

The embedded work up to 1999 had been disappointing to be honest. The M68000 did not have a debug port, the much hyped “RISC is cheaper!” never materialised—MIPS, SGI, DEC, HP, Sun and others never delivered on their low-cost promises. On the desktop, the x86 eventually took care of them.

823 BrightStar IP-Engine1

This was a well designed board at reasonable cost to test embedded Linux and FPGA downloads from a processor rather than configuration memory.

860T PowerQUICC

The 860T increased the Ethernet speed from 10 Mbps on the 860 to 100 Mbps. The peripherals were similar to the earlier 68360 device, but with a PowerPC to replace the 68K core.

 

2004 post-grad research

A couple of years later, I was fortunate to be given a dual 64-bit PowerPC Apple G5 for my office workstation—an absolute pleasure! However, Apple's exit from the PowerPC camp saw the architecture disappear off the desktop. They moved into games consoles and remained the heart of IBM's mainframes. When reading the specifications of the mainframes and the size of teams involved in the whole software effort, it is amazing that other people are still able to publish, particularly in academia on small underfunded projects.

A large amount of research covered the PowerPC architecture during my academic life from 2002. The PowerPC had trace, something not readily available on commodity processors. There was a lot of freely available research from IBM in their Systems Journal, and Research & Development Journals.


Future for PowerPC

Nobody likes to make predictions that could return to haunt them, however, the PowerPC's popularity in 2013 appears to be slipping, in spite of QorIQ devices from Freescale with multiple cores and plenty of communications capability. This is ahead of anything similar from an ARM vendor, but not MIPS (Cavium, Broadcom).

Games consoles need a new generation — they appear unlikely to continue with the PowerPC route. Apparently, the Microsoft Xbox announced at E3 in June, 2013, uses AMD chips. (Not sure if that was GPUs or also the CPU).

 

AMCC, Freescale were two important PowerPC vendors who have chosen 64-bit ARM devices for their next generation of SoC chips. Even Cavium, a multi-core 64-bit MIPS vendor has announced future 64-bit ARM devices. Xilinx already defected to ARM from PowerPC in their FPGAs a long time ago. Power.org does not look very healthy from a brief website surf.

What went wrong? We do not have any insight into the mood of licensees, but both MIPS and PowerPC upset many folk as seen by the movement of feet to the ARM camp.