Open-Source-Befehlssatzarchitekturen fürs Chip-Design 11 Mythen rund um RISC-V

In diesem Beitrag werden zehn gängige Vorurteile gegenüber RISC-V unter die Lupe genommen, um die Technologie besser zu verstehen und zu erfahren, wie man mit ihrer Hilfe Innovation beschleunigen und Kosten senken kann.

Bild: iStock, Soner Cdem
04.10.2018

Trotz großartiger Einsatzmöglichkeiten und steigender Implementierungszahlen schlägt der Prozessorplattform RISC-V nach wie vor ein gewisses Misstrauen entgegen. Höchste Zeit, mit den gängigen Vorurteilen aufzuräumen...

Derzeit erproben viele Unternehmen kostenlose Open-Source-Hard- und Software als Alternative zu teuren geschlossenen Befehlssatzarchitekturen (ISA). RISC-V ist eine kostenfreie, quelloffene und erweiterbare ISA. Sie bietet eine sehr große Flexibilität und Erweiterbarkeit für Chip-Designs. Trotz eines umfangreichen Ökosystems und einer steigenden Zahl an realen Implementierungen gibt es weiterhin Vorurteilen gegenüber der RISC-V-Architektur. Das hält Unternehmen weltweit davon ab, die Vorteile dieser Prozessorplattform voll auszuschöpfen. Zehn der verbreitetsten Mythen hinsichtlich RISC-V werden im Folgenden genauer unter die Lupe genommen. Ingenieure können dadurch die Technologie besser verstehen und erfahren, wie man mit ihrer Hilfe Entwicklungen beschleunigen und Kosten senken kann.

1. RISC-V ist ein weiteres Prozessordesign: RISC-V ist eine Befehlssatzarchitektur (ISA; Instruction Set Architecture), die über eine BSD-Lizenz erhältlich ist. Darin sind Standardanweisungen definiert, die als Erweiterungen bezeichnet werden. Für Endnutzer steht ausreichend Speicherplatz zur Verfügung, um eigene Anweisungen für domänenspezifische Funktion zu definieren. Die definierten Standarderweiterungen bilden die Basis eines modernen Standardrechners. Erweiterungen werden durch einen Buchstabenmonitor definiert, wobei I für Integer, M für Multiplizieren und Dividieren, A für Atomic, F für Single Precision Floating Point, D für Double Precision Floating Point und C für Compressed Instructions verwendet werden. Diese Standard-Erweiterungen sind eingefroren und werden sich niemals ändern. Software muss deshalb nur einmal geschrieben werden und kann auf jedem RISC-V-Core, der diese Standarderweiterungen enthält, ausgeführt werden.

2. RISC-V ist für die Forschung und Lehre, nicht aber für die Industrie gedacht: Zahlreiche Unternehmen implementieren RISC-V. IP-Hersteller wie Andes Technology, Codasip, Bluespec oder Cortus bieten RISC-V-Cores zur Implementierung in Silizium an. SiFive hat sowohl lizenzierbare IP-Cores als auch kundenspezifisches Silizium auf Basis von RISC-V im Programm, einschließlich eines 32-Bit-RISC-V-SoC. Microsemi, Rumble Development und VectorBlox bieten Soft-RISC-
V-Cores an, die auf FPGAs laufen. Zum Beispiel wurde auf der fünften RISC-V-Konferenz am 30.11.2016 eine Time-
Lapse-Kamera mit RISC-V-Core in einem IGLOO2-FPGA präsentiert.

3. Es gibt keine FPGA-Cores oder integrierte Entwicklungsumgebungen zur Evaluierung von RISC-V: Microsemi bietet sowohl FPGAs, die RISC-V-Cores unterstützen, als auch die integrierte Entwicklungsumgebung (IDE) SoftConsole. Sie vereinfacht die Entwicklung und das Debugging der RISC-V-ISA auf den eigenen RTG4-, IGLOO2- und PolarFire-FPGAs. Zur Evaluierung eines RISC-V-Designs können Anwender auch das HiFive1-Produkt von SiFive verwenden, ein auf
RISC-V basierendes, Arduino-kompatibles Board.

4. Für RISC-V muss man eine Nutzerlizenz erwerben: Es sind keine Lizenzgebühren erforderlich, um die Befehlssatzarchitektur zu verwenden oder eine Mikroarchitektur zu entwickeln, die der RISC-V ISA entspricht. Zum Beispiel lassen sich viele RISC-V-SoftCores von Microsemis GitHub-Seite herunterladen. Bei kommerziellen Endprodukten ist die Verwendung des RISC-V-Warenzeichens oder -Logos nur unter der Lizenz zulässig, die im Rahmen der RISC-V-Foundation-Mitgliedschaft gewährt wird. Entscheidend ist es, dass es für die ISA eine liberale BSD-Lizenz gibt.

5. Unternehmen, die RISC-V-Cores entwickeln, müssen ihre IP mit Kunden teilen: Für IPs, die die RISC-V-ISA enthalten, gibt es keinerlei Rücklizenzverpflichtungen. Entwickler können frei entscheiden, ob sie proprietäre Implementierungen zur kommerziellen Nutzung oder quelloffene Implementierungen entwickeln – und können diese auch teilen. Die RISC-V-Foundation ermutigt beide Implementierungstypen. Manche Softwaretools, die RISC-V unterstützen, enthalten spezifische IPs. Die meisten dieser Tools – zum Beispiel diejenigen von Antmicro und Imperas – verwenden eine Lizenz, die der BSD-Lizenz der University of California in Berkeley ähnelt, und kein öffentliches Release der IP verlangt.

6. RISC-V-Prozessoren sind nicht so schnell wie x86- oder ARM-Prozessoren: Die Prozessorgeschwindigkeit und die Effizienz hängen stark von der Qualität der Implementierung ab – einschließlich des Mikroarchitektur- beziehungsweise Schaltkreisdesigns und der verwendeten Prozessortechnologie. Nichts spricht dafür, dass eine RISC-V-Implementierung weniger effizient wäre als x86 oder ARM. Vielmehr trägt die Modularität des RISC-V-ISA-Designs dazu bei, dass RISC-V-Implementierungen effizienter laufen als ältere ISAs wie x86 oder ARM. Da RISC-V ISA quelloffen ist, verfügt jeder Nutzer über eine kostenlose Architekturlizenz, um einen möglichst optimalen Prozessor für seine Anwendung zu entwickeln.

7. Es gibt keine Softwaretools für RISC-V: Im Mai 2017 wurden die GNU/GCC- und GNU/GDB-Toolchains um eine Unterstützung für RISC-V erweitert. Auch Low-Level-Virtual-Machine-Tools (LLVM) sind über die RISC-V-Website www.riscv.org/software-tools verfügbar. Weiter hat Antmicro einen Instruction Set Simulator (ISS) für RISC-V entwickelt. Auch QEMU unterstützt RISC-V in seiner ISS-Umgebung. M*SDK von Imperas ist eine voll Virtual-Platform-basierte Softwareentwicklungsumgebung für RISC-V. Microsemi hat die Eclipse-basierte IDE SoftConsole für RISC-V-Softwareentwicklung im Programm. Und auch SiFive bietet eine kostenfreie Eclipse-basierte IDE mit dem Namen Freedom Studio an.

8. Mehrere RISC-V-Cores können nicht im gleichen Design und mit einem anderen Prozessor arbeiten: RISC-V- und andere Prozessor-Cores können sich ähnlich verhalten. Zum Beispiel hat SiFive eine Multi-Core-RISC-V-Lösung mit 32- und 64-Bit-Cores angekündigt. RISC-V-Cores können In- oder Out-of-Order-Operationen verarbeiten. Ein 32-Bit-RISC-V-Core kommt auch als Mikrocontroller in einem Terafire-Kryptografieprozessor von Athena zum Einsatz: Der
RISC-V-Core ist verantwortlich für die Typenkonfiguration der sicheren Datenkommunikation, die der Terafire-Core dann in ein Polarfire-FPGA implementiert.

9. Es ist gefährlich, einem RISC-V-Core zu vertrauen: Falls der RTL-Code (Register Transfer Level) eines IP-Cores verfügbar ist und auf einer bekannten, offenen Spezifikation basiert, kann er inspiziert werden – ein sehr wichtiges Leistungsmerkmal für Design-Security. Wird ein Soft-RISC-V-Core für ein FPGA verwendet, kann das gesamte RTL-Design überprüft werden, um höchstmögliche Sicherheit zu gewährleisten. Das ist mit geschlossenen Prozessorarchitekturen nicht möglich – egal ob Soft- oder Hard-Prozessoren. Man könnte also sagen, dass RISC-V dadurch wesentlich sicherer ist als ARM- oder Intel-Cores, beziehungsweise jeder proprietäre Soft-Core ohne RTL-Zugang.

10. Es ist unmöglich, ein RISC-V-Design von einem
FPGA auf ein ASIC zu portieren:
Mehrere IP-Hersteller bieten Emulationsplattformen an, die auf FPGAs laufen. Codasip und SiFive haben FPGA-Prototypen von Cores, die sich auf kundenspezifisches Silizium portieren lassen. Als FPGA-Hersteller bietet Microsemi den RTL-Code für seine RISC-V-Soft-Cores an, mit dessen Hilfe eine Portierung auf ein ASIC sehr unkompliziert möglich ist. Dafür sind keine IP-Lizenzen oder damit verbundene Lizenzgebühren erforderlich.

Bildergalerie

  • Das IGLOO2-FPGA von Microsemi unterstützt RISC-V-Cores. Dank einer integrierten IDE sind die Entwicklung und das Debugging der RISC-V-ISA sehr einfach.

    Das IGLOO2-FPGA von Microsemi unterstützt RISC-V-Cores. Dank einer integrierten IDE sind die Entwicklung und das Debugging der RISC-V-ISA sehr einfach.

    Bild: Microsemi

  • Auch FPGAs sind mit RISC-V-Cores verfügbar. Microsemi bietet dafür zum Beispiel das FPGA IGLOO2 an.

    Auch FPGAs sind mit RISC-V-Cores verfügbar. Microsemi bietet dafür zum Beispiel das FPGA IGLOO2 an.

    Bild: Microsemi

Firmen zu diesem Artikel
Verwandte Artikel