MicroBlaze

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

MicroBlaze is een softcoreprocessor van Xilinx gemaakt voor het gebruik in Xilinx FPGA's (Field Programmable Arrays). Een softcoreprocessor is beschreven in een hardware description language (HDL), die zich bevindt in het deel configureerbare logica in de FPGA's. In 2001 kwam de eerste versie van MicroBlaze uit. De huidige versie is versie 5.

Voorbeeld VHDL-broncode[bewerken]

Voorbeeld van VHDL-code

Architectuur[bewerken]

De MicroBlaze-architectuur is gebaseerd op de 32 bit-RISC-architectuur met een aparte data- en adresbus. Het is vergelijkbaar met de DLX-architectuur. De basis architectuur bestaat uit 32 registers, een Arithmetic Logic Unit (ALU), schuifregister en 2 soorten interrupts. De laatste MicroBlaze bezit een 5 stage-pipeline. Hij slaagt er ook in om de meeste instructies in één enkele cyclus uit te voeren. Zowel de instructies als de data invoer zijn 32 bits lang.

Prestaties[bewerken]

De prestaties van de MicroBlaze hangen sterk af van de configuratie die gebruikt wordt. Zowel de FPGA-structuur als de manier van implementatie spelen een rol. De nieuwste versie van de MicroBlaze haalt snelheden tot 200 MHz. De juiste metingen in verband met prestaties gebeuren door middel van de Dhrystone, een benchmarkprogramma. De prestatie is uitgedrukt in aantal Dhrystone-instructies per seconde. (DMIPS). De tabel geeft een vergelijking tussen de maximum MicroBlaze Dhrystone-prestaties voor Virtex-5 en Spartan-3 FPGA’s.

Vergelijkingstabel[bewerken]

FPGA Grootte Klok frequentie Dhrystone 2,1 Prestatie
Virtex-5 960 LUTS 210 MHz 240 DMIPS 1,15 DMIPS/MHz
Virtex-4 Pro 1700 LUTS 160 MHz 184 DMIPS 1,15 DMIPS/MHz
Spartan-3 1230 LUTS 100 MHz 92 DMIPS 0,92 DMIPS/MHz

Software[bewerken]

Xilinx levert bij het hele MicroBlaze ontwikkelingskit een beperkte hoeveelheid software. Waaronder de GNU Compiler Collection die het mogelijk maakt om de programmeertaal C te gebruiken om programma's te schrijven voor deze architectuur.

Het is op zich niet mogelijk om een compleet besturingssysteem te draaien op een MicroBlaze-processor door het ontbreken van een Memory Management Unit. Er bestaan echter een paar opensource-besturingssystemen die zijn aangepast om te kunnen functioneren op een MicroBlaze zoals µClinux en FreeRTOS.

Periferie[bewerken]

De MicroBlaze heeft verschillende componenten waarmee kan gecommuniceerd worden via onder andere controllers. Volgende controllers zijn terug te vinden in de omgeving van de MicroBlaze

De MicroBlaze kan ook verbinding op de OPB (On-Chip Peripheral Bus) maken voor een brede toegang tot verschillende modules. Het kan ook nog communiceren via de LMB (Local Memory Bus) voor snelle toegang tot het lokale geheugen in de FPGA.

Compatibiliteit[bewerken]

MicroBlaze werkt alleen op volgende componenten van Xilinx

  • Virtex-5 LX
  • Virtex-5 FX
  • Virtex-5 SX
  • Virtex-4 FX
  • Virtex-4 LX
  • Virtex-4 SX
  • Virtex-II Pro
  • Virtex-II
  • Virtex-E
  • Spartan-3E
  • Spartan-3
  • Spartan-IIE
  • Spartan-II

Externe links[bewerken]