Open-Source-Befehlssatzarchitektur Eine Einführung in RISC-V

RISC-V bietet Sicherheit und eine hohe Flexibilität in der Open-Source-Befehlssatzarchitetkur.
RISC-V verspricht Sicherheit und eine hohe Flexibilität

Mit einem unveränderbaren Befehlssatz und einer freiverfügbaren Befehlssatzarchitektur hebt sich RISC-V von den dominierenden Prozessorarchitekturen x86 und ARM ab. Damit bietet RISC-V Sicherheit und eine hohe Flexibilität, die beide gemeinsam eine Innovationslawine auslösen können.

Das zunehmende Bewusstsein der Elektronik- und Halbleiterbranche für die Befehlssatzarchitektur (ISA – Instruction Set Architecture) RISC-V hat mit den jüngsten Ankündigungen vieler direkten Zulieferer (Tier 1), die sich für den Einsatz von RISC-V entschieden haben, einen Wendepunkt erreicht.

Heute gehören der RISC-V Foundation über 100 Unternehmen an, die hinter der kostenfreien und quelloffenen RISC-V-Befehlssatzarchitektur stehen, wobei ständig weitere Hersteller von Tools, Software, Hardware und Betriebssystemen hinzukommen und die Mitgliederzahl rasch steigt.

Immer mehr Software-Entwickler und Hardware-Ingenieure erkennen gerade, wie sich mit RISC-V-Architekturen, Chips, Module und ganze Systeme verbessern lassen.

Was ist RISC-V?

Bei der Beantwortung der Frage, was ein RISC-V-Prozessor ist, stellt sich heraus, dass es sich nicht um eine Prozessorarchitektur handelt. RISC-V ist eine offene, feste Befehlssatzarchitektur. Wenn man sich Prozessorbefehlssätze als Wörterbuch vorstellt, wären die Ausgaben für x86- und ARM-Prozessoren jeweils eine sehr dicke Ausgabe – mit weit über 1.000 Befehlen. Im Vergleich dazu wäre das RISC-V-Wörterbuch sehr dünn.

Tatsächlich umfasst der Basis-Befehlssatz von RISC-V weniger als 50 Befehle. Standard-Erweiterungen der Befehlssatzarchitektur als optionale Unterstützung erhöhen die Anzahl. Selbst wenn alle Erweiterungen unterstützt würden, läge die Gesamtzahl der RISC-V-Befehle unter 200. Alle RISC-V-Befehle sind auf einer sogenannten RISC-V »Green Card« gedruckt (Bild 1), die alle Basis- und Erweiterungsbefehle auf einer Schreibmaschinenseite zusammenfasst.

 

Da alle Befehle festgeschrieben sind, können Software-Entwickler den einmal für einen RISC-V-Prozessorkern geschriebenen Code, stets auch für jeden RISC-V-Prozessorkern verwenden, der die gleichen Basisbefehle und optionalen Erweiterungen unterstützt.

Ergänzungen des Standard-Befehlssatzes erfolgen über Erweiterungen – und nicht über neue ISA-Versionen.

Die wenigen Befehle des Basis-Befehlssatzes ermöglichen es, einfache Prozessor-architekturen zu entwerfen, mit denen sich sehr effiziente Prozessoren realisieren lassen.

Für IC-Entwickler ist eine offene und bekannte Befehlssatzarchitektur gleichbedeutend damit, dass jeder eine Lizenz hat. Dies ermöglicht einen Anpassungsgrad, der bisher der breiten Halbleiterentwickler-Gemeinde noch nicht zur Verfügung stand. Mit der Flexibilität können IC-Entwickler und Schaltungsentwickler viele der heutigen Herausforderungen bewältigen.

RISC-V-Vorteile für ICs und SoCs

Die Entwicklung von neuen ICs und SoCs verlangt ein neues Herangehen an Architekturen. Halbleiterhersteller können sich nicht länger einfach auf das Mooresche Gesetz verlassen, um ICs der nächsten Generation anzubieten. Aufgrund der Anforderungen hinsichtlich Leistung und Kosten sowie des Wettbewerbs, in dem sich Halbleiterhersteller gegenüberstehen, lassen sich mit den gleichen Architekturen nicht einfach schnellere oder kleinere ICs realisieren.

Die Befehlssatzarchitektur RISC-V bietet für dieses Problem eine einzigartige Lösung, die Unternehmen ernsthaft in Erwägung ziehen und einsetzen. Jüngste Beispiele dafür sind die RISC-V-Ankündigungen von Western Digital und NXP. Konkret stellt sich die Frage, warum IC-Entwickler RISC-V wählen?

Für die Antwort hilft ein Blick auf die große Mehrheit von ICs, die einen Controller irgendeiner Art benötigen. Ganz gleich, ob es ein Mikrocontroller oder ein Prozessor oder keines von beiden ist: In den meisten ICs gibt es zahlreiche Funktionen, die initialisiert, gesteuert und überwacht werden müssen.

Ist der im IC integrierte Controller dem Kunden des Halbleiterherstellers nicht zugänglich, haben die Halbleiterhersteller mehr Spielraum bei der Auswahl, da sie die Entwicklungswerkzeuge kontrollieren und die Anwendungsfälle verstehen.

In diesen Szenarien bietet RISC-V unschlagbare Vorteile. Ein Vorteil, der sich ergibt, wenn ein Halbleiterhersteller den Prozessor entwickeln kann, ist, dass die Software einen wesentlich größeren Einfluss auf die Hardware-Architektur haben kann. NXP hat kürzlich auf einem RISC-V-Workshop darauf hingewiesen, dass genau dies für das Unternehmen ein entscheidendes Kriterium für den Einsatz von RISC-V war.

Es gibt Software, die durch bestimmte Befehle oder Routinen die Ressourcen eines Controllers stark belastet. Bei RISC-V können individuelle Beschleuniger für bestimmte Befehle entwickelt werden, um diese Ressourcenproblematik zu lösen.

Wurde dagegen ein proprietärer Prozessor gewählt, ist es höchst unwahrscheinlich, dass dieser Grad an Individualisierung unterstützt wird.

Ein weiterer Einsatzbereich für RISC-V sind Prozessoren, die nur für eine spezielle Funktion in ICs implementiert werden sollen. Proprietäre Prozessorarchitekturen sind nicht sehr anpassbar, sodass IC-Entwickler den Prozessor nur wenig modifizieren können, um die geplante Anwendung zu implementieren.

Ein Beispiel hierfür ist ein Prozessor, der die Aufgabe hat, Daten bei geringster Leistungsaufnahme und kleinstem Flächenbedarf zu bewegen. Die typischen proprietären Prozessorarchitekturen sind überwiegend für allgemeine Anwendungen konzipiert. Sie können eine Vielzahl von Funktionen relativ gut erledigen.

RISC-V erlaubt es dem IC-Entwickler für einen exakt auf die Aufgabe zugeschnittenen Prozessor den genauen Bus-Typ zu spezifizieren, um die Funktionen für diese Anwendung zu optimieren. Wenn sich die Leistungsfähigkeit der Anwendung am besten mit einem kundenspezifischen statt mit einem AXI-4-Bus optimieren lässt, ist dies mit RISC-V, nicht aber mit proprietären Prozessorarchitekturen möglich.

Western Digital ist für seine Speicher-Controller vor kurzem auf RISC-V umgestiegen. Einer der Gründe für den Umstieg auf RISC-V waren die verfügbaren, individuell anpassbaren Optionen inklusive Bus-Schnittstellen und bestimmte Peripherie. Das Unternehmen ist davon überzeugt, dass sein Entwicklerteam mit dem Wechsel zu RISC-V die Anforderungen hinsichtlich Leistungsfähigkeit und Leistungsaufnahme besser erfüllen kann.

Sicher und zukunftsfähig

Von der Portabilität eines RISC-V-Prozessorkerns auf andere Hardware und seiner geringeren Leistungsaufnahme können praktisch alle Hersteller profitieren, die in Großserien fertigen. Software-Entwickler können auf eine feste Befehlssatzarchitektur zählen, ihr Code kann über Hardware-Generationen hinweg verwendet werden. Besonders wichtig ist diese lange Verwendungsfähigkeit bei Industrie-Anwendungen oder anderen Applikationen mit langen Produktlebenszyklen.

Dank der festen Befehlssatzarchitektur von RISC-V ist eine einmal entwickelte Software für unbegrenzte Zeit auf jedem RISC-V-Prozessor einsetzbar, der die verwendeten Erweiterungen unterstützt – sofern vorhanden. Diese Eigenschaft ist oft entscheidend für Produkte, die eine lange Lebensdauer haben und über Jahrzehnte unterstützt werden müssen, sowie für Applikationen mit strengen Zertifizierungsvorschriften, die keine Modifikation der Software erlauben.
Ingenieure, die Elektronik für Wehrtechnik und für die behördliche Kommunikation entwickeln, müssen oft nachweisen, dass ihre Entwicklungen vertrauenswürdig sind.

Die gebräuchlichste Methode, um ein hohes Maß an Sicherheit zu erreichen, besteht darin, den RTL-Code zu prüfen und so Vertrauen zu schaffen. Die führenden Prozessorhersteller sind nicht daran interessiert, ihren RTL-Code zu teilen, doch bei RISC-V ist dies möglich. Heute gibt es bereits zahlreiche quelloffene RISC-V-Prozessorkerne. Diese Transparenz ist möglich, weil die RISC-V-Befehlssatzarchitektur offen ist.

Der Mi-V von Microsemi ist ein solcher RISC-V-Prozessorkern, für den der RTL-Code zur Verfügung steht. Wenn ein Entwickler aus dem Bereich Wehrtechnik eine Schaltung in einem PolarFire-FPGA implementiert, das einen RISC-V-Prozessorkern enthält, könnte der RTL-Code für die Schaltung geteilt und untersucht werden. Mit diesem Prüfniveau können starkes Vertrauen und Datensicherheit nachgewiesen werden.