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