OpenRISC
| OpenRISC | |
|---|---|
| Vývojář | opencores |
| Bitová hloubka | 32, 64 |
| Architektura | RISC |
| SK kódování | pevné (32 bitů) |
| OTEVŘENO? | Ano, LPL |
| Registry | |
| Celkový | 16 nebo 32 GPR |
OpenRISC je mikroprocesor architektury RISC s otevřeným zdrojovým kódem v jazyce popisu hardwaru Verilog . Projekt byl vytvořen komunitou OpenCores a distribuován pod licencí GNU LGPL . OpenRISC je implementován v hardwaru a je úspěšně vyráběn ve formě integrovaných obvodů a FPGA .
Jediná verze architektury, OpenRISC 1000 (nebo 1k), popisuje rodinu 32- a 64bitových procesorů s volitelnými rozšířeními: podpora výpočtů na číslech s pohyblivou řádovou čárkou a podpora vektorových operací. [jeden]
Vývojový tým OpenCores zveřejnil první implementaci, OpenRISC 1200 , napsanou v jazyce Verilog . Hardwarová část projektu je licencována pod licencí LGPL, modely a firmware jsou pod licencí GPL. Implementace system-on-chip s OpenRISC 1200 se nazývá ORPSoC (OpenRISC Reference Platform System-on-Chip ). Výkon ORPSoC a dalších variant OR1200 byl demonstrován na FPGA . [2] [3]
GNU toolchain je portován na OpenRISC , podporuje několik programovacích jazyků , stejně jako Linux a μClinux .
OpenRISC je podporováno linuxovým jádrem od verze 3.1.
Příkazový systém
Instrukční sada (ORBIS32) je jednoduchou variantou RISC, podobně jako MIPS , a používá instrukce se třemi operandy s pevnou délkou (32 bitů). Práce s pamětí je možná pouze pomocí operací načítání a ukládání. K dispozici je 16 nebo 32 univerzálních registrů. 64bitové a 32bitové verze instrukcí jsou si v mnoha ohledech podobné, hlavní rozdíly jsou: zvětšení velikosti registru na 64 bitů a změna formátu tabulky stránek.
Specifikace OpenRISC také zahrnují moderní funkce: režim dohledu, virtuální paměť, možnost nastavit práva ke čtení/úpravě/spouštění pro každou stránku paměti, atomické instrukce, zpracování výjimek mezi procesory.
ORFP32X – rozšíření s pohyblivou řádovou čárkou (IEEE-754)
Od října 2011 existují určité nejasnosti ve specifikaci 64bitového režimu.
Volitelně lze implementovat podporu operací SIMD .
Implementace
Nejčastěji implementováno na FPGA (doporučuje se FPGA obsahující více než 40 tisíc 4-LUT).
Členové projektu OpenCores se chystali vydat vlastní čip (ASIC) kompatibilní s OpenRISC 1000, aby získali vyšší výkon. [4] V roce 2011 se začalo s fundraisingem. [5]
Komerční opce
ORSoC nabízí možnosti ORC32-1208, Beyond Semiconductor - BA12, BA14, BA22.
Společnosti Flextronics International a Jennic Limited používaly jádro OpenRISC jako součást svých vlastních ASIC. Samsung používá OpenRISC 1000 v DTV SoC (SDP83 B-Series, SDP92 C-Series, SDP1001/SDP1002 D-Series, SDP1103/SDP1106 E-Series). [6]
Allwinner Technology použil OpenRISC v řadiči AR100, který je součástí A31 SoC (hlavním procesorem v systému je ARM). [7]
Cadence Design Systems používá OpenRISC jako referenční architekturu v dokumentaci (například pro referenční tok UVM . [8] )
Nanosatelitní experimentální počítač TechEdSat , vytvořený v NASA pomocí OpenRISC, byl vypuštěn na ISS v červenci 2012. [9] [10]
Vědecké a nekomerční aplikace
Technická univerzita v Mnichově využívá OpenRISC ve vícejádrovém výzkumu (vedoucí - Stefan Wallentowitz ). [jedenáct]
V roce 2013 byl představen projekt jor1k, emulátor OpenRISC 1000 napsaný v JavaScriptu schopný provozovat Linux a X Window System nebo Wayland . [12]
Vývojové nástroje
Podporováno GCC pro C a C++, libc je newlib nebo uClibc . Dynalith poskytuje OpenIDEA, vývojové prostředí . V roce 2012 byl zahájen projekt portování LLVM na OpenRISC 1000 [13] .
Projekt OR1K poskytuje simulátor or1ksim . Hlavní implementace, OR1200, může být použita jako RTL model. Existuje model SystemC ORPSoC s přesností hodin.
Vysokorychlostní model OpenRISC 1200 prodává Imperas jako Open Virtual Platforms .
Operační systémy
Linux
Linuxové jádro od verze 3.1. [14] (32bitové procesory OpenRISC 1000 - or1k). [patnáct]
RTOS
QEMU
QEMU podporuje architekturu od verze 1.2 [16] .
Viz také
Poznámky
- ↑ Damjan Lampret et al., "OpenRISC 1000 Architecture Manual", Rev 1.3, 15. listopadu 2007. Text archivován 18. prosince 2016 na Wayback Machine
- ↑ Patrick Pelgrims, Tom Tierens a Dries Driessens, „Základní hardwarový výukový program vlastního OpenRISC systému: Návrh vestavěného systému založený na soft- a hardcore FPGA“, De Nayer Instituut, Hogeschool voor Wetenschap & Kunst, 2004. Dostupné online. ) . Získáno 3. března 2009. Archivováno z originálu 27. listopadu 2006.
- ↑ Xiang Li a Lin Zuo, "Open source embedded platforma založená na OpenRISC a DE2-70", magisterská disertační práce, program SoC, KTH , Švédsko. Dostupné online [1] Archivováno 6. října 2011 na Wayback Machine
- ↑ OpenCores – výzva k darům OpenRISC ASIC Archivováno 1. května 2011.
- ↑ Nejčastější dotazy k dárcovství OpenCores (odkaz dolů) . Získáno 20. října 2013. Archivováno z originálu dne 26. dubna 2012.
- ↑ Samsung Open Source Release Center Archivováno 24. září 2013 na Wayback Machine , přejděte na odkazy → TV & VIDEO → TV → DTV → ETC → OR1200.zip
- ↑ Wiki stránka komunity projektu Linux-sunxi na ovladači AR100 Archivováno 28. dubna 2021 na Wayback Machine . Načteno 20. července 2013.
- ↑ Referenční tok UVM Archivováno 26. listopadu 2011 na webu Wayback Machine , Accellera (nedatováno).
- ↑ Zveřejněte na openrisc mailing listech na listech.opencores.org a listech.openrisc.net dne 8. dubna 2012 Fredrickem Bruhnem, CEO společnosti ÅAC Microtec
- ↑ Tisková zpráva z 11. října 2012, ÅAC Microtec AB.
- ↑ Multicore Architecture and Programming Model Co-Optimization (MAPCO) (nedostupný odkaz) , Stefan Wallentowitz, Thomas Wild a Andreas Herkersdorf. Výzkumný plakát na šesté mezinárodní letní škole pokročilé počítačové architektury a kompilace pro vysoce výkonné a vestavěné systémy (ACACES), Terrassa (Barcelona), Španělsko, 11.–17. července 2010.
- ↑ Emulátor OpenRISC v JavaScriptu může spouštět Wayland . Získáno 20. října 2013. Archivováno z originálu 19. října 2013.
- ↑ wiki stránka projektu Archivováno 14. října 2013.
- ↑ git.kernel.org - linux/kernel/git/torvalds/linux-2.6.git/tree - arch/openrisc/ . git.kernel.org. Staženo: 17. října 2011. (nedostupný odkaz)
- ↑ Linux 3.1 . Nováčci jádra. Získáno 17. října 2011. Archivováno z originálu 18. října 2011.
- ↑ Protokol změn QEMU 1.2 . Získáno 20. října 2013. Archivováno z originálu 21. října 2013.
Odkazy
- OpenRISC 1200 na komunitním webu OpenCores
- GNU toolchain manuál pro OpenRISC
- Beyond Semiconductor Archivováno 17. září 2016 ve Wayback Machine , ziskovém výrobci polovodičů bez továren, který založili vývojáři OpenRISC .