Ein einfacher Leitfaden zu ARM vs. RISC-V vs. x86

RISC-V vs. ARM vs. x86 Titelbild

Einführung

Wir haben viel darüber gesprochen Raspberry Pi 5 hier bei PiCockpit, natürlich. Neulich fand ich eine Diskussion über den Raspberry Pi 5, in der es um die ARM-Architektur des Pi ging und darum, wie sich diese mit der RISC-V-Architektur verträgt. Seit Jahren spricht man über die Kompatibilität des Raspberry Pi mit x86. Aber was ist mit einem RISC-V Pi?

Dies ist besonders interessant, da der Raspberry Pi ein Mitglied der RISC-V International.

Das gilt auch für Arduino.

Also Chips mit RISC-V-Architektur haben möglicherweise eine Zukunft auf Raspberry Pis. Ich würde jedoch nicht auf einen x86-Raspberry Pi hoffen.

Immerhin, in einer kürzlich von Raspberry Pi veröffentlichten DiskussionGordon Hollingworth sagte: "Die Leute fragen: 'Könnten Sie das machen? Können Sie einen x86-Raspberry Pi bauen?Es ist wie: 'Oh Gott, das wäre eine Menge Arbeit. Man könnte, aber..."

Ein Intel-Chip

Daher dachte ich, es sei an der Zeit, einige der wichtigsten Unterschiede und Gemeinsamkeiten zwischen RISC-V-, ARM- und x86-Architekturen zu erläutern. Ich gehe auf ihre Geschichte, ihre Vor- und Nachteile ein und zeige, wodurch sie sich voneinander unterscheiden.

Am Ende werden Sie einen Eindruck davon bekommen, warum es so viel Arbeit wäre, einen x86-Raspberry Pi zu bauen, aber warum ein RISC-V-Raspberry Pi nicht außer Frage steht.

Übersicht

RISC-VARMx86
HerkunftRISC-V InternationalArm Ltd.Intel und AMD
BefehlssatzRISC (Reduced Instruction Set Computing)RISC (Reduced Instruction Set Computing)CISC (Complex Instruction Set Computing)
Byte ReihenfolgeNormalerweise Little-Endian (vom Benutzer konfigurierbar)In der Regel bi-endianisch (vom Benutzer konfigurierbar)Little-Endian
AnwendungenEingebettete Systeme, IoT-Geräte, kundenspezifische LösungenMobile Geräte, eingebettete Systeme, ServerDesktops, Laptops, Server, Workstations
LizenzierungsmodellOpen-Source, lizenzgebührenfreie LizenzierungARM lizenziert seine Designs an HerstellerIntel und AMD produzieren ihre eigenen Chips
ÖkosystemEntwicklung eines Ökosystems, Open-Source-InitiativenGroßes Ökosystem, umfangreiche Unterstützung von DrittanbieternGroßes Software- und Hardware-Ökosystem

Lassen Sie uns nun jeden dieser Punkte durchgehen.

Herkunft

Lassen Sie mich zunächst mit der x86-Architektur beginnen, da sie die älteste der drei Architekturen ist. Die x86-Architektur geht auf das Jahr 1978 zurück, als Intel die 8086-Familie auf den Markt brachte. Bei der x86-Architektur handelte es sich um CISC, was damals sehr angesagt war. Heute wird die x86-Architektur nach wie vor von Intel und AMD kontrolliert.

Die ARM-Architektur nahm ihren Anfang sieben Jahre später, als Acorn Computers Ltd. den ARM1 herausbrachte. Acorn Computers gibt es heute nicht mehr, aber ihre ARM-Architektur lebt durch Arm Ltd. weiter. Arm Ltd. vergibt nun Lizenzen für die ARM-Architektur an andere Unternehmen.

Im Vergleich dazu ist RISC-V extrem neu und wurde erst 2010 an der University of California, Berkeley, entwickelt. Im Jahr 2015 schlossen sich eine Reihe von Technologieunternehmen (von IBM über Google bis hin zu Nvidia) zusammen und gründeten die RISC-V Foundation. Im Jahr 2020 zog die RISC-V Foundation aufgrund geopolitischer Probleme in die Schweiz um und wurde zu RISC-V International.

RISC-V-Logo

Befehlssatz

Lassen Sie mich zunächst den Unterschied zwischen RISC und CISC erläutern.

RISC-Prozessoren verwenden einen kleinen, optimierten Satz von Befehlen, von denen jeder einen einzigen Taktzyklus benötigt, was eine schnellere und besser vorhersehbare Ausführung ermöglicht.

Im Gegensatz dazu haben CISC-Prozessoren einen größeren und vielfältigeren Befehlssatz, der oft komplexe Befehle enthält, die mehrere Taktzyklen erfordern können, was zu einer potenziell langsameren, aber vielseitigeren Leistung bei der Bewältigung verschiedener Aufgaben führt.

RISC-V ist also offensichtlich RISC-basiert. Aber was es von anderen unterscheidet, ist die Tatsache, dass es Open-Source ist.

In ihrem Papier von 2014, Befehlssätze sollten frei sein: Das Argument für RISC-VKrste Asanović und David A. Patterson vergleichen RISC-V mit Linux. Die Idee ist, dass es eine vollständig quelloffene Befehlssatzarchitektur gibt. Die Menschen sollten also in der Lage sein, sie zu manipulieren, mit ihr zu spielen und sie gemeinsam zu nutzen.

Asanović und Patterson argumentieren, dass dies Innovationen, mehr Transparenz und niedrigere Kosten fördern könnte.

Ich sollte erwähnen, dass RISC-V selbst zwar quelloffen ist, spezifische Implementierungen von RISC-V aber sowohl quelloffen als auch proprietär sein können.

ARM-Anweisungen sind ebenfalls RISC-basiert. Da Arm Ltd. jedoch Lizenzen für die Architektur vergibt, sind sie alles andere als Open-Source. Wie Asanović und Patterson es ausdrücken: "Eine ARM-Lizenz erlaubt es einem nicht einmal, einen ARM-Kern zu entwerfen; man darf nur ihre Designs verwenden." Ganz so einfach ist es zwar nicht, aber im Allgemeinen ist das der Fall.

Oben habe ich gesagt, dass die x86-Architektur auf CISC basiert. Das ist richtig, aber ich sollte erwähnen, dass x86-Prozessoren seit den 90er Jahren auch SIMD-Befehle (Single Instruction, Multiple Data) für parallele Verarbeitungsaufgaben enthalten. Dadurch können auch Multicore-Prozessoren schnell arbeiten.

Immerhin ist der schnellste Supercomputer der Welt - Frontier - x86-basiert.

Aber der zweitschnellste Supercomputer der Welt - Fugaku - ist ARM-basiert.

Viele Leute argumentieren, dass die Unterscheidung zwischen RISC und CISC heute nicht mehr sehr wichtig ist. Da moderne Prozessoren so leistungsfähig sind, seien die Unterschiede zwischen diesen Arten von Befehlssätzen praktisch verschwunden. In ihrer Forderung nach RISC-V argumentieren Asanović und Patterson jedoch, dass "es Jahrzehnte her ist, dass ein neuer CISC ISA erfolgreich war" und es daher sinnvoller ist, eine RISC-basierte Architektur zu verwenden.

Byte Reihenfolge

Endianness bezieht sich auf die Bytereihenfolge, in der Multibyte-Datentypen im Computerspeicher gespeichert werden.

In Little-Endian-Systemen wird das niederwertige Byte an der niedrigsten Speicheradresse gespeichert, während in Big-Endian-Systemen das höchstwertige Byte an der niedrigsten Adresse gespeichert wird.

Die Endianness ist sehr wichtig, wenn Sie Daten zwischen Prozessoren austauschen wollen. Wenn Sie Informationen von einem Big-Endian-System an ein Little-Endian-System senden, können Ihre Daten leicht beschädigt werden, wenn Sie sie nicht richtig konvertieren.

RISC-V ist normalerweise Little-Endian. Sie können dies jedoch konfigurieren, wenn Sie möchten, dass Ihr RISC-V eine Big-Endian-Bytereihenfolge hat.

Die ARM-Architektur kann entweder Little-Endian oder Big-Endian sein, je nach spezifischer Implementierung. Wie bei RISC-V können Sie einen ARM-Chip für Big-Endian konfigurieren.

Raspberry Pis sind standardmäßig Little-Endian. Sie können dies selbst überprüfen, indem Sie zu Ihrem Raspberry Pi gehen, das Terminal öffnen und Folgendes ausführen:

lscpu

Die x86-Architektur ist Little-Endian. Im Gegensatz zur RISC-V- und ARM-Architektur kann dies nicht geändert werden. Little-Endian ist ein Merkmal der x86-Architektur.

Anwendungen

Ich möchte kurz auf den Artikel von Asanović und Patterson zurückkommen. Obwohl der Artikel aus dem Jahr 2014 stammt, enthält er einen sehr wichtigen Punkt. Sie behaupten, dass "[w]ährend der 80×86 die PC-Kriege gewann, dominiert RISC die Tablets und Smartphones der PostPC-Ära; 2013 wurden mehr als 10 [Milliarden] ARMs ausgeliefert, im Vergleich zu 0,3 [Milliarden] 80x86s."

Das ist eine große Diskrepanz, die aber auch zeigt, dass die Anwendungen für eine Architektur ihre Bedeutung mitbestimmen. Deshalb war es im Jahr 2020 eine so große Sache, als Apple den M1-Chip für seine neuen Computer vorstellte. Wenn Apple von x86 zu ARM wechselt, was bedeutet das dann für die Zukunft von x86?

Dennoch dominiert x86 immer noch den Computermarkt. Desktops, Laptops und Server basieren alle weiterhin hauptsächlich auf der x86-Architektur.

ARM hingegen ist typischerweise in Smartphones und Tablets zu finden. Und natürlich in Ihrem bescheidenen Raspberry Pi. Wie auch immer, es sieht so aus, als würde ARM auch die Computerwelt erobern.

Smartphone auf dem Tisch

RISC-V hofft eindeutig, der ARM-Architektur einen Teil ihres Platzes streitig zu machen, aber es bleibt noch offen, was es in Zukunft tun könnte. Sowohl Universitäten als auch die Industrie investieren in RISC-V und beobachten seine Entwicklung genau.

Wenn ARM begonnen hat, x86 zu verdrängen, wird dann RISC-V beginnen, ARM zu verdrängen?

Lizenzierungsmodell

Die restriktivste der drei Architekturen ist die x86-Architektur. Wie ich bereits erwähnt habe, stellen nur zwei Unternehmen Chips mit x86-Architektur her - Intel und AMD. Die Chips sind nicht anpassbar und die Architektur ist vollständig proprietär.

Die ARM-Architektur funktioniert anders, und zwar aufgrund des Lizenzmodells. Eine typische ARM-Lizenz erlaubt es nicht, ein Design für die ARM-Architektur zu erstellen. Es gibt jedoch Ausnahmen, denn der M1-Chip von Apple wurde vorhersehbar an die Wünsche des Unternehmens angepasst.

Die RISC-V-Architektur ist quelloffen und lizenzfrei, so dass jeder RISC-V-Prozessoren entwickeln und herstellen kann, ohne Lizenzgebühren zu zahlen. Das ist sozusagen das Linux der ISAs.

Interessanterweise sind jedoch sowohl Intel als auch AMD Mitglieder von RISC-V International. Sie sind also offensichtlich auch der Meinung, dass es wertvoll ist, einen Beitrag zur RISC-V-Architektur zu leisten.

Ökosystem

Das RISC-V-Ökosystem wächst schnell, und viele Unternehmen und Forscher tragen zu Open-Source-Projekten bei und entwickeln RISC-V-basierte Produkte.

Das Software-Ökosystem ist zwar noch nicht sehr groß, aber es wächst. Sie können seine Entwicklungen sehen mit das Projekt RISE (RISE steht für RISC-V Software Ecosystem).

Sowohl ARM als auch x86 sind auf ihren jeweiligen Märkten führend. Die Ökosysteme für beide sind gut etabliert und umfangreich.

Dies ist einer der deutlichsten Nachteile von RISC-V. Es ist einfach nicht so weit verbreitet wie die beiden anderen, und der Wettbewerb ist hier sehr hart.

RISC und CISC in Aktion

In diesem fantastischen Video von Der [Füllen Sie das Leerzeichen aus] Programmiererkönnen Sie genau sehen, wie RISC und CISC auf der Ebene des Assemblercodes funktionieren.

Hier können Sie den Unterschied zwischen RISC und CISC im Detail sehen.

Bei ARM und RISC-V hat der Assembler-Code kürzere Zeilen, aber dafür mehr davon. Auf x86 sind die Assemblerzeilen komplexer, aber es gibt weniger davon.

Das Video zeigt, wie der GCC-Compiler und der Clang-Compiler C++-Code für jede der drei ISAs - ARM vs. RISC-V vs. x86_64 - in Assembler umwandelt. Sehen Sie es sich an:

Schlussfolgerung

Wir haben kürzlich einen Artikel veröffentlicht, in dem der Orange Pi 5 Plus mit Raspberry Pi 5 und Rock 5 Model B. Interessanterweise sind alle drei SBCs ARM-basiert, während Radxa sogar ein x86-Modell namens Rock Pi X.

Einige Leute befürchten, dass eine breitere Einführung von RISC-V zu einer stärkeren Fragmentierung führen wird. Dies passt gut zu dem Vergleich mit Linux. Wie viele Linux-Distributionen gibt es heute? Die RISC-V-Gemeinschaft arbeitet jedoch aktiv an der Entwicklung von Standards, um die Fragmentierung und Kompatibilitätsprobleme zu minimieren.

Viele (auch einige Gegner) sehen in RISC-V eine Möglichkeit, die Chiparchitektur in die Zukunft zu führen.

Wenn sich die Handelskriege zwischen den Ländern aufheizen, werden die Dinge natürlich viel komplizierter. Arm Ltd. hat seinen Sitz im Vereinigten Königreich, Intel und AMD sind in den USA ansässig. Es ist nicht überraschend, dass Länder wie China und Russland sich RISC-V zuwenden.

Es gibt jedoch Leute, die glauben, dass RISC-V zum Scheitern verurteilt ist. Sie argumentieren, dass RISC-V nicht nur verursachen Fragmentierung, sondern vielmehr, dass RISC-V bereits ist fragmentiert. Und deshalb wird es nicht in die Gänge kommen.

Update (November 6, 2023): Arm Holdings hat gerade bekannt gegeben, dass sie eine Minderheitsbeteiligung an Raspberry Pi Ltd. erworben haben. Es ist unklar, was dies für die Zukunft bedeutet. Sie können hier mehr lesen:

Was meinen Sie dazu? Ist RISC-V die Zukunft? Lassen Sie es uns in den Kommentaren wissen!

3 Kommentare

  1. Veröffentlich von tozo am November 6, 2023 um 1:13 pm

    Wie ich bereits erwähnt habe, stellen eigentlich nur drei Unternehmen Chips mit x86-Architektur her - Intel und AMD.
    Das sind... nur zwei. 🙂

    • Veröffentlich von Adam am November 7, 2023 um 12:36 pm

      Ganz richtig - danke, tozo!

  2. Veröffentlich von Bruce Hoult am November 8, 2023 um 10:27 pm

    Ich finde es etwas unfair, das Alter von RISC-V ab dem Datum zu zählen, an dem einige Universitätsforscher 2010 in einer Kneipe (oder was auch immer) saßen und beschlossen, ihren eigenen ISA zu entwickeln, während die anderen ab dem Zeitpunkt gezählt werden, an dem der erste kommerzielle Chip auf den Markt kam.

    Der ISA durchlief mehrere inkompatible Versionen, da sich die Ideen sowohl auf der Ebene der Assemblersprache als auch bei der Binärkodierung weiterentwickelten.

    Der erste RISC-V-Chip, den man kaufen konnte, der FE310 von SiFive, kam im Dezember 2016 auf dem Arduino-Klon-Board HiFive1 heraus. Es ist nur ein Mikrocontroller, der nur die Anweisungen für den Benutzermodus enthält. Die Anweisungen für den Maschinenmodus und den Supervisor-Modus sowie die CSRs wurden bis kurz vor der Ratifizierung (Einfrieren, Veröffentlichung) des Basis-ISA im Juli 2019 aktiv entwickelt und inkompatibel geändert. SiFive brachte Anfang 2018 einen Linux-SBC, HiFive Unleashed (mit dem FU540-SoC), mit etwa 500 hergestellten Exemplaren heraus, aber das war experimentell und sie waren darauf vorbereitet, dass es verwaist sein würde, wenn vor der Ratifizierung inkompatible Änderungen am ISA vorgenommen würden.

    Ich denke, das faire "RISC-V-Ursprungsdatum" liegt irgendwo zwischen der Veröffentlichung von Privileged Architecture 1.10 im Mai 2017 und der Ratifizierung im Juli 2019. Mit Sicherheit nicht 2010.

    Zu einem anderen Thema möchte ich anmerken, dass der 8086 bei weitem der am wenigsten CISC-lastige der CISC-Chips war, und das ist ein wichtiger Grund dafür, dass er bis in die RISC-Ära überleben konnte (die Milliarden vom IBM PC und den Klonen haben auch sehr geholfen!). VAX, M68000, Z8000, NS 16032/32032 waren einfach zu komplex, um schnell zu sein.

    "Seit den 90er Jahren enthalten x86-Prozessoren auch SIMD-Befehle (Single Instruction, Multiple Data) für parallele Verarbeitungsaufgaben. Dadurch können auch Multicore-Prozessoren schnell arbeiten." Das hat absolut nichts miteinander zu tun.

    "Die RISC-V-Architektur ist quelloffen und lizenzgebührenfrei, so dass jeder RISC-V-Prozessoren entwickeln und herstellen kann, ohne Lizenzgebühren zu zahlen. Es ist wirklich wie das Linux der ISAs." Stimmt, aber die Entwicklung eines eigenen Prozessors kostet weitaus mehr als die Lizenzierung eines Designs von einem der rund ein Dutzend kommerziellen RISC-V-Core-Anbieter (mit sehr ähnlichen Geschäftsmodellen wie Arm).

Hinterlassen Sie einen Kommentar