OpenRISC ist ein Projekt der OpenCores-Entwickler-Community. Das Ziel des Projekts ist die Entwicklung einer hochkonfigurierbaren RISC-CPU als Open Hardware. Die bisher einzige fertiggestellte Architektur ist die OpenRISC-1000-Familie (kurz OR1k), die als 32- und 64-Bit-Version verfügbar ist. (englisch), Damjan Lampret et al., Rev. 1.3, 15. November 2007 Das Design des OpenRISC 1200 (kurz OR1200) war das erste, das in der Hardwarebeschreibungssprache Verilog unter der GNU Lesser General Public License (GNU LGPL) veröffentlicht wurde. Die Firmware und der Microcode zum Prozessor wurden unter der GNU General Public License (GNU GPL) bereitgestellt. Basierend auf dem OpenRISC 1200 wurde eine System-on-a-Chip-Variante mit der Bezeichnung ORPSoC (= ) entwickelt. Auf beiden Varianten wurde der Betrieb eines Linux-Systems erfolgreich getestet. Dazu wurden die Prozessoren in einem FPGA implementiert. (PDF; 350 kB), (englisch), Patrick Pelgrims, Tom Tierens and Dries Driessens, De Nayer Instituut, Hogeschool voor Wetenschap & Kunst, 2004Open source embedded platform based on OpenRISC and DE2-70 (englisch), Xiang Li and Lin Zuo, KTH
Aufbau mini|Blockdiagramm eines OpenRISC-1200-Prozessors Das Design des OpenRISC 1000 entspricht einer schlanken Umsetzung von modernen RISC-Architekturen mit 16 oder 32 Registern und einer fixen Instruktionslänge von 32 Bit. Die 32- und 64-Bit-Version verwenden den gleichen Befehlssatz. Das Design enthält alle Funktionen, die von heutigen Desktop- oder Server-Prozessoren erwartet werden. Dazu gehören beispielsweise: Virtuelle Speicherverwaltung, eine Secure Virtual Machine, MAC, eine SIMD-Implementierung oder der Mehrprozessorsystem-Betrieb. Die Cachegröße ist skalierbar zwischen 1 und 64 KiB.
Anwendungen mini|Blockdiagramm der CPU/DSP eines OpenRISC-1200-Prozessors Die meisten Anwendungen wurden bisher auf einem FPGA realisiert. Anfang 2011 erließ OpenCores einen Spendenaufruf um zum ersten Mal einen OpenRISC 1200 in ASIC-Technik zu produzieren.(englisch), OpenCores Obwohl das OpenRISC-1000-Design als stabil gilt, wird momentan noch die Rechenleistung und der Energieverbrauch verbessert, weshalb bis September 2012 kein ASIC-Chip produziert wurde. (englisch), OpenCores
Außer den Bemühungen von OpenCores, einen vollständig freien Chip herzustellen, gibt es kommerzielle Implementierungen. Einige Firmen verwendeten das OpenRISC-1200- oder ORPSoC-Design als Grundlage für ihre eigenen Entwicklungen. Folgende Prozessoren wurden auf der Grundlage von OpenRISC 1000 entwickelt: BA12, BA14, BA22 von Beyond Semiconductor basieren direkt auf dem OpenRISC 1200. Der OpenRISC 1200 ist eine Funktionseinheit auf komplexeren ASIC von Flextronics International und Jennic Limited. Samsung verwendet ORPSoC in den Chip-Serien: SDP83 B, SDP92 C, SDP1001/SDP1002 D, und SDP1103/SDP1106 E.Samsung Open Source Release Center (nach OpenRISC suchen) Dies Chips dienen als CPU in DTV-Geräten. Cadence Design Systems benutzt OpenRISC als Referenzimplementierung in ihren Dokumentationen.UVM Reference Flow (englisch), Accellera. Am 21. Juli 2012 startete die NASA einen TechEdSat genannten Satelliten mit einem auf OpenRISC 1200 basierenden Bordcomputer. (englisch) OpenCores, zugegriffen: 1. April 2021
Akademische Verwertung Da bei OpenRISC aufgrund des Open-Source-Ansatzes alle Details bekannt sind, eignet sich die Architektur gut für Ausbildung, Forschung und Hobbyentwickler. Folgende nichtkommerzielle Anwendungen sind deshalb bekannt: Ein Team am Institute for Integrated Systems an der Technischen Universität München erforscht auf den Grundlagen von OpenRISC die Architektur und Programmierung von Mehrprozessorsystemen. (PDF; 4,0 MB), Stefan Wallentowitz, Thomas Wild and Andreas Herkersdorf, Technische Universität München, zugegriffen: 7. September 2012 Die britische Open Source Hardware User Group führt Veranstaltungen durch, bei denen die FPGA-Programmierung anhand von OpenRISC erlernt oder vertieft wird.Chips (Programmable Logic, Computer Conservation with FPGAs, OpenCores & OpenRISC 1000), OSHUG, zugegriffen: 7. September 2012Practical System-on-Chip (Program your own open source FPGA SoC), OSHUG, zugegriffen: 7. September 2012
Betriebssysteme und Toolchain Neben Linux sind RTEMS, FreeRTOS und eCos auf der OpenRISC-1000-Architektur lauffähig. Der or32 genannte Port wurde mit Version 3.1 des Linux-Kernels in den Hauptentwicklungszweig aufgenommen und gilt somit als stabil.Linux (englisch), OpenCores, zugegriffen: 7. September 2012 Eine µClinux-Portierung ist ebenfalls verfügbar, wird aber momentan nicht weiterentwickelt. Neben der GNU Toolchain wurde auch newlib, uClibc und BusyBox für OpenRISC 1000 portiert., OpenCores, zugegriffen: 1. April 2021 Eine Portierung von LLVM befindet sich in der Entwicklung., OpenCores
Emulatoren Das OpenRISC-Projekt stellt einen Befehlssatz-Simulator zur Verfügung, welcher auf SystemC basiert und direkt auf die, in der Hardwarebeschreibungssprache Verilog vorliegenden, Prozessorquellen zurückgreift. Die folgenden virtuelle Maschinen können ein OpenRISC-1000-System emulieren: QEMUQemu 1.2.0 verbessert Live Migration, Heise Zeitschriften Verlag, zugegriffen: 7. September 2012 OVPsim jor1k (Implementierung in JavaScript)jor1k-Projektseite Siehe auch RISC-V
Weblinks Offizielle Website
Einzelnachweise
Kategorie:Freie Hardware Kategorie:Mikroprozessor