Čo je to procesor Microblaze: Architektúra, práca a jej aplikácie

Vyskúšajte Náš Nástroj Na Odstránenie Problémov





Procesor MicroBlaze bol vyvinutý v roku 2002, aby integroval niekoľko komplikovaných funkcií, aby uspokojil nové, ako aj rastúce požiadavky trhu. Procesor MicroBlaze je teda základným prvkom v rámci low-endového portfólia Xilinx, ktorý umožňuje rýchlejší vývoj systému, ktorý obsahuje Artix®-7 FPGA , Spartan®-6, Zynq®-7000 AP SoC. Tento procesor je mimoriadne konfigurovateľný, takže ho možno použiť ako vstavaný procesor alebo mikrokontrolér v rámci FPGA a tiež ho použiť ako koprocesor v Zynq-7000 AP SoC založených na ARM Cortex-A9. Tento článok poskytuje stručné informácie o Procesor MicroBlaze – architektúra a práca s aplikáciami.


Čo je to procesor Microblaze?

Mäkký mikroprocesor, ktorý je navrhnutý hlavne pre FPGA od Xilinx, je známy ako procesor MicroBlaze. Tento procesor je jednoducho implementovaný v rámci všeobecnej pamäte a logickej štruktúry FPGA od Xilinx. Tento procesor je podobný architektúre DLX založenej na RISC a má flexibilný systém prepojenia, takže podporuje rôzne vstavané aplikácie. Hlavná I/O zbernica a AXI prepojenie MicroBlaze je pamäťovo mapovaná transakčná zbernica s funkciou master-slave.



MicroBlaze využíva vyhradenú zbernicu LMB na prístup k lokálnej pamäti a poskytuje rýchle úložisko na čipe. Mnoho častí tohto procesora môže byť užívateľsky nakonfigurovaných, ako je veľkosť vyrovnávacej pamäte, hĺbka jednotky správy pamäte potrubia, vstavané periférie a rozhrania zbernice.

Vlastnosti Microblaze

The vlastnosti Microblaz e zahŕňajú nasledujúce. Má 32 všeobecných registrov.



  • Má 32-bitové slová inštrukcie vrátane 2 režimov adresovania a 3 operandov.
  • Adresová zbernica je 32-bitová.
  • Má 3-stupňové potrubie alebo 5-stupňové potrubie.
  • ALU bloková jednotka s prehadzovačom.
  • Harvardská architektúra obsahuje 32-bitovú dátovú a adresovú zbernicu.
  • Dátové rozhranie a inštrukcie LMB alebo lokálnej pamäťovej zbernice.
  • Rozhrania streamu AX14 a AX14.
  • Jednotka s pohyblivou rádovou čiarkou a jednotka správy pamäte.
  • Podporuje lockstep.
  • Rozhranie ladenia a sledovania.

Architektúra mikrobaze

Bloková schéma procesora MicroBlaze je uvedená nižšie. Tento procesor MicroBlaze je mimoriadne prispôsobiteľný a podporuje viac ako 70 možností dizajnu. Táto architektúra zobrazuje trvalé hardvérové ​​funkcie, ako aj konfigurovateľné možnosti, ako je vyrovnávacia pamäť inštrukcií alebo údajov, jednotka správy pamäte, jednotka s pohyblivou rádovou čiarkou atď.

An vstavaný systém zostavený okolo procesora MicroBlaze obsahuje hlavne mäkké procesorové jadro MicroBlaze, lokálnu pamäť na čipe, štandardné prepojenia zberníc a periférie OPB (periférna zbernica na čipe). Procesorový systém MicroBlaze siaha hlavne od jadra procesora cez lokálnu pamäť až po veľký systém zahŕňajúci niekoľko MicroBlaze spracovateľov , externá pamäť a mnoho periférií OPB.

  Architektúra procesora Microblaze
Architektúra procesora Microblaze

Mäkké jadro procesora

Mäkké procesorové jadro MicroBlaze je ústredným prvkom vstavaného systému MicroBlaze. Ide o veľmi rýchly a efektívny 32-bitový RISC procesor, ktorý má nasledujúce vlastnosti.

  • Inštrukčná sada je ortogonálna.
  • Oddelené dátové a inštrukčné zbernice.
  • 32-bitové všeobecné registre.
  • Má voliteľný kompletný 32-bitový hlavňový radič.
  • Vstavané rozhrania pre rýchlu OCM alebo pamäť na čipe a priemyselný štandard IBM OPB (On-chip Peripheral Bus).

Implementácie v rámci Virtex-II a následné zariadenia podporujú množstvo hardvéru.

Lokálna pamäť na čipe

Synchrónna pamäť je lokálna pamäť, ktorá sa používa hlavne na umožnenie blokovej RAM na čipe.

Štandardné zbernicové prepojenia

Rozhrania zbernice na strane inštrukcií a údajov zahŕňajú rozhranie k lokálnej pamäti, ktoré sa nazýva LMB (Local Memory Bus) a rozhranie k periférnej zbernici na čipe IBM. Môžeme teda navrhovať systémy, ktoré sa striktne držia harvardskej architektúry, inak na zdieľanie zdrojov môžeme využiť jeden OPB v kombinácii prostredníctvom zbernicového arbitra.

Lokálna pamäťová zbernica poskytuje zabezpečený jednocyklový vstup pre blokovú RAM na čipe. Jedná sa o veľmi efektívny, jednoduchý protokol zbernice s jednou hlavnou zbernicou a je ideálny na prepojenie rýchlej lokálnej pamäte. OPB alebo On-chip Peripheral Bus je 32-bitová široká multi-master zbernica, ktorá je ideálna na spojenie periférií a vonkajšej pamäte s jadrom procesora MicroBlaze.

Periférne zbernicové periférie na čipe

Hardvérový systém MicroBlaze je doplnený o periférie OPB, ktoré poskytujú rôzne funkcie ako Watchdog Timer alebo Timebase, General purpose Timer alebo Counters, IC (Interrupt Controller), rôzne ovládače ako SRAM, Flash Memory, ZBT Memory, BRAM, DDR, SDRAM, UART Lite , SPI, I2C, I/O na všeobecné použitie, UART 16450/550 a Ethernet 10/100 MAC. Okrem toho môžeme tiež pridať a definovať periférne zariadenia hlavne pre vlastné funkcie, inak rozhranie k dizajnu, ktorý existuje v FPGA.

Inštrukčná súprava Microblaze

Inštrukčné sady Microblaze sú aritmetické, logické, vetvenie, načítanie/ukladanie a iné. Veľkosť všetkých pokynov je pevná. Ako operandy možno zadať maximálne 3 registre. Microblaze obsahuje dva formáty inštrukcií typu A a typu B, ktoré sú zobrazené nižšie.

Formát inštrukcií typu A sa používa hlavne pre inštrukcie registra-registra. Takže zahŕňa operačný kód, jeden cieľ a dva zdrojové registre. Formát inštrukcie typu B sa používa hlavne pre inštrukcie okamžitého registra, ktoré zahŕňajú operačný kód, jediný cieľ a registre jedného zdroja. & 16-bitový zdroj okamžitej hodnoty.

  Formáty pokynov
Formáty pokynov

Vo vyššie uvedených dvoch formátoch inštrukcií je operačný kód operačný kód, Rd je cieľový register, ktorý je zakódovaný 5-bitmi, Ra & Rb sú zdrojové registre, kde každý je kódovaný 5-bitmi a Immediate je 16-bitová hodnota.

Aritmetické pokyny

Aritmetické inštrukcie typu A a typu B sú uvedené nižšie.

Typ A

PRIDAŤ Rd, Ra, Rb

pridať

Rd = Ra+Rb, ovplyvnený príznak prenosu

ADD K Rd, Ra, Rb

Pridajte a pokračujte v prenášaní

Rd = Ra+Rb, príznak prenosu nie je ovplyvnený

RSUB Rd, Ra, Rb

Obrátené odčítanie

Rd = R-Rb, príznak prenosu nie je ovplyvnený

Typ B

PRIDAJTE Rd, Ra, Imm

pridať okamžite

Rd = Ra+signExtend32 (Imm)

PRIDAŤ IK Rd, Ra, Imm

pridajte okamžite a pokračujte v prenášaní

Rd = Ra+ signExtend32 (Imm)
RSUBIK Rd, Ra, Imm

spätné odčítanie s okamžitým

Rd = Ra+ znamienkoRozšírenie32 (Imm) -Ra

SRA Rd, Ra

aritmetický posun doprava

Rd = (Ra>>1)

Logické inštrukcie

Logické inštrukcie typu A a typu B sú uvedené nižšie.

Typ A

OR Rd, Ra, Rb

Logické resp

Rd = Ra| Rb

A Rd, Ra, Rb

Logické doplnenie

Rd = Ra a Rb
XOR Rd, Ra, Rb

Logický xor

Rd = Rb ^ Rb

ANDN Rd, Ra, Rb

Logické a nie

Rd = Ra & (Rb)

Typ B

ORI  Rd, Ra, Imm

logické ALEBO s okamžitým

Rd = Ra | signExtend32 (Imm)
ANDI  Rd, Ra, Imm

logické A s okamžitým

Rd = Ra & signExtend32 (Imm)
XORI  Rd, Ra, Imm

logoical XOR s okamžitým

Rd = Ra ^ signExtend32 (Imm)

ANDNI Rd, Ra, Imm

Logické A NIE s okamžitým

Rd = Ra & (signExtend32 (Imm))

Pokyny pobočky- Bezpodmienečné

Upravte register počítadla programov

BRID  Imm

pobočky okamžite s okamžitým oneskorením

PC = PC+ signExtend32 (Imm)

povoliť vykonanie oneskoreného slotu

BRLID Rd, Imm

vetva a spojenie okamžite s okamžitým oneskorením (volanie funkcie)

Rd = PC

PC = PC+& signExtend32 (Imm)

povoliť vykonanie oneskoreného slotu

RTSD  Ra, Imm

návrat z podprogramu

PC = Ra + signExtend32 (Imm)

povoliť vykonanie oneskoreného slotu

RTID Ra, Imm

návrat z prerušenia

PC = Ra + signExtend32 (Imm)

povoliť vykonanie oneskoreného slotu

nastaviť povolenie prerušenia v MSR

Pobočkové pokyny- Bezpodmienečné1

Keď je splnená podmienka, zmeňte register počítadla programov

BEQI Ra, Imm

vetva, ak je rovnaká

PC = PC+ signExtend32 (Imm)

Ak Ra = = 0

MASH Ra, Imm

vetva, ak nie je rovnaká

Rd = PC

PC = PC+& signExtend32 (Imm)

Ak Ra! = 0

Pobočkové pokyny- Bezpodmienečné2

Keď je splnená podmienka, zmeňte register počítadla programov

BLTI  Ra, Imm

vetva, ak je nižšia ako

PC = PC+ signExtend32 (Imm)

Ak Ra < 0

BLEI Ra, Imm

vetva, ak je nižšia ako

Rd = PC

PC = PC+& signExtend32 (Imm)

Ak Ra!< = 0

BGTI Ra, Imm

vetva, ak je väčšia ako

PC = PC+ signExtend32 (Imm)

Ak Ra! > 0

BGEI Ra, Imm

vetva, ak je väčšia ako

PC = PC+signExtend32 (Imm)

Ak Ra!>= 0

Pokyny na vloženie/uloženie – typ A

LW Rd, Ra, Rb

Načítať slovo

Adresa = Ra+Rb

Rd = *Adresa

SW Rd, Ra, Rb

Uložiť slovo

Adresa – Ra+Rb

*Adresa = Rd

Typ B

LWI  Rd, Ra, Imn

Načítať slovo okamžite

Adresa = Ra + signExtend32 (Imm)

Rd = *Adresa

SW Rd, Ra, Imm

Okamžite uložte slovo

Adresa = Ra + signExtend32 (Imm)

*Adresa = Rd

Ďalšie pokyny

IMM, Imm

okamžitý

Rozšírte Imm predchádzajúcej inštrukcie typu B na 32 bitov.
MFS Rd, Sa

Presun zo špeciálneho registra

Rd = Sa

Sa- účelový register, zdrojový operand

MTS SD, Ra

Presuňte sa do špeciálneho registra

Sd = Ra

Sd – účelový register, cieľový operand

Registre

Architektúra procesora MicroBlaze je úplne ortogonálna a zahŕňa 32-bitové všeobecné registre a 32-bitové špeciálne registre, ako je počítadlo programov a register stavu stroja.

Architektúra potrubia

MicroBlaze využíva 3-stupňovú pipeline architektúru vrátane fetch, dekódovania a kompletných fáz. Automaticky sa v rámci hardvéru určuje preposielanie údajov, vetvy a zastavenie potrubia.

Načítať alebo uložiť architektúru

MicroBlaze podporuje pamäť v troch veľkostiach dát 8 bitov (Byte), 16 bitov (Halfword) a 32 bitov (Word). Takže prístupy do pamäte sú vždy zarovnané podľa veľkosti údajov. Toto je procesor Big-Endian, ktorý používa adresu adresy Big-Endian, ako aj konvencie označovania pri prístupe do pamäte.

Prerušenia

Akonáhle dôjde k prerušeniu, tento procesor ukončí súčasné vykonávanie, aby spravoval požiadavku na prerušenie prostredníctvom vetvenia na adresu vektora prerušenia a uložil adresu inštrukcie, ktorá sa má vykonať. Tento procesor zastaví budúce prerušenia odstránením príznaku IE (Interrupt Enable) v rámci MSR (Machine Status Register).

Ako Microblaze funguje?

Procesor MicroBlaze podporuje 32-bitovú šírku zbernice a toto jadro procesora je motor založený na RISC, ktorý obsahuje súbor registrov založený na 32-bitovej LUT RAM prostredníctvom samostatných inštrukcií pre prístup k pamäti a dátam.
Tento procesor jednoducho podporuje blokovanie RAM na čipe aj externú pamäť. Podobne ako IBM PowerPC; všetky periférne zariadenia využívajú podobnú zbernicu CoreConnect OPB, takže; periférie procesora sú dobre zladené s PowerPC na Virtex-II Pro.

Procesor MicroBlaze poskytuje úplnú flexibilitu pri výbere kombinácie pamäte, periférií a funkcií rozhrania, ktoré vám poskytnú presný systém, ktorý požadujete na jednom FPGA s nižšími nákladmi.

Rozdiel B/W Microblaze a Risc-V

The rozdiel medzi MicroBlaze a RISC v zahŕňajú nasledujúce.

Microblaze

Risc-V

Je to mäkké mikroprocesorové jadro navrhnuté hlavne pre Xilinx FPGA.

RISC-V je architektúra inštrukčnej sady zakorenená v princípoch RISC.

Používa architektúru Harvard RISC. Používa architektúru inštrukčnej sady.
Jeho licencia je proprietárna (Xilinx) Jeho licencia je open source.
Hĺbka potrubia je 3 alebo 5. Hĺbka potrubia je 5.
Jeho výkon je 280 DMIP. Jeho výkon je 250 DMIP.
Jeho rýchlosť je 235 MHz. Jeho rýchlosť je 250 MHz.
Má 1027 LUT. Má 4125 LUT.
Implementáciou použitej technológie je Xilinx FPGA. Použitá implementácia technológie je FPGA/ASIC.

Výhody Microblaze

The výhody MicroBlaze zahŕňajú nasledujúce.

  • Je to ekonomické.
  • Je vysoko konfigurovateľný.
  • Jeho výkon je v porovnaní s ARM vysoký.
  • Je podporovaný vstavaným vývojovým kitom.
  • Je to mäkký mikroprocesor jadro.
  • Aby sme vám pomohli rýchlo usporiadať vašu aplikáciu, tento procesor obsahuje tri pevné konfigurácie, ktoré súvisia so známymi triedami procesorov mikrokontrolér, procesor v reálnom čase a aplikačný procesor.

Aplikácie Microblaze

The aplikácie MicroBlaze zahŕňajú nasledujúce.

  • Tento procesor spĺňa mnoho rôznych aplikačných požiadaviek, ako sú priemyselné, automobilové, medicínske a spotrebiteľské atď.
  • Aplikácie MicroBlaze siahajú od jednoduchých stavových automatov založených na softvéri až po zložité ovládače používané vo vstavaných aplikáciách alebo internetových zariadeniach.
  • Je optimalizovaný pre vstavané aplikácie, ako je priemyselné riadenie, kancelárska automatizácia a automobilový priemysel.
  • MicroBlaze je schopný komunikovať s veľkou sadou periférií, aby sa zmestil do stredne veľkých aplikácií.
  • Mäkká povaha tohto procesora ho robí prispôsobiteľným pre rôzne aplikácie, kde si dizajnéri môžu vymieňať funkcie za veľkosť, aby splnili ciele v oblasti ceny a výkonu pre medicínske, automobilové, priemyselné a bezpečnostné aplikácie.

Ide teda o všetko prehľad Microblaze procesor. Toto je plne vybavené, 32-bitové programovateľné jadro RISC soft procesora. Tento procesor spĺňa rôzne požiadavky v rôznych oblastiach, ako sú trhy spotrebnej, lekárskej, priemyselnej, automobilovej a komunikačnej infraštruktúry. Je mimoriadne konfigurovateľný, takže sa používa ako vstavaný procesor alebo mikrokontrolér v rámci FPGA inak ako koprocesor pre ARM. Tu je otázka pre vás, čo je FPGA?