Pređi na sadržaj

OpenRISC 1200

S Vikipedije, slobodne enciklopedije
Blok dijagram arhitekture procesora OR1200

OpenRISC 1200 (OR1200) je primena arhitekture OpenRISC 1000 RISC otvorenog koda [1] Arhivirano na sajtu Wayback Machine (15. januar 2017).

CPU (engl. CPU) jezgro koje je moguće sintetizovati, dugi niz godina je održavan od strane programera na OpenCores.org-u, mada je od 2015. godine tu aktivnost sada preuzela Fondacija slobodnog i otvorenog koda Silikon (engl. Free and Open Source Silicon Foundation ) na veb lokaciji [2]librecores.org . Verilog RTL opis objavljen je pod GNU-ovom manjaom opštom javnom licencom (engl. GNU Lesser General Public License (LGPL)).

Arhitektura[uredi | uredi izvor]

Blok šema OR1200 CPU/DSP

IP jezgro (engl. IP core) OR1200-a je implementirano u Verilog HDL-u . Kao jezgro otvorenog koda, njegov dizajn je u potpunosti javan i svako ga može preuzeti i izmeniti. Zvaničnu implementaciju održavaju programeri na OpenCores.org-u. Implementacija određuje jedinicu za upravljanje napajanjem, jedinicu za otklanjanje grešaka, tajmer, programabilni kontroler prekida (PIC), centralnu procesnu jedinicu (CPU) i hardver za upravljanje memorijom. Periferni sistemi i memorijski podsistem mogu se dodati korišćenjem procesorske implementacije standardizovanog 32-bitnog interfejsa sabirnice Višbone (engl. Wishbone). OR1200 je namenjen da ima performanse uporedive sa ARM10 procesorskom arhitekturom.

CPU/DSP[uredi | uredi izvor]

OR1200 CPU je implementacija 32-bitne ORBIS32 arhitekture skupa instrukcija (engl. ISA) i (opciono) ORFP32X ISA koji implementira podršku za jednostranu preciznost sa pokretnim zarezom u skladu sa IEEE-754. Arhitektura skupa instrukcija ima pet formata instrukcija i podržava dva načina adresiranja: registrovati indirektno sa pomeranjem i relativni brojač programa. Implementacija ima petostepeni cevovod sa jednim izdanjem i sposobna je za izvršavanje u jednom ciklusu po većini uputstava. CPU takođe sadrži MAC jedinicu (engl. MAC) kako bi se bolje podržala aplikacija digitalne obrade signala.

Upravljanje memorijom[uredi | uredi izvor]

OR1200 dizajn koristi harvardsku memorijsku arhitekturu i zato ima odvojene jedinice za upravljanje memorijom ( engl. MMUs) za memorije podataka i instrukcija. Svaki od ovih MMU-ova sastoji se od bafera asocijativnog za prevođenja (TLB) (engl. translation lookaside buffer) sa direktnim mapiranjem na osnovu heša sa veličinom stranice od 8KiB i podrazumevanom veličinaom od 64 unosa. TLB-ovi su pojedinačno skalabilni od 16 do 256 unosa. Takođe postoji jednosmerna, direktno mapirana keš memorija, svaka za memoriju instrukcija i za memoriju podataka. Svaka keš memorija ima podrazumevanu veličinu od 8KiB , ali oba su pojedinačno skalabilna između 1 i 64KiB . MMU uključuje podršku za virtuelnu memoriju.

Performanse[uredi | uredi izvor]

Jezgro postiže 1,34 CoreMark-ova po MHz na 50MHz na Xilinx FPGA tehnologiji. [1]

U najgorem slučaju, frekvencija takta za OR1200 je 250MHz na 0,18μm 6LM procesu izrade. Koristeći Dhrystone benčmark, 250MHz OR1200 procesor u najgorem slučaju izvodi 250 Dheystone miliona instrukcija u sekundi (engl. Dhrystone millions of instructions per second (DMIPS)). Procenjena potrošnja energije 250MHz-og procesora na 0,18μm procesa je manji od 1W pri punom gasu i manji od 5mW na pola gasa.[traži se izvor]

Aplikacije[uredi | uredi izvor]

Generalno, OR1200 je namenjen za upotrebu u raznim ugrađenim aplikacijama, uključujući telekomunikacije, prenosive medije, kućnu zabavu i automobilske aplikacije. Lanac GNU alata (engl. GNU toolchain) (uključujući GCC ) takođe je uspešno prenet na arhitekturu, iako nije bez grešaka. [2] Postoji port Linuks kernela za OR1K koji radi na OR1200. Nedavni portovi ugrađenih C biblioteka newlib i uClibc su takođe dostupni za platformu.

Implementacije[uredi | uredi izvor]

OR1200 je uspešno implementiran koristeći FPGA i ASIC tehnologije.

Istorija[uredi | uredi izvor]

Prvi javni zapis o arhitekturi OpenRISC 1000 objavljen je 2000. godine. [3]

Reference[uredi | uredi izvor]

  1. ^ „Arhivirana kopija”. Arhivirano iz originala 24. 03. 2019. g. Pristupljeno 22. 05. 2021. 
  2. ^ „Arhivirana kopija”. Arhivirano iz originala 17. 11. 2016. g. Pristupljeno 22. 05. 2021. 
  3. ^ „Arhivirana kopija”. Arhivirano iz originala 18. 06. 2013. g. Pristupljeno 22. 05. 2021. 

 

Spoljašnje veze[uredi | uredi izvor]