Upload
cara-vasquez
View
70
Download
0
Embed Size (px)
DESCRIPTION
UNIVER ZITET U NIŠU ELEKTRONSKI FAKULTET Katedra: elektronika Predmet: Mikroprocesorski sistemi. MICROBLAZE PROCESOR Igor Nikolić br.ind. 10029. MicroBlaze procesor. - PowerPoint PPT Presentation
Citation preview
UNIVERZITET U NIŠU
ELEKTRONSKI FAKULTET
Katedra: elektronika Predmet: Mikroprocesorski sistemi
MicroBlaze procesor
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
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
Klasifikacija podataka i endiannesTipovi podataka koje MicroBlaze podržava su tipa: - reč - polureč - bajt
Tip reč
Tip polureč Tip bajt
Arhitektura MicroBlaze procesora
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
Registri
Arhitektura MicroBlaze procesora
•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
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
Arhitektura MicroBlaze procesora
Arhitektura MicroBlaze procesora
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
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
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
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
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
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
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
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
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
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
LMB izvršavanjaOpšte operacije upisa
Opšte operacije čitanja
Opis signalnog interfejsa MicroBlaze
Operacija upisa back-to-back
Operacija čitanja back-to-back jednog ciklusa
Opis signalnog interfejsa MicroBlaze
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
• Tipove podataka• Registar metoda konvencija• Magacin konvencija• Model memorije• Obrada prekida i izuzetaka
MicroBlaze aplikacije binarnog interfejsa
Tipovi podataka
MicroBlaze aplikacije binarnog interfejsa
Konvencija magacina
okvirena polja označavaju deo magacina koji poziva funkciju
neuokvirena polja označavaju poziv konture funkcije
MicroBlaze aplikacije binarnog interfejsa
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
Notacija
Format
Instrukcije
Skup instrukcija MicroBlaze-a
Notacija Tabela simbola koje koristi MicroBlaze
Skup instrukcija MicroBlaze-a
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
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
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
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
Branhc instrukcije
beq, beqi
bge, bgei
bgt, bgti
ble, blei
bne, bnei
Format naredbe je:(mnemonik) rA,rB
Skup instrukcija MicroBlaze-a
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
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
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.
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