OpenRISC 1200
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
urediIP 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
urediOR1200 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
urediOR1200 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
urediJezgro 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
urediGeneralno, 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
urediOR1200 je uspešno implementiran koristeći FPGA i ASIC tehnologije.
Istorija
urediPrvi javni zapis o arhitekturi OpenRISC 1000 objavljen je 2000. godine. [3]
Reference
uredi- ^ „Arhivirana kopija”. Arhivirano iz originala 24. 03. 2019. g. Pristupljeno 22. 05. 2021.
- ^ „Arhivirana kopija”. Arhivirano iz originala 17. 11. 2016. g. Pristupljeno 22. 05. 2021.
- ^ „Arhivirana kopija”. Arhivirano iz originala 18. 06. 2013. g. Pristupljeno 22. 05. 2021.
- ORSoC.se "OpenRISC 1200 razvojna ploča" . Mart 2009
- Cragie, Robert. „Stranica resursa OpenRISC.“ Asisi . 19. marta 2008.
Spoljašnje veze
uredi- OR1200 stranica na OpenCores.org Arhivirano na sajtu Wayback Machine (10. februar 2010)
- Specifikacija OR1200 na OpenCores.org (upozorenje: URL služi tekst konteksta / običan za PDF podatke) Arhivirano na sajtu Wayback Machine (11. mart 2012)