Mikä on Microblaze-prosessori: arkkitehtuuri, työskentely ja sen sovellukset

Kokeile Instrumenttia Ongelmien Poistamiseksi





MicroBlaze-prosessori kehitettiin vuonna 2002 integroimaan useita monimutkaisia ​​ominaisuuksia vastaamaan uusiin ja kasvavaan markkinoiden kysyntään. MicroBlaze-prosessori on siis olennainen osa Xilinxin Low-End-portfoliosta, joka mahdollistaa nopeamman järjestelmän kehittämisen, joka sisältää Artix®-7:n. FPGA:t , Spartan®-6, Zynq®-7000 AP SoCs. Tämä prosessori on erittäin konfiguroitavissa, joten sitä voidaan käyttää sulautettuna prosessorina tai mikro-ohjaimena FPGA:issa ja myös apuprosessorina ARM Cortex-A9:ään perustuvissa Zynq-7000 AP SoC:issa. Tämä artikkeli antaa lyhyesti tietoa MicroBlaze prosessori – arkkitehtuuri ja työskentely sovellusten kanssa.


Mikä on Microblaze-prosessori?

Pehmeä mikroprosessori, joka on suunniteltu pääasiassa Xilinxin FPGA:ille, tunnetaan nimellä MicroBlaze-prosessori. Tämä prosessori on yksinkertaisesti toteutettu Xilinxin FPGA:iden yleiskäyttöiseen muistiin ja logiikkaan. Tämä prosessori on samanlainen kuin RISC-pohjainen DLX-arkkitehtuuri ja siinä on joustava liitäntäjärjestelmä, jotta se tukee erilaisia ​​sulautettuja sovelluksia. MicroBlazen I/O-pääväylä ja AXI-liitäntä on muistikartoitettu tapahtumaväylä master-slave-toiminnolla.



MicroBlaze käyttää omaa LMB-väylää paikalliseen muistiin ja tarjoaa nopean muistin sirulle. Monet tämän prosessorin osat voidaan määrittää käyttäjältä, kuten välimuistin koko, liukuhihnan muistinhallintayksikön syvyys, sulautetut oheislaitteet ja väyläliitännät.

Microblazen ominaisuudet

The Microblazin ominaisuudet e sisältää seuraavat. Siinä on 32 yleiskäyttöistä rekisteriä.



  • Siinä on 32-bittiset käskysanat, mukaan lukien 2 osoitetilaa ja 3 operandia.
  • Osoiteväylä on 32-bittinen.
  • Siinä on 3-vaiheinen tai 5-vaiheinen putkisto.
  • Vaihdekytkimellä varustettu ALU-lohkoyksikkö.
  • Harvardin arkkitehtuuri sisältää 32-bittisen datan ja osoiteväylän.
  • Dataliitäntä & LMB tai paikallinen muistiväyläohje.
  • AX14- ja AX14-virtaliitännät.
  • Liukulukuyksikkö ja muistinhallintayksikkö.
  • Se tukee lockstep.
  • Viankorjaus- ja jäljityskäyttöliittymä.

Microbaze-arkkitehtuuri

MicroBlaze-prosessorin lohkokaavio on esitetty alla. Tämä MicroBlaze-prosessori on erittäin muokattavissa ja se tukee yli 70 suunnitteluvaihtoehtoa. Tämä arkkitehtuuri näyttää pysyviä laitteisto-ominaisuuksia sekä konfiguroitavia vaihtoehtoja, kuten käsky- tai tietovälimuisti, muistinhallintayksikkö, liukulukuyksikkö jne.

An upotettu järjestelmä MicroBlaze-prosessorin ympärille koottu sisältää pääasiassa MicroBlaze-pehmeän prosessoriytimen, on-chip paikallismuistin, vakioväyläliitännät ja OPB-oheislaitteet (on-chip Peripheral Bus). MicroBlaze-prosessorijärjestelmä vaihtelee pääasiassa paikallisen muistin prosessoriytimestä suureen järjestelmään, joka sisältää useita MicroBlaze-laitteita. prosessorit , ulkoinen muisti ja monet OPB-oheislaitteet.

  Microblaze-prosessoriarkkitehtuuri
Microblaze-prosessoriarkkitehtuuri

Pehmeä prosessoriydin

MicroBlazen pehmeä prosessoriydin on MicroBlazen sulautetun järjestelmän keskeinen osa. Tämä on erittäin nopea ja tehokas 32-bittinen RISC-prosessori, jolla on seuraavat ominaisuudet.

  • Ohjesarja on ortogonaalinen.
  • Erilliset data- ja ohjeväylät.
  • 32-bittiset yleiskäyttöiset rekisterit.
  • Siinä on valinnainen täydellinen 32-bittinen piippuvaihde.
  • Sisäänrakennetut liitännät nopeaan OCM- tai on-chip-muistiin ja IBM:n alan standardi OPB:hen (On-chip Peripheral Bus).

Virtex-II:n ja myöhempien laitteiden toteutukset tukevat useita laitteistoja.

Sirulla oleva paikallinen muisti

Synkroninen muisti on paikallinen muisti, jota käytetään pääasiassa sallimaan sirun lohko-RAM.

Vakioväyläliitännät

Väyläliitännät käsky- ja datapuolella sisältävät liitännän paikalliseen muistiin, jota kutsutaan LMB:ksi (Local Memory Bus) ja liittymän IBM:n piirin oheisväylään. Voimme siis suunnitella järjestelmiä, jotka pysyvät tiukasti Harvardin arkkitehtuurissa, muuten voimme jakaa resursseja käyttää yhtä OPB:tä yhdistelmässä väylävälittäjän kautta.

Paikallinen muistiväylä antaa varman yksijaksoisen pääsyn sirulohkon RAM-muistille. Tämä on erittäin tehokas, yksinkertainen ja yhden pääväylän protokolla, ja se sopii täydellisesti nopean paikallisen muistin liittämiseen. OPB tai On-chip Peripheral Bus on 32-bittinen laaja monipääväylä, joka sopii täydellisesti oheislaitteiden ja ulkoisen muistin yhdistämiseen MicroBlaze-prosessorin ytimeen.

On-chip oheislaitteiden väylän oheislaitteet

MicroBlaze-laitteistojärjestelmän täydentävät OPB-oheislaitteet tarjoamaan erilaisia ​​toimintoja, kuten Watchdog Timer tai Timebase, yleiskäyttöinen ajastin tai laskurit, IC (keskeytysohjain), erilaisia ​​ohjaimia, kuten SRAM, Flash-muisti, ZBT-muisti, BRAM, DDR, SDRAM, UART Lite , SPI, I2C, yleiskäyttöinen I/O, UART 16450/550 ja Ethernet 10/100 MAC. Lisäksi voimme myös lisätä ja määrittää oheislaitteita pääasiassa mukautettuja toimintoja varten, muuten liitäntä FPGA:ssa olevaan suunnitteluun.

Microblaze-ohjesarja

Microblaze-käskysarjat ovat aritmeettinen, logiikka, haara, lataus/varasto ja muut. Kaikkien ohjeiden koko on kiinteä. Operandeina voidaan antaa enintään 3 rekisteriä. Microblaze sisältää kaksi ohjemuotoa Type A ja Type B, jotka on esitetty alla.

Tyypin A käskymuotoa käytetään pääasiassa rekisteri-rekisteri-ohjeissa. Joten se sisältää opkoodin, yhden kohteen ja kaksi lähderekisteriä. Tyypin B käskymuotoa käytetään pääasiassa rekisterivälittävissä käskyissä, jotka sisältävät opkoodin, yhden kohteen ja yhden lähteen rekisterit. & 16-bittisen välittömän arvon lähteen.

  Ohjemuodot
Ohjemuodot

Edellä mainituissa kahdessa käskymuodossa operaatiokoodi on toimintakoodi, Rd on kohderekisteri, joka on koodattu 5-bitillä, Ra & Rb ovat lähderekisterejä, joissa kumpikin on koodattu 5-bittisellä ja Välitön on 16-bittinen arvo.

Aritmeettiset ohjeet

Tyypin A ja tyypin B aritmeettiset ohjeet on annettu alla.

A tyypin

ADD Rd, Ra, Rb

lisätä

Rd = Ra+Rb, Kantolippu vaikuttaa

ADD K Rd, Ra, Rb

Lisää ja pidä mukana

Rd = Ra+Rb, kuljetuslippu ei vaikuta

RSUB Rd, Ra, Rb

Käänteinen vähennys

Rd = R-Rb, kuljetuslippu ei vaikuta

Tyyppi B

ADD I Rd, Ra, Imm

lisää heti

Rd = Ra+merkkiExtend32 (Imm)

LISÄÄ IK Rd, Ra, Imm

lisää heti ja pidä mukana

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

käänteinen vähennys välittömästi

Rd = Ra+ merkki Jatka32 (Imm) -Ra

SRA Rd, Ra

aritmeettinen siirto oikealle

Rd = (Ra>>1)

Logiikkaohjeet

Tyypin A ja tyypin B logiikkaohjeet annetaan alla.

A tyypin

TAI Rd, Ra, Rb

Looginen tai

Rd = Ra| Rb

JA Rd,Ra,Rb

Looginen lisäys

Rd = Ra & Rb
XOR Rd, Ra, Rb

Logoinen xor

Rd = Rb ^ Rb

ANDN Rd, Ra, Rb

Loogista ja ei

Rd = Ra & (Rb)

Tyyppi B

ORI  Rd, Ra, Imm

looginen TAI välittömällä

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

looginen JA välittömällä

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

logoinen XOR välittömällä

Rd = Ra ^ merkkiExtend32 (Imm)

ANDNI Rd, Ra, Imm

Looginen EIKÄ välittömällä

Rd = Ra & (merkkiExtend32 (Imm))

Sivukonttorin ohjeet – ehdoton

Muokkaa ohjelmalaskurirekisteriä

BRID Imm

haara välittömästi viipymättä

PC = PC+ merkkiExtend32 (Imm)

salli viiveen suoritus

BRLID Rd, Imm

haara ja linkki välittömästi välittömällä viiveellä (toimintokutsu)

Rd = PC

PC = PC+& signExtend32 (Imm)

salli viiveen suoritus

RTSD  Ra, Imm

paluu aliohjelmasta

PC = Ra + merkkiExtend32 (Imm)

salli viiveen suoritus

RTID Ra, Imm

paluu keskeytyksestä

PC = Ra + merkkiExtend32 (Imm)

salli viiveen suoritus

aseta keskeytyksen salliminen MSR:ssä

Sivukonttorin ohjeet – ehdoton1

Vaihda ohjelmalaskurirekisteriä, kun ehto täyttyy

BEQI Ra, Imm

haara jos yhtä suuri

PC = PC+ merkkiExtend32 (Imm)

Jos Ra = 0

MASH Ra, Imm

haara jos ei ole yhtä suuri

Rd = PC

PC = PC+& signExtend32 (Imm)

Jos Ra! = 0

Sivukonttorin ohjeet - ehdoton2

Vaihda ohjelmalaskurirekisteriä, kun ehto täyttyy

BLTI  Ra, imm

haara jos pienempi kuin

PC = PC+ merkkiExtend32 (Imm)

Jos Ra < 0

BLEI Ra, Imm

haara, jos pienempi on yhtä suuri kuin

Rd = PC

PC = PC+& signExtend32 (Imm)

Jos Ra!< = 0

BGTI Ra, Imm

haara jos suurempi kuin

PC = PC+ merkkiExtend32 (Imm)

Jos Ra!> 0

BGEI Ra, Imm

haara jos suurempi yhtä suuri kuin

PC = PC+merkkiExtend32 (Imm)

Jos Ra!>= 0

Lataus-/Säilytysohjeet - Tyyppi A

LW Rd, Ra, Rb

Lataa sana

Osoite = Ra+Rb

Rd = *Osoite

SW Rd, Ra, Rb

Tallenna sana

Osoite – Ra+Rb

*Osoite = Rd

Tyyppi B

LWI  Rd, Ra, Imn

Lataa sana välittömästi

Osoite = Ra + merkkiExtend32 (Imm)

Rd = *Osoite

SW Rd, Ra, Imm

Tallenna sana välittömästi

Osoite = Ra + merkkiExtend32 (Imm)

*Osoite = Rd

Muut ohjeet

IMM, Imm

välittömästi

Laajenna edellisen tyypin B käskyn Imm 32-bittiseksi.
MFS Rd, Sa

Siirrä erikoisrekisteristä

Rd = Sa

Sa- erikoisrekisteri, lähdeoperandi

MTS Sd, Ra

Siirry erikoisrekisteriin

Sd = Ra

Sd – erikoisrekisteri, kohdeoperandi

Rekisterit

MicroBlaze-prosessorin arkkitehtuuri on täysin ortogonaalinen, joka sisältää 32-bittiset yleiskäyttöiset rekisterit ja 32-bittiset erikoisrekisterit, kuten Program Counter & Machine Status Register.

Putkilinja-arkkitehtuuri

MicroBlaze käyttää 3-vaiheista liukuhihna-arkkitehtuuria, joka sisältää nouto-, dekoodaus- ja viimeistelyvaiheet. Tietojen edelleenlähetys, haarat ja putkilinjan pysähtyminen määritetään automaattisesti laitteiston sisällä.

Lataa tai säilytä arkkitehtuuri

MicroBlaze tukee muistia kolmessa tietokoossa: 8 bittiä (tavu), 16 bittiä (puolisana) ja 32 bittiä (Word). Muistikäytöt ovat siis aina tietokoon mukaisia. Tämä on Big-Endian-prosessori, joka käyttää Big-Endian-osoitteen osoitetta sekä merkintäkäytäntöjä muistiin pääsyn yhteydessä.

Keskeyttää

Kun keskeytys tapahtuu, tämä prosessori lopettaa nykyisen suorituksen hallitakseen keskeytyspyyntöä haaroituksella keskeyttääkseen vektoriosoitteen ja tallentaakseen suoritettavan käskyosoitteen. Tämä prosessori pysäyttää tulevat keskeytykset tyhjentämällä IE (Interrupt Enable) -lipun MSR:stä (Machine Status Register).

Miten Microblaze toimii?

MicroBlaze-prosessori tukee 32-bittistä väyläleveyttä ja tämä prosessoriydin on RISC-pohjainen moottori, joka sisältää 32-bittiseen LUT-RAM-muistiin perustuvan rekisteritiedoston erillisillä muisti- ja tiedonkäyttöohjeilla.
Tämä prosessori yksinkertaisesti tukee sekä sirulla olevaa BlockRAM-muistia että ulkoista muistia. Samanlainen kuin IBM PowerPC; kaikki oheislaitteet käyttävät samanlaista CoreConnect OPB -väylää niin; prosessorin oheislaitteet ovat hyvin yhteensopivia Virtex-II Pron PowerPC:n kanssa.

MicroBlaze-prosessori tarjoaa täydellisen joustavuuden valita muistin, oheislaitteiden ja liitäntäominaisuuksien yhdistelmä, joka tarjoaa sinulle tarvitsemasi tarkan järjestelmän yhdellä FPGA:lla halvemmalla.

Ero B/W Microblaze vs Risc-V

The ero MicroBlazen ja RISC v:n välillä Sisällytä seuraavat.

Microblaze

Riski-V

Se on pehmeä mikroprosessoriydin, joka on suunniteltu pääasiassa Xilinx FPGA:lle.

RISC-V on RISC-periaatteisiin perustuva käskysarjaarkkitehtuuri.

Se käyttää Harvardin RISC-arkkitehtuuria. Se käyttää ohjesarjan arkkitehtuuria.
Sen lisenssi on oma (Xilinx) Sen lisenssi on avoimen lähdekoodin.
Putkilinjan syvyys on 3 tai 5. Putkilinjan syvyys on 5.
Sen suorituskyky on 280 DMIP:tä. Sen suorituskyky on 250 DMIP:tä.
Sen nopeus on 235 MHz. Sen nopeus on 250 MHz.
Siinä on 1027 LUT:ta. Siinä on 4125 LUT:ta.
Käytetty teknologia on Xilinx FPGA. Käytetty teknologia on FPGA/ASIC.

Microblazen edut

The MicroBlazen edut Sisällytä seuraavat.

  • Se on taloudellista.
  • Se on erittäin konfiguroitavissa.
  • Sen suorituskyky on korkea verrattuna ARM:iin.
  • Sitä tukee sulautettu kehityspaketti.
  • Se on pehmeä mikroprosessori ydin.
  • Sovelluksen nopean järjestämisen helpottamiseksi tämä prosessori sisältää kolme kiinteää kokoonpanoa, jotka liittyvät tunnettuihin prosessoriluokkiin mikrokontrolleri, reaaliaikainen ja sovellusprosessori.

Microblaze-sovellukset

The MicroBlazen sovelluksia Sisällytä seuraavat.

  • Tämä prosessori täyttää monet erilaiset sovellusvaatimukset, kuten teollisuus-, auto-, lääketieteellinen ja kuluttaja- jne.
  • MicroBlazen sovellukset vaihtelevat yksinkertaisista ohjelmistopohjaisista tilakoneista monimutkaisiin ohjaimiin, joita käytetään sulautetuissa sovelluksissa tai Internet-pohjaisissa laitteissa.
  • Se on optimoitu sulautettuihin sovelluksiin, kuten teollisuusohjaus, toimistoautomaatio ja autoteollisuus.
  • MicroBlaze pystyy kommunikoimaan suuren joukon oheislaitteita, jotka sopivat keskikokoisiin sovelluksiin.
  • Tämän prosessorin pehmeä luonne tekee siitä räätälöitävissä erilaisiin sovelluksiin, joissa suunnittelijat voivat vaihtaa ominaisuuksia koon mukaan hinta- ja suorituskykytavoitteiden saavuttamiseksi lääketieteen, autoteollisuuden, teollisuuden ja turvallisuussovelluksissa.

Tästä siis kaikesta on kyse Yleiskatsaus Microblazesta prosessori. Tämä on täysin varusteltu, 32-bittinen ohjelmoitava RISC-pehmeä prosessoriydin. Tämä prosessori täyttää erilaiset vaatimukset eri aloilla, kuten kuluttaja-, lääke-, teollisuus-, auto- ja viestintäinfrastruktuurimarkkinoilla. Se on erittäin konfiguroitavissa, joten sitä käytetään sulautettuna prosessorina tai mikro-ohjaimena FPGA:ssa, muuten kuin ARM:n apuprosessori. Tässä on kysymys sinulle, mikä on FPGA?