Què és el processador Microblaze: arquitectura, treball i les seves aplicacions

Proveu El Nostre Instrument Per Eliminar Problemes





El processador MicroBlaze es va desenvolupar l'any 2002 per integrar diverses funcions complicades per satisfer la demanda nova i creixent del mercat. Per tant, el processador MicroBlaze és un element essencial dins de la cartera de gamma baixa de Xilinx per permetre un desenvolupament més ràpid del sistema que conté Artix®-7. FPGA , Spartan®-6, Zynq®-7000 AP SoC. Aquest processador és extremadament configurable, de manera que es pot utilitzar com a processador o microcontrolador incrustat dins dels FPGA i també com a coprocessador als SoC Zynq-7000 AP basats en ARM Cortex-A9. Aquest article ofereix una breu informació sobre Processador MicroBlaze – arquitectura i treball amb aplicacions.


Què és el processador Microblaze?

El microprocessador suau que està dissenyat principalment per a FPGA de Xilinx es coneix com el processador MicroBlaze. Aquest processador simplement s'implementa dins del teixit lògic i de memòria de propòsit general dels FPGA de Xilinx. Aquest processador és similar a l'arquitectura DLX basada en RISC i té un sistema d'interconnexió flexible perquè admet diferents aplicacions incrustades. El bus d'E/S principal i la interconnexió AXI del MicroBlaze és un bus de transaccions assignat a memòria amb una instal·lació mestre-esclau.



MicroBlaze utilitza un bus LMB dedicat per accedir a la memòria local i proporciona un emmagatzematge ràpid al xip. Moltes parts d'aquest processador es poden configurar per l'usuari, com ara la mida de la memòria cau, la unitat de gestió de memòria de la profunditat de la canalització, els perifèrics incrustats i les interfícies de bus.

Característiques de Microblaze

El característiques de Microblaz i inclouen el següent. Té 32 registres d'ús general.



  • Té paraules d'instrucció de 32 bits que inclouen 2 modes d'adreçament i 3 operands.
  • El bus d'adreces és de 32 bits.
  • Té una canonada de 3 etapes o una de 5 etapes.
  • Una unitat de bloc ALU amb un canviador.
  • L'arquitectura de Harvard inclou dades de 32 bits i bus d'adreces.
  • Interfície de dades i instruccions de bus de memòria local o LMB.
  • Interfícies de flux AX14 i AX14.
  • Unitat de coma flotant i unitat de gestió de memòria.
  • Admet lockstep.
  • Interfície de depuració i traça.

Arquitectura Microbaze

A continuació es mostra el diagrama de blocs del processador MicroBlaze. Aquest processador MicroBlaze és extremadament personalitzable i admet més de 70 opcions de disseny. Aquesta arquitectura mostra funcions de maquinari permanents, així com opcions configurables com la memòria cau d'instruccions o dades, la unitat de gestió de memòria, la unitat de coma flotant, etc.

An sistema incrustat muntat al voltant d'un processador MicroBlaze inclou principalment MicroBlaze Soft Processor Core, memòria local en xip, interconnexions de bus estàndard i perifèrics OPB (bus perifèric en xip). Un sistema de processador MicroBlaze va principalment des d'un nucli de processador mitjançant una memòria local fins a un sistema gran que inclou diversos MicroBlaze processadors , memòria externa i molts perifèrics OPB.

  Arquitectura del processador Microblaze
Arquitectura del processador Microblaze

Nucli de processador suau

El nucli del processador suau de MicroBlaze és fonamental per al sistema incrustat MicroBlaze. Aquest és un processador RISC de 32 bits molt ràpid i eficient que té les següents característiques.

  • El conjunt d'instruccions és ortogonal.
  • Busos de dades i d'instruccions separats.
  • Registres de propòsit general de 32 bits.
  • Té un canviador de canó complet opcional de 32 bits.
  • Interfícies integrades per OCM ràpid o memòria en xip i OPB (On-chip Peripheral Bus) estàndard de la indústria d'IBM.

Les implementacions dins de Virtex-II i els dispositius posteriors admeten la multiplicació de maquinari.

Memòria local al xip

La memòria síncrona és una memòria local que s'utilitza principalment per permetre la memòria RAM del bloc al xip.

Interconnexions d'autobús estàndard

Les interfícies de bus al costat d'instruccions i dades inclouen una interfície a la memòria local que s'anomena LMB (Local Memory Bus) i una interfície al bus perifèric on-chip d'IBM. Per tant, podem dissenyar sistemes que s'adhereixin estrictament a l'arquitectura de Harvard, en cas contrari, per compartir recursos, podem utilitzar un únic OPB en combinació mitjançant un àrbitre d'autobús.

El bus de memòria local ofereix una entrada segura d'un sol cicle per a la memòria RAM de blocs en xip. Aquest és un protocol de bus molt eficient, senzill i d'un sol mestre i és perfecte per connectar memòria local ràpida. L'OPB o On-Chip Peripheral Bus és un bus multimaster ample de 32 bits que és perfecte per unir perifèrics i memòria exterior al nucli del processador MicroBlaze.

Perifèrics de bus perifèrics en xip

El sistema de maquinari MicroBlaze es completa amb perifèrics OPB per oferir diferents funcions com Watchdog Timer o Timebase, General purpose Timer or Counters, IC (Interrupt Controller), diferents controladors com SRAM, Flash Memory, ZBT Memory, BRAM, DDR, SDRAM, UART Lite , SPI, I2C, E/S de propòsit general, UART 16450/550 i Ethernet 10/100 MAC. A més, també podem afegir i definir perifèrics principalment per a funcions personalitzades, en cas contrari, una interfície a un disseny que existeix a l'FPGA.

Conjunt d'instruccions Microblaze

Els conjunts d'instruccions de Microblaze són aritmètica, lògica, branca, càrrega/emmagatzemament i altres. La mida de totes les instruccions és fixa. Com a màxim es poden donar 3 registres com a operands. Microblaze inclou dos formats d'instruccions tipus A i tipus B que es mostren a continuació.

El format d'instrucció de tipus A s'utilitza principalment per a instruccions de registre-registre. Per tant, inclou el codi operatiu, una destinació única i dos registres d'origen. El format d'instrucció de tipus B s'utilitza principalment per a instruccions de registre immediat que inclouen el codi operatiu, la destinació única i els registres d'origen únic. i una font de valor immediat de 16 bits.

  Formats d'instrucció
Formats d'instrucció

En els dos formats d'instrucció anteriors, el codi operatiu és un codi d'operació, Rd és un registre de destinació que està codificat amb 5 bits, Ra i Rb són registres font on cadascun està codificat amb 5 bits i Immediat és un valor de 16 bits.

Instruccions aritmètiques

Les instruccions aritmètiques de tipus A i B es donen a continuació.

Tipus A

ADD Rd, Ra, Rb

afegir

Rd = Ra+Rb, bandera de transport afectada

ADD K Rd, Ra, Rb

Afegeix i mantén el transport

Rd = Ra+Rb, bandera de transport no afectada

RSUB Rd, Ra, Rb

Resta inversa

Rd = R-Rb, la bandera de transport no està afectada

Tipus B

ADD I Rd, Ra, Imm

afegir immediatament

Rd = Ra+signExtend32 (Imm)

ADD IK Rd, Ra, Imm

afegir immediata i mantenir portar

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

resta inversa amb immediata

Rd = Ra+ signeExtend32 (Imm) -Ra

SRA Rd, Ra

desplaçament aritmètic a la dreta

Rd = (Ra>>1)

Instruccions lògiques

Les instruccions lògiques de tipus A i B es donen a continuació.

Tipus A

O Rd, Ra, Rb

Lògic o

Rd = Ra| Rb

I Rd,Ra,Rb

Addició lògica

Rd = Ra i Rb
XOR Rd, Ra, Rb

Xor logològic

Rd = Rb ^ Rb

ANDN Rd, Ra, Rb

Lògic i no

Rd = Ra i (Rb)

Tipus B

ORI  Rd, Ra, Imm

OR lògic amb immediat

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

lògic I amb immediat

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

XOR logoical amb immediat

Rd = Ra ^ signExtend32 (Imm)

ANDNI Rd, Ra, Imm

Lògic I NO amb immediat

Rd = Ra & (signExtend32 (Imm))

Instruccions de la sucursal: incondicional

Modifiqueu el registre del comptador de programes

BID  Imm

sucursal immediata amb retard immediat

PC = PC+ signeExtend32 (Imm)

permetre l'execució de la ranura de retard

BRLID Rd, Imm

sucursal i enllaç immediat amb retard immediat (trucada de funció)

Rd = PC

PC = PC+& signExtend32 (Imm)

permetre l'execució de la ranura de retard

RTSD  Ra, Imm

retorn de la subrutina

PC = Ra + signExtend32 (Imm)

permetre l'execució de la ranura de retard

RTID Ra, Imm

retorn de la interrupció

PC = Ra + signExtend32 (Imm)

permetre l'execució de la ranura de retard

establiu l'habilitat d'interrupció a MSR

Instruccions de la sucursal: incondicional1

Canvieu el registre del comptador de programes quan es compleixi una condició

BEQI Ra, Imm

branca si és igual

PC = PC+ signeExtend32 (Imm)

Si Ra = = 0

MASH Ra, Imm

branca si no és igual

Rd = PC

PC = PC+& signExtend32 (Imm)

Si Ra! = 0

Instruccions de la sucursal: incondicional2

Canvieu el registre del comptador de programes quan es compleixi una condició

BLTI  Ra, Imm

branca si és inferior a

PC = PC+ signeExtend32 (Imm)

Si Ra < 0

BLEI Ra, Imm

branca si és inferior igual que

Rd = PC

PC = PC+& signExtend32 (Imm)

Si Ra!< = 0

BGTI Ra, Imm

branca si és més gran que

PC = PC+ signeExtend32 (Imm)

Si Ra!> 0

BGEI Ra, Imm

branca si és més gran que

PC = PC+signExtend32 (Imm)

Si Ra!>= 0

Instruccions de càrrega/emmagatzematge -Tipus A

LW Rd, Ra, Rb

Carrega la paraula

Adreça = Ra+Rb

Rd = *Adreça

Carrer SW, Ra, Rb

Emmagatzema word

Adreça – Ra+Rb

* Adreça = Rd

Tipus B

LWI  Rd, Ra, Imn

Carregueu la paraula immediatament

Adreça = Ra + signExtend32 (Imm)

Rd = *Adreça

SW Rd, Ra, Imm

Emmagatzema la paraula immediatament

Adreça = Ra + signExtend32 (Imm)

* Adreça = Rd

Altres instruccions

IMM, Imm

immediat

Amplieu l'Imm d'una instrucció de tipus B anterior a 32 bits.
MFS Rd, Sa

Passar del registre de finalitats especials

Rd = Sa

Sa- registre de propòsit especial, operand font

MTS Sd, Ra

Passar al registre de propòsits especials

Sd = Ra

Sd: registre de propòsit especial, operand de destinació

Registres

L'arquitectura del processador MicroBlaze és completament ortogonal, que inclou registres de propòsit general de 32 bits i registres de propòsit especial de 32 bits com ara el comptador de programes i el registre d'estat de la màquina.

Arquitectura de canonades

MicroBlaze utilitza una arquitectura de canalització de 3 etapes que inclou les etapes de recuperació, descodificació i completa. Automàticament, el reenviament de dades, les sucursals i la parada de la canalització es determinen dins del maquinari.

Arquitectura de càrrega o emmagatzematge

MicroBlaze admet memòria en tres mides de dades: 8 bits (byte), 16 bits (mitja paraula) i 32 bits (paraula). Per tant, els accessos a la memòria estan sempre alineats a la mida de les dades. Aquest és un processador Big-Endian que utilitza l'adreça de l'adreça Big-Endian així com les convencions d'etiquetatge un cop accedeix a la memòria.

Interrupcions

Un cop es produeix una interrupció, aquest processador finalitzarà l'execució actual per gestionar la sol·licitud d'interrupció mitjançant la ramificació per interrompre l'adreça del vector i emmagatzemar l'adreça d'instrucció que cal executar. Aquest processador aturarà les interrupcions futures esborrant la marca IE (Interrupt Enable) dins del MSR (Machine Status Register).

Com funciona Microblaze?

El processador MicroBlaze admet una amplada de bus de 32 bits i aquest nucli del processador és un motor basat en RISC que inclou un fitxer de registre basat en RAM LUT de 32 bits mitjançant instruccions separades per a l'accés a la memòria i les dades.
Aquest processador només admet tant BlockRAM en xip com memòria externa. Similar a l'IBM PowerPC; tots els perifèrics utilitzen el bus CoreConnect OPB similar; els perifèrics del processador estan ben combinats amb PowerPC a Virtex-II Pro.

El processador MicroBlaze ofereix una flexibilitat total per triar la combinació de funcions de memòria, perifèrics i interfície que us proporcionaran el sistema precís que necessiteu en una única FPGA amb menys cost.

Diferència B/N Microblaze vs Risc-V

El diferència entre MicroBlaze i RISC v incloure el següent.

Microblaze

Risc-V

És un nucli de microprocessador suau dissenyat principalment per a Xilinx FPGA.

RISC-V és una arquitectura de conjunt d'instruccions arrelada en els principis RISC.

Utilitza l'arquitectura RISC de Harvard. Utilitza l'arquitectura del conjunt d'instruccions.
La seva llicència és propietat (Xilinx) La seva llicència és de codi obert.
La profunditat de la canonada és de 3 o 5. La profunditat de la canonada és de 5.
El seu rendiment és de 280 DMIP. El seu rendiment és de 250 DMIP.
La seva velocitat és de 235 MHz. La seva velocitat és de 250 MHz.
Té 1027 LUT. Té 4125 LUT.
La implementació de la tecnologia utilitzada és Xilinx FPGA. La implementació de la tecnologia utilitzada és FPGA/ASIC.

Avantatges de Microblaze

El avantatges de MicroBlaze incloure el següent.

  • És econòmic.
  • És altament configurable.
  • El seu rendiment és alt en comparació amb ARM.
  • Compta amb un kit de desenvolupament integrat.
  • És un suau microprocessador nucli.
  • Per ajudar-vos a organitzar ràpidament la vostra aplicació, aquest processador inclou tres configuracions fixes relacionades amb les classes de processadors conegudes: microcontrolador, en temps real i processador d'aplicacions.

Aplicacions de Microblaze

El aplicacions de MicroBlaze incloure el següent.

  • Aquest processador compleix molts requisits d'aplicació diferents com ara industrial, automotriu, mèdic i de consum, etc.
  • Les aplicacions de MicroBlaze van des de màquines d'estat simples basades en programari fins a controladors complexos utilitzats en aplicacions incrustades o aparells basats en Internet.
  • Està optimitzat per a aplicacions incrustades com el control industrial, l'ofimàtica i l'automoció.
  • El MicroBlaze és capaç de comunicar-se amb un gran conjunt de perifèrics per adaptar-se a aplicacions a escala mitjana.
  • La naturalesa suau d'aquest processador el fa personalitzable per a diferents aplicacions on els dissenyadors poden intercanviar funcions per mida per assolir els objectius de preu i rendiment per a aplicacions mèdiques, d'automoció, industrials i de seguretat.

Per tant, tot això es tracta una visió general del Microblaze processador. Aquest és un nucli de processador suau RISC programable de 32 bits amb totes les funcions. Aquest processador compleix diferents requisits dins de diferents camps com els mercats de consum, mèdic, industrial, automoció i d'infraestructura de comunicacions. És extremadament configurable, de manera que s'utilitza com a processador o microcontrolador incrustat dins dels FPGA, d'altra manera com un coprocessador per a l'ARM. Aquí teniu una pregunta per a vosaltres, què és FPGA?