„MicroBlaze“ procesorius buvo sukurtas 2002 m., siekiant integruoti keletą sudėtingų funkcijų, kad atitiktų naujus ir augančius rinkos poreikius. Taigi, „MicroBlaze“ procesorius yra esminis „Xilinx“ žemos klasės portfelio elementas, leidžiantis greičiau kurti sistemą, kurioje yra „Artix®-7“. FPGA , Spartan®-6, Zynq®-7000 AP SoCs. Šis procesorius yra labai konfigūruojamas, todėl jį galima naudoti kaip įterptąjį procesorių arba mikrovaldiklį FPGA, taip pat naudoti kaip bendrą procesorių Zynq-7000 AP SoC, pagrįstuose ARM Cortex-A9. Šiame straipsnyje pateikiama trumpa informacija apie MicroBlaze procesorius – architektūra ir darbas su programomis.
Kas yra Microblaze procesorius?
Minkštas mikroprocesorius, kuris daugiausia skirtas Xilinx FPGA, yra žinomas kaip MicroBlaze procesorius. Šis procesorius tiesiog įdiegtas bendros paskirties Xilinx FPGA atmintyje ir loginėje sistemoje. Šis procesorius yra panašus į DLX architektūrą, pagrįstą RISC, ir turi lanksčią sujungimo sistemą, kad palaikytų įvairias įterptas programas. Pagrindinė „MicroBlaze“ įvesties / išvesties magistralė ir AXI jungtis yra operacijų magistralė, susieta su atmintimi ir valdančiojo-pavaldžios priemone.
„MicroBlaze“ naudoja tam skirtą LMB magistralę, kad pasiektų vietinę atmintį ir užtikrina greitą lusto saugyklą. Daugelį šio procesoriaus dalių galima sukonfigūruoti naudotojas, pvz., talpyklos dydį, konvejerinės atminties valdymo bloko gylį, įterptuosius periferinius įrenginius ir magistralės sąsajas.
„Microblaze“ savybės
The „Microblaz“ ypatybės e įtraukti toliau nurodytus dalykus. Jame yra 32 bendrosios paskirties registrai.
- Jame yra 32 bitų nurodymų žodžiai, įskaitant 2 adresavimo režimus ir 3 operandus.
- Adresų magistralė yra 32 bitų.
- Jis turi 3 pakopų dujotiekį arba 5 pakopų vamzdyną.
- ALU blokas su perjungikliu.
- Harvardo architektūra apima 32 bitų duomenų ir adresų magistralę.
- Duomenų sąsaja ir LMB arba vietinės atminties magistralės instrukcija.
- AX14 ir AX14 srauto sąsajos.
- Slankaus kablelio ir atminties valdymo blokas.
- Jis palaiko lockstep.
- Derinimo ir sekimo sąsaja.
„Microbaze“ architektūra
„MicroBlaze“ procesoriaus blokinė schema parodyta žemiau. Šis MicroBlaze procesorius yra labai pritaikomas ir palaiko daugiau nei 70 dizaino parinkčių. Ši architektūra rodo nuolatines aparatinės įrangos funkcijas, taip pat konfigūruojamas parinktis, pvz., Instrukcijų arba duomenų talpyklą, atminties valdymo bloką, slankiojo kablelio įrenginį ir kt.
An integruota sistema Surenkamas aplink „MicroBlaze“ procesorių, daugiausia apima „MicroBlaze“ minkštą procesoriaus šerdį, vietinę lustą, standartines magistralės jungtis ir OPB periferinius įrenginius (lusto periferinę magistralę). „MicroBlaze“ procesoriaus sistema daugiausia apima nuo vietinės atminties procesoriaus branduolio iki didelės sistemos, įskaitant keletą „MicroBlaze“. procesoriai , išorinė atmintis ir daug OPB išorinių įrenginių.
Minkštas procesoriaus branduolys
Minkštas MicroBlaze procesoriaus branduolys yra MicroBlaze įterptosios sistemos pagrindas. Tai labai greitas ir efektyvus 32 bitų RISC procesorius, turintis šias funkcijas.
- Instrukcijų rinkinys yra stačiakampis.
- Atskiros duomenų ir instrukcijų magistralės.
- 32 bitų bendrosios paskirties registrai.
- Jame yra pasirenkamas pilnas 32 bitų cilindrinis perjungiklis.
- Integruotos sąsajos su greita OCM arba lustine atmintimi ir IBM pramonės standartu OPB (On-chip Peripheral Bus).
Įdiegimai Virtex-II ir vėlesniuose įrenginiuose palaiko daugybę techninės įrangos.
Mikroschemos vietinė atmintis
Sinchroninė atmintis yra vietinė atmintis, kuri daugiausia naudojama lustai blokuoti RAM.
Standartinės autobusų jungtys
Instrukcijų ir duomenų pusės magistralės sąsajos apima sąsają su vietine atmintimi, kuri vadinama LMB (vietinės atminties magistrale) ir sąsają su IBM lusto periferine magistrale. Taigi galime kurti sistemas, kurios griežtai laikosi Harvardo architektūros, kitu atveju, norėdami dalytis ištekliais, galime naudoti vieną OPB derinyje per magistralės arbitrą.
Vietinė atminties magistralė užtikrina vieno ciklo įėjimą į lusto bloko RAM. Tai labai efektyvus, paprastas ir vieno pagrindinio magistralės protokolas, puikiai tinkantis greitai susieti vietinę atmintį. OPB arba On-chip periferinė magistralė yra 32 bitų plati daugiafunkcinė magistralė, kuri puikiai tinka periferiniams įrenginiams ir išorinei atminčiai sujungti su MicroBlaze procesoriaus šerdimi.
Mikroschemos periferiniai autobusų periferiniai įrenginiai
„MicroBlaze“ aparatinės įrangos sistemą užbaigia OPB periferiniai įrenginiai, kad būtų galima teikti įvairias funkcijas, tokias kaip „Watchdog“ laikmatis arba „Timebase“, bendrosios paskirties laikmatis arba skaitikliai, IC (pertraukimo valdiklis), įvairūs valdikliai, tokie kaip SRAM, „Flash“ atmintis, ZBT atmintis, BRAM, DDR, SDRAM, UART Lite. , SPI, I2C, bendrosios paskirties I/O, UART 16450/550 ir Ethernet 10/100 MAC. Be to, mes taip pat galime pridėti ir apibrėžti periferinius įrenginius, daugiausia skirtus pasirinktinėms funkcijoms, kitu atveju sąsają su dizainu, kuris yra FPGA.
Microblaze instrukcijų rinkinys
„Microblaze“ instrukcijų rinkiniai yra aritmetika, logika, šaka, įkėlimas/saugojimas ir kt. Visų instrukcijų dydis yra fiksuotas. Daugiausia 3 registrai gali būti pateikti kaip operandai. „Microblaze“ apima du A ir B tipo instrukcijų formatus, kurie parodyti žemiau.
A tipo nurodymų formatas daugiausia naudojamas registro-registro instrukcijoms. Taigi jis apima opcode, vieną paskirties vietą ir du šaltinio registrus. B tipo komandų formatas daugiausia naudojamas registro tiesioginėms komandoms, kurios apima operacijos kodą, vieną paskirties vietą ir vieno šaltinio registrus. ir 16 bitų tiesioginės reikšmės šaltinį.
Pirmiau minėtuose dviejuose komandų formatuose opkodas yra operacijos kodas, Rd yra paskirties registras, užkoduotas 5 bitais, Ra ir Rb yra šaltinio registrai, kurių kiekvienas užkoduotas 5 bitais, o Immediate yra 16 bitų reikšmė.
Aritmetiniai nurodymai
Toliau pateikiamos A ir B tipo aritmetinės instrukcijos.
A tipas
ADD Rd, Ra, Rb papildyti |
Rd = Ra+Rb, paveikta nešiojimo vėliavėlė |
PRIDĖTI K Rd, Ra, Rb Pridėti ir nešioti |
Rd = Ra+Rb, nešiojimo vėliavėlė nepaveikta |
RSUB Rd, Ra, Rb Atvirkščiai atimti |
Rd = R-Rb, nešiojimo vėliavėlė nepaveikta |
B tipas
ADD I Rd, Ra, Imm pridėti nedelsiant |
Rd = Ra + ženklas Extend32 (Imm) |
PRIDĖTI IK Rd, Ra, Imm nedelsdami pridėkite ir nešiokite |
Rd = Ra+ ženklas Extend32 (Imm) |
RSUBIK Rd, Ra, Imm atvirkštinis atimtis su tiesioginiu |
Rd = Ra+ ženklas Extend32 (Imm) -Ra |
SRA Rd, Ra aritmetinis poslinkis į dešinę |
Rd = (Ra>>1) |
Logikos instrukcijos
A ir B tipo loginės instrukcijos pateiktos toliau.
A tipas
ARBA Rd, Ra, Rb Logiška arba |
Rd = Ra| Rb |
IR Rd, Ra, Rb Logiškas papildymas |
Rd = Ra ir Rb |
XOR Rd, Ra, Rb Loginis xor |
Rd = Rb ^ Rb |
ANDN Rd, Ra, Rb Logiška ir ne |
Rd = Ra & (Rb) |
B tipas
ORI Rd, Ra, Imm loginis ARBA su tiesioginiu |
Rd = Ra | signExtend32 (Imm) |
ANDI Rd, Ra, Imm logiškas IR su tiesioginiu |
Rd = Ra ir ženklas Extend32 (Imm) |
XORI Rd, Ra, Imm logiškas XOR su nedelsiant |
Rd = Ra ^ ženklas Extend32 (Imm) |
ANDNI Rd, Ra, Imm Logiška IR NE su nedelsiant |
Rd = Ra & (signExtend32 (Imm)) |
Filialo instrukcijos – besąlyginės
Pakeiskite programų skaitiklio registrą
BRID Imm filialas nedelsiant nedelsiant |
PC = PC+ signExtend32 (Imm) leisti uždelsimo lizdo vykdymą |
BRLID Rd, Imm atšaka ir susiejama nedelsiant su nedelsiant uždelsiant (funkcijos iškvietimas) |
Rd = PC PC = PC+& signExtend32 (Imm) leisti uždelsimo lizdo vykdymą |
RTSD Ra, Imm grįžimas iš paprogramės |
PC = Ra + ženklas Extend32 (Imm) leisti uždelsimo lizdo vykdymą |
RTID Ra, Imm grįžti iš pertraukos |
PC = Ra + ženklas Extend32 (Imm) leisti uždelsimo lizdo vykdymą nustatykite pertraukimo įgalinimą MSR |
Filialo instrukcijos – besąlyginis1
Pakeiskite Programų skaitiklio registrą, kai įvykdoma sąlyga
BEQI Ra, Imm šaka, jei lygi |
PC = PC+ signExtend32 (Imm) Jei Ra = 0 |
MASH Ra, Imm šaka, jei ne lygi |
Rd = PC PC = PC+& signExtend32 (Imm) Jei Ra! = 0 |
Filialo instrukcijos – besąlyginis2
Pakeiskite Programų skaitiklio registrą, kai įvykdoma sąlyga
BLTI Ra, Imm šaka, jei žemesnė už |
PC = PC+ signExtend32 (Imm) Jei Ra < 0 |
BLEI Ra, Imm šaka, jei žemesnė lygi |
Rd = PC PC = PC+& signExtend32 (Imm) Jei Ra!< = 0 |
BGTI Ra, Imm šaka, jei didesnė už |
PC = PC+ signExtend32 (Imm) Jei Ra!> 0 |
BGEI Ra, Imm šaka, jei didesnė lygi |
PC = kompiuteris + ženklasExtend32 (Imm) Jei Ra!>= 0 |
Įkrovimo / sandėliavimo instrukcijos – A tipas
LW Rd, Ra, Rb Įkelti žodį |
Adresas = Ra+Rb Rd = *Adresas |
SW Rd, Ra, Rb Išsaugoti žodį |
Adresas – Ra+Rb *Adresas = Rd |
B tipas
LWI Rd, Ra, Imn Nedelsiant įkelkite žodį |
Adresas = Ra + ženklas Extend32 (Imm) Rd = *Adresas |
SW Rd, Ra, Imm Išsaugokite žodį iš karto |
Adresas = Ra + ženklas Extend32 (Imm) *Adresas = Rd |
Kitos instrukcijos
IMM, Imm nedelsiant |
Išplėskite ankstesnės B tipo komandos Imm iki 32 bitų. |
MFS Rd, Sa Perkelti iš specialios paskirties registro |
Rd = Sa Sa- specialios paskirties registras, šaltinio operandas
|
MTS Sd, Ra Perkelti į specialios paskirties registrą |
Sd = Ra Sd – specialios paskirties registras, paskirties operandas |
Registrai
„MicroBlaze“ procesoriaus architektūra yra visiškai stačiakampė, apimanti 32 bitų bendrosios paskirties registrus ir 32 bitų specialios paskirties registrus, tokius kaip programos skaitiklis ir mašinos būsenos registras.
Vamzdynų architektūra
„MicroBlaze“ naudoja 3 pakopų konvejerio architektūrą, įskaitant gavimo, dekodavimo ir užbaigimo etapus. Automatiškai aparatinėje įrangoje nustatomi duomenų persiuntimai, atšakos ir vamzdyno sustojimas.
Įkelkite arba išsaugokite architektūrą
„MicroBlaze“ palaiko trijų duomenų dydžių atmintį: 8 bitų (baitų), 16 bitų (pusės žodžio) ir 32 bitų (Word). Taigi, atminties prieigos visada suderinamos pagal duomenų dydį. Tai yra „Big-Endian“ procesorius, kuris naudoja „Big-Endian“ adreso adresą ir ženklinimo taisykles, kai pasiekia atmintį.
Pertraukia
Kai įvyksta pertraukimas, šis procesorius baigs dabartinį vykdymą, kad sutvarkytų pertraukimo užklausą per šakojimą, kad pertrauktų vektorinį adresą ir išsaugotų komandos adresą, kurį reikia vykdyti. Šis procesorius sustabdys būsimus pertraukimus, išvalydamas IE (pertraukimo įjungimo) vėliavėlę MSR (mašinos būsenos registre).
Kaip veikia Microblaze?
„MicroBlaze“ procesorius palaiko 32 bitų magistralės plotį, o šis procesoriaus branduolys yra RISC pagrįstas variklis, kuriame yra registro failas, pagrįstas 32 bitų LUT RAM, naudojant atskiras atminties ir duomenų prieigos instrukcijas.
Šis procesorius tiesiog palaiko ir lustinę BlockRAM, ir išorinę atmintį. Panašus į IBM PowerPC; visi išoriniai įrenginiai naudoja panašią CoreConnect OPB magistralę; procesoriaus periferiniai įrenginiai yra gerai suderinti su PowerPC Virtex-II Pro.
„MicroBlaze“ procesorius suteikia visišką lankstumą pasirenkant atminties, periferinių įrenginių ir sąsajos funkcijų derinį, kuris suteiks jums tikslią sistemą, kurios jums reikia viename FPGA už mažesnę kainą.
Skirtumas B/W Microblaze vs Risc-V
The skirtumas tarp MicroBlaze ir RISC v įtraukti toliau nurodytus dalykus.
Mikroblaze |
Risc-V |
Tai minkštas mikroprocesoriaus šerdis, daugiausia sukurtas Xilinx FPGA.
|
RISC-V yra instrukcijų rinkinio architektūra, pagrįsta RISC principais.
|
Jis naudoja Harvardo RISC architektūrą. | Jis naudoja instrukcijų rinkinio architektūrą. |
Jo licencija yra patentuota (Xilinx) | Jo licencija yra atvirojo kodo. |
Dujotiekio gylis yra 3 arba 5. | Dujotiekio gylis yra 5. |
Jo našumas yra 280 DMIP. | Jo našumas yra 250 DMIP. |
Jo greitis yra 235 MHz. | Jo greitis yra 250 MHz. |
Jame yra 1027 LUT. | Jame yra 4125 LUT. |
Naudojama technologija yra Xilinx FPGA. | Naudojama technologija yra FPGA/ASIC. |
Microblaze privalumai
The MicroBlaze pranašumai įtraukti toliau nurodytus dalykus.
- Tai ekonomiška.
- Jis yra labai konfigūruojamas.
- Jo našumas yra aukštas, palyginti su ARM.
- Jį palaiko integruotas kūrimo rinkinys.
- Tai minkštas mikroprocesorius šerdis.
- Kad padėtų jums greitai sutvarkyti programą, šis procesorius turi tris fiksuotas konfigūracijas, kurios yra susijusios su gerai žinomomis procesorių klasėmis mikrovaldikliu, realiuoju laiku ir programų procesoriumi.
„Microblaze“ programos
The „MicroBlaze“ programos įtraukti toliau nurodytus dalykus.
- Šis procesorius atitinka daugybę skirtingų taikomųjų programų, pvz., pramoninių, automobilių, medicinos ir vartotojų reikalavimų.
- „MicroBlaze“ taikomosios programos svyruoja nuo paprastų būsenos mašinų, pagrįstų programine įranga, iki sudėtingų valdiklių, naudojamų įterptosiose programose ar internetiniuose įrenginiuose.
- Jis optimizuotas įterptoms programoms, pvz., pramoniniam valdymui, biuro automatizavimui ir automobiliams.
- „MicroBlaze“ gali palaikyti ryšį su dideliu periferinių įrenginių rinkiniu, kad tiktų vidutinio dydžio programoms.
- Dėl švelnaus šio procesoriaus pobūdžio jį galima pritaikyti įvairioms programoms, kur dizaineriai gali keisti funkcijas į dydį, kad atitiktų medicinos, automobilių, pramonės ir saugumo programų kainos ir našumo tikslus.
Taigi, visa tai yra apie Microblaze apžvalga procesorius. Tai pilnai aprūpintas 32 bitų programuojamas RISC minkštas procesoriaus branduolys. Šis procesorius atitinka skirtingus reikalavimus įvairiose srityse, pavyzdžiui, vartotojų, medicinos, pramonės, automobilių ir ryšių infrastruktūros rinkose. Jis yra labai konfigūruojamas, todėl naudojamas kaip įterptasis procesorius arba mikrovaldiklis FPGA, kitaip kaip ARM bendras procesorius. Štai jums klausimas, kas yra FPGA?