A MicroBlaze processzort 2002-ben fejlesztették ki, hogy számos bonyolult funkciót integráljon az új és a növekvő piaci igények kielégítésére. Tehát a MicroBlaze processzor elengedhetetlen eleme a Xilinx alsókategóriás portfóliójának, amely lehetővé teszi az Artix®-7-et tartalmazó gyorsabb rendszerfejlesztést. FPGA-k , Spartan®-6, Zynq®-7000 AP SoCs. Ez a processzor rendkívül konfigurálható, így használható beágyazott processzorként vagy mikrokontrollerként az FPGA-kon belül, valamint társprocesszorként is használható az ARM Cortex-A9 alapú Zynq-7000 AP SoC-ekben. Ez a cikk rövid tájékoztatást ad erről MicroBlaze processzor – architektúra és alkalmazásokkal való munka.
Mi az a Microblaze processzor?
A lágy mikroprocesszort, amelyet elsősorban a Xilinx FPGA-jaihoz terveztek, MicroBlaze processzornak nevezik. Ez a processzor egyszerűen a Xilinx FPGA-inak általános célú memória- és logikai szövetébe van beépítve. Ez a processzor hasonló a RISC alapú DLX architektúrához, és rugalmas összekapcsolási rendszerrel rendelkezik, így támogatja a különböző beágyazott alkalmazásokat. A MicroBlaze fő I/O busza és AXI összeköttetése egy memória-leképezett tranzakciós busz master-slave lehetőséggel.
A MicroBlaze egy dedikált LMB buszt használ a helyi memória eléréséhez, és gyors chip-tárolást biztosít. A processzor számos része a felhasználó által konfigurálható, például a gyorsítótár mérete, a csővezeték memóriakezelő egység mélysége, a beágyazott perifériák és a busz interfészek.
Microblaze jellemzői
Az A Microblaz jellemzői e tartalmazza a következőket. 32 általános célú regiszterrel rendelkezik.
- 32 bites utasításszavai vannak, beleértve 2 címzési módot és 3 operandust.
- A címbusz 32 bites.
- 3 fokozatú vagy 5 lépcsős csővezetékkel rendelkezik.
- Egy ALU blokk egység váltókarral.
- A Harvard architektúrája 32 bites adat- és címbuszt tartalmaz.
- Adat interfész és LMB vagy helyi memóriabusz utasítás.
- AX14 és AX14 adatfolyam interfészek.
- Lebegőpontos egység és memóriakezelő egység.
- Támogatja a lockstep-et.
- Hibakeresési és nyomkövetési felület.
Microbaze architektúra
A MicroBlaze processzor blokkvázlata az alábbiakban látható. Ez a MicroBlaze processzor rendkívül testreszabható, és több mint 70 tervezési lehetőséget támogat. Ez az architektúra állandó hardverfunkciókat, valamint olyan konfigurálható opciókat jelenít meg, mint az utasítás vagy adatgyorsítótár, a memóriakezelő egység, a lebegőpontos egység stb.
An beágyazott rendszer A MicroBlaze processzor köré összeállított főként MicroBlaze Soft Processor Core-t, on-chip helyi memóriát, szabványos buszösszeköttetéseket és OPB perifériákat (On-chip Peripheral Bus) tartalmaz. A MicroBlaze processzorrendszer főként a helyi memórián keresztüli processzormagtól a több MicroBlaze-t tartalmazó nagy rendszerig terjed. processzorok , külső memória és sok OPB periféria.

Puha processzormag
A MicroBlaze lágy processzormagja központi szerepet játszik a MicroBlaze beágyazott rendszerben. Ez egy nagyon gyors és hatékony 32 bites RISC processzor, amely a következő funkciókkal rendelkezik.
- Az utasításkészlet ortogonális.
- Külön adat- és utasításbuszok.
- 32 bites általános célú regiszterek.
- Opcionálisan komplett 32 bites hordóváltóval rendelkezik.
- Beépített interfészek a gyors OCM-hez vagy a chip-memóriához és az IBM iparági szabványos OPB-jéhez (On-chip Peripheral Bus).
A Virtex-II-n belüli megvalósítások és az azt követő eszközök a hardver többszörösét támogatják.
Chip helyi memória
A szinkron memória egy helyi memória, amelyet elsősorban a chipen belüli blokk RAM engedélyezésére használnak.
Szabványos buszösszeköttetések
Az utasítás- és adatoldali busz interfészek tartalmaznak egy interfészt a helyi memóriához, amelyet LMB-nek (Local Memory Bus) neveznek, és egy interfészt az IBM lapkán lévő perifériás buszához. Tehát olyan rendszereket tervezhetünk, amelyek szigorúan ragaszkodnak a Harvard architektúrához, ellenkező esetben az erőforrások megosztásához egyetlen OPB-t használhatunk kombináción belül egy buszdöntőn keresztül.
A helyi memóriabusz garantált egyciklusú belépést biztosít a chipen belüli blokk RAM számára. Ez egy nagyon hatékony, egyszerű és egyfős buszprotokoll, és tökéletes a gyors helyi memória interfészéhez. Az OPB vagy az On-chip Peripheral Bus egy 32 bites széles multi-master busz, amely tökéletes a perifériák és a külső memória összekapcsolására a MicroBlaze processzor magjával.
Chip-alapú perifériabusz-perifériák
A MicroBlaze hardverrendszert OPB perifériák egészítik ki, hogy különböző funkciókat biztosítsanak, mint például Watchdog Timer vagy Timebase, általános célú időzítő vagy számlálók, IC (megszakításvezérlő), különböző vezérlők, például SRAM, Flash memória, ZBT memória, BRAM, DDR, SDRAM, UART Lite , SPI, I2C, általános célú I/O, UART 16450/550 és Ethernet 10/100 MAC. Ezen túlmenően, főként egyedi funkciókhoz adhatunk hozzá és definiálhatunk perifériákat, ellenkező esetben egy interfész az FPGA-ban létező tervezéshez.
Microblaze utasításkészlet
A Microblaze utasításkészletei aritmetikai, logikai, elágazási, betöltési/tárolási és mások. Az összes utasítás mérete rögzített. Legfeljebb 3 regiszter adható meg operandusként. A Microblaze két A típusú és B típusú utasításformátumot tartalmaz, amelyek az alábbiakban láthatók.
Az A típusú utasításformátumot főleg a regiszter-regiszter utasításokhoz használják. Tehát tartalmazza a műveleti kódot, egyetlen célállomást és két forrásregisztert. A B típusú utasításformátumot főleg a regiszter-közvetlen utasításokhoz használják, amelyek tartalmazzák a műveleti kódot, az egyetlen célhelyet és az egyetlen forrás regisztereket. és egy 16 bites azonnali értékű forrás.

A fenti két utasításformátumban a műveleti kód egy műveleti kód, az Rd egy 5 bittel kódolt célregiszter, az Ra és Rb forrásregiszter, ahol mindegyik 5 bittel van kódolva, az azonnali pedig 16 bites érték.
Számtani utasítások
Az A és B típusú számtani utasítások az alábbiakban találhatók.
A típus
ADD Rd, Ra, Rb add hozzá |
Rd = Ra+Rb, A hordozásjelző érintett |
ADD K Rd, Ra, Rb Hozzáadás és hordozás |
Rd = Ra+Rb, a hordozójelző nem érinti |
RSUB Rd, Ra, Rb Fordított kivonás |
Rd = R-Rb, a hordozójelző nem érinti |
B típus
ADD I Rd, Ra, Imm azonnali hozzáadása |
Rd = Ra+jelhosszabbítás32 (Imm) |
ADD IK Rd, Ra, Imm azonnali hozzáadása és szállítása |
Rd = Ra+ jel Extend32 (Imm) |
RSUBIK Rd, Ra, Imm fordított kivonás azonnalival |
Rd = Ra+ jel Extend32 (Imm) -Ra |
SRA Rd, Ra aritmetikai eltolás jobbra |
Rd = (Ra>>1) |
Logikai utasítások
Az A és B típusú logikai utasítások az alábbiakban találhatók.
A típus
VAGY Rd, Ra, Rb Logikai ill |
Rd = Ra| Rb |
ÉS Rd,Ra,Rb Logikus kiegészítés |
Rd = Ra és Rb |
XOR Rd, Ra, Rb Logikai xor |
Rd = Rb ^ Rb |
ANDN Rd, Ra, Rb Logikus és nem |
Rd = Ra & (Rb) |
B típus
ORI Rd, Ra, Imm logikai VAGY azonnali |
Rd = Ra | signExtend32 (Imm) |
ANDI Rd, Ra, Imm logikai ÉS azonnalival |
Rd = Ra és előjel Extend32 (Imm) |
XORI Rd, Ra, Imm logikus XOR azonnali |
Rd = Ra ^ jel Extend32 (Imm) |
ANDNI Rd, Ra, Imm Logikus ÉS NEM azonnali |
Rd = Ra & (32. jelhossz (Imm)) |
Ágazati utasítások – Feltétel nélküli
Módosítsa a Programszámláló regisztert
BRID Imm elágazás azonnali késleltetéssel |
PC = PC+ jelExtend32 (Imm) késleltetési rés végrehajtásának engedélyezése |
BRLID Rd, Imm elágazás és kapcsolat azonnali késleltetéssel (függvényhívás) |
Rd = PC PC = PC+& signExtend32 (Imm) késleltetési rés végrehajtásának engedélyezése |
RTSD Ra, Imm visszatérés a szubrutinból |
PC = Ra + jelExtend32 (Imm) késleltetési rés végrehajtásának engedélyezése |
RTID Ra, Imm visszatérés megszakításból |
PC = Ra + jelExtend32 (Imm) késleltetési rés végrehajtásának engedélyezése állítsa be a megszakítás engedélyezését az MSR-ben |
Ágazati utasítások – Feltétel nélküli1
Módosítsa a Programszámláló regisztert, ha egy feltétel teljesül
BEQI Ra, Imm ág, ha egyenlő |
PC = PC+ jelExtend32 (Imm) Ha Ra = 0 |
MASH Ra, Imm ág, ha nem egyenlő |
Rd = PC PC = PC+& signExtend32 (Imm) Ha Ra! = 0 |
Elágazási utasítások – Feltétel nélküli2
Módosítsa a Programszámláló regisztert, ha egy feltétel teljesül
BLTI Ra, Imm ág ha alacsonyabb mint |
PC = PC+ jelExtend32 (Imm) Ha Ra < 0 |
BLEI Ra, Imm ág ha alacsonyabb egyenlő mint |
Rd = PC PC = PC+& signExtend32 (Imm) Ha Ra!< = 0 |
BGTI Ra, Imm ág, ha nagyobb, mint |
PC = PC+ jelExtend32 (Imm) Ha Ra!> 0 |
BGEI Ra, Imm ág ha nagyobb egyenlő mint |
PC = PC+signExtend32 (Imm) Ha Ra!>= 0 |
Betöltési/tárolási útmutató – A típusú
LW Rd, Ra, Rb Szó betöltése |
Cím = Ra+Rb Rd = *Cím |
SW Rd, Ra, Rb Tároljon szót |
Cím – Ra+Rb *Cím = Rd |
B típus
LWI Rd, Ra, Imn A szó azonnali betöltése |
Cím = Ra + jelExtend32 (Imm) Rd = *Cím |
SW Rd, Ra, Imm A szó azonnali tárolása |
Cím = Ra + jelExtend32 (Imm) *Cím = Rd |
Egyéb utasítások
IMM, Imm azonnali |
Bővítse ki az előző B típusú utasítás Imm értékét 32 bitesre. |
MFS Rd, Sa Áthelyezés speciális célú nyilvántartásból |
Rd = Sa Sa- speciális célú regiszter, forrás operandus
|
MTS Sd, Ra Lépjen a speciális célú nyilvántartásba |
Sd = Ra Sd – speciális célú regiszter, cél operandus |
Regisztrálok
A MicroBlaze processzor architektúrája teljesen ortogonális, amely 32 bites általános célú regisztereket és 32 bites speciális célú regisztereket, például programszámlálót és gépállapot-regisztert tartalmaz.
Pipeline Architecture
A MicroBlaze 3 szakaszból álló folyamatarchitektúrát használ, beleértve a letöltési, dekódolási és befejezési szakaszokat. A hardveren belül automatikusan meghatározzák az adattovábbítást, az elágazásokat és a csővezetékek leállását.
Töltsd be vagy tárold az architektúrát
A MicroBlaze három adatméretben támogatja a memóriát: 8 bites (byte), 16 bites (félszó) és 32 bites (Word). Tehát a memória-hozzáférések mindig adatmérethez igazodnak. Ez egy Big-Endian processzor, amely a Big-Endian cím címét, valamint a memória elérésekor a címkézési konvenciókat használja.
Megszakítja
A megszakítás megtörténte után ez a processzor befejezi a jelenlegi végrehajtást, hogy a megszakítási kérelmet elágazáson keresztül kezelje a megszakítási vektorcímhez és tárolja a végrehajtandó utasítás címét. Ez a processzor leállítja a jövőbeni megszakításokat az IE (Megszakítás engedélyezése) jelzőjének törlésével az MSR-ben (Machine Status Register).
Hogyan működik a Microblaze?
A MicroBlaze processzor támogatja a 32 bites buszszélességet, és ez a processzormag egy RISC-alapú motor, amely 32 bites LUT RAM-on alapuló regiszterfájlt tartalmaz a memória- és adathozzáférés külön utasításai révén.
Ez a processzor egyszerűen támogatja a chipen lévő BlockRAM-ot és a külső memóriát. Hasonló az IBM PowerPC-hez; minden periféria a hasonló CoreConnect OPB buszt használja, így; a processzor perifériái jól illeszkednek a Virtex-II Pro PowerPC-hez.
A MicroBlaze processzor teljes rugalmasságot biztosít a memória, a perifériák és az interfész funkciók kombinációjának kiválasztásában, amely biztosítja a precíz rendszert, amelyre egyetlen FPGA-n kevesebb költséggel szüksége van.
Különbség B/W Microblaze vs Risc-V
Az különbség a MicroBlaze és a RISC v a következőket tartalmazzák.
Microblaze |
Risc-V |
Ez egy puha mikroprocesszor mag, amelyet elsősorban a Xilinx FPGA-hoz terveztek.
|
A RISC-V egy RISC-elvekben gyökerező utasításkészlet-architektúra.
|
Harvard RISC architektúrát használ. | Utasításkészlet architektúrát használ. |
A licence védett (Xilinx) | A licence nyílt forráskódú. |
A csővezeték mélysége 3 vagy 5. | A csővezeték mélysége 5. |
Teljesítménye 280 DMIP. | Teljesítménye 250 DMIP. |
Sebessége 235 MHz. | Sebessége 250 MHz. |
1027 LUT-ja van. | 4125 LUT-ja van. |
Az alkalmazott technológia megvalósítása a Xilinx FPGA. | Az alkalmazott technológia megvalósítása az FPGA/ASIC. |
A Microblaze előnyei
Az A MicroBlaze előnyei a következőket tartalmazzák.
- Ez gazdaságos.
- Nagyon jól konfigurálható.
- Teljesítménye magas az ARM-hez képest.
- Beágyazott fejlesztőkészlet támogatja.
- Ez egy puha mikroprocesszor mag.
- Az alkalmazás gyors elrendezésének elősegítése érdekében ez a processzor három rögzített konfigurációt tartalmaz, amelyek a jól ismert processzorosztályokhoz kapcsolódnak: mikrokontroller, valós idejű és alkalmazásprocesszor.
Microblaze alkalmazások
Az MicroBlaze alkalmazásai a következőket tartalmazzák.
- Ez a processzor számos különféle alkalmazási követelménynek megfelel, például ipari, autóipari, orvosi és fogyasztói követelményeknek.
- A MicroBlaze alkalmazásai az egyszerű, szoftveren alapuló állapotgépektől a beágyazott alkalmazásokban vagy internet alapú készülékekben használt összetett vezérlőkig terjednek.
- Olyan beágyazott alkalmazásokhoz van optimalizálva, mint az ipari vezérlés, az irodai automatizálás és az autóipar.
- A MicroBlaze számos perifériával képes kommunikálni, hogy elférjen a közepes méretű alkalmazásokban.
- Ennek a processzornak a puha természete testreszabhatóvá teszi a különböző alkalmazásokhoz, ahol a tervezők kicserélhetik a funkciókat a méretre, hogy megfeleljenek az ár- és teljesítménycéloknak az orvosi, autóipari, ipari és biztonsági alkalmazásokban.
Tehát erről szól az egész a Microblaze áttekintése processzor. Ez egy teljes értékű, 32 bites programozható RISC soft processzormag. Ez a processzor különböző követelményeknek tesz eleget a különböző területeken, például a fogyasztói, orvosi, ipari, autóipari és kommunikációs infrastruktúra piacokon. Rendkívül konfigurálható, így beágyazott processzorként vagy mikrokontrollerként használható az FPGA-kon belül, egyébként az ARM társprocesszoraként. Itt egy kérdés, hogy mi az FPGA?