Mis on Microblaze'i protsessor: arhitektuur, töö ja selle rakendused

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





MicroBlaze'i protsessor töötati välja 2002. aastal, et integreerida mitmeid keerulisi funktsioone, et vastata nii uuele kui ka kasvavale turunõudlusele. Seega on MicroBlaze'i protsessor Xilinxi madala kvaliteediga portfellis oluline element, et võimaldada Artix®-7 sisaldava süsteemi kiiremat arendamist. FPGA-d , Spartan®-6, Zynq®-7000 AP SoC-d. See protsessor on äärmiselt konfigureeritav, nii et seda saab kasutada sisseehitatud protsessorina või mikrokontrollerina FPGA-des ning kaasprotsessorina ARM Cortex-A9-l põhinevates Zynq-7000 AP SoC-des. See artikkel annab lühikest teavet selle kohta MicroBlaze protsessor – arhitektuur ja rakendustega töötamine.


Mis on Microblaze protsessor?

Pehme mikroprotsessor, mis on mõeldud peamiselt Xilinxi FPGA-de jaoks, on tuntud kui MicroBlaze protsessor. See protsessor on lihtsalt rakendatud Xilinxi FPGA-de üldotstarbelises mälus ja loogikas. See protsessor sarnaneb RISC-l põhineva DLX-arhitektuuriga ja sellel on paindlik ühendussüsteem, nii et see toetab erinevaid manustatud rakendusi. MicroBlaze'i peamine sisend-/väljundsiin ja AXI ühendus on mäluga kaardistatud tehingusiin koos ülem-alluv-funktsiooniga.



MicroBlaze kasutab kohalikule mälule juurdepääsuks spetsiaalset LMB siini ja pakub kiiret kiibil olevat salvestusruumi. Paljusid selle protsessori osi saab kasutaja konfigureerida, näiteks vahemälu suurust, konveieri mäluhaldusüksuse sügavust, manustatud välisseadmeid ja siiniliideseid.

Microblaze'i omadused

The Microblazi omadused e sisaldama järgmist. Sellel on 32 üldotstarbelist registrit.



  • Sellel on 32-bitised käsusõnad, sealhulgas 2 adresseerimisrežiimi ja 3 operandi.
  • Aadressisiin on 32-bitine.
  • Sellel on 3-astmeline torujuhe või 5-astmeline torujuhe.
  • Käigulülitiga ALU plokk.
  • Harvardi arhitektuur sisaldab 32-bitist andme- ja aadressibussi.
  • Andmeliides ja LMB või kohaliku mälusiini juhised.
  • AX14 ja AX14 voo liidesed.
  • Ujukoma üksus ja mäluhaldusüksus.
  • See toetab lockstep'i.
  • Silumise ja jälgimise liides.

Microbaze'i arhitektuur

MicroBlaze'i protsessori plokkskeem on näidatud allpool. See MicroBlaze'i protsessor on äärmiselt kohandatav ja toetab enam kui 70 disainivalikut. See arhitektuur näitab nii püsivaid riistvarafunktsioone kui ka konfigureeritavaid valikuid, nagu juhiste või andmevahemälu, mäluhaldusüksus, ujukomaseade jne.

An sisseehitatud süsteem MicroBlaze'i protsessori ümber kokku pandud sisaldab peamiselt MicroBlaze'i pehmet protsessori südamikku, kiibipõhist kohalikku mälu, standardseid siiniühendusi ja OPB välisseadmeid (kiibi välissiini). MicroBlaze'i protsessorisüsteem ulatub peamiselt protsessori tuumast kohaliku mälu kaudu kuni suure süsteemini, mis sisaldab mitut MicroBlaze'i protsessorid , väline mälu ja paljud OPB välisseadmed.

  Microblaze protsessori arhitektuur
Microblaze protsessori arhitektuur

Pehme protsessorituum

MicroBlaze'i pehme protsessori tuum on MicroBlaze'i manustatud süsteemi kesksel kohal. See on väga kiire ja tõhus 32-bitine RISC-protsessor, millel on järgmised funktsioonid.

  • Käskude komplekt on ortogonaalne.
  • Eraldi andme- ja juhissiinid.
  • 32-bitised üldotstarbelised registrid.
  • Sellel on valikuline täielik 32-bitine tünnilüliti.
  • Sisseehitatud liidesed kiirele OCM-ile või kiibile jäävale mälule ja IBMi tööstusstandardile OPB-le (kiibi välissiinile).

Virtex-II ja hilisemate seadmete rakendused toetavad riistvara mitmekordset kasutamist.

Kiibil olev kohalik mälu

Sünkroonmälu on lokaalne mälu, mida kasutatakse peamiselt kiibil asuva Block RAM-i lubamiseks.

Standardsed bussiühendused

Käskude ja andmete poolel olevad siiniliidesed sisaldavad liidest kohaliku mäluga, mida nimetatakse LMB-ks (kohalik mälusiin) ja liidest IBM-i kiibi välisseadmete siinile. Seega saame kujundada süsteeme, mis jäävad rangelt Harvardi arhitektuurile, vastasel juhul saame ressursside jagamiseks kasutada siini vahekohtuniku kaudu ühte OPB-d.

Kohalik mälusiin annab kindla ühetsüklilise sisestuse kiibiploki RAM-ile. See on väga tõhus, lihtne ja ühe peamise siini protokoll ning sobib suurepäraselt kiire kohaliku mälu liidestamiseks. OPB ehk on-chip Peripheral Bus on 32-bitine lai multimastersiin, mis sobib suurepäraselt välisseadmete ja välismälu ühendamiseks MicroBlaze'i protsessori tuumaga.

Kiibipõhised välisseadmete siini välisseadmed

MicroBlaze'i riistvarasüsteemi täiendavad OPB välisseadmed, et pakkuda erinevaid funktsioone, nagu Watchdog Timer või Timebase, üldotstarbeline taimer või loendurid, IC (katkestuskontroller), erinevad kontrollerid nagu SRAM, välkmälu, ZBT mälu, BRAM, DDR, SDRAM, UART Lite , SPI, I2C, üldotstarbeline I/O, UART 16450/550 ja Ethernet 10/100 MAC. Lisaks saame lisada ja määratleda välisseadmeid peamiselt kohandatud funktsioonide jaoks, vastasel juhul liidese FPGA-s olevale disainile.

Microblaze'i juhiste komplekt

Microblaze'i käsukomplektid on aritmeetika, loogika, haru, laadimine/salvestamine ja teised. Kõikide juhiste suurus on fikseeritud. Operandidena saab anda maksimaalselt 3 registrit. Microblaze sisaldab kahte juhiste vormingut tüüp A ja tüüp B, mis on näidatud allpool.

A-tüüpi käsuvormingut kasutatakse peamiselt registri-registri käskude jaoks. Seega sisaldab see opkoodi, ühte sihtpunkti ja kahte allikaregistrit. B-tüüpi käsuvormingut kasutatakse peamiselt registri vahetute käskude jaoks, mis sisaldavad opkoodi, ühe sihtkoha ja ühe allika registreid. & 16-bitise vahetu väärtuse allika.

  Juhendi vormingud
Juhendi vormingud

Ülaltoodud kahes käsuvormingus on opkood operatsioonikood, Rd on 5-bitisega kodeeritud sihtregister, Ra ja Rb on lähteregistrid, kus igaüks on kodeeritud 5-bitisega ja Immediate on 16-bitine väärtus.

Aritmeetilised juhised

Allpool on toodud A- ja B-tüüpi aritmeetilised juhised.

Tüüp A

ADD Rd, Ra, Rb

lisama

Rd = Ra+Rb, kandev lipp mõjutatud

ADD K Rd, Ra, Rb

Lisa ja kanna kaasas

Rd = Ra+Rb, kandelipp ei mõjuta

RSUB Rd, Ra, Rb

Pöördlahutamine

Rd = R-Rb, kandelipp ei mõjuta

Tüüp B

ADD I Rd, Ra, Imm

lisa kohe

Rd = Ra+märkLaige32 (Imm)

LISA IK Rd, Ra, Imm

lisa kohe ja hoia kaasas

Rd = Ra+ märkLaige32 (Imm)
RSUBIK Rd, Ra, Imm

pöördlahutamine vahetulega

Rd = Ra+ märk Laiendada32 (Imm) -Ra

SRA Rd, Ra

aritmeetiline nihe paremale

Rd = (Ra>>1)

Loogikajuhised

Allpool on toodud A- ja B-tüüpi loogikajuhised.

Tüüp A

VÕI Rd, Ra, Rb

Loogiline või

Rd = Ra| Rb

JA Rd,Ra,Rb

Loogiline lisa

Rd = Ra & Rb
XOR Rd, Ra, Rb

Loogiline xor

Rd = Rb ^ Rb

ANDN Rd, Ra, Rb

Loogiline ja mitte

Rd = Ra & (Rb)

Tüüp B

ORI  Rd, Ra, Imm

loogiline VÕI kohese

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

loogiline JA kohese

Rd = Ra & märgilaiend32 (Imm)
XORI  Rd, Ra, Imm

logoline XOR kohese

Rd = Ra ^ märkLaiendus32 (Imm)

ANDNI Rd, Ra, Imm

Loogiline JA MITTE vahetu

Rd = Ra & (märkExtend32 (Imm))

Harujuhised – tingimusteta

Muutke programmiloendurite registrit

BRID  Imm

haru viivitamatu viivitusega

PC = PC+ signExtend32 (Imm)

lubada viivitusega pesa täitmist

BRLID Rd, Imm

hargnemine ja link viivitamatu viivitusega (funktsiooni kutse)

Rd = arvuti

PC = PC+& signExtend32 (Imm)

lubada viivitusega pesa täitmist

RTSD  Ra, Imm

alamprogrammist naasmine

PC = Ra + märkExtend32 (Imm)

lubada viivitusega pesa täitmist

RTID Ra, Imm

katkestusest naasmine

PC = Ra + märkExtend32 (Imm)

lubada viivitusega pesa täitmist

määrake MSR-is katkestuse lubamine

Harujuhised – tingimusteta1

Kui tingimus on täidetud, muutke programmi loenduri registrit

BEQI Ra, Imm

haru, kui see on võrdne

PC = PC+ signExtend32 (Imm)

Kui Ra = 0

MASH Ra, Imm

haru, kui mitte võrdne

Rd = arvuti

PC = PC+& signExtend32 (Imm)

Kui Ra! = 0

Harujuhised – tingimusteta2

Kui tingimus on täidetud, muutke programmi loenduri registrit

BLTI  Ra, Imm

haru, kui madalam kui

PC = PC+ signExtend32 (Imm)

Kui Ra < 0

BLEI Ra, Imm

haru, kui madalam on võrdne

Rd = arvuti

PC = PC+& signExtend32 (Imm)

Kui Ra!< = 0

BGTI Ra, Imm

haru, kui suurem kui

PC = PC+ signExtend32 (Imm)

Kui Ra!> 0

BGEI Ra, Imm

haru, kui suurem on võrdne

PC = PC+signExtend32 (Imm)

Kui Ra!>= 0

Laadimis-/hoiustamisjuhised – tüüp A

LW Rd, Ra, Rb

Laadi sõna

Aadress = Ra+Rb

Rd = *Aadress

SW Rd, Ra, Rb

salvestage sõna

Aadress – Ra+Rb

*Aadress = Rd

Tüüp B

LWI  Rd, Ra, Imn

Laadige sõna kohe

Aadress = Ra + märkExtend32 (Imm)

Rd = *Aadress

SW Rd, Ra, Imm

Salvestage sõna kohe

Aadress = Ra + märkExtend32 (Imm)

*Aadress = Rd

Muud juhised

IMM, Imm

kohene

Laiendage eelneva B-tüüpi käsu Imm 32-bitiseks.
MFS Rd, Sa

Liikuge eriotstarbelisest registrist

Rd = Sa

Sa- eriotstarbeline register, lähteoperand

MTS Sd, Ra

Liikuge eriotstarbelisesse registrisse

Sd = Ra

Sd – eriotstarbeline register, sihtoperand

Registrid

MicroBlaze'i protsessori arhitektuur on täiesti ortogonaalne, mis sisaldab 32-bitiseid üldotstarbelisi registreid ja 32-bitisi eriotstarbelisi registreid, nagu programmiloendur ja masina olekuregister.

Torujuhtme arhitektuur

MicroBlaze kasutab kolmeastmelist torujuhtme arhitektuuri, mis hõlmab toomise, dekodeerimise ja lõpetamise etappe. Riistvaras määratakse automaatselt andmete edastamine, harud ja torujuhtme seiskumine.

Laadige või salvestage arhitektuur

MicroBlaze toetab mälu kolmes andmesuuruses: 8 bitti (bait), 16 bitti (poolsõna) ja 32 bitti (Word). Seega on mälu juurdepääsud alati andmete suurusega joondatud. See on Big-Endiani protsessor, mis kasutab mälule juurdepääsul nii Big-Endiani aadressi aadressi kui ka sildistamise tavasid.

Katkestab

Kui katkestus toimub, lõpetab see protsessor praeguse täitmise, et hallata katkestustaotlust hargnemise kaudu, et katkestada vektori aadress ja salvestada käivitatava käsu aadress. See protsessor peatab tulevased katkestused, tühjendades MSR-is (masina olekuregistris) lipu IE (katkestuse lubamine).

Kuidas Microblaze töötab?

MicroBlaze'i protsessor toetab 32-bitist siini laiust ja see protsessori tuum on RISC-põhine mootor, mis sisaldab 32-bitisel LUT RAM-il põhinevat registrifaili mälule ja andmetele juurdepääsuks eraldi juhiste kaudu.
See protsessor lihtsalt toetab nii kiibil asuvat BlockRAM-i kui ka välist mälu. Sarnane IBM PowerPC-ga; kõik välisseadmed kasutavad sarnast CoreConnect OPB siini; protsessori välisseadmed sobivad hästi Virtex-II Pro PowerPC-ga.

MicroBlaze'i protsessor pakub täielikku paindlikkust mälu, välisseadmete ja liidese funktsioonide kombinatsiooni valimisel, mis tagab teile täpse süsteemi, mida vajate ühes FPGA-s väiksema kuluga.

Erinevus B/W Microblaze vs Risc-V

The erinevus MicroBlaze'i ja RISC v sisaldama järgmist.

Microblaze

Risk-V

See on pehme mikroprotsessori tuum, mis on mõeldud peamiselt Xilinxi FPGA jaoks.

RISC-V on käsukomplekti arhitektuur, mis põhineb RISC põhimõtetel.

See kasutab Harvardi RISC arhitektuuri. See kasutab käsukomplekti arhitektuuri.
Selle litsents on patenteeritud (Xilinx) Selle litsents on avatud lähtekoodiga.
Torujuhtme sügavus on 3 või 5. Torujuhtme sügavus on 5.
Selle jõudlus on 280 DMIP-i. Selle jõudlus on 250 DMIP-i.
Selle kiirus on 235 MHz. Selle kiirus on 250 MHz.
Sellel on 1027 LUT-d. Sellel on 4125 LUT-d.
Kasutatud tehnoloogia rakendamine on Xilinx FPGA. Kasutatud tehnoloogia on FPGA/ASIC.

Microblaze'i eelised

The MicroBlaze'i eelised sisaldama järgmist.

  • See on ökonoomne.
  • See on väga konfigureeritav.
  • Selle jõudlus on ARM-iga võrreldes kõrge.
  • Seda toetab sisseehitatud arenduskomplekt.
  • See on pehme mikroprotsessor tuum.
  • Rakenduse kiireks korraldamiseks sisaldab see protsessor kolme fikseeritud konfiguratsiooni, mis on seotud tuntud protsessoriklassidega mikrokontroller, reaalajas ja rakendusprotsessor.

Microblaze'i rakendused

The MicroBlaze'i rakendused sisaldama järgmist.

  • See protsessor vastab paljudele erinevatele rakendusnõuetele, nagu tööstus-, auto-, meditsiini- ja tarbijakaitse jne.
  • MicroBlaze'i rakendused ulatuvad lihtsatest tarkvaral põhinevatest olekumasinatest kuni manustatud rakendustes või Interneti-põhistes seadmetes kasutatavate keerukate kontrolleriteni.
  • See on optimeeritud manustatud rakenduste jaoks, nagu tööstuslik juhtimine, kontoriautomaatika ja autotööstus.
  • MicroBlaze on võimeline suhtlema suure hulga välisseadmetega, et sobida keskmise suurusega rakendustesse.
  • Selle protsessori pehme olemus muudab selle kohandatavaks erinevate rakenduste jaoks, kus disainerid saavad vahetada funktsioone suuruse vastu, et täita meditsiini-, auto-, tööstus- ja turvarakenduste hinna- ja jõudluseesmärke.

Seega on see kõik umbes ülevaade Microblaze'ist protsessor. See on täisfunktsionaalne 32-bitine programmeeritav RISC pehme protsessori tuum. See protsessor vastab erinevatele nõuetele erinevates valdkondades, nagu tarbija-, meditsiini-, tööstus-, auto- ja sideinfrastruktuuriturud. See on äärmiselt konfigureeritav, nii et seda kasutatakse FPGA-des manustatud protsessorina või mikrokontrollerina, muidu nagu ARM-i kaasprotsessor. Siin on teile küsimus, mis on FPGA?