Type a search term to find related articles by LIMS subject matter experts gathered from the most trusted and dynamic collaboration tools in the laboratory informatics industry.
A MicroBlaze egy szoft processzormag, amelyet a Xilinx gyártmányú FPGA eszközökön való megvalósításra terveztek. A Xilinx terméke, kb. 2002 óta forgalmazzák. A MicroBlaze processzor szoft processzorként teljes egészében a Xilinx FPGA-k általános memória- és logikai celláiból épül fel.
A MicroBlaze utasításkészlet-architektúrája nagyban hasonlít a Patterson és Hennessy által leírt DLX RISC architektúrára, amelyet oktatási célokra találtak ki (a DLX processzornak soha nem készült fizikai megvalósítása, csak egy elméleti konstrukció). A MicroBlaze processzor minden órajelciklusban képes egy utasítás végrehajtásának megkezdésére, és általános esetben képes az egy utasítás végrehajtásának fenntartására órajelciklusonként.
A MicroBlaze processzor sokoldalú kapcsolódási rendszerrel rendelkezik a különböző beágyazott és kiszolgáló rendszerekhez való csatlakozáshoz. Az elsődleges I/O (ki- és bemeneti) sín, a CoreConnect PLB sín[1] egy hagyományos rendszermemóriába leképzett tranzakciós sín mester/szolga lehetőségekkel. A MicroBlaze újabb verziói, így a Spartan-6 és a Virtex-6 implementációk, valamint a 7-es sorozat támogatja az AXI specifikációt. A gyártó vagy harmadik fél által előállított IP interfészek közvetlenül csatlakoznak a PLB-hez, vagy PLB–OPB sín híddal. A helyi memóriát (FPGA BRAM) a MicroBlaze egy dedikált LMB sínen keresztül éri el, ami csökkenti a többi busz terhelését. A felhasználó által definiált koprocesszorokat egy dedikált FIFO-jellegű kapcsolat támogatja, ez a FSL (Fast Simplex Link). A koprocesszor-interfész hasznos lehet különböző intenzív számításokat igénylő algoritmusok végzésénél, mert képes meggyorsítani a számítást úgy, hogy a számítást részben vagy teljes egészében egy felhasználó által definiált külön hardvermodulra helyezi át.
A MicroBlaze összetevői a felhasználó által konfigurálhatók (bizonyos korlátok között): a gyorsítótár mérete, az utasításfutószalag szakaszainak száma (3 vagy 5), a beágyazott perifériák, a MMU és a sín-interfészek mind egyedi igények szerint alakíthatók. A felületre optimalizált változat, amelyben 3-fokozatú futószalag (pipeline) van, az órajelfrekvenciát áldozza fel a csökkentett méretű logika ill. fizikailag elfoglalt felület érdekében. A teljesítményre optimalizált verzió az utasítás-futószalag fokozatainak számát 5-re terjeszti ki, ami által az órajel 210 MHz-re növelhető (* a Virtex-5 FPGA családban). Hasonlóan, a költségesebb hardveres megvalósítású processzorutasítások (pl. szorzás, osztás, lebegőpontos műveletek, stb.) igény szerint elhagyhatók vagy hozzáadhatók. A kialakítás elemeinek szabad konfigurálhatósága nagy segítség a tervezőknek a kitűzött céloknak megfelelő hardver kialakításában.
A memóriavezérlő egység használatával a MicroBlaze képes a hardveres memórialapozást és védelmet igénylő operációs rendszerek futtatására, mint pl. a Linux kernel. Egyébként az operációs rendszerek választéka az egyszerűbb védelmet és virtuális memóriamodellt támogató rendszerekre korlátozódik, mint pl. a FreeRTOS vagy MMU-támogatás nélküli Linux. A MicroBlaze processzorok összteljesítménye jelentősen kisebb, mint a velük összehasonlítható megerősített CPU-magok, pl. a Virtex-5 FPGA típuson megvalósított PowerPC 440.
A MicroBlaze egy Harvard-architektúrájú, RISC típusú 32 bites szoft processzor. A szó mérete 32 bit, bájtsorrendje lehet big-endian vagy little-endian. Lebegőpontos számábrázolása megfelel a IEEE 754 szabványnak. Főbb egységei:
A processzor 70 konfigurációs lehetősége lehetővé teszi a felhasználók számára az alábbi belső összetevők kiválasztását vagy kialakítását:
2006-ban a processzorok 900 és 2600 közötti számú logikai cellából épültek fel és 80 – 180 MHz közötti órajelen működhettek.
2009-től a MicroBlaze v7.10 verzióval elérhető a 105–235 MHz közötti órajel (FPGA típustól függően).
A processzorok sebessége az órajel MHz-értéke körüli MIPS v. DMIPS szám, tehát pl. egy 180 MHz-es processzor kb. 166 DMIPS teljesítményt ér el, egy 235 MHz-es megvalósítás 280 DMIPS.
A processzorral változatos mikrovezérlők készíthetők, ehhez összetevők széles választéka áll rendelkezésre:
A fizetős verzióban további egységek is rendelkezésre állnak:
A Xilinx EDK (Embedded Development Kit, beágyazott fejlesztőkészlet) szolgál MicroBlaze (és PowerPC) beágyazott processzorrendszerek kialakítására a Xilinx gyártmányú FPGA-kon. A készlet az Eclipse fejlesztőrendszerbe illeszkedik, ott a tervezők két különböző környezetet használhatnak: az XPS és az SDK jelűeket.
Az XPS a Xilinx Platform Studio rövidítése, ez a beépített rendszerek – processzormag, memóriavezérlő, ki-bemenet, perifériák, stb. – hardverspecifikációinak konfigurálására és felépítésére szolgál. Az XPS a tervező specifikációját szintetizálható RTL (Verilog vagy VHDL) leírássá konvertálja és elkészíti az automatizált implementáció elkészítésére szolgáló scripteket (RTL-ből bitstream-fájlok). Az EDK alapesetben kódolt (ember által nem olvasható) hálólistát készít, azonban a VHDL processzorleírás megvásárolható a Xilinx-től.
Az SDK kezeli a beágyazott rendszeren végrehajtható szoftvert. Ennek alapját a GNU toolchain (eszköztár vagy eszközcsomag) képezi, a programok C vagy C++ nyelveken készülhetnek, lehetőség van ezek elkészítésére, futtatására és debuggolására. A készlet tartalmazza a Xilinx ciklushelyes utasításkészlet-szimulátorát (ISS, instruction set simulator), így a programok a szimulált környezetben vagy az FPGA eszközre feltöltve is tesztelhetők.
Az EDK vagy az ISE Design Suite Embedded Edition a Xilinx-től vásárolható, és jogot ad a MicroBlaze eszközök használatára Xilinx FPGA hardveren, de a Xilinx eszközein kívüli felhasználása nem engedélyezett.
Léteznek az Altium által készített alternatív fejlesztésű fordítók és fejlesztőeszközök, de ezekhez is szükséges egy telepített EDK és licenc.
2009 májusában Edgar E. Iglesias létrehozott egy MicroBlaze portot a QEMU számára.
2009 júniusában a MicroBlaze lett az első szoft processzor architektúra amelyet beolvasztottak a fő Linux Kernel forrásfába. Ezt Michal Simek végezte, a PetaLogix és a Xilinx támogatásával.
2009 szeptemberében a FSF fő forrástárában megjelent a MicroBlaze GNU eszközök támogatása. A GCC 4.6-os verziójától kezdődően tartalmazza a MicroBlaze támogatást.[3]