Gründe für die Popularität von PowerPC für eingebettete Designs

Die Frage wurde schon einmal gestellt und ist nicht mehr aktiv, aber ich bin mit der Antwort überhaupt nicht zufrieden:

Was ist so toll an PPC? Es muss etwas geben

Laut David Kessners Antwort gab es einmal Gründe für PowerPC, aber heute gibt es sie nicht mehr.

Während dies für Desktop-Computer zutreffen mag, kann es für eingebettete Systeme nicht zutreffen. Alle drei großen Spielekonsolen verwenden einen PowerPC (Wii, Xbox 360, PS3). Microsoft, das sich damals ganz auf Intel konzentrierte, wechselte 2005 sogar für seine neue Xbox von Intel zu PowerPC.

Netzwerkgeräte verfügen in vielen Fällen über PPC, viele Automotive-Mikrocontroller auch und es gibt immer noch neue PPC-Produktentwicklungen (z. B. von Freescale). PowerPCs sind darüber hinaus in den Bereichen Speichersysteme, Medizintechnik oder Industrieautomation zu finden.

Abwärtskompatibilität (Unterstützung von Legacy-Software) ist natürlich ein Treiber. Aber es müssen noch mehr sein.

Ist es die hohe Skalierbarkeit und Kompatibilität der Anwendungsprogrammierschnittstellen innerhalb der PowerPC-Familie, von kleinen Mikrocontrollern bis hin zu Prozessoren für Hochleistungsrechnen?

Die Robustheit des Designs und die Erfahrung mit der Zertifizierung funktionaler Sicherheit?

Unterstützung von hohen Temperaturbereichen, insbesondere lüfterlose Designs für hohe Temperaturen?

Der Befehlssatz von PowerPCs ist jetzt als Power ISA bekannt.
Helfen Sie mir: Wer hat das behauptet?
Warum reicht die Abwärtskompatibilität nicht aus, um die Verwendung von PPC zu rechtfertigen? Seit 30 oder 40 Jahren ist Abwärtskompatibilität der dominierende Treiber hinter Intels Architektur, die seine Marktposition behauptet.

Antworten (3)

Um den Preis auf die von den Spielekonsolen geforderten Werte zu senken, benötigten sie alle benutzerdefinierte Chips, die eine (oder drei) CPUs enthielten. Natürlich wechselte Microsoft von einer Intel-CPU zu einem PowerPC, weil es keine Möglichkeit gab/gibt, dass Intel seine CPU in einem benutzerdefinierten Chip zulassen würde – besonders wenn es nicht Intel war, das den Chip fabrizierte.

Als die XBox 360 entwickelt wurde, war der PowerPC die schnellste und am vernünftigsten zu verwendende CPU. Dies ist nicht mehr der Fall, wo ARM es geschlagen hat. Ich sage voraus, dass ARM die CPU der Wahl für die neue Runde von Spielkonsolen sein wird, die in den nächsten ein oder zwei Jahren herauskommen sollten.

Neben neuen PPC-Geräten gibt es auch neue 8051- und Coldfire-Geräte. Das allein ist also kein guter Hinweis darauf, wie "aktuell" die PPC ist. Neue ARM-Geräte übertreffen neue PPC-Geräte um vielleicht 50 zu 1.

Um nun direkt auf Ihre Fragen einzugehen:

Ist es die hohe Skalierbarkeit und Kompatibilität der Anwendungsprogrammierschnittstellen innerhalb der PowerPC-Familie, von kleinen Mikrocontrollern bis hin zu Prozessoren für Hochleistungsrechnen?

Der PPC bietet derzeit keine Skalierbarkeitsvorteile. Der ARM ist in dieser Abteilung tatsächlich einfacher, da diese CPU für die Mehrkernverarbeitung entwickelt wurde.

Der PPC bietet keine API-Kompatibilität, die ARM oder andere CPUs nicht auch bieten. Moderne Software ist vollständig in einer Hochsprache geschrieben, daher spielt die CPU-Architektur keine Rolle bei der API-Kompatibilität. Heutzutage wird fast nichts in Assemblersprache geschrieben, insbesondere auf Hochleistungs-32/64-Bit-CPUs.

Die Robustheit des Designs und die Erfahrung mit der Zertifizierung funktionaler Sicherheit?

Es ist unklar, was Sie damit meinen. Für die meisten eingebetteten Anwendungen, die keine lebensrettende, militärische oder Luft- und Raumfahrtsicherheit erfordern, bietet der PPC heute keinen Vorteil. ARMs haben sich genauso bewährt oder sogar mehr als PPC. Für Lebenssicherheit, Militär oder Luft- und Raumfahrt könnte es einen Vorteil geben, aber diese Märkte neigen dazu, dem Rest der Welt sowieso um mehrere Generationen hinterherzuhinken.

Unterstützung von hohen Temperaturbereichen, insbesondere lüfterlose Designs für hohe Temperaturen?

ARM ist eine Architektur mit viel geringerem Stromverbrauch, weshalb ARM in Mobilgeräten verwendet wird, PPC jedoch nicht. Weniger Leistung = weniger Wärme = viel einfacher zu handhabende hohe Temperaturbereiche. Vorteil ARM.

Abwärtskompatibilität (Unterstützung von Legacy-Software) ist natürlich ein Treiber. Aber es müssen noch mehr sein.

Warum muss es mehr sein? Ich bin mir sicher, dass dies der Grund dafür ist, dass 90 % der aktuellen PPC-Designs immer noch PPC verwenden. Die anderen 10 % sind darauf zurückzuführen, dass manche Menschen einfach in ihren Wegen feststecken. Es gibt viele Beispiele für alte Architekturen, die ohne guten Grund weiter verwendet werden. Sie können Z80 und 6502 immer noch in neue Designs stecken, und niemand nennt diese gut oder derzeit beliebt.

Der Grund für die Popularität von PPC ist, dass es die richtige CPU zur richtigen Zeit auf dem Markt war. Davor waren es die MIPS-CPUs. Jetzt ist es ARM. Sie sehen immer noch, dass PPC verwendet wird, weil einige Dinge einfach lange brauchen, um auszusterben. Es gibt auch noch MIPS-Designs.

@NichHalden war auch zu diesem Thema völlig richtig.

Vielen Dank, David, für die Erweiterung Ihrer Position und die Beantwortung meiner Annahmen.
Wie wäre es mit der Power-Serie der Enterprise-Klasse von IBM? Meiner Meinung nach kommt ARM nicht einmal an IBMs Power7 heran, wenn es um die schiere Rechenleistung in High-End-Anwendungen geht.
Wii hat tatsächlich einen ARM-Sicherheits-Coprozessor, der von Hackern als Starlet bezeichnet wird. IOS (keine Beziehung zu Apple) läuft auf Starlet und kontrolliert den Zugriff auf viele Peripheriegeräte, aber Broadway (der PPC) ist der Ort, an dem all die interessanten Zahlen verarbeitet werden.
Ich bin mir sehr sicher, dass dies in Bezug auf den ersten Punkt "Auf keinen Fall wird Intel seine CPU in einem benutzerdefinierten Chip zulassen" falsch ist. Die ursprüngliche Xbox hatte einen benutzerdefinierten Intel-Chip, und ich bin mir sicher, dass Intel mehr als glücklich gewesen wäre, auch den nächsten herzustellen, sie waren einfach nicht so preisgünstig (sprich: verzweifelt) für die erforderliche Geschwindigkeit. Es gibt keine Beweise dafür, dass die Xbox PowerPC-Entscheidung auf Leistung basierte, Intel hatte viel leistungsfähigere Chips, nur nicht für die aktuellen und zukünftigen Preispunkte
ARM ist stromsparend, nicht die ultimative Geschwindigkeit, es müssten viele Kerne sein, und das ist nicht immer ideal für die Spieleprogrammierung. Ich vermute, dass die gewählte CPU diese Merkmale aufweisen wird: Preis, nicht hackbarer sicherer Codepfad mit Support-Chips, Preis, GPU-Integration, Preis und möglicherweise Preis?
Laut cnet wurde für den Mars Rover eine Plattform rund um einen PowerPC RAD750-Mikroprozessor gewählt, weil sie extremen Temperaturen und massiven Dosen von Weltraumstrahlung standhalten kann.
@DancingJeff Nein, das war ein spezieller PowerPC-Build, der strahlungsgehärtet war und sich auf mehreren früheren Raumfahrzeugen bewährt hatte. Sie verwenden nicht zu viele neue Dinge auf einer Reise ins Nirgendwo!

Es wurde billiger angeboten als jedes Produkt von Intel oder AMD, wenn Sie keine CPUs der neuesten Generation benötigen.

Beispielsweise brauchten Xbox und PS3 nicht die schnellste CPU, sie brauchten nur eine anständige Menge an Multi-Processing. Sie brauchten auch ein langfristiges Lieferprogramm mit sinkenden Preisen, um die langfristige Rentabilität und den Preis der Konsolen sicherzustellen.

Xbox und PS3 wurden ursprünglich mit Verlust verkauft, um das Ökosystem zu starten, und sind dann im Laufe der Zeit billiger in der Herstellung. Die Komponenten ändern sich nicht grundlegend, werden aber deutlich billiger, um im Gegensatz zu Desktop-PCs, die den neuesten CPU-Generationen folgen sollen, eine gesunde Marge in den Kartons zu gewährleisten.

user3624 hat recht, wenn er sagt:

Für die Lebenssicherheit, das Militär oder die Luft- und Raumfahrt könnte es einen Vorteil geben

Ich arbeite im Bereich der zivilen Luft- und Raumfahrt und nur CPUs/MCUs, die ihren Nachweis erbracht haben, werden akzeptiert oder wurden in kritischen Systemen verwendet. In diesem Segment kommen insbesondere Embedded PowerPC (e200-Kerne) zum Einsatz. Aber auch ARM spielt in diesem Bereich mit der Cortex-R-Familie, die für Echtzeit gedacht ist.

Aus unserer Sicht ist es wichtig, dass sowohl PowerPC als auch ARM weiterleben, da wir uns für die Sicherheit unserer Systeme auf beide verlassen. Beispielsweise können wir einen PowerPC in einen Computer einbetten, der den ARM Cortex-R-Computer überprüft. Da sie unterschiedlich sind, können nicht beide gleichzeitig den gleichen Fehler haben.