From Wikipedia, the free encyclopedia
Az OpenRISC az OpenCores közösség vezető projektje. A projekt célja, hogy elősegítse általános célú, nyílt forrású hardverként megvalósítható RISC CPU architektúrák kifejlesztését. Az első és eddig az egyetlen leírás az OpenRISC 1000 architektúráé, amely egy 32 és 64 bites processzorcsalád specifikációja, DSP lehetőségekkel, opcionális lebegőpontos és vektorprocesszálási támogatással.[1]
Az OpenCores közösség egy csoportja megalkotta az első implementációt is, az OpenRISC 1200 processzor Verilog hardverleíró nyelven készült leírását. A hardverleírás LGPL, míg a modellek és a firmware GPL alatt kerültek közreadásra. Ennek egy referencia-megvalósítása az ORPSoC (OpenRISC Reference Platform System-on-Chip) nevű OpenRISC 1200 alapú egylapkás rendszer (SoC). Több csoport is készített FPGA-n futó ORPSoC és egyéb OR1200-alapú konstrukciókat.[2][3]
Az utasításkészlet a modern RISC háromoperandusos load-store architektúrák egy egyszerű és átgondolt példája. 16 vagy 32 általános célú regisztert használhat, az utasítások hossza rögzített 32 bit. A regiszterek 32 vagy 64 bitesek lehetnek. Az utasításkészlet majdnem azonos mind 32 bites, mind 64 bites regiszterspecifikáció esetén, az eltérés csak a regiszterhosszban és a laptábla kialakításban van. Az OpenRISC specifikáció tartalmazza a modern asztali és szerverprocesszorok összes jellemzőjét: szupervizor-mód, virtuális memóriarendszer, választható írás-olvasás-végrehajtás ellenőrzés a memórialapokon, processzorok közötti szinkronizációs és megszakításkezelő utasítások multiprocesszoros rendszerekhez. A processzor támogatja mind a Harvard-architektúra (külön adat- és utasítás cache/MMU), mind a Stanford-architektúra (egyesített adat- és utasítás cache/MMU) szerinti kialakítást.[4]
A 64 bites specifikáció még nem kész: a 2011 októberi állapotában még vannak befejezetlen vagy bizonytalan részek.
Az utasításkészlet digitális jelfeldolgozásra szolgáló SIMD utasítások gazdag készletét tartalmazza.
A legtöbb megvalósítás FPGA-n készül, ez ui. lehetővé teszi a kívánt teljesítmény függvényében a kialakítás fokozatos megközelítését. Az OpenRISC 1000 jelenleg stabil OpenCores projektnek számít és lehetővé teszi költséghatékony, javított teljesítményű ASIC-ek készítését.[5] A közösség 2011-ben egy adakozásra felszólító felhívást tett közzé azzal a céllal, hogy 2012 első negyedévében elkészülhessen az első ASIC.[6]
Több kereskedelmi szervezet fejlesztett OpenRISC 1000 architektúrán alapuló eszközöket, ilyenek pl. az ORSoC (ez a cég tartja fenn a opencores.org webhelyet) ORC32-1208 jelű multifunkciós chipje, vagy a Beyond Semiconductor BA12, BA14 és BA22 chipjei. A Dynalith Systems terméke az iNCITE FPGA prototípuskártya, amely OpenRISC 1000 és BA12 futtatására képes. A Flextronics International és a Jennic Limited gyártmánya ASIC alkotóelemként tartalmaz OpenRISC processzort. A Samsung OpenRISC 1000 chipet használ DTV SoC rendszereiben (SDP83 B-Series, SDP92 C-Series, SDP1001/SDP1002 D-Series, SDP1103/SDP1106 E-Series).[7] A Cadence Design Systems újabban OpenRISC-et használ referencia-architektúraként a tervezési folyamatleírások dokumentációjában (ld.pl. az Accellera számára készített UVM reference flow[8]).
A TechEdSat, a NASA első OpenRISC architektúrájú Linux alapú számítógépe 2012 júliusában készült el és 2012 októberében telepítették a Nemzetközi Űrállomásra (ISS). Ennek hardverét az ÅAC Microtec és az ÅAC Microtec North America svéd cégek tervezték, készítették, tesztelték és szállították.[9][10][11]
Az OpenCores közösség átültette a GNU toolchain-t az OpenRISC platformra, C és C++ nyelveken történő programfejlesztés támogatásához. A fejlesztőeszközöket használva elkészült a newlib és uClibc könyvtárak portja is. Rendelkezésre áll az OpenIDEA grafikus fejlesztőkörnyezet a Dynalith-tól, ami szintén a fenti eszköztáron alapul.
Az OR1K projectben rendelkezésre áll egy utasításkészlet-szimulátor, az or1ksim. A vezető megvalósítás, az OR1200 egy Verilog HDL-ben meglévő RTL modell, amelyből SystemC-alapú ciklushelyes modell fordítható az ORPSoC-on (ORPSoC chipen). Az OpenRISC 1200 nagy sebességű modellje is elérhető az Imperas által kezdeményezett Open Virtual Platforms, OVP platformon.
A Linux kernel a 3.1. verziótól kezdve támogatja az OpenRISC platformot.[12] Az ehhez kapcsolódó implementáció a 32 bites OpenRISC 1000 család (or1k).[13] A µClinux portja az OpenRISC 1000 architektúrára már előbb elkészült, de ezt feleslegessé tette a hivatalos port.
Több valós idejű operációs rendszer – RTOS – portja is elkészült az OpenRISC platformhoz, mint pl. a RTEMS, a FreeRTOS és a eCos.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.