RISC-V, offizielle Aussprache in Englisch: „risc-five“ [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). Zahlreiche 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.
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. Anders als andere akademische Entwürfe, die üblicherweise auf einfache Erläuterung optimiert sind, wurde der RISC-V-Befehlssatz für die 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 ein, sowie 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. Vorzeichenerweiterung wird häufig als kritisch eingestuft. Im Jahre 2019 wurde die Version 2.2 des Userspace-ISA und im Jahre 2021 die Version 1.12 des privilegierten ISA festgelegt und ermöglichen es Software- und Hardwareherstellern, diesen zu nutzen oder zu implementieren. Eine Fehlersuch-Spezifikation ist in der Spezifikation der privilegierten ISA enthalten.
Auszeichnungen
- 2017: The Linley Group's Analyst's Choice Award for Best Technology (für den Befehlssatz)
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.
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 und ist 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.
- Andes Technology Corporation bietet mehrere Familien von RISC-V-Kernen an, mit unterschiedlichen optionalen Erweiterungen, darunter einige mit Multiprozessorfähigkeiten:
- 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.
- 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) und bietet seitdem eine Reihe von Prozessorkernen für eingebettete Systeme sowie betriebssystembasierte Anwendungen an. Codasips Prozessorkerne sind mittels der Entwicklungsumgebung “Codasip Studio” in CodAL 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 eine MMU. Zusätzlich unterstützen die “MP”-Versionen mit L1- und L2-Caches bis zu vier Kerne pro Cluster.
- Die “uRISC-V”-Kerne sind einfache Kerne, verfügbar als Teil von Codasip Studio und gedacht für Lehr- und Selbstlernzwecke.
- SiFive war das erste Unternehmen, welches mit dem FE310 einen RISC-V basierten-SoC auf den Markt brachte. 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.
- 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.
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”, 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 wurden für Bildungszwecke entworfen.
- PULPino (“Riscy” und “Zero-Riscy”) der ETH Zürich / Universität Bologna. 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. 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”, welcher ebenfalls zweifach superskalar ist und eine neunstufige Pipeline hat, aber auch Hardwareunterstützung für zwei parallele Threads bietet.
- Der “SweRV Core EL2”, als einfach skalarer Kern mit vierstufiger Pipeline.
Hersteller entsprechender Chips
- Alibaba
- Allwinner
- Espressif
- GigaDevice
- Intel
- Maxim Integrated subsidiary of Analog Devices
- Micro Magic
- Microsemi Corporation subsidiary of Microchip Technology Inc.
- SiFive
- Western Digital
- Huami
- HiSilicon
Siehe auch
Weblinks
Einzelnachweise
- ↑ RISC-V ISA - RISC-V Foundation. In: RISC-V Foundation. (amerikanisches Englisch, riscv.org [abgerufen am 3. Februar 2018]).
- ↑ FAQ - RISC-V Foundation. In: RISC-V Foundation. (amerikanisches Englisch, riscv.org [abgerufen am 3. Februar 2018]). FAQ - RISC-V Foundation (Memento des vom 19. Februar 2016 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.
- ↑ Wolf, Clifford: Alternative proposal for instruction length encoding. Abgerufen am 20. Oktober 2019.
- ↑ Contributors - RISC-V Foundation. In: RISC-V Foundation. (riscv.org [abgerufen am 3. Februar 2018]).
- ↑ Andrew Waterman, Krste Asanović, RISC-V Foundation: The RISC-V Instruction Set Manual, Volume I: User-Level ISA, Document Version 20191213. (pdf) 13. Dezember 2019, abgerufen am 18. Juli 2023 (englisch).
- ↑ Andrew Waterman, Krste Asanović, John Hauser, RISC-V International: The RISC-V Instruction Set Manual, Volume II: Privileged Architecture, Document Version 20211203. (pdf) 4. Dezember 2021, abgerufen am 18. Juli 2023 (englisch).
- ↑ The Linley Group Announces Winners of Annual Analysts' Choice Awards. 12. Januar 2017 (linleygroup.com [abgerufen am 21. Januar 2018]).
- ↑ riscv/riscv-cores-list. RISC-V, 16. Mai 2021, abgerufen am 17. Mai 2021.
- ↑ Michael Eckstein: Bis ASIL-D: Erster nach ISO 26262 zertifizierbarer RISC-V-Core. Abgerufen am 13. April 2022.
- ↑ 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).
- ↑ Nitin Dahad: Andes’ Core has RISC-V Vector Instruction Extension. In: EE Times. 12. September 2019, abgerufen am 17. Mai 2021 (englisch).
- ↑ Codasip Joins RISC-V Foundation and Announces Availability of RISC-V Compliant Codix Processor IP. Abgerufen am 17. Mai 2021 (englisch).
- ↑ What is CodAL? 26. Februar 2021, abgerufen am 21. Mai 2021 (amerikanisches Englisch).
- ↑ Codasip announces RISC-V processor cores providing multi-core and SIMD capabilities. Abgerufen am 17. Mai 2021.
- ↑ Codasip Releases a Major Upgrade of Its Studio Processor Design Toolset with a Tutorial RISC-V core. Abgerufen am 17. Mai 2021 (englisch).
- ↑ RISC-V Available in Silicon. Abgerufen am 17. Mai 2021 (englisch).
- ↑ SiFive Announces U8-Series 2.6GHz High-Performance Out-of-Order RISC-V Core IP. Abgerufen am 17. Mai 2021 (englisch).
- ↑ Andreas Schilling: Neuer Intelligence X280 von SiFive verbindet RISC-V mit Vektorbeschleunigung. Abgerufen am 17. Mai 2021.
- ↑ chipsalliance/rocket-chip. CHIPS Alliance, 15. Mai 2021, abgerufen am 17. Mai 2021.
- ↑ ucb-bar/riscv-sodor. UC Berkeley Architecture Research, 9. Mai 2021, abgerufen am 17. Mai 2021.
- ↑ PULP platform. Abgerufen am 17. Mai 2021.
- ↑ Codasip partners with Western Digital on open‑source processors. 10. Dezember 2019, abgerufen am 17. Mai 2021 (englisch).
- ↑ Anton Shilov: Western Digital Rolls-Out Two New SweRV RISC-V Cores For Microcontrollers. Abgerufen am 17. Mai 2021.
- ↑ 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.
- ↑ Sebastian Grüner: Googles Security-Chip nutzt RISC-V. In: golem.de. 28. Oktober 2021, abgerufen am 9. November 2021.