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.
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.
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?