Co je Microblaze Processor: Architektura, práce a její aplikace

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





Procesor MicroBlaze byl vyvinut v roce 2002, aby integroval několik komplikovaných funkcí, aby vyhověl novým i rostoucím požadavkům trhu. Procesor MicroBlaze je tedy základním prvkem v rámci low-endového portfolia Xilinx, který umožňuje rychlejší vývoj systému, který obsahuje Artix®-7 FPGA , Spartan®-6, Zynq®-7000 AP SoC. Tento procesor je extrémně konfigurovatelný, takže může být použit jako vestavěný procesor nebo mikrokontrolér v rámci FPGA a také jako koprocesor v Zynq-7000 AP SoC založených na ARM Cortex-A9. Tento článek poskytuje stručné informace o Procesor MicroBlaze – architektura a práce s aplikacemi.


Co je procesor Microblaze?

Soft mikroprocesor, který je navržen hlavně pro FPGA Xilinx, je známý jako MicroBlaze procesor. Tento procesor je jednoduše implementován v rámci univerzální paměti a logické struktury FPGA od Xilinx. Tento procesor je podobný architektuře DLX založené na RISC a má flexibilní systém propojení, takže podporuje různé vestavěné aplikace. Hlavní I/O sběrnice a AXI propojení MicroBlaze je paměťově mapovaná transakční sběrnice s funkcí master-slave.



MicroBlaze využívá vyhrazenou sběrnici LMB pro přístup k místní paměti a poskytuje rychlé úložiště na čipu. Mnoho částí tohoto procesoru může být uživatelsky konfigurováno, jako je velikost mezipaměti, hloubka jednotky pro správu paměti pipeline, vestavěná periferní zařízení a sběrnicová rozhraní.

Vlastnosti Microblaze

The vlastnosti Microblaz e zahrnují následující. Má 32 univerzálních registrů.



  • Má 32bitová instrukční slova včetně 2 režimů adresování a 3 operandů.
  • Adresová sběrnice je 32bitová.
  • Má 3stupňové potrubí nebo 5stupňové potrubí.
  • ALU bloková jednotka s řazením.
  • Harvardská architektura zahrnuje 32bitovou datovou a adresovou sběrnici.
  • Datové rozhraní a instrukce LMB nebo místní paměťové sběrnice.
  • Rozhraní streamu AX14 a AX14.
  • Jednotka s pohyblivou řádovou čárkou a jednotka správy paměti.
  • Podporuje lockstep.
  • Rozhraní pro ladění a sledování.

Architektura mikrobaze

Blokové schéma procesoru MicroBlaze je uvedeno níže. Tento procesor MicroBlaze je extrémně přizpůsobitelný a podporuje více než 70 možností designu. Tato architektura zobrazuje trvalé hardwarové funkce a také konfigurovatelné možnosti, jako je Instruction nebo Data Cache, Memory Management Unit, Floating Point Unit atd.

An vestavěný systém sestavený kolem procesoru MicroBlaze obsahuje hlavně jádro procesoru MicroBlaze, místní paměť na čipu, standardní propojení sběrnic a periferie OPB (periferní sběrnice na čipu). Procesorový systém MicroBlaze sahá hlavně od jádra procesoru s lokální pamětí až po velký systém zahrnující několik MicroBlaze procesory , externí paměť a mnoho periferií OPB.

  Architektura procesoru Microblaze
Architektura procesoru Microblaze

Měkké jádro procesoru

Měkké procesorové jádro MicroBlaze je ústředním prvkem vestavěného systému MicroBlaze. Jedná se o velmi rychlý a efektivní 32bitový RISC procesor, který má následující vlastnosti.

  • Instrukční sada je ortogonální.
  • Oddělené datové a instrukční sběrnice.
  • 32bitové registry pro všeobecné použití.
  • Má volitelný kompletní 32bitový řadič.
  • Vestavěná rozhraní pro rychlou OCM nebo paměť na čipu a průmyslový standard IBM OPB (On-chip Peripheral Bus).

Implementace v rámci Virtex-II a pozdějších zařízení podporují velké množství hardwaru.

Lokální paměť na čipu

Synchronní paměť je lokální paměť, která se používá hlavně pro umožnění blokové RAM na čipu.

Standardní sběrnicové propojení

Sběrnicová rozhraní na straně instrukce a dat zahrnují rozhraní k místní paměti, která se nazývá LMB (Local Memory Bus) a rozhraní k On-chip Peripheral Bus společnosti IBM. Můžeme tedy navrhovat systémy, které se striktně drží Harvardské architektury, jinak pro sdílení zdrojů můžeme využít jeden OPB v kombinaci prostřednictvím sběrnicového arbitra.

Místní paměťová sběrnice poskytuje zaručený jednocyklový vstup pro blokovou RAM na čipu. Jedná se o velmi účinný, jednoduchý protokol s jednou hlavní sběrnicí a je ideální pro propojení rychlé místní paměti. OPB neboli On-chip Peripheral Bus je 32bitová široká multi-master sběrnice, která je ideální pro sjednocení periferií a externí paměti s jádrem procesoru MicroBlaze.

Periferní periferní sběrnice na čipu

Hardwarový systém MicroBlaze je doplněn periferiemi OPB, které poskytují různé funkce jako Watchdog Timer nebo Timebase, General purpose Timer nebo Counters, IC (Interrupt Controller), různé řadiče jako SRAM, Flash Memory, ZBT Memory, BRAM, DDR, SDRAM, UART Lite , SPI, I2C, I/O pro všeobecné použití, UART 16450/550 a Ethernet 10/100 MAC. Kromě toho můžeme také přidat a definovat periferie hlavně pro vlastní funkce, jinak rozhraní k návrhu, který existuje v FPGA.

Instrukční sada Microblaze

Instrukční sady Microblaze jsou aritmetické, logické, větvení, načítání/ukládání a další. Velikost všech pokynů je pevná. Jako operandy lze zadat maximálně 3 registry. Microblaze obsahuje dva instrukční formáty Type A a Type B, které jsou zobrazeny níže.

Formát instrukce typu A se používá hlavně pro instrukce registr-registr. Zahrnuje tedy operační kód, jeden cíl a dva zdrojové registry. Formát instrukcí typu B se používá hlavně pro instrukce okamžitého registru, které zahrnují operační kód, jediný cíl a registry jediného zdroje. & 16bitový zdroj okamžité hodnoty.

  Formáty instrukcí
Formáty instrukcí

Ve dvou výše uvedených formátech instrukcí je operační kód operační kód, Rd je cílový registr, který je kódován 5 bity, Ra & Rb jsou zdrojové registry, kde každý je kódován 5 bity a Immediate je 16bitová hodnota.

Aritmetické instrukce

Aritmetické instrukce typu A a typu B jsou uvedeny níže.

Typ A

PŘIDAT Rd, Ra, Rb

přidat

Rd = Ra+Rb, ovlivněna příznakem Carry

PŘIDEJTE K Rd, Ra, Rb

Přidejte a pokračujte v nošení

Rd = Ra+Rb, vlajka přenášení není ovlivněna

RSUB Rd, Ra, Rb

Zpětné odečítání

Rd = R-Rb, příznak Carry není ovlivněn

Typ B

PŘIDEJTE Rd, Ra, Imm

přidat okamžitě

Rd = Ra+signExtend32 (Imm)

PŘIDAT IK Rd, Ra, Imm

přidejte okamžitě a pokračujte v nošení

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

zpětně odečíst s okamžitým

Rd = Ra+ signExtend32 (Imm) -Ra

SRA Rd, Ra

aritmetický posun doprava

Rd = (Ra>>1)

Logické instrukce

Logické instrukce typu A a typu B jsou uvedeny níže.

Typ A

NEBO Rd, Ra, Rb

Logické resp

Rd = Ra| Rb

A Rd, Ra, Rb

Logický dodatek

Rd = Ra & Rb
XOR Rd, Ra, Rb

Logický xor

Rd = Rb ^ Rb

ANDN Rd, Ra, Rb

Logické a ne

Rd = Ra & (Rb)

Typ B

ORI  Rd, Ra, Imm

logické NEBO s okamžitým

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

logické AND s okamžitým

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

logoical XOR s okamžitým

Rd = Ra ^ signExtend32 (Imm)

ANDNI Rd, Ra, Imm

Logické A NE s okamžitým

Rd = Ra & (signExtend32 (Imm))

Pobočkové pokyny- Bezpodmínečné

Upravte registr počítadla programů

BRID  Imm

pobočka okamžitě s okamžitým zpožděním

PC = PC+ signExtend32 (Imm)

povolit spuštění slotu zpoždění

BRLID Rd, Imm

větev a spojení okamžitě s okamžitým zpožděním (volání funkce)

Rd = PC

PC = PC+& signExtend32 (Imm)

povolit spuštění slotu zpoždění

RTSD  Ra, Imm

návrat z podprogramu

PC = Ra + signExtend32 (Imm)

povolit spuštění slotu zpoždění

RTID Ra, Imm

návrat z přerušení

PC = Ra + signExtend32 (Imm)

povolit spuštění slotu zpoždění

nastavit povolení přerušení v MSR

Pobočkové pokyny- Bezpodmínečné1

Změňte registr počítadla programů, když je splněna podmínka

BEQI Ra, Imm

větev je-li stejná

PC = PC+ signExtend32 (Imm)

Pokud Ra = = 0

MASH Ra, Imm

větev, pokud není stejná

Rd = PC

PC = PC+& signExtend32 (Imm)

Pokud Ra! = 0

Pobočkové pokyny - nepodmíněné2

Změňte registr počítadla programů, když je splněna podmínka

BLTI  Ra, Imm

větev je-li nižší než

PC = PC+ signExtend32 (Imm)

Pokud Ra < 0

BLEI Ra, Imm

větev, pokud je nižší rovno

Rd = PC

PC = PC+& signExtend32 (Imm)

Pokud Ra!< = 0

BGTI Ra, Imm

větev je-li větší než

PC = PC+ signExtend32 (Imm)

Pokud Ra! > 0

BGEI Ra, Imm

větev, pokud je větší rovno

PC = PC+signExtend32 (Imm)

Pokud Ra!>= 0

Pokyny pro nakládání/ukládání – typ A

LW Rd, Ra, Rb

Načíst slovo

Adresa = Ra+Rb

Rd = *Adresa

SW Rd, Ra, Rb

Uložit slovo

Adresa – Ra+Rb

*Adresa = Rd

Typ B

LWI  Rd, Ra, Imn

Načíst slovo okamžitě

Adresa = Ra + signExtend32 (Imm)

Rd = *Adresa

SW Rd, Ra, Imm

Okamžitě uložte slovo

Adresa = Ra + signExtend32 (Imm)

*Adresa = Rd

Další pokyny

IMM, Imm

bezprostřední

Rozšiřte Imm předchozí instrukce typu B na 32 bitů.
MFS Rd, Sa

Přesunout ze speciálního registru

Rd = Sa

Sa- účelový registr, zdrojový operand

MTS SD, Ra

Přesuňte se do speciálního registru

Sd = Ra

Sd – účelový registr, cílový operand

Registry

Architektura procesoru MicroBlaze je zcela ortogonální a zahrnuje 32bitové registry pro všeobecné použití a 32bitové registry pro speciální účely, jako je počítadlo programů a registr stavu stroje.

Architektura potrubí

MicroBlaze využívá třístupňovou architekturu potrubí včetně fází načítání, dekódování a dokončení. Automaticky se v rámci hardwaru určí předávání dat, větve a potrubí.

Načíst nebo uložit architekturu

MicroBlaze podporuje paměť ve třech velikostech dat 8 bitů (Byte), 16 bitů (Halfword) a 32 bitů (Word). Přístupy do paměti jsou tedy vždy zarovnány podle velikosti dat. Jedná se o procesor Big-Endian, který při přístupu do paměti používá adresu adresy Big-Endian a také konvence označování.

Přerušuje

Jakmile dojde k přerušení, tento procesor ukončí současné provádění, aby spravoval požadavek na přerušení prostřednictvím větvení na adresu vektoru přerušení a uložil adresu instrukce, kterou je třeba provést. Tento procesor zastaví budoucí přerušení vymazáním příznaku IE (Interrupt Enable) v registru MSR (Machine Status Register).

Jak Microblaze funguje?

Procesor MicroBlaze podporuje 32bitovou šířku sběrnice a toto jádro procesoru je engine založený na RISC, který obsahuje soubor registru založený na 32bitové LUT RAM prostřednictvím samostatných instrukcí pro přístup k paměti a datům.
Tento procesor jednoduše podporuje jak na čipu BlockRAM, tak externí paměť. Podobné jako IBM PowerPC; všechna periferní zařízení využívají podobnou sběrnici CoreConnect OPB, takže; periferie procesoru jsou dobře sladěny s PowerPC na Virtex-II Pro.

Procesor MicroBlaze poskytuje úplnou flexibilitu při výběru kombinace paměti, periferií a funkcí rozhraní, které vám poskytnou přesný systém, který požadujete na jediném FPGA s nižšími náklady.

Rozdíl B/W Microblaze a Risc-V

The rozdíl mezi MicroBlaze a RISC v zahrnout následující.

Microblaze

Risc-V

Jedná se o měkké mikroprocesorové jádro určené především pro Xilinx FPGA.

RISC-V je architektura instrukční sady zakořeněná v principech RISC.

Využívá architekturu Harvard RISC. Využívá architekturu instrukční sady.
Jeho licence je proprietární (Xilinx) Jeho licence je open source.
Hloubka potrubí je 3 nebo 5. Hloubka potrubí je 5.
Jeho výkon je 280 DMIPs. Jeho výkon je 250 DMIPs.
Jeho rychlost je 235 MHz. Jeho rychlost je 250 MHz.
Má 1027 LUT. Má 4125 LUT.
Implementací použité technologie je Xilinx FPGA. Implementace použité technologie je FPGA/ASIC.

Výhody Microblaze

The výhody MicroBlaze zahrnout následující.

  • Je to ekonomické.
  • Je vysoce konfigurovatelný.
  • Jeho výkon je ve srovnání s ARM vysoký.
  • Je podporována vestavěnou vývojovou sadou.
  • Je to měkký mikroprocesor jádro.
  • Abychom vám pomohli rychle uspořádat vaši aplikaci, tento procesor obsahuje tři pevné konfigurace, které souvisí se známými třídami procesorů mikrokontrolér, procesor reálného času a aplikační procesor.

Aplikace Microblaze

The aplikace MicroBlaze zahrnout následující.

  • Tento procesor splňuje mnoho různých aplikačních požadavků, jako je průmysl, automobilový průmysl, lékařství a spotřebitelé atd.
  • Aplikace MicroBlaze sahají od jednoduchých stavových automatů založených na softwaru až po složité řídicí jednotky používané ve vestavěných aplikacích nebo internetových zařízeních.
  • Je optimalizován pro vestavěné aplikace, jako je průmyslové řízení, kancelářská automatizace a automobilový průmysl.
  • MicroBlaze je schopen komunikovat s velkou sadou periferií, aby se vešel do středně velkých aplikací.
  • Díky měkké povaze je tento procesor přizpůsobitelný pro různé aplikace, kde si designéři mohou vyměnit funkce za velikost, aby splnili cíle v oblasti ceny a výkonu pro lékařské, automobilové, průmyslové a bezpečnostní aplikace.

Tak, to je všechno o přehled Microblaze procesor. Jedná se o plně vybavené, 32bitové programovatelné jádro soft procesoru RISC. Tento procesor splňuje různé požadavky v různých oblastech, jako jsou trhy spotřebitelské, lékařské, průmyslové, automobilové a komunikační infrastruktury. Je extrémně konfigurovatelný, takže se používá jako vestavěný procesor nebo mikrokontrolér v FPGA jinak jako koprocesor pro ARM. Zde je otázka pro vás, co je FPGA?