Top Banner
UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET Katedra: elektronika Predmet: Mikroprocesorski sistemi
40

MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Dec 31, 2015

Download

Documents

cara-vasquez

UNIVER ZITET U NIŠU ELEKTRONSKI FAKULTET Katedra: elektronika Predmet: Mikroprocesorski sistemi. MICROBLAZE PROCESOR Igor Nikolić br.ind. 10029. MicroBlaze procesor. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

UNIVERZITET U NIŠU

ELEKTRONSKI FAKULTET

Katedra: elektronika Predmet: Mikroprocesorski sistemi

Page 2: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

MicroBlaze procesor

Page 3: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Arhitektura MicroBlaze procesora

Pregled Vrste podataka i Endiannes Instrukcije Registri Arhitektura snabdevanja Arhitektura memorije Privilegovane instrukcije Upravljanje virtualnom memorijom Reset, prekid, izuzetak i pauza Keš instrukcije Keš podaci Jednostavan interfejs Pronalaženje i otklanjanje grešaka FPU

Page 4: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Pregled

Bitne odlike koje procesor podržava su:- 32. bitni registar- 32. bitna insrukcijska reč sa tri operanda i dva adresna koda- 32. bitna adresna magistrala- pojedinačno izdavanje naloga

Blok dijagram jezgra MicroBlaze

Arhitektura McicroBlaze procesora

Page 5: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Klasifikacija podataka i endiannesTipovi podataka koje MicroBlaze podržava su tipa: - reč - polureč - bajt

Tip reč

Tip polureč Tip bajt

Arhitektura MicroBlaze procesora

Page 6: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Instrukcije

Sve instrukcije microblaze procesora su 32. bitne i definisane na jedan od dva načina:

• tip A (instrukcije koje imaju dva izvorišna registra i jedan odredišni)

• tip B (instrukcije koje imaju 1 izvorni registar i 16.bitni neposredni operand)

Arhitektura MicroBlaze procesora

Page 7: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Registri

Arhitektura MicroBlaze procesora

Page 8: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

•Programski brojač (PC) (32.bitni kod za izvršenje instrukcija)

•Mašinski registar (MSR) (sadrži kontrolne bitove za procesor)

•Adresni registar (EAR)

•Exception Status Registar (ESR)

•Branch registar (BTR)

•Registar sa pokretnom tačkom FSR

•Registar podataka EDR

•Procesno identifikacioni registar PIB

•Zona zaštitnog registra ZPR

•Translation Look-Aside Buffer Low Register (TLBLO)

•Translation Look-Aside Buffer High Register (TLBHI)

•Translation Look-Aside Buffer Index Register (TLBX)

•Registar verzije procesora (PVR)

Arhitektura MicroBlaze procesora

Page 9: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Protočnost je standardna hardverska tehnika koja se kod računara koristi za postizanje boljih performansi. Instrukcije se dele u više koraka i izvršavaju se sekvencijalno. Dobre performanse kod ove strukture postižu se paralelizmom, način na koji se izvršavaju i obrađuju nekoliko instrukcija istovremeno.

Protočnu realizaciju instrukcije čine nekoliko stepena. MicroBlaze koristi sledeće stepene :

- Trostepeni protočni sistem

- Petostepeni protočni sistem

Arhitektura MicroBlaze procesora

Page 10: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Arhitektura MicroBlaze procesora

Page 11: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Arhitektura MicroBlaze procesora

Page 12: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Struktura memorije

Svaki adresni prostor je opsega 32 bita i ograničen je do 4G za instrukcije i memorijske podatke. Pristup podacima i instrukcijama se vrši u odvojenim adresnim poljima.

Instrukcije i interfejs podataka su širine 32 bita i koriste formate big-endian i bit-reversed. Microblaze koristi reč, polureč i bajt za predstavljanje podataka u memoriji.

Microblaze procesor koristi tri interfejsa za pristup memoriji i to:

- Lokalni memorijski bus (LMB)

- Procesorski lokalni bus (PLB) ili on-chip periferijski bus (OPB)

- Xilinx CacheLink (XCL)

Arhitektura MicroBlaze procesora

Page 13: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Privilegovane instrukcije

Sledeće microblaze instrukcije su privilegovane:

 

- GET, PUT, NGET, NPUT, CGET, CPUT, NCGET, NCPUT

- WIC, WDC

- MTS

- MSRCLR, MSRSET

- BRK

- RTID, RTBD, RTED

- BRKI

 

Arhitektura MicroBlaze procesora

Page 14: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Upravljanje virtuelnom memorijom

- realni mod - efektivne adrese su upotrebljene za pristup fizičkim adresama. Kada je realni mod uključen, fizička adresa je identična efektivnoj adresi i processor koristi pristup fizičkim adresama. Nakon reseta, processor radi u realnom modu

- virtuelni mod - efektivne adrese su prevedene u fizičke adrese koje upravljaju virtuelnom memorijom procesora. U virtuelnom modu, processor prevodi efektivne adrese u fizičke

Arhitektura MicroBlaze procesora

Page 15: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Reset, prekidi, izuzeci i pauze

- Reset

- Hardverski izuzetak

- Ne maskirana pauza

- Pauza

- Hardverske (spoljne) pauze - Softverske (unutrašnje) pauze - Kašnjenje

- Prekidi

- Kašnjenje (najveće kašnjenje se dešava, kada se se prekid dogodi u toku instrukcije izvršenja i deljenja).

- Koristan vektor

Arhitektura MicroBlaze procesora

Page 16: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Instrukcija keš

- Pregled1. Direktno mapiranje

2. Korisnički podesiva keš memorija u opsegu adresa

3. Konfigurišući keš i oznaka veličine

4. Zadržavanje u glavnoj memoriji preko keš link interfejsa

5. Opcije koje koriste 4 ili 8 reči keš linije

6. Uključen keš i isključena kontrola potrebnog bita u MSR

7. Opciona WIC instrukcija poništava linijsku keš instrukciju

-Opšta funkcionalnost keš instrukcije1. Brzo memorijski segment (cacheable segment )

2. Spori memorijski segment (non-cacheable segment )

- Softverska podrška keš instrukcijeMSR bit

WIC instrukcija

Arhitektura MicroBlaze procesora

Page 17: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Keš podaci 

- Opis1.Direktno mapiranje2.Upis celom dužinom3.Opseg adresa korišćene brze memorije4.Konfiguracija veličine keša i veličine znaka5.Interfejs keš-link-a (XCL)6.Opcije koriste 4 ili 8 reči keš linka7.Za pokretanje ili gašenje kontrole upotrebljen je bit u MSR8.Instrukcija WDC poništava podatke keš linije

- Opšte funkcije keš podataka1. Brzo memorijski segment2. Spori memorijski segment

-Operacije podacionog keša

- Softverska podrška podacionog keša1.MSR bit2.WDC instrukcija

Arhitektura MicroBlaze procesora

Page 18: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Jedinica sa pokretnom zapetom (FPU)•Pregled1.Korišćenje IEEE 754 formata jedinstvene preciznosti sa pokretnom zapetom, uključujući i neodređene definicije i nulu.2.Podržava instrukcije sabiranja, oduzimanja, množenja, deljenja, poređenja, konverzije i kvadratni koren.3.Implementira mod najbliže celine4.Generiše status bit za potkoračenje, prekoračenje i pogrešne operacije

•Format1.1 bit za znak2.8 bita zauzima eksponent3.23 bita ima udela mantisa

•OperacijeAritmetičke operacije1.Sabiiranje, fadd2.Oduzimanje, fsub3.Množenje, fmul4.Deljenje, fdiv5.Kvadratni koren, fsqrtPoređenje1.Manje, fcmp.lt2.Manje ili jednako, fcmp.le3.Jednako, fcmp.eq4.Više, fcmp.gt5.Više ili jednako, fcmp.ge6.Nejednakost, fcmp.ne7.Nedefinisanost, fcmp.unKonverzija1.Konverzija tipa INTEGER u tip sa pokretnom zapetom2.Konverzija tipa sa pokretnom zapetom u tip INTEGER

•Izuzeci

Arhitektura MicroBlaze procesora

Page 19: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Otklanjanje grešaka i kopiranje 

Otklanjanje grešaka

• Podesivi broj hardverskih pauza i nedefinisane softverske pauze• Spoljne kontrole procesora koje dozvoljavaju otklanjanje grešaka alatima stop, reset u jednom koraku microblaze• Čitanje iz i upis u: memoriju, registre opšte namene i specijalne registre opšte namene izuzev EAR, EDR, ESR, BTR i PVR – PVR11• Podržavanje više procesora• Upis instrukcija i keš podataka

Kopiranje

Arhitektura MicroBlaze procesora

Page 20: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Pregled Opis Microblaze I/O Opis interfejsa lokalnog memorijskog BUS-a (LMB) Opis Fast Simlex Link (FSL) interfejsa Opis Xilinx Cache Link (XCL) interfejsa Opis interfejsa za otkalanjanje grešaka Opis interfejsa za kopiranje Microblaze jezgro, konfiguracija

Opis signalnog interfejsa MicroBlaze

Page 21: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Interfejs LMB signala

Addr[0:31] - Adresni bus je izlaz iz jezgra i označava memorijsku adresu kojoj se pristupa prilikom transfera.

Byte_Enable[0:3] - signali izlaze iz jezgra i ukazuju na to koja linija bajta podacionog bus-a sadrži ispravni podatak.

Data_Write[0:31] - Ovaj bus izlazi iz jezgra i sadrži podatke koji se unose u memoriju

AS - označava početak prenosa, adresnu magistralu i bit-enable.

Read_Strobe - izlazi iz jezgra i označava da je čitanje prenosa u toku

Write_Strobe - izlazi iz jezgra i označava da je operacija upisa u toku.

Data_Read[0:31] - Magistrala čitanja podataka je u jezgru i sadrži podatke koji se čitaju iz memorije.

Ready - je signal u jezgru koji označava kompletan trenutni i sledeći prenos koji može početi u sledećem taktu

Clk - Sve operacije LMB su sinhroniizovane taktom jezgra Microblaze-a

Opis signalnog interfejsa MicroBlaze

Page 22: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

LMB izvršavanjaOpšte operacije upisa

Opšte operacije čitanja

Opis signalnog interfejsa MicroBlaze

Page 23: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Operacija upisa back-to-back

Operacija čitanja back-to-back jednog ciklusa

Opis signalnog interfejsa MicroBlaze

Page 24: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Opis interfejsa Xilinx CacheLink (XCL)

Xilinx Cache Link (XCL) je dobro rešenje za pristup spoljnoj memoriji. Ovaj link je dizajniran za direktno spajanje memorijskog kontrolera sa integrisanom FSL magistralom, takođe, ima najmanju latenciju i minimalan broj inicijacija.

Opis signalnog interfejsa MicroBlaze

Page 25: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

• Tipove podataka• Registar metoda konvencija• Magacin konvencija• Model memorije• Obrada prekida i izuzetaka

MicroBlaze aplikacije binarnog interfejsa

Page 26: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Tipovi podataka

MicroBlaze aplikacije binarnog interfejsa

Page 27: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Konvencija magacina

okvirena polja označavaju deo magacina koji poziva funkciju

neuokvirena polja označavaju poziv konture funkcije

MicroBlaze aplikacije binarnog interfejsa

Page 28: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Model memorije

Polje kratkih podataka

Polje podataka

Slova i konstante

Globalne promenljive malih veličina memorišu se u ovim poljima. Prag o veličini promenljive koja se može memorisati u ovim poljima postavljen je na 8 bajtova u Microblaze kompajleru

Relativno velike promenljive se smeštaju u ovakvim poljima, u kojima se ,ože pristupiti pissanjem ili čitanjem ili pomoću apsolutnih adresa u zavisnosti od opcija komandne linije kompajlera.

Konstantre su smeštene u poljima kratkih podataka i mogu samo da se čitaju

MicroBlaze aplikacije binarnog interfejsa

Page 29: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Notacija

Format

Instrukcije

Skup instrukcija MicroBlaze-a

Page 30: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Notacija Tabela simbola koje koristi MicroBlaze

Skup instrukcija MicroBlaze-a

Page 31: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Format

Tip A

Tip B

Sadrži opkod, jedno odredište i dva izvorna registra.

Sadrži opkod, jednu destinaciju, jedan izvorni registar i neposrednu 16-bitnu vrednost

Skup instrukcija MicroBlaze-a

Page 32: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Instrukcije

Za lakšu obradu Xilinx sadrži mnemonik, opis instrukcije, pseudokod i listu registarskih skraćenica

add Arithmetic Add

add rD, rA, rB Add

Ovde je data samo jedna instrukcija kao primer.

mnemonik

Opis instrukcijezbir registra sadržaja rA i rB upisuje se u registar rD

Skup instrukcija MicroBlaze-a

Page 33: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Aritmetičke instrukcije

• add, addi, fadd

• sub, subi, rsub, rsubi, frsub

• mul, muli, fmul, mulh, mulhsu

• div, fdiv, idiv

• fsqrt

operacija sabiranjaFormat naredbe je:

add rD,rA,rB

Operacija oduzimanjeFormat naredbe je:

sub rD,rA,rB

Operacija oduzimanjeFormat naredbe je:

mul rD,rA,rB

Operacija deljenjeFormat naredbe je:

div rD,rA,rB

Operacija korenovanjaFormat naredbe je:

fsqrt rD,rA

Skup instrukcija MicroBlaze-a

Page 34: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Logičke instrukcije

and, andi, andn, andni

or, ori

xor, xori

Not

sra, src,

bs, bsi

Operacija IFormat naredbe:

and rD,rA,rB

Operacija ILIFormat naredbe:

or rD,rA,rB

Operacija isključivo ILIFormat naredbe:

xor rD,rA,rB

Operacija negacijeFormat naredbe:

not rD,rA

Operacija pomeranjaFormat naredbe:

sra rD,rA

Operacija pomeranjaFormat naredbe:

bs rD,rA,rB

Skup instrukcija MicroBlaze-a

Page 35: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Branhc instrukcije

beq, beqi

bge, bgei

bgt, bgti

ble, blei

bne, bnei

Format naredbe je:(mnemonik) rA,rB

Skup instrukcija MicroBlaze-a

Page 36: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Instrukcije tipa load/store

• lbu, lbui

• lhu, lhui

• lw, lwi

sb, sbi

sh, shi

sw, swi

Instrukcije tipa load

Instrukcije tipa store

Skup instrukcija MicroBlaze-a

Page 37: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Ostale instrukcije mfs, mts

wdc, wic

msrclr, msrset

put, putd

rtbd, rtid, rted,rtsd

sext8, sext16

cmp, fcmp

brk, brki

Instrukcije tipa move

Instrukcije tipa write

Instrukcije tipa read

Instrukcije tipa move

Instrukcije tipa return

Instrukcije tipa poređenja

Instrukcije tipa break

Prenos podataka

Prenos upravljanja

Skup instrukcija MicroBlaze-a

Page 38: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

Zaključak

U ovom radu smo se upoznali sa svim relevantnim činiocima, kako po pitanju arhitekture, tako i po pitanju funkcionisanja jednog 32-bitnog MicroBlaze procesora, koji su nam neophodni za njegovo uspešno programiranje. Imajući u vidu nadolazeću popularnost FPGA čipova, kao i činjenicu da je ovde opisani procesor upravo konfigurabilan na ovakvoj strukturi, možemo zaključiti da je projektovanje jednog sistema, čije aplikacije zahtevaju zavidne performanse, kako u pogledu brzine, tako i u pogledu memorije, uveliko olakšano primenom našeg MicroBlaze procesora.

Page 39: MICROBLAZE PROCESOR Igor Nikolić brd. 10029

BiografijaIgor D. Nikolić

Rataje, Opština Vranje

Telefon: +381 (17) 59 049

+381 (18) 281 762

+381 (64) 18 61 641

e-mail: [email protected]

Datum i mesto rođenja: 1. avgust 1980. Vranje

Bračno stanje: neoženjen

Adresa stanovanja: s. Rataje, Opština Vranje

Obrazovanje: Gimnazija “Bora Stanković” u Vranju, prirodno-matematički smer

Smer: Elektronika

Poznavanje jezika: Srpski, Engleski, Ruski, Makedonski

Poznavanje softvera: Active HDL, Protel, Eagle, Photoshop, Corel Draw, MSoffice

Poznavanje programskih jezika VHDL, Fortran, Paskal

Interesovanja: Praktična elektronika, auto-elektronika, auto-dijagnostika

Page 40: MICROBLAZE PROCESOR Igor Nikolić brd. 10029