Where art thou, PowerPC?
Once championed by Apple desktops, consumer gaming consoles, network servers, and aerospace and defense applications alike, the Power Architecture - while still strong in niche applications like Unmanned Aircraft Systems (UASs) - is not the dominant force it once was. Now, low-power requirements are forcing embedded computing engineers to turn toward ARM-based Systems-on-Chip (SoCs) with integrated FPGAs for compute-intensive applications, and x86-based CPUs for general-purpose housekeeping.
When the Apple Computer, IBM, Motorola (AIM) alliance formed in the early 1990s, it appeared that the Power Architecture had emerged as a formidable RISC architecture that made a case in nearly every walk of computing. However, after being used in Apple’s Macintosh desktop offerings for more than a decade, popular gaming consoles such as the Xbox 360, and enterprise-class servers and mainframes, the Power Architecture suddenly fell out of favor. But why?
There are many possible explanations (and much speculation) as to why Apple dropped PowerPC and gaming platforms decided to part ways with Cell processors, but continual performance advances from Intel and others certainly didn’t help. And, although a number of vendors were producing compatible PowerPC processors, no one ever took the lead on the “next big splash” and the Power Architecture eventually fell behind, says Flemming Christensen, CEO at Sundance Multiprocessor Technology, Ltd. in Buckinghamshire, UK ().
“I honestly believe that the PowerPC has seen its best days and it will go the same ways as MIPS and the rest of the RISC architectures,” Christensen argues. “The PowerPC itself is a better processor, it’s a better architecture, it performs faster than an Intel processor, and it’s got all sorts of good things behind it, which you could see in the fact that Apple picked it as a successor when they used the [Motorola] 68040,” says Christensen. “But Intel just has this magic wand that they keep making things go faster and faster and faster. That’s why Apple eventually gave up on PowerPC, and then the game consoles gave up on PowerPC, as did typical embedded. What’s happening in the aerospace environment is that PowerPC has more or less lost out as well, and people are using things like LEON – an open type of CPU, although still RISC architecture.
“When Apple gave up [on PowerPC] that was a massive, massive blow,” he continues. “They didn’t lose a massive customer in terms of volume, but they lost their most prestigious one. There was a good reason for Apple to use a PowerPC because it was the best and [Apple] had been known for always doing the best – then they gave up on it. And eventually the games console people gave up on the Cell processors, and so they lost their volume and the prestigious customer, which left them with possibly putting them on the servers, but everybody wants to do a server chip.”
Where Power fell short, and the ARM alternative
Despite the marketing ramifications of losing a customer like Apple, the Power Architecture also faced competition from computing advances such as multiprocessing and integrated graphics, Christensen says. Today developers are turning to ARM-based Systems-on-Chip (SoCs) for the programming and control functionality the Power Architecture afforded when integrating FPGAs onto Small Form Factor (SFF) boards, he adds.
“There were some problems with getting some graphics into [PowerPC] as well, so obviously with Intel integrating the graphics processing it took a little while before the PowerPC could do that,” Christensen says. “The other thing that happened is that PowerPC was not very good at multiprocessing, so the four-core processors – from Freescale effectively, because IBM doesn’t produce any commercial chips anymore – didn’t really work as well as an Intel processor, and Freescale jumped into the ARM race and added a single-, dual-, and quad-core ARM-based processor, which I think is so much better-suited for SFFs because it’s lower power and it’s used by millions and millions of people (Figure 1).
“We used PowerPC mainly with FPGAs because they were so damn conveniently built into the FPGA fabric,” he explains. “We had them as part of an FPGA, which really makes sense because you can program the FPGA from within or from a processor, and then Xilinx gave up on it as well: actually at Xilinx they had a 4- and an 8-core PowerPC on their Virtex roadmap, but they never made them and only made the dual-core PowerPC.
“We will be using the Zynq at some point because it’s a nice thing to have a processor core inside an FPGA because you can get it going,” Christensen continues (Figure 2). “The ARM inside Altera and Xilinx is meant to program, and then you have some fabric as well. That’s how I looked at it when we came out with our PowerPC-based FPGA boards – you can actually use the PowerPC as your processor board and your fabric for your high-performance stuff and all of your interfaces and not have to have an Intel processor. That hasn’t happened. Everyone ended up using an Intel processor as the CPU and the FPGA as an FPGA, and forgetting the PowerPC because there wasn’t really a benefit at the time. And with the PowerPC tools from Xilinx you have to use Wind River Systems initially, and it costs you about $20,000 to buy the PowerPC compilers and yet you can get them for only $99 for Intel processors.”
Evolving ARM I/O opens doors into PC/104
While ARM-based SoCs have traditionally lacked the I/O necessary to power x86-centric SFF boards, evolutions in the processor architecture have mirrored Intel interfaces to be able to support newer SFF variants such as PCIe/104 and PCI/104-Express. Christensen says he hopes this will enable highly integrated, controllable Digital Signal Processing (DSP) boards that catch on better than similar efforts using PowerPC.
“Longer term, our PC/104 platform will be using ARM and fabric, and it will hopefully do what we failed to do with the PowerPC three or four years ago when we introduced those: have a single board that will have a processor, which in this case was a dual-core PowerPC and will be a dual ARM Cortex-A9 core that will do all the low-level housekeeping stuff and have a big piece of fabric that will do all the various high-level DSP. With the Xilinx Zynq and the Altera Cyclones, you can save power by not running the fabric as fast and the processor is in charge. It’s a highly integrated solution.
“Now ARM processors are actually becoming more like Intel processors, Christensen says. “So on an ARM integrated processor now you’ve got USB; you’ve got SATA; all these interfaces that were normally found on an Intel processor, you’ve got them as default now whereas five years ago you didn’t have those things. So all the ARM processors now are like SoCs. Freescale has come out with these i.MX 6 CPUs, which are lovely because they’ve got five variations of the same footprint-compatible device with either one core, two cores, or four cores. All the peripherals are the same as you’ll find on an Intel Atom or Core i7, and hence they all fit nicely onto PC/104. You don’t need the legacy PC/104 bus anymore with the old ISA and PC/104 buses that are very, very centric around Intel processors, and the PCIe/104 and PCI/104-Express can be plugged into anything.”
Niche applications remain open for RISC
Though the Power Architecture may no longer be poised for widespread use in many upcoming embedded deployments, RISC architectures are still desirable in a number of niche applications that require more control over low-level instruction sets, says Christensen. For sensitive applications such as Unmanned Aircraft Systems (UASs), these and other types of compute elements are critical to balancing performance and power limitations (Sidebar “Heterogeneous architectures for UAS applications”).
“We’re doing a European research project called EMC2, which is a massive multichannel, multicore consortium,” Christensen says (). “One of the chaps we were doing low-level processing work with said ‘I don’t want an ARM, I don’t want an Intel processor, I want something that I can go change instruction sets of.’ I asked him why that is, and he said, ‘I need to optimize something, and the only way I can optimize it is by actually optimizing the instruction set of the processors, and you can’t do that with Intel and you can’t do that with an ARM either.’
“There will be peripheral processors – LEON, OpenRISC, and a few similar processors – that are open core but can go onto an FPGA fabric,” Christensen continues. “So they are looking at putting loads of effectively specialized small processors on a board because it suits them and they can run at whatever speed they want to, which you can’t do with an ARM. So, when you buy your ARM, you buy an ARM. That’s it. You are forced to choose compatibility. Same with Intel.”