Mi az a Microblaze processzor: architektúra, működés és alkalmazásai

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





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.

  Microblaze processzor architektúra
Microblaze processzor architektúra

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.

  Utasítási formátumok
Utasítási formátumok

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?