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