Kas yra „Microblaze“ procesorius: architektūra, darbas ir programos

Kas yra „Microblaze“ procesorius: architektūra, darbas ir programos

„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ų.

  „Microblaze“ procesoriaus architektūra
„Microblaze“ procesoriaus architektūra

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

  Instrukcijų formatai
Instrukcijų formatai

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?