close

OpenRISC

Přejít na navigaci Přejít na hledání
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

RTEMS , FreeRTOS , eCos .

QEMU

QEMU podporuje architekturu od verze 1.2 [16] .

Viz také

Poznámky

  1. Damjan Lampret et al., "OpenRISC 1000 Architecture Manual", Rev 1.3, 15. listopadu 2007. Text archivován 18. prosince 2016 na Wayback Machine
  2. ↑ 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. 
  3. 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
  4. OpenCores – výzva k darům OpenRISC ASIC Archivováno 1. května 2011.
  5. 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. 
  6. 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
  7. Wiki stránka komunity projektu Linux-sunxi na ovladači AR100 Archivováno 28. dubna 2021 na Wayback Machine . Načteno 20. července 2013.
  8. Referenční tok UVM Archivováno 26. listopadu 2011 na webu Wayback Machine , Accellera (nedatováno).
  9. 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
  10. Tisková zpráva z 11. října 2012, ÅAC Microtec AB.
  11. 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.
  12. 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.
  13. wiki stránka projektu Archivováno 14. října 2013.
  14. git.kernel.org - linux/kernel/git/torvalds/linux-2.6.git/tree - arch/openrisc/ . git.kernel.org. Staženo: 17. října 2011.  (nedostupný odkaz)
  15. Linux 3.1 . Nováčci jádra. Získáno 17. října 2011. Archivováno z originálu 18. října 2011.
  16. Protokol změn QEMU 1.2 . Získáno 20. října 2013. Archivováno z originálu 21. října 2013.

Odkazy