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

Blok dijagram arhitekture procesora OR1200

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

 
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

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

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

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

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

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

Istorija uredi

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

Reference uredi

  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