Az OpenRISC 1200 (OR1200) a nyílt forráskódú OpenRISC 1000 RISC architektúra megvalósítása.[1]

Ez egy szintetizálható CPU-mag, amelyet sok éven át a fejlesztők tartottak karban az OpenCores.org közösségben, bár ezt az aktivitást 2015 óta átvette a Free and Open Source Silicon Foundation alapítvány.[2] A processzormag Verilog RTL leírását a GNU Lesser General Public License (LGPL) licenc alatt adták ki.

Architektúra

szerkesztés
Az OR1200 processzor architektúra blokkvázlata

Az OR1200 jogvédett processzormagja (IP core) Verilog hardverleíró nyelven van megvalósítva. Mivel ez egy nyílt forráskódú mag, a kialakítása teljesen nyilvános és bárki által letölthető és módosítható. A hivatalos implementációt a fejlesztők tartják karban az OpenCores.org-nál. Az implementáció meghatároz egy energiagazdálkodási egységet, hibakereső egységet, óra és időzítő egységet, programozható megszakításvezérlőt, központi feldolgozóegységet (CPU), és memóriakezelő hardvert. A processzorhoz perifériás rendszerek és memória-alrendszer adható hozzá a szabványos 32 bites Wishbone síninterfész implementációjának használatával. Az OR1200 tervezett teljesítménye összehasonlítható az ARM10 processzor architektúráéval.

Az OR1200 CPU/DSP (digitális jelprocesszor) blokkvázlata

Az OR1200 CPU a 32 bites ORBIS32 utasításkészlet-architektúra (ISA) és (opcionálisan) az ORFP32X IEEE 754 szabványnak megfelelő, egyszeres pontosságú lebegőpontos támogatást megvalósító ISA implementációja. Az ISA-nak öt utasításformátuma van és két címzési módot támogat: regiszter-indirekt eltolással, és programszámláló-relatív. Az implementációnak egy egyszeres kibocsátású 5 fokozatú futószalagja van, és egyciklusú végrehajtásra képes a legtöbb utasítás esetén. A CPU tartalmaz egy MAC egységet is, a digitális jelfeldolgozó (DSP) alkalmazások jobb támogatása érdekében.

Memóriakezelés

szerkesztés

Az OR1200 kialakítás Harvard memóriaarchitektúrát alkalmaz, emiatt külön memóriakezelő egységekkel (MMU-kkal) rendelkezik az adat- és az utasításmemóriák számára. Az MMU-k mindegyike tartalmaz egy hash-alapú 1 utas közvetlen leképezésű címfordító gyorsítótárat (translation lookaside buffer, TLB) melyek lapmérete 8 KiB és alapértelmezett mérete 64 bejegyzés. A TLB-k egyedileg méretezhetők 16 és 256 bejegyzés között. Mind az utasításmemória, mind az adatmemória külön egyutas közvetlen leképezésű gyorsítótárral rendelkezik. Mindegyik gyorsítótár alapértelmezett mérete 8 KiB, de mindkettő egyedileg méretezhető az 1 és 64 KiB tartományban. Az MMU támogatja a virtuális memóriát.

Teljesítmény

szerkesztés

A mag 1,34 CoreMarks/MHz teljesítményt ér el 50 MHz-en, Xilinx FPGA technológián.[3]

A legrosszabb esetben az OR1200 órajelfrekvenciája 250 MHz 0,18 μm-es 6LM gyártási eljárás mellett. A Dhrystone teljesítményteszten egy 250 MHz-es OR1200 processzor 250 Dhrystone millió utasítás másodpercenként (DMIPS) teljesítményt mutat. Egy 250 MHz-es, 0,18 μm-as eljárással készült processzor becsült energiafelhasználása kevesebb mint 1 W teljes sebességen és kevesebb mint 5 mW fél sebességen.[forrás?]

Alkalmazások

szerkesztés

Általánosságban az OR1200 processzort különféle beágyazott alkalmazásokban tervezik felhasználni, beleértve a távközlést, a hordozható médiát, az otthoni szórakoztatást és az autóipari alkalmazásokat. A GNU eszközkészletet (a GCC-vel együtt) szintén sikeresen portolták az architektúrára, bár nem hibamentes.[4] A Linux kernelnek van egy portja az OR1K (OpenRISC 1000) processzorhoz, amely az OR1200-on is fut. A newlib és uClibc beágyazott C könyvtárak legújabb portjai a szintén elérhetőek a platformra.

Implementációk

szerkesztés

Az OR1200-at sikeresen megvalósították FPGA és ASIC technológiákat alkalmazva.

Történet

szerkesztés

Az OpenRISC 1000 architektúra első nyilvános említése 2000-ből származik.[5]

  1. Archiválva 2017. január 15-i dátummal a Wayback Machine-ben.
  2. A „librecores.org” domain jelenleg felfüggesztve, újabb weboldaluk a https://fossi-foundation.org/
  3. OR1200 OpenRISC Processor - OR1K :: OpenCores. opencores.org. [2011. szeptember 25-i dátummal az eredetiből archiválva].
  4. UClibc tool chain test results - OR1K :: OpenCores. opencores.org. [2012. február 22-i dátummal az eredetiből archiválva].
  5. Free 32-bit processor core hits the Net, 2000. február 28.

Fordítás

szerkesztés

Ez a szócikk részben vagy egészben az OpenRISC 1200 című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

További információk

szerkesztés

Kapcsolódó szócikkek

szerkesztés