Az Amber processzormag egy nyílt forrású ARM-kompatibilis 32 bites RISC processzor. Tervei az OpenCores weboldalról tölthetők le (Verilog nyelvű leírásban)[1] amely egy nyílt forrású hardver szellemi tulajdon könyvtárak fejlesztését célzó mozgalom része.[2] Az Amber mag teljesen kompatibilis az ARMv2 utasításkészlettel, és mint ilyen, támogatja a GNU eszközkészletet (GNU toolchain). Azért támogatja az ARM utasításkészletnek pont ezt a régebbi verzióját, mert erre nem terjednek ki a különböző szabadalmak, így implementálható az ARM Holdings-tól vásárolt licenc nélkül, nem úgy, mint több más nyílt forrású projekt esetén.[3] Az Amber project leírja a teljes beágyazott FPGA rendszert, amelynek központi eleme az Amber mag, és számos kiegészítő perifériás egységet, melyek között megtalálhatók UART és időzítő egységek, valamint egy Ethernet MAC.

Az Amber project a mag két verzióját kínálja. Az Amber 23 rendszerben egy 3 fokozatú futószalag, egyesített utasítás- és adat-gyorsítótár, egy Wishbone interfész található, és 0,75 DMIPS/MHz teljesítményre képes. Az Amber 25 komponensei egy 5 fokozatú futószalag, különálló adat- és utasítás-gyorsítótárak, egy Wishbone interfész, és 1,0 DMIPS/MHz teljesítményre képes. Mind a két mag pontosan ugyanazt az ISA-t implementálja és 100%-ban szoftver-kompatibilisek.

Az Amber 23 mag egy igen kicsi 32 bites, jó teljesítményt nyújtó mag. A regiszter-alapú utasítások végrehajtása a egy órajelciklus alatt történik, kivéve azokat az utasításokat, amelyek során szorzás történik. A betöltő és tároló utasítások három órajelciklust igényelnek. A mag futószalagja megáll gyorsítótár-tévesztés (cache miss) esetén, vagy amikor a mag wishbone hozzáférést végez.

Az Amber 25 mag körülbelül 30–40%-kal jobb teljesítményt nyújt az Amber 23-nál, de mérete is 30–40%-kal nagyobb. A regiszter-alapú utasítások végrehajtása ebben is egy órajelciklus alatt történik, a szorzással járó vagy összetett eltolásokat végző utasításokat kivéve. A betöltő és tároló utasítások szintén egy órajelciklus alatt hajtódnak végre, kivéve, ha regiszter-konfliktus lép fel a következő utasítással. A mag futószalagja megáll gyorsítótár-tévesztés esetén bármelyik gyorsítótárban, vagy mikor a processzor utasításkonfliktust érzékel, összetett eltolási utasítások végrehajtásakor, vagy amikor a mag wishbone hozzáférést végez.

Mindkét magot a Linux 2.4 kernel bootolásával tesztelték. A Linux kernel 2.4-es és korábbi verziói tartalmaznak a processzorok utasításkészlet-architektúráját támogató konfigurációkat. A Linux kernel 2.6 és későbbi verziói már nem támogatják explicit módon az ARM v2a ISA-t, így ezek nem futtathatók változtatások nélkül. A mag nem tartalmaz memóriakezelő egységet (MMU), ezért csak a virtuális memóriát nem kezelő – MMU nélküli mikrovezérlőket és beágyazott rendszereket támogató – μClinux Linux változatot képes futtatni.

A magokat a Verilog 2001-es változatára fejlesztették és FPGA szintézisre vannak optimalizálva. Például a processzorban nincs reset logika, minden regiszter alapállapotba áll az FPGA inicializálási folyamata alatt.

Az ARMv2 ISA leírása megtalálható a következő művekben: [4] [5]

Jegyzetek szerkesztés

  1. Santifort, Conor: Amber ARM-compatible core :: Overview (angol nyelven). OpenCores, 2010. december 23. (Hozzáférés: 2013)
  2. Open-source credo moves to chip design
  3. Amber RISC Core on 32bitmicro. [2015. február 2-i dátummal az eredetiből archiválva]. (Hozzáférés: 2013. október 26.)
  4. Alex and Nic van Someren.szerk.: Bruce Smith: Archimedes Operating System / A Dabhand Guide, 1. (angol nyelven), Prestwich, Manchester: DABS PRESS, 1–320. o. (1991. 06). ISBN 1-870336-48-8. Hozzáférés ideje: 2013. „... a book which describes the features and facilities of the Operating System for Acorn Archimedes computers.” 
  5. Acorn RISC Machine Family Data Manual (PDF) (angol nyelven), Englewood Cliffs, New Jersey: Prentice Hall, 1–56. o. (1990). ISBN 0-13-781618-9. Hozzáférés ideje: 2013. 

Fordítás szerkesztés

Ez a szócikk részben vagy egészben az Amber (processor core) 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.

Források szerkesztés

További információk szerkesztés

Kapcsolódó szócikkek szerkesztés