OpenRISC - OpenRISC
| Návrhář | Původně Damjan Lampret, nyní OpenRISC Společenství (Stafford Horne atd.) |
|---|---|
| Bity | 32bitová , 64bitová |
| Představeno | 2000 |
| Verze | 1.3 |
| Design | RISC |
| Kódování | Pevný |
| Endianness | Velký; neimplementovaný útržek pro Little |
| Velikost stránky | 8 KiB |
| Rozšíření | ORFPX32/64, ORVDX64 |
| Otevřeno | Ano (LGPL / GPL), proto bez licenčních poplatků |
| Registry | |
| Obecný účel | 16 nebo 32 |
| Plovoucí bod | Volitelný |
OpenRISC je projekt na vývoj řady open-source hardwarově založených centrálních procesorových jednotek (CPU) na zavedených principech RISC (Reduced Instruction Set Computer ). Obsahuje architekturu sady instrukcí (ISA) využívající licenci open-source . Jedná se o původní vlajkový projekt komunity OpenCores .
První (a pouze od roku 2019) architektonický popis je pro OpenRISC 1000 („OR1k“), popisující rodinu 32bitových a 64bitových procesorů s volitelnou podporou aritmetiky a vektorového zpracování s pohyblivou řádovou čárkou . OpenRISC 1200 implementace této specifikace byla navržena Damjan Lampret v roce 2000, zapsáno v Verilog programovacího jazyka (HDL).
Pozdější implementaci mor1kx , která má oproti OR 1200 určité výhody, navrhl Julius Baxter a je také napsána ve Verilogu.
Kromě toho existují softwarové simulátory, které implementují specifikaci OR1k.
Hardwarový design byl vydán pod GNU Lesser General Public License (LGPL), respektive Open Hardware Design License (OHDL), zatímco modely a firmware byly vydány pod GNU General Public License (GPL).
Byl vyvinut implementace referenčního systému na čipu (SoC) na základě OpenRISC 1200 s názvem OpenRISC Reference Platform System-on-Chip (ORPSoC). Několik skupin prokázalo ORPSoC a další návrhy založené na OR1200 běžící na polních programovatelných hradlových polích (FPGA) a bylo vyrobeno několik komerčních derivátů.
Pozdější návrhy SoC, také založené na implementaci CPU OpenRisc 1000, jsou FuseSoC, minSoC, OpTiMSoC a MiSoC.
Instrukční sada
Instrukční sada je poměrně jednoduchý MIPS architekturou podobný tradiční RISC využívající 3-operandovou architekturu load-store, se 16 nebo 32 obecnými registry a pevnou 32bitovou délkou instrukcí. Sada instrukcí je mezi 32- a 64bitovými verzemi specifikace většinou identická, přičemž hlavním rozdílem je šířka registru (32 nebo 64 bitů) a rozložení tabulky stránek. Specifikace OpenRISC obsahuje všechny funkce běžné pro moderní procesory pro stolní počítače a servery: režim supervizora a virtuální paměťový systém, volitelné ovládání čtení, zápisu a spouštění paměťových stránek a pokyny pro synchronizaci a zpracování přerušení mezi více procesory.
Další pozoruhodnou funkcí je bohatá sada instrukcí s jednou instrukcí a více dat ( SIMD ), určená pro zpracování digitálního signálu .
Implementace
Většina implementací je na poli programovatelných hradlových polích (FPGA), která dávají možnost iterovat design za cenu výkonu.
Do roku 2018 byl OpenRISC 1000 považován za stabilní, takže ORSoC (vlastník OpenCores) zahájil crowdfundingový projekt na vybudování nákladově efektivního integrovaného obvodu specifického pro aplikaci (ASIC), aby získal lepší výkon. ORSoC za to čelí kritice ze strany komunity. Projekt nedosáhl cíle.
V září 2021 nebyl vyroben žádný open-source ASIC.
Komerční implementace
Několik komerčních organizací vyvinulo deriváty architektury OpenRISC 1000, včetně ORC32-1208 od ORSoC a BA12, BA14 a BA22 od Beyond Semiconductor. Společnost Dynalith Systems poskytuje prototypovací desku iNCITE FPGA, na které lze provozovat OpenRISC 1000 i BA12. Flextronics (Flex) a Jennic Limited vyráběly OpenRISC jako součást integrovaného obvodu specifického pro aplikaci (ASIC). Samsung používá OpenRISC 1000 ve svých DTV systémových čipech (SDP83 B-Series, SDP92 C-Series, SDP1001/SDP1002 D-Series, SDP1103/SDP1106 E-Series). Allwinner Technology údajně používá jádro OpenRISC ve svém řadiči výkonu AR100, který je součástí SoC založeného na A31 ARM.
Cadence Design Systems začaly používat OpenRISC jako referenční architekturu při dokumentaci toků řetězců nástrojů (například referenční tok UVM , nyní přispěl do Accellera ).
TechEdSat , první počítač Linux založený na architektuře NASA OpenRISC , byl spuštěn v červenci 2012 a byl v říjnu 2012 nasazen na Mezinárodní vesmírnou stanici s hardwarem poskytnutým, vyrobeným a testovaným společnostmi ÅAC Microtec a ÅAC Microtec North America.
Akademické a nekomerční využití
OpenRISC, který je open source, se osvědčil v akademických a zájmových kruzích. Například Stefan Wallentowitz a jeho tým z Institutu integrovaných systémů na Technische Universität München použili OpenRISC při výzkumu architektur vícejádrových procesorů . Open Source Hardware User Group ( OSHUG ) ve Velké Británii má dvakrát spustit relací na OpenRISC, zatímco fandy Sven-Åke Andersson napsal komplexní blog na OpenRISC pro začátečníky, který přitahoval zájem elektroniky Times ( EE Times ). Sebastian Macke implementoval jor1k, emulátor OpenRISC 1000 v JavaScriptu , běží Linux s X Window System a podporou Wayland .
Podpora nástrojů
Komunita OpenRISC přenesla řetězec nástrojů GNU do OpenRISC za účelem podpory vývoje v programovacích jazycích C a C ++ . Pomocí tohoto řetězce nástrojů byly do procesoru přeneseny knihovny newlib , uClibc , musl (od verze 1.1.4) a glibc . Dynalith poskytuje OpenIDEA, grafické integrované vývojové prostředí (IDE) založené na tomto řetězci nástrojů. Projekt přenesení LLVM do architektury OpenRISC 1000 byl zahájen počátkem roku 2012.
Vydán GCC 9 s podporou OpenRISC. [1]
Projekt OR1K poskytuje simulátor sady instrukcí or1ksim. Vlajková implementace, OR1200, je model úrovně RTL ( Register -Transfer Level ) ve Verilog HDL, ze kterého lze v ORPSoC postavit model s přesným cyklem založeným na SystemC . Vysokorychlostní model OpenRISC 1200 je také k dispozici prostřednictvím iniciativy Open Virtual Platforms (OVP) (viz OVPsim ), kterou zřídila společnost Imperas.
Podpora operačního systému
Podpora Linuxu
Hlavní jádro Linuxu získalo podporu pro OpenRISC ve verzi 3.1. Implementace sloučená v této verzi je 32bitová rodina OpenRISC 1000 (or1k). Dříve architektura OpenRISC 1000 byla nahrazena portem hlavní řady.
Podpora RTOS
Do OpenRISC bylo přeneseno několik operačních systémů v reálném čase (RTOS), včetně RTEMS , FreeRTOS a eCos .
Podpora QEMU
Od verze 1.2 podporuje QEMU emulaci platforem OpenRISC.
Viz také
- Jantarová (jádro procesoru) -Projekt OpenCores kompatibilní s ARM
- Zdarma a open source Silicon Foundation
- OpenRISC 1200
- OVPsim , otevřené virtuální platformy
- OpenSPARC
- LEON
- LatticeMico32
- RISC-V
Reference
externí odkazy
- Oficiální webové stránky
- Open Source Semiconductor Core Licensing, 25 Harvard Journal of Law & Technology 131 (2011) Článek analyzující právo, technologie a podnikání polovodičových jader s otevřeným zdrojovým kódem
- Beyond Semiconductor komerční fabless polovodičová společnost založená vývojáři OpenRISC
- Web společnosti Dynalith Systems .
- Web společnosti Imperas .
- Flexibilní web společnosti
- Web společnosti Jennic
- Eetimes článek
- Kurz OpenRISC
- emulátor jor1k OpenRISC 1000 v JavaScriptu