Što je Microblaze procesor: arhitektura, rad i njegove primjene

Isprobajte Naš Instrument Za Uklanjanje Problema





Procesor MicroBlaze razvijen je 2002. godine kako bi integrirao nekoliko kompliciranih značajki kako bi zadovoljio nove, ali i rastuće zahtjeve tržišta. Dakle, MicroBlaze procesor je bitan element unutar niskobudžetnog portfelja Xilinxa kako bi se omogućio brži razvoj sustava koji sadrži Artix®-7 FPGA , Spartan®-6, Zynq®-7000 AP SoC. Ovaj procesor je izuzetno konfigurabilan, tako da se može koristiti kao ugrađeni procesor ili mikrokontroler unutar FPGA-a i također koristiti kao koprocesor u Zynq-7000 AP SoC-ovima koji se temelje na ARM Cortex-A9. Ovaj članak daje kratke informacije o MicroBlaze procesor – arhitektura i rad s aplikacijama.


Što je Microblaze procesor?

Meki mikroprocesor koji je dizajniran uglavnom za FPGA Xilinx poznat je kao MicroBlaze procesor. Ovaj procesor je jednostavno implementiran unutar memorije opće namjene i logičke strukture FPGA-a tvrtke Xilinx. Ovaj procesor sličan je DLX arhitekturi koja se temelji na RISC-u i ima fleksibilan sustav međusobnog povezivanja tako da podržava različite ugrađene aplikacije. Glavna ulazno-izlazna sabirnica i AXI interkonekt MicroBlazea je memorijski mapirana transakcijska sabirnica s glavnim i podređenim objektom.



MicroBlaze koristi namjensku LMB sabirnicu za pristup lokalnoj memoriji i pruža brzu pohranu na čipu. Mnogi dijelovi ovog procesora mogu biti konfigurirani od strane korisnika poput veličine predmemorije, dubine cjevovoda jedinice za upravljanje memorijom, ugrađenih perifernih uređaja i sučelja sabirnice.

Značajke Microblaze

The značajke Microblaza e uključuju sljedeće. Ima 32 registra opće namjene.



  • Ima 32-bitne riječi instrukcija uključujući 2 načina adresiranja i 3 operanda.
  • Adresna sabirnica je 32-bitna.
  • Ima 3-stupanjski cjevovod ili 5-stupanjski cjevovod.
  • ALU blok jedinica s mjenjačem.
  • Harvardska arhitektura uključuje 32-bitnu podatkovnu i adresnu sabirnicu.
  • Podatkovno sučelje & LMB ili instrukcija sabirnice lokalne memorije.
  • AX14 i AX14 stream sučelja.
  • Jedinica s pomičnim zarezom i jedinica za upravljanje memorijom.
  • Podržava lockstep.
  • Sučelje za otklanjanje pogrešaka i praćenje.

Microbaze arhitektura

Dolje je prikazan blok dijagram MicroBlaze procesora. Ovaj MicroBlaze procesor iznimno je prilagodljiv i podržava više od 70 opcija dizajna. Ova arhitektura prikazuje stalne hardverske značajke kao i konfigurabilne opcije kao što su predmemorija instrukcija ili podataka, jedinica za upravljanje memorijom, jedinica s pomičnim zarezom itd.

An ugrađeni sustav sastavljen oko MicroBlaze procesora uglavnom uključuje MicroBlaze Soft Processor Core, lokalnu memoriju na čipu, standardne interkonekcije sabirnice i OPB periferne uređaje (periferna sabirnica na čipu). MicroBlaze procesorski sustav uglavnom se kreće od jezgre procesora s lokalnom memorijom do velikog sustava koji uključuje nekoliko MicroBlaze procesori , vanjska memorija i mnoge OPB periferije.

  Arhitektura procesora Microblaze
Arhitektura procesora Microblaze

Meka jezgra procesora

Mekana procesorska jezgra MicroBlaze središnja je za MicroBlaze ugrađeni sustav. Ovo je vrlo brz i učinkovit 32-bitni RISC procesor koji ima sljedeće značajke.

  • Skup instrukcija je ortogonalni.
  • Odvojene sabirnice podataka i uputa.
  • 32-bitni registri opće namjene.
  • Ima dodatni potpuni 32-bitni bačvasti mjenjač.
  • Ugrađena sučelja za brzi OCM ili memoriju na čipu & IBM-ov industrijski standard OPB (On-chip Peripheral Bus).

Implementacije unutar Virtex-II i kasnijih uređaja podržavaju višestruki hardver.

Lokalna memorija na čipu

Sinkrona memorija je lokalna memorija koja se uglavnom koristi za omogućavanje blok RAM-a na čipu.

Standardne sabirničke interkonekcije

Sučelja sabirnice na strani instrukcija i podataka uključuju sučelje za lokalnu memoriju koja se naziva LMB (Local Memory Bus) i sučelje za IBM-ovu perifernu sabirnicu na čipu. Dakle, možemo dizajnirati sustave koji se striktno drže harvardske arhitekture, inače, za dijeljenje resursa, možemo koristiti jedan OPB unutar kombinacije preko magistralnog arbitra.

Lokalna memorijska sabirnica daje osiguran ulaz u jednom ciklusu za blok RAM na čipu. Ovo je vrlo učinkovit, jednostavan protokol sabirnice s jednim glavnim i savršen je za povezivanje brze lokalne memorije. OPB ili On-chip Peripheral Bus je 32-bitna široka multi-master sabirnica koja je savršena za spajanje perifernih uređaja i vanjske memorije s jezgrom MicroBlaze procesora.

Periferne sabirnice na čipu

Hardverski sustav MicroBlaze upotpunjen je OPB periferijama za pružanje različitih funkcija kao što su Watchdog Timer ili Timebase, Timer opće namjene ili Brojači, IC (Interrupt Controller), različiti kontroleri kao što su SRAM, Flash Memory, ZBT Memory, BRAM, DDR, SDRAM, UART Lite , SPI, I2C, I/O opće namjene, UART 16450/550 i Ethernet 10/100 MAC. Osim toga, također možemo dodati i definirati periferne uređaje uglavnom za prilagođene funkcije, inače, sučelje za dizajn koji postoji u FPGA.

Set uputa za Microblaze

Microblaze skupovi instrukcija su aritmetika, logika, grananje, učitavanje/pohranjivanje i drugi. Veličina svih uputa je fiksna. Najviše 3-registra mogu se dati kao operandi. Microblaze uključuje dva formata uputa tipa A i tipa B koji su prikazani u nastavku.

Format instrukcije tipa A uglavnom se koristi za instrukcije registar-registar. Dakle, uključuje operacijski kod, jedno odredište i dva izvorna registra. Format instrukcije tipa B uglavnom se koristi za neposredne instrukcije registra koje uključuju operativni kod, jedno odredište i jedan izvorni registar.& 16-bitni neposredni izvor vrijednosti.

  Formati instrukcija
Formati instrukcija

U gornja dva formata instrukcija, opcode je kod operacije, Rd je odredišni registar koji je kodiran s 5 bita, Ra & Rb su izvorni registri gdje je svaki kodiran s 5 bita, a Immediate je 16-bitna vrijednost.

Aritmetičke upute

U nastavku su dane aritmetičke upute tipa A i tipa B.

Tip A

DODAJTE Rd, Ra, Rb

dodati

Rd = Ra+Rb, pogođena zastavica Nošenja

DODAJ K Rd, Ra, Rb

Dodaj i nastavi nositi

Rd = Ra+Rb, Carry zastavica nije pogođena

RSUB Rd, Ra, Rb

Obrnuto oduzimanje

Rd = R-Rb, Carry zastavica nije pogođena

Tip B

DODAJ I Rd, Ra, Imm

dodati odmah

Rd = Ra+signExtend32 (Imm)

DODAJTE IK Rd, Ra, Imm

dodati odmah i nastaviti nositi

Rd = Ra+ signExtend32 (Imm)
RSUBIK Rd, Ra, Imm

obrnuto oduzimanje s neposrednim

Rd = Ra+ signExtend32 (Imm) -Ra

SRA Rd, Ra

aritmetički pomak udesno

Rd = (Ra>>1)

Logičke upute

U nastavku su dane logičke upute tipa A i tipa B.

Tip A

ILI Rd, Ra, Rb

Logično ili

Rd = Ra| Rb

I Rd,Ra,Rb

Logičan dodatak

Rd = Ra & Rb
XOR Rd, Ra, Rb

Logotički xor

Rd = Rb ^ Rb

ANDN Rd, Ra, Rb

Logično i ne

Rd = Ra & (Rb)

Tip B

ORI  Rd, Ra, Imm

logički ILI s neposrednim

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

logično I s neposrednim

Rd = Ra & signExtend32 (Imm)
XORI  Rd, Ra, Imm

logički XOR s neposrednim

Rd = Ra ^ signExtend32 (Imm)

ANDNI Rd, Ra, Imm

Logično A NE odmah

Rd = Ra & (signExtend32 (Imm))

Upute za podružnice - bezuvjetne

Izmijenite registar programskog brojača

BRID  Imm

podružnica immediate s neposrednim kašnjenjem

PC = PC+ signExtend32 (Imm)

dopustiti izvođenje odgođenog utora

BRLID Rd, Imm

grananje i veza odmah s trenutačnom odgodom (poziv funkcije)

Rd = PC

PC = PC+& signExtend32 (Imm)

dopustiti izvođenje odgođenog utora

RTSD  Ra, Imm

povratak iz potprograma

PC = Ra + signExtend32 (Imm)

dopustiti izvođenje odgođenog utora

RTID Ra, Imm

povratak iz prekida

PC = Ra + signExtend32 (Imm)

dopustiti izvođenje odgođenog utora

set interrupt enable u MSR

Upute za grane - bezuvjetne1

Promijenite registar programskog brojača kada je uvjet zadovoljen

BEQI Ra, Imm

grana ako je jednaka

PC = PC+ signExtend32 (Imm)

Ako je Ra = = 0

MASH Ra, Imm

grana ako nije jednaka

Rd = PC

PC = PC+& signExtend32 (Imm)

Ako Ra! = 0

Upute za grane- bezuvjetne2

Promijenite registar programskog brojača kada je uvjet zadovoljen

BLTI  Ra, Imm

grana ako je niža od

PC = PC+ signExtend32 (Imm)

Ako je Ra < 0

BLEI Ra, Imm

grana ako je niža jednaka

Rd = PC

PC = PC+& signExtend32 (Imm)

Ako je Ra!< = 0

BGTI Ra, Imm

grana ako je veća od

PC = PC+ signExtend32 (Imm)

Ako je Ra!> 0

BGEI Ra, Imm

grana ako je veće jednako

PC = PC+signExtend32 (Imm)

Ako je Ra!>= 0

Upute za učitavanje/spremanje - tip A

LW Rd, Ra, Rb

Učitaj riječ

Adresa = Ra+Rb

Rd = *Adresa

JZ Rd, Ra, Rb

Spremi  riječ

Adresa – Ra+Rb

*Adresa = Rd

Tip B

LWI  Rd, Ra, Imn

Učitaj riječ odmah

Adresa = Ra + signExtend32 (Imm)

Rd = *Adresa

SW Rd, Ra, Imm

Spremi  riječ odmah

Adresa = Ra + signExtend32 (Imm)

*Adresa = Rd

Ostale upute

IMM, Imm

neposredna

Proširite Imm prethodne instrukcije tipa B na 32 bita.
MFS Rd, Sa

Premjestiti iz registra posebne namjene

Rd = Sa

Sa- registar posebne namjene, izvorni operand

MTS SD, Ra

Premjestiti u registar posebne namjene

Sd = Ra

Sd – registar posebne namjene, odredišni operand

Registri

Arhitektura MicroBlaze procesora potpuno je ortogonalna što uključuje 32-bitne registre opće namjene i 32-bitne registre posebne namjene poput programskog brojača i registra statusa stroja.

Arhitektura cjevovoda

MicroBlaze koristi 3-stupanjsku arhitekturu cjevovoda uključujući dohvaćanje, dekodiranje i potpune faze. Automatski se unutar hardvera određuje prosljeđivanje podataka, grananje i zastoj cjevovoda.

Učitaj ili pohrani arhitekturu

MicroBlaze podržava memoriju u tri veličine podataka 8 bita (Byte), 16 bita (Halfword) i 32 bita (Word). Dakle, pristupi memoriji uvijek su usklađeni s veličinom podataka. Ovo je Big-Endian procesor koji koristi adresu Big-Endian adrese kao i konvencije označavanja nakon pristupa memoriji.

Prekidi

Nakon što se dogodi prekid, tada će ovaj procesor prekinuti trenutno izvršenje kako bi upravljao zahtjevom za prekid kroz grananje na adresu vektora prekida i pohranio adresu instrukcije koja se treba izvršiti. Ovaj će procesor zaustaviti buduće prekide brisanjem oznake IE (Interrupt Enable) unutar MSR (Machine Status Register).

Kako Microblaze djeluje?

Procesor MicroBlaze podržava 32-bitnu širinu sabirnice, a ova procesorska jezgra je motor temeljen na RISC-u koji uključuje datoteku registra temeljenu na 32-bitnom LUT RAM-u putem zasebnih uputa za pristup memoriji i podacima.
Ovaj procesor jednostavno podržava i BlockRAM na čipu i vanjsku memoriju. Slično IBM PowerPC-u; svi periferni uređaji koriste sličnu sabirnicu CoreConnect OPB; periferne jedinice procesora dobro su usklađene s PowerPC-om na Virtex-II Pro.

MicroBlaze procesor pruža potpunu fleksibilnost za odabir kombinacije značajki memorije, perifernih uređaja i sučelja koje će vam pružiti precizan sustav koji vam je potreban na jednom FPGA uz manje troškove.

Razlika C/W Microblaze u odnosu na Risc-V

The razlika između MicroBlaze i RISC v uključuju sljedeće.

Microblaze

Risc-V

To je meka mikroprocesorska jezgra uglavnom dizajnirana za Xilinx FPGA.

RISC-V je arhitektura skupa instrukcija ukorijenjena u RISC principima.

Koristi Harvard RISC arhitekturu. Koristi arhitekturu skupa instrukcija.
Njegova licenca je vlasnička (Xilinx) Njegova licenca je otvorenog koda.
Dubina cjevovoda je 3 ili 5. Dubina cjevovoda je 5.
Njegova izvedba je 280 DMIPs. Njegova izvedba je 250 DMIPs.
Brzina mu je 235 MHz. Brzina mu je 250 MHz.
Ima 1027 LUT-ova. Ima 4125 LUT-ova.
Implementacija korištene tehnologije je Xilinx FPGA. Implementacija korištene tehnologije je FPGA/ASIC.

Microblaze prednosti

The prednosti MicroBlaze-a uključuju sljedeće.

  • Ekonomičan je.
  • Vrlo je konfigurabilan.
  • Njegova izvedba je visoka u usporedbi s ARM-om.
  • Podržava ga ugrađeni razvojni komplet.
  • To je mekan mikroprocesor jezgra.
  • Kako bi vam pomogao da brzo uredite svoju aplikaciju, ovaj procesor uključuje tri fiksne konfiguracije koje se odnose na dobro poznate klase procesora mikrokontroler, real-time i aplikacijski procesor.

Microblaze aplikacije

The primjene MicroBlaze-a uključuju sljedeće.

  • Ovaj procesor ispunjava mnoge različite zahtjeve aplikacija kao što su industrijske, automobilske, medicinske i potrošačke, itd.
  • Primjene MicroBlazea kreću se od jednostavnih automata stanja temeljenih na softveru do složenih kontrolera koji se koriste u ugrađenim aplikacijama ili uređajima koji se temelje na Internetu.
  • Optimiziran je za ugrađene aplikacije poput industrijske kontrole, uredske automatizacije i automobila.
  • MicroBlaze može komunicirati s velikim skupom perifernih uređaja kako bi se uklopio u aplikacije srednje veličine.
  • Meka priroda ovog procesora čini ga prilagodljivim za različite primjene gdje dizajneri mogu zamijeniti značajke za veličinu kako bi ispunili ciljeve cijene i performansi za medicinske, automobilske, industrijske i sigurnosne aplikacije.

Dakle, ovo je sve o tome pregled Microblazea procesor. Ovo je potpuno opremljena, 32-bitna programabilna RISC meka procesorska jezgra. Ovaj procesor ispunjava različite zahtjeve unutar različitih područja kao što su potrošačka, medicinska, industrijska, automobilska i tržišta komunikacijske infrastrukture. Iznimno je konfigurabilan, pa se koristi kao ugrađeni procesor ili mikrokontroler unutar FPGA-a inače kao koprocesor za ARM. Ovdje je pitanje za vas, što je FPGA?