Hvad er Microblaze-processor: arkitektur, arbejde og dens applikationer

Prøv Vores Instrument Til At Fjerne Problemer





MicroBlaze-processoren blev udviklet i 2002 til at integrere flere komplicerede funktioner for at imødekomme nye såvel som voksende markedsefterspørgsel. Så MicroBlaze-processoren er et væsentligt element i Xilinx Low-End Portfolio for at muliggøre hurtigere systemudvikling, som indeholder Artix®-7 FPGA'er , Spartan®-6, Zynq®-7000 AP SoC'er. Denne processor er ekstremt konfigurerbar, så den kan bruges som en indlejret processor eller mikrocontroller i FPGA'er og også bruges som en co-processor i Zynq-7000 AP SoC'erne baseret på ARM Cortex-A9. Denne artikel giver kort information om MicroBlaze processor – arkitektur og arbejde med applikationer.


Hvad er Microblaze-processor?

Den bløde mikroprocessor, der hovedsageligt er designet til FPGA'er fra Xilinx, er kendt som MicroBlaze-processoren. Denne processor er simpelthen implementeret i den generelle hukommelse og logiske struktur af FPGA'er fra Xilinx. Denne processor ligner DLX-arkitekturen baseret på RISC, og den har et fleksibelt sammenkoblingssystem, så den understøtter forskellige indlejrede applikationer. Hoved-I/O-bussen og AXI-sammenkoblingen af ​​MicroBlaze er en hukommelseskortlagt transaktionsbus med en master-slave-facilitet.



MicroBlaze bruger en dedikeret LMB-bus til at få adgang til lokal hukommelse og giver hurtig on-chip-lagring. Mange dele af denne processor kan brugerkonfigureres som størrelsen af ​​cachen, dybden af ​​pipeline-hukommelsesstyringsenheden, indlejret periferiudstyr og busgrænseflader.

Microblaze funktioner

Det funktioner i Microblaz e inkludere følgende. Det har 32 registre til generelle formål.



  • Den har 32-bit instruktionsord inklusive 2 adresseringstilstande og 3 operander.
  • Adressebussen er 32-bit.
  • Den har en 3-trins rørledning eller en 5-trins rørledning.
  • En ALU-blokenhed med en skifter.
  • Harvard-arkitekturen inkluderer 32-bit data og adressebus.
  • Datainterface & LMB eller lokal hukommelsesbusinstruktion.
  • AX14 og AX14 stream grænseflader.
  • Flydende komma-enhed og hukommelsesstyringsenhed.
  • Den understøtter lockstep.
  • Debug & trace interface.

Microbaze arkitektur

Blokdiagrammet for MicroBlaze-processoren er vist nedenfor. Denne MicroBlaze-processor er ekstremt tilpasselig, og den understøtter over 70 designmuligheder. Denne arkitektur viser permanente hardwarefunktioner såvel som konfigurerbare muligheder som instruktions- eller datacachen, hukommelsesstyringsenheden, flydende punktsenheden osv.

An indlejret system samlet omkring en MicroBlaze-processor omfatter hovedsageligt MicroBlaze Soft Processor Core, On-chip Local Memory, Standard Bus Interconnects og OPB Peripherals (On-chip Peripheral Bus). Et MicroBlaze-processorsystem strækker sig hovedsageligt fra en kerne af processor med en lokal hukommelse til et stort system, der inkluderer flere MicroBlaze processorer , ekstern hukommelse og mange OPB-ydre enheder.

  Microblaze processorarkitektur
Microblaze processorarkitektur

Blød processorkerne

Den bløde processorkerne i MicroBlaze er central for det indlejrede MicroBlaze-system. Dette er en meget hurtig og effektiv 32-bit RISC-processor, som har følgende funktioner.

  • Instruktionssættet er ortogonalt.
  • Separate data- og instruktionsbusser.
  • 32-bit registre til generelle formål.
  • Den har en valgfri komplet 32-bit barrel shifter.
  • Indbyggede grænseflader til hurtig OCM eller on-chip hukommelse og IBMs industristandard OPB (On-chip Peripheral Bus).

Implementeringer i Virtex-II og efterfølgende enheder understøtter multiplikation af hardware.

On-chip lokal hukommelse

Den synkrone hukommelse er en lokal hukommelse, der hovedsageligt bruges til at tillade on-chip Block RAM.

Standard busforbindelser

Busgrænsefladerne på instruktions- og datasiden inkluderer en grænseflade til lokal hukommelse, som kaldes LMB (Local Memory Bus) og en grænseflade til On-chip Peripheral Bus fra IBM. Så vi kan designe systemer, der nøje holder sig til Harvard-arkitekturen, ellers kan vi, for at dele ressourcer, bruge en enkelt OPB i kombination gennem en bus-arbiter.

Den lokale hukommelsesbus giver sikret en-cyklus entré til on-chip blok RAM. Dette er en meget effektiv, enkel og single-master busprotokol, og den er perfekt til at forbinde hurtig lokal hukommelse. OPB eller On-chip Peripheral Bus er en 32-bit bred multi-master bus, der er perfekt til at forene perifere enheder og udvendig hukommelse til kernen af ​​MicroBlaze processoren.

On-chip perifer bus periferiudstyr

MicroBlaze hardwaresystemet er komplet af OPB periferiudstyr til at give forskellige funktioner som Watchdog Timer eller Timebase, General purpose Timer eller tællere, IC (Interrupt Controller), forskellige controllere som SRAM, Flash Memory, ZBT Memory, BRAM, DDR, SDRAM, UART Lite , SPI, I2C, General purpose I/O, UART 16450/550 og Ethernet 10/100 MAC. Derudover kan vi også tilføje og definere periferiudstyr hovedsageligt til brugerdefinerede funktioner, ellers en grænseflade til et design, der findes i FPGA.

Microblaze instruktionssæt

Microblaze instruktionssæt er aritmetik, logik, branch, load/store og andre. Størrelsen på alle instruktionerne er fast. Der kan højst angives 3 registre som operander. Microblaze inkluderer to instruktionsformater Type A og Type B, som er vist nedenfor.

Type A-instruktionsformat bruges hovedsageligt til register-register-instruktioner. Så det inkluderer opcode, enkelt destination og to kilderegistre. Type B-instruktionsformat bruges hovedsageligt til register-umiddelbare instruktioner, som omfatter opcode-, enkeltdestinations- og enkeltkilderegistrene.& en 16-bit umiddelbar værdikilde.

  Instruktionsformater
Instruktionsformater

I ovenstående to instruktionsformater er opkoden en operationskode, Rd er et destinationsregister, der er kodet med 5-bit, Ra & Rb er kilderegistre, hvor hver kodet med 5-bit og Immediate er en 16-bit værdi.

Aritmetiske instruktioner

Type A og Type B aritmetiske instruktioner er givet nedenfor.

Type A

ADD Rd, Ra, Rb

tilføje

Rd = Ra+Rb, bæreflag påvirket

ADD K Rd, Ra, Rb

Tilføj og behold bære

Rd = Ra+Rb, bæreflag er ikke påvirket

RSUB Rd, Ra, Rb

Omvendt trække fra

Rd = R-Rb, bæreflag er ikke påvirket

Type B

ADD I Rd, Ra, Imm

tilføje øjeblikkeligt

Rd = Ra+signExtend32 (Imm)

TILFØJ IK Rd, Ra, Imm

tilføje øjeblikkeligt og holde bære

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

omvendt trække fra med øjeblikkelig

Rd = Ra+ tegnExtend32 (Imm) -Ra

SRA Rd, Ra

aritmetisk skift til højre

Rd = (Ra>>1)

Logik instruktioner

Type A og Type B logiske instruktioner er givet nedenfor.

Type A

ELLER Rd, Ra, Rb

Logisk eller

Rd = Ra| Rb

OG Rd,Ra,Rb

Logisk tilføjelse

Rd = Ra & Rb
XOR Rd, Ra, Rb

Logoisk xor

Rd = Rb ^ Rb

ANDN Rd, Ra, Rb

Logisk og ikke

Rd = Ra & (Rb)

Type B

ORI  Rd, Ra, Imm

logisk ELLER med øjeblikkelig

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

logisk OG med øjeblikkelig

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

logoisk XOR med øjeblikkelig

Rd = Ra ^ tegnExtend32 (Imm)

ANDNI Rd, Ra, Imm

Logisk OG IKKE med øjeblikkelig

Rd = Ra & (signExtend32 (Imm))

Afdelingsinstruktioner-Ubetinget

Ændre programtællerregistret

BRID  Imm

filial øjeblikkelig med øjeblikkelig forsinkelse

PC = PC+ signExtend32 (Imm)

tillade forsinket udførelse af slot

BRLID Rd, Imm

filial og link øjeblikkeligt med øjeblikkelig forsinkelse (funktionsopkald)

Rd = PC

PC = PC+& signExtend32 (Imm)

tillade forsinket udførelse af slot

RTSD  Ra, Imm

tilbage fra subrutine

PC = Ra + signExtend32 (Imm)

tillade forsinket udførelse af slot

RTID Ra, Imm

tilbage fra afbrydelse

PC = Ra + signExtend32 (Imm)

tillade forsinket udførelse af slot

sæt afbrydelsesaktivering i MSR

Afdelingsinstruktioner-Ubetinget1

Skift programtællerregisteret, når en betingelse er opfyldt

BEQI Ra, Imm

gren hvis lige

PC = PC+ signExtend32 (Imm)

Hvis Ra = = 0

MASH Ra, Imm

gren hvis ikke ens

Rd = PC

PC = PC+& signExtend32 (Imm)

Hvis Ra! = 0

Afdelingsinstruktioner-Ubetinget2

Skift programtællerregisteret, når en betingelse er opfyldt

BLTI  Ra, Imm

gren hvis lavere end

PC = PC+ signExtend32 (Imm)

Hvis Ra < 0

BLEI Ra, Imm

gren hvis lavere lig end

Rd = PC

PC = PC+& signExtend32 (Imm)

Hvis Ra!< = 0

BGTI Ra, Imm

gren hvis større end

PC = PC+ signExtend32 (Imm)

Hvis Ra!> 0

BGEI Ra, Imm

gren hvis større lig end

PC = PC+signExtend32 (Imm)

Hvis Ra!>= 0

Indlæsnings-/opbevaringsvejledning - Type A

LW Rd, Ra, Rb

Indlæs ord

Adresse = Ra+Rb

Rd = *Adresse

SW Rd, Ra, Rb

Gem ord

Adresse – Ra+Rb

*Adresse = Rd

Type B

LWI  Rd, Ra, Imn

Indlæs ordet med det samme

Adresse = Ra + signExtend32 (Imm)

Rd = *Adresse

SW Rd, Ra, Imm

Gem ordet med det samme

Adresse = Ra + signExtend32 (Imm)

*Adresse = Rd

Andre instruktioner

IMM, Imm

umiddelbar

Udvid Imm for en foregående type B-instruktion til 32-bit.
MFS Rd, Sa

Flyt fra specialregister

Rd = Sa

Sa- specialformålsregister, kildeoperand

MTS Sd, Ra

Flyt til specialregister

Sd = Ra

Sd – specialregister, destinationsoperand

Registre

Arkitekturen af ​​MicroBlaze-processoren er fuldstændig ortogonal, som inkluderer 32-bit registre til generelle formål og 32-bit registre til specielle formål som programtæller og maskinstatusregister.

Pipeline arkitektur

MicroBlaze bruger en 3-trins pipeline-arkitektur, herunder hente, afkode og komplette stadier. Datavideresendelsen, filialerne og pipeline-standen bestemmes automatisk i hardwaren.

Indlæs eller butiksarkitektur

MicroBlaze understøtter hukommelse i tre datastørrelser 8 bit (Byte), 16 bit (Halfword) og 32 bit (Word). Så hukommelsesadgange er altid tilpasset til datastørrelse. Dette er en Big-Endian-processor, som bruger adressen på Big-Endian-adressen samt mærkningskonventioner, når den først har adgang til hukommelsen.

Afbryder

Når først en afbrydelse finder sted, vil denne processor afslutte den nuværende udførelse for at styre afbrydelsesanmodningen gennem forgrening for at afbryde vektoradressen og gemme den instruktionsadresse, der skal udføres. Denne processor vil stoppe fremtidige afbrydelser ved at rydde IE (Interrupt Enable) flaget i MSR (Machine Status Register).

Hvordan virker Microblaze?

MicroBlaze-processoren understøtter 32-bit busbredde, og denne processorkerne er en RISC-baseret motor, der inkluderer en registerfil baseret på 32-bit LUT RAM gennem separate instruktioner til hukommelse og dataadgang.
Denne processor understøtter simpelthen både on-chip BlockRAM og ekstern hukommelse. Svarende til IBM PowerPC; alle perifere enheder bruger den lignende CoreConnect OPB-bus, så; processorens ydre enheder er godt matchet med PowerPC på Virtex-II Pro.

MicroBlaze-processoren leverer fuldstændig fleksibilitet til at vælge kombinationen af ​​hukommelse, periferi- og interfacefunktioner, der vil give dig det præcise system, du har brug for på en enkelt FPGA med færre omkostninger.

Forskel B/W Microblaze vs Risc-V

Det forskel mellem MicroBlaze og RISC v omfatte følgende.

Microblaze

Risc-V

Det er en blød mikroprocessorkerne hovedsagelig designet til Xilinx FPGA.

RISC-V er en instruktionssætarkitektur, der er forankret i RISC-principper.

Den bruger Harvard RISC-arkitektur. Den bruger instruktionssætarkitektur.
Dets licens er proprietær (Xilinx) Dens licens er open source.
Rørledningens dybde er 3 eller 5. Rørledningens dybde er 5.
Dens ydeevne er 280 DMIPs. Dens ydeevne er 250 DMIPs.
Dens hastighed er 235 MHz. Dens hastighed er 250 MHz.
Den har 1027 LUT'er. Den har 4125 LUT'er.
Implementeringen af ​​den anvendte teknologi er Xilinx FPGA. Implementeringen af ​​den anvendte teknologi er FPGA/ASIC.

Microblaze fordele

Det fordelene ved MicroBlaze omfatte følgende.

  • Det er økonomisk.
  • Det er meget konfigurerbart.
  • Dens ydeevne er høj sammenlignet med ARM.
  • Det understøttes af et indlejret udviklingskit.
  • Det er en blød mikroprocessor kerne.
  • For at hjælpe dig med hurtigt at arrangere din applikation inkluderer denne processor tre faste konfigurationer, der er relateret til velkendte processorklasser mikrocontroller, realtid og applikationsprocessor.

Microblaze applikationer

Det anvendelser af MicroBlaze omfatte følgende.

  • Denne processor opfylder mange forskellige applikationskrav som industri, bil, medicin og forbruger osv.
  • Anvendelserne af MicroBlaze spænder fra simple tilstandsmaskiner baseret på software til komplekse controllere, der bruges i indlejrede applikationer eller internetbaserede apparater.
  • Den er optimeret til indlejrede applikationer som industriel kontrol, kontorautomatisering og bilindustrien.
  • MicroBlaze er i stand til at kommunikere med et stort sæt periferiudstyr, så det passer til mellemstore applikationer.
  • Den bløde natur af denne processor gør den tilpasselig til forskellige applikationer, hvor designere kan udveksle funktioner efter størrelse for at opfylde pris- og ydeevnemål for medicinske, automotive, industrielle og sikkerhedsapplikationer.

Det handler altså om en oversigt over Microblaze processor. Dette er en fuldt udstyret 32-bit programmerbar RISC blød processorkerne. Denne processor opfylder forskellige krav inden for forskellige områder som forbruger-, medicinsk-, industri-, bil- og kommunikationsinfrastrukturmarkeder. Den er ekstremt konfigurerbar, så den bruges som den indlejrede processor eller mikrocontroller i FPGA'er ellers som en co-processor til ARM. Her er et spørgsmål til dig, hvad er FPGA?