RISC-V

aus Wikipedia, der freien Enzyklopädie

Logo
Prototyp eines RISC-V Mikroprozessors aus dem Jahr 2013

RISC-V, offizielle Aussprache in Englisch: „

risc-five

[1] [rɪsk faɪv], ist eine Befehlssatzarchitektur (engl. instruction set architecture, ISA), die sich auf das Designprinzip des Reduced Instruction Set Computers (RISC) stützt. Es ist ein offener Standard, welcher der freizügigen BSD-Lizenz unterliegt. Das bedeutet, dass RISC-V nicht patentiert ist und frei verwendet werden darf. Somit ist es jedem erlaubt, RISC-V Mikroprozessoren zu entwerfen, herzustellen, weiterzuentwickeln und zu verkaufen (Open-Source-Hardware).[2] Eine Vielzahl an Unternehmen bieten RISC-V-Hardware an oder haben diese angekündigt.

Der RISC-V Befehlssatz wurde für eine Vielzahl von Anwendungsfällen entworfen. Er hat eine variable Datenwortbreite und ist erweiterbar, so dass mehr Kodierungsbits jederzeit hinzugefügt werden können. Er unterstützt drei Datenwortbreiten: 32, 64 und 128 Bit und eine Auswahl an Unterbefehlssätzen. Die Definitionen jedes Unterbefehlssatzes variieren geringfügig zwischen den drei Wortbreiten. Die Unterbefehlssätze unterstützen kompakte eingebettete Systeme, persönliche Rechner, Hochleistungsrechner mit Vektorprozessoren und Parallelrechner.

Der Befehlssatzraum für den auf 128 Bit gedehnten Befehlssatz wurde reserviert, weil 60 Jahre Industrieerfahrung gezeigt haben, dass die meisten nicht wieder gut zu machenden Fehler in der Gestaltung von Befehlssätzen durch fehlenden Speicheradressraum verursacht wurden. Noch im Jahr 2016 blieb der 128-Bit-Teil des Befehlssatzes absichtlich undefiniert, da bisher wenig Erfahrung mit solch großen Speichersystemen besteht. Es gibt Vorschläge, Instruktionen mit einer variablen Breite bis zu 864 Bit zu implementieren.[3]

Das Projekt begann 2010 an der University of California, Berkeley unter der Leitung von Krste Asanovic und David A. Patterson und wird bereits von Hard- und Softwareentwicklern weltweit mitentwickelt und gefördert.[4] Anders als andere akademische Entwürfe, die üblicherweise auf einfache Erläuterung optimiert sind, wurde der RISC-V-Befehlssatz für praktische Anwendung in Rechnern entworfen. Er besitzt Eigenschaften, die die Rechnergeschwindigkeit erhöhen, aber trotzdem die Kosten und den Energieverbrauch senken. Dies schließt eine Load/Store-Architektur, Bit-Muster, um die Multiplexer in einer CPU zu vereinfachen, vereinfachte Standard-basierte Gleitkommazahlen, einen architekturneutralen Entwurf und das Setzen des höchstwertigen Bits an eine festgelegte Position, um die Vorzeichenerweiterung zu beschleunigen, ein. Vorzeichenerweiterung wird als häufig auf dem kritischen Pfad liegend betrachtet. Seit Juni 2019 sind die Version 2.2 des Userspace-ISA und die Version 1.11 des privilegierten ISA festgelegt und ermöglichen es Software- und Hardwareherstellern diesen zu nutzen oder zu implementieren. Eine Fehlersuch-Spezifikation ist als Vorabentwurf in der Version 0.3 verfügbar.[5]

Auszeichnungen

  • 2017: The Linley Group's Analyst's Choice Award for Best Technology (für den Befehlssatz)[6]

Implementierungen

RISC-V ist ein offener Standard, welcher eine Befehlssatzarchitektur spezifiziert, aber weder eine Mikroarchitektur noch ein Lizenzmodell vorgibt. Aus diesem Grund wurden sowohl RISC-V Kerne mit kommerzieller Lizenz als auch mit Open-Source-Lizenz entwickelt. Die RISC-V-Stiftung pflegt eine Liste aller RISC-V-CPU- und -SoC-Implementierungen.[7]

Proprietäre RISC-V-Kerne

  • Das Fraunhofer IPMS war die erste Organisation, die einen RISC-V Kern entwickelt hat, der den Anforderungen nach funktionaler Sicherheit gerecht wird. Der IP Core EMSA5 ist ein 32-Bit-Prozessor mit fünfstufiger Pipeline ist und als General Purpose Variante (EMSA5-GP) und als Safety Variante (EMSA5-FS) mit einer ASIL-D ready Zertifizierung nach der ISO 26262:2018 für funktionale Sicherheit erhältlich.[8]
  • Andes Technology Corporation bietet mehrere Familien von RISC-V-Kernen an, mit unterschiedlichen optionalen Erweiterungen, darunter einige mit Multiprozessorfähigkeiten:[9]
    • Die “N(X)”-Familie besteht sowohl aus 32-bit (N) als auch 64-bit (NX) Kernen. Deren Pipeline-Länge variiert dabei von zwei Stufen im N22 bis zu acht Stufen im N45. Der NX27V unterstützt die RISC-V “V”-Erweiterung.[10]
    • Die “D(X)”-Familie besteht aus Kernen mit “P”-Erweiterung für SIMD-Instruktionen und verfügt sowohl über 32-bit (D) als auch 64-bit (DX) Kerne.
    • Die “A(X)”-Familie besteht aus Linux-fähigen Prozessorkernen mit Pipelines von fünf bis acht Stufen. Die Kerne integrieren Fließkommaeinheiten und MMUs.
  • Codasip war das erste Unternehmen, welches einen RISC-V-konformen, kommerziellen Prozessorkern im Januar 2016 auf den Markt brachte (Codix)[11] und bietet seitdem eine Reihe von Prozessorkernen für eingebettete System sowie betriebssystembasierte Anwendungen an. Codasips Prozessorkerne sind mittels der Entwicklungsumgebung “Codasip Studio” in CodAL[12] entwickelt, einer Architektur-Beschreibungssprache (Architecture Description Language):
    • Die “L”-Familie besteht aus energiesparenden 32-bit-Kernen für eingebettete Systeme, mit optionaler Fließkommaeinheit und entweder drei- oder fünfstufiger Pipeline.
    • Die “H”-Familie besteht aus leistungsfähigen 64-bit-Kernen für eingebettete Systeme mit optionaler Fließkommaeinheit, ebenfalls mit drei- oder fünfstufiger Pipeline.
    • Die “A”-Familie besteht aus Linux-fähigen 64-bit-Kernen mit optionaler “P”-Erweiterung. Die Prozessorkerne haben eine siebenstufige Pipeline, eine Fließkommaeinheit und MMU. Zusätzlich unterstützen die “MP”-Versionen mit L1- und L2-Caches bis zu vier Kerne pro Cluster.[13]
    • Die “uRISC-V”-Kerne sind einfache Kerne, verfügbar als Teil von Codasip Studio und gedacht für Lehr- und Selbstlernzwecke.[14]
  • SiFive war das erste Unternehmen, welches mit dem FE310 einen RISC-V basierten-SoC auf den Markt brachte.[15] Aktuell bietet SiFive drei Produktfamilien an:
    • Die “E”-Kerne sind 32-bit-Kerne für eingebettete Systeme mit zwei- bis achtstufiger Pipeline. Das fortschrittlichste Produkt dieser Familie ist der vierkernige E76-MC.
    • Die “S”-Kerne sind 64-bit-Kerne für eingebettete Systeme mit zwei- bis achtstufiger Pipeline. Das fortschrittlichste Produkt aus dieser Familie ist der vierkernige S76-MC.
    • Die “U”-Kerne sind Linux-fähige 64-bit-Kerne mit fünf bis zwölf Pipelinestufen. Der U54 und der U74 sind auch in multiprozessorfähigen Versionen verfügbar. Der performanteste Kern dieser Familie ist der dreifach superskalare U84.[16]
    • Der “Intelligence X280” ist ein von der “U”-Familie abgeleiteter, ebenfalls Linux-fähiger Prozessorkern, welcher zusätzlich die “V”-Erweiterung für Vektorberechnungen unterstützt.[17]

Quelloffene RISC-V-Kerne

  • Die University of California, Berkeley hat eine Reihe RISC-V-Kerne unter Verwendung von Chisel, einer Hardware-Beschreibungssprache, entwickelt. Dies sind unter anderem:
    • Der 64-bit-Kern “Rocket”,[18] geeignet für kompakte und energiesparende Anwendungen mit mittleren Performanzanforderungen, z. B. elektronischen Kleingeräten für den persönlichen Bedarf.
    • Der 64-bit-Kern “Berkeley Out of Order Machine” oder “BOOM”, ein synthetisier- und parametrisierbarer, quelloffener RV64GC-RISC-V-Kern, welcher für Anwendungen im Bereich Personal Computing, aber auch für Rechenzentren und Serverfarmen geeignet ist.
    • Fünf 32-bit “Sodor” CPU-Designs[19] wurden für Bildungszwecke entworfen.
  • PULPino (“Riscy” und “Zero-Riscy”) der ETH Zürich / Universität Bologna.[20] Die Prozessorkerne des PULPino-Projekts implementieren einen simplen “RV32IMC”-RISC-V-Befehlssatz für Mikrocontroller (“Zero-Riscy”) oder einen leistungsfähigeren “RV32IMFC”-RISC-V-Befehlssatz mit individuellen DSP-Erweiterungen für eingebettete Signalverarbeitung.
  • Western Digital hat seine “SweRV” genannten RISC-V-Kerne durch die “CHIPS Alliance” als quelloffen verfügbar gemacht. Des Weiteren kündigte Western Digital eine Kooperation mit Codasip an, um den kommerziellen Support der Prozessoren zu ermöglichen.[21] Diese Kerne sind für anspruchsvolle eingebettete Anwendungen konzipiert und unterstützen den “RV32IMC”-RISC-V-Befehlssatz. Im Detail sind es:
    • Der “SweRV Core EH1”, welcher zweifach superskalar ist und eine neunstufige Pipeline hat.
    • Der “SweRV Core EH2”,[22] welcher ebenfalls zweifach superskalar ist und eine neunstufige Pipeline hat, allerdings auch Hardwareunterstützung für zwei parallele Threads hat.
    • Der “SweRV Core EL2”, als einfach skalarer Kern mit vierstufiger Pipeline.

Hersteller entsprechender Chips

Siehe auch

Weblinks

Commons: RISC-V – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. RISC-V ISA - RISC-V Foundation. In: RISC-V Foundation. (amerikanisches Englisch, riscv.org [abgerufen am 3. Februar 2018]).
  2. FAQ - RISC-V Foundation. In: RISC-V Foundation. (amerikanisches Englisch, riscv.org [abgerufen am 3. Februar 2018]).
  3. Wolf, Clifford: Alternative proposal for instruction length encoding. Abgerufen am 20. Oktober 2019.
  4. Contributors - RISC-V Foundation. In: RISC-V Foundation. (riscv.org [abgerufen am 3. Februar 2018]). Contributors - RISC-V Foundation (Memento des Originals vom 13. Juni 2018 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/riscv.org
  5. RISC-V International: Privileged ISA Specification. Abgerufen am 9. Juni 2019.
  6. The Linley Group Announces Winners of Annual Analysts' Choice Awards. 12. Januar 2017 (linleygroup.com [abgerufen am 21. Januar 2018]).
  7. riscv/riscv-cores-list. RISC-V, 16. Mai 2021, abgerufen am 17. Mai 2021.
  8. Michael Eckstein: Bis ASIL-D: Erster nach ISO 26262 zertifizierbarer RISC-V-Core. Abgerufen am 13. April 2022.
  9. Andes Technology Corporation: Andes Announces New RISC-V Processors: Superscalar 45-Series with Multi-core Support and 27-Series with Level-2 Cache Controller. 30. November 2020, abgerufen am 17. Mai 2021 (englisch).
  10. Nitin Dahad: Andes’ Core has RISC-V Vector Instruction Extension. In: EE Times. 12. September 2019, abgerufen am 17. Mai 2021 (englisch).
  11. Codasip Joins RISC-V Foundation and Announces Availability of RISC-V Compliant Codix Processor IP. Abgerufen am 17. Mai 2021 (englisch).
  12. What is CodAL? 26. Februar 2021, abgerufen am 21. Mai 2021 (amerikanisches Englisch).
  13. Codasip announces RISC-V processor cores providing multi-core and SIMD capabilities. Abgerufen am 17. Mai 2021.
  14. Codasip Releases a Major Upgrade of Its Studio Processor Design Toolset with a Tutorial RISC-V core. Abgerufen am 17. Mai 2021 (englisch).
  15. RISC-V Available in Silicon. Abgerufen am 17. Mai 2021 (englisch).
  16. SiFive Announces U8-Series 2.6GHz High-Performance Out-of-Order RISC-V Core IP. Abgerufen am 17. Mai 2021 (englisch).
  17. Andreas Schilling: Neuer Intelligence X280 von SiFive verbindet RISC-V mit Vektorbeschleunigung. Abgerufen am 17. Mai 2021.
  18. chipsalliance/rocket-chip. CHIPS Alliance, 15. Mai 2021, abgerufen am 17. Mai 2021.
  19. ucb-bar/riscv-sodor. UC Berkeley Architecture Research, 9. Mai 2021, abgerufen am 17. Mai 2021.
  20. PULP platform. Abgerufen am 17. Mai 2021.
  21. Codasip partners with Western Digital on open‑source processors. 10. Dezember 2019, abgerufen am 17. Mai 2021 (englisch).
  22. Anton Shilov: Western Digital Rolls-Out Two New SweRV RISC-V Cores For Microcontrollers. Abgerufen am 17. Mai 2021.
  23. Espressif kündigt Wi-Fi-6- und Bluetooth-5-SoC mit RISC-V-Kern an. In: all-electronics.de. 23. April 2021, abgerufen am 18. November 2021.
  24. Sebastian Grüner: Googles Security-Chip nutzt RISC-V. In: golem.de. 28. Oktober 2021, abgerufen am 9. November 2021.