12

With this question in mind (the first one that stackexchange is offering me right now among the "Questions with similar titles"), I'd like to steal the idea of the question and ask it about PPC.

What's so great about it? All other chips I've seen - ARM, MIPS, SuperH, x86 - crunch numbers just fine.

The background of this question - about PPC, that is - is that the PPC architecture is used in many DSP chips, in particular in the automotive industry. Of course, this could simply be a question of momentum, and allow the developers to stay with an architecture they know well, including the toolchain. And the software they've written until now, of course.

But assuming I'm starting a DSP project anew, without any old baggage to lug around - is there any compelling advantage of the PPC architecture that would persuade me to prefer PPC to, say, ARM?

Knowing about the power efficiency of ARM chips, let me mention that my design would run off the grid, not on batteries.

doppelfish
  • 243
  • 2
  • 6
  • 2
    One think that PPC still does better than any other chip is radiation hardened designs. This is mainly due to the fact that IBM has by far the best fabs for rad-hardening but they have also redesigned parts of the chip to increase reliability. Incidentally, since AMD uses the same fabs for their higher end CPUs, AMD cpus are significantly more resistant to radiation than Intel ones. If you happen to be launching satellites on the cheap. – John Meacham Jul 10 '14 at 02:52

3 Answers3

12

"What's so great about the PowerPC?"

There are so many ways to answer this question. It wouldn't surprise me if there is a book on the topic. I will answer it in the most concise and simple way possible and leave the details for the reader...

The PowerPC was a great processor because it was the right chip, for the right price, at the right time. For much of its life it was the fastest non-Intel CPU available (that was also commonly available). Compared to todays CPU's the PowerPC is just OK but at the time it was arguably the best. But in the current CPU market, ARM is the dominant non-Intel based CPU and the PowerPC is fading fast. Except for some very niche applications, there is no good reason to design a new product with a PowerPC CPU anymore.

As for DSP, there are so many other ways to get fast number crunching than to use a PowerPC. Only a few high-end versions of the PowerPC ever did well with DSP, that would be those with the Altivec instructions. But that is old technology and there are Intel and ARM processors that do just as good if not much better. There are also dedicated DSP chips that would be a modern alternative to the PowerPC for this application.

If you can use off the shelf PCB's then a modern Intel CPU can give you massive amounts of DSP power for relatively little cost. If you can't use an off the shelf PCB, and must make your own, then consider ARM chips or dedicated DSP chips (or ARM's with dedicated DSPs in them from T.I.). I say this without knowing your application, so take this advice with a huge grain of salt.

  • The salt I have at ready, but getting the historical view and the overview over today's situation was helpful. Thanks! – doppelfish Feb 02 '12 at 19:39
3

Once upon a time the x86 family were considered to be caught in a computing paradigm that demanded more and more megahertz and more and more transistors in order to keep up with comparitively simple RISC CPUs like PowerPC and ARM.

In short, the Intel CPUs at the time could be considered to be measured in CPU cycles per instruction, while the more modern architecture and RISC instruction set of the newer designs meant that they could measured in instructions per CPU cycle.

Enormous amounts of money and resources and exploring numerous dead-ends would eventually allow Intel and AMD to create x86 compatible chips that wrap CISC compatibility around a simplified RISC-like core to compete with the RISC designs on a level that seemed unlikely at the time.

Anyone creating a new computing platform at the time could see the writing on the wall, common thinking was that the x86 family were a technological dead-end, with even Intel putting their research efforts into RISC at the time with i960 then Itanium.

Meanwhile, in Apple's case at least, much of the early speed advantage of the more advanced PowerPC chips was squandered by users having to run most third-party software in emulation for a number of years.

By the time Apple had completed their 68k to PowerPC transition, Intel's revolutionary Pentium came along with similar price/performance and set the stage for PowerPC's fall from grace.

user47091
  • 31
  • 1
3

The simple answer for the modern advantage of PowerPC architecture is in real-time operation. There is a whole market for safety critical equipment where even a small unpredictable delay is a problem. Think brakes on a car, avionics controls for an aircraft, and anything to do with the space industry. A delay can kill people, or destroy millions of dollars of equipment.

If you are not using a Real-Time Operating System (RTOS) then this is probably completely irrelevant. Windows, and most flavors of Linux are useless for real-time operation, and the features of the OS ruin the real-time capabilities of the processor.

Intel never was great at real-time systems, and their processor "performance" improvements in the last decade have completely abandoned the principle. Intel performs active scheduling management in their processors, which is a problem with real-time, and have added predictive processing and other various improvements. For the common-user, this speeds up performance, but it is a problem for real-time operation.

There are some new ARM designs that are now reaching acceptable levels of real-time operation, but those are still significantly lower performance in processing power compared to a PowerPC.

Basically you can look at the market like this. Raw processing power, you want Intel. Low power usage, you want ARM. Real-time operation, you want PowerPC.

Andrew Vian
  • 131
  • 1
  • 1
    What is the basis for your assertion that PowerPC is more suitable for realtime applications than ARM or x86? –  Oct 17 '18 at 02:08
  • Material on ARM from 2016 where they talk about their new design that is deterministic, and how their other lines of products are not. ARM makes the IP, but does not manufacture themselves, so it takes a couple years for real processors to be available after the design. https://www.anandtech.com/show/10690/arm-announces-the-cortexr52-cpu-deterministic-safe-for-adas-more – Andrew Vian Oct 18 '18 at 17:40
  • Material on the real issue of determinism in a processor: https://www.electronicdesign.com/embedded/determinism-means-more-faster-processors – Andrew Vian Oct 18 '18 at 17:42
  • For clarity, I should state Intel's problem is the x86 architecture that is the basis for all the Core and Xeon processors, along with most AMD processors. Look up "out of order execution", "predictive processing", and "task scheduling" for information that will show the huge array of problems for x86 processors. The Atom line was invented for that market, but never really gained much traction, and performance is comparable to ARM, or extremely slow compared to their Core and Xeon lines. – Andrew Vian Oct 18 '18 at 17:53
  • This discussion also has plenty of useful background material on the topic. For clarity, I am referring to "Hard Real-Time" processing, and more specifically "Determinism". https://stackoverflow.com/questions/17308956/differences-between-hard-real-time-soft-real-time-and-firm-real-time – Andrew Vian Oct 18 '18 at 17:58
  • Here is a good one on the Atom line, from Intel directly. https://digitallibrary.intel.com/content/dam/ccl/public/microcontroller-ia-conversion-paper.pdf?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb250ZW50SWQiOiI2MDA0MTkiLCJlbnRlcnByaXNlSWQiOiIxMzQuMjIzLjIzMC4xNTEiLCJBQ0NUX05NIjoiIiwiQ05EQV9OQlIiOiIiLCJpYXQiOjE1Mzk4ODU2MDJ9.wnbVQ6Ommst_IJ1r4s9fPkAmXIfYDqTx041bZE_ay7E – Andrew Vian Oct 18 '18 at 18:01
  • Here is another good introduction discussion on the topic: https://stackoverflow.com/questions/12523595/is-there-a-difference-between-a-real-time-system-and-one-that-is-just-determinis – Andrew Vian Oct 18 '18 at 18:05