racsis_pr2 [read-only] [compatibility mode]
DESCRIPTION
RacSis_pr2 [Read-Only] [Compatibility Mode]TRANSCRIPT
-
Stanje ekanja
- neuskladjenost brzine rada procesora i dogadjaja u spoljnom svetu. Brzina rada procesora je za nekoliko redova veliine vea od brzine kojom se deavaju dogadjaji u spoljnom svetu
- najjednostavnije reenje za problem sinhronizacije lei u uvodjenju linije spremnosti (ready line). Stanjem na ovoj liniji spoljni uredjaj, kome se procesor obraa ( U/I uredjaj, memorija, ...), ukazuje da je spreman za prenos podataka. Procesor testira stanje na ovoj liniji i zavrava naredbu koju je zapoeo tek kada utvrdi da je spoljni uredjaj spreman za razmenu.
- period ekanja je celobrojni umnoak taktnog perioda.
-
Slika 15. Maina kod koje postoji stanje ekanja na spremnost
-
S obzirom da dijagram prikazuje 5 razliitih stanja, broja stanja se realizuje kao trostepeni broja po modulu 5. Kod starog dijagrama load je bio aktivansamo kada se prelazilo iz 24 za naredbe koje nisu koristile ALU. Ovde load ima sloenu funkciju. Postavlja broja stanja:
iz 24 (IN, OUT)
iz 25 (MOV, NOP)
iz 35 (ADD, SUB, OR, ...).
-
naredbe koje koriste obraanje memoriji
Veliki broj procesora poseduje naredbe koje koriste neposredno obraanje memoriji.
Tipina je naredba za neposredno kopiranje MVI
MVI A, 65 - dvobajtna naredba
prvi bajt operacioni kod naredbe
drugi bajt neposredni podatak
Zbog ovoga, dekoder naredbi se mora tako projektovati da se drugi bajt naredbe smesti iz programske memorije u registar
-
(heksadekadno) (binarni zapis) lokacije sadraj mnemonik komentar
0000: 10010001 IN 1 ;(A)(prek.)0001: 10110100 MOV B,A ;(B)(A)0002: 10010001 IN 1 ;(A)(prek.)0003: 00010001 ADD A,B ;(A)(A)+(B)0004: 10110100 MOV B,A ;(B)(A)0005: 11000000 MVI A,65 ;(A)65H0006: 01100101 ;0007: 00010001 ADD A,B ;(A)(A)+(B)0008: 10101000 OUT 2 ; LED(A)0009: ????????
ta bi mogla biti sledea naredba?
-
HLT nakon ijeg izvrenja se zaustavlja rad
moemo obezbediti da se programska sekvenca neprekidno ponavlja (JMP 0000) koristei naredbu bezuslovnog grananja
-
naredbe za izmenu toka programa
- bezuslovne- uslovne
Uslovi se postavljaju nakon izvrenja aritmetikih i logikih operacija. Npr. prilikom sabiranja 2 broja moe se javiti prenos.
Prenos se detektuje, i ako postoji, postavlja se marker (fleg flag) za prenos ( c- carry). Postoje i drugi uslovi koji se sagledavaju (nula, znak, parnost) i u ije se markere upisuje stanje nakon izvrenja neke aritmetike ili logike operacije.
Markeri su objedinjeni u registru uslovnih markera. Svaki bit ima svoje znaenje.
-
Slika 16. Registar markera uslova
Registar markera uslova pridruen je ALU.
Stanje markera uslova moe se testirati naredbama za uslovnu promenu toka programa.
-
Slika 17. Format naredbe uslovnog skoka Jxx
-
0000: IN 1
0001: MOV B, A
0002: IN 1
0003: ADD A, B
0004, 0005, 0006: JC 000B
0007: MOV B, A
0008, 0009: MVI A, 65
000A: ADD A, B
000B: OUT 2
000C, 000D, 000E: JMP 0000
-
Slika 18. Blok ema mikroraunarskog sistema
-
Uoavamo spoljnu magistralu podataka i internu magistralu podataka.
Preko spoljne magistrale prenose se :
a) podaci iz memorije ukljuujui i naredbe
b) podaci za U/I uredjaje.
Upravljaki signali koji se generiu od strane mikroprocesora odredjuju smer prenosa podataka na magistrali za podatke.
Na slici se uoavaju tri celine koje ine mikroraunarski sistem: mikroprocesor (CPU)
memorija (memorijski podsistem)
U/I podsistem
-
HARDVERSKA STRUKTURA MIKROPROCESORKIH SISTEMA
Tri hardverske komponente ine osnovnu strukturu mikroprocesorkog sistema:
mikroprocesor primarni upravljaki deo sistema ( CPU- Cental Processing Unit)
glavna memorija namenjena za uvanje programa i podataka
U/I jedinica preko koje sistem komunicira sa spoljnim okruenjem.
-
Slika 19. Mikroraunarski sistem
CPU je centralni deo sistema koji odredjuje ponaanje celog sistema. CPU ita naredbe iz glavne memorije, interpretira i preuzima odredjene akcije.
-
Veina naredbi ukazuje na vrlo jednostavne akcije:
- itanje podataka iz U/I jedinice
- premetanje iz jednog registra u drugi
- obavljanje aritmetike ili logike funkcije nad sadrajem nekog registra
- itanje ili upis podataka u glavnu memoriju
-
Slika 20. Organizacija CPUatakt
reset
-
CPU je organizovan oko jedinstvene interne magistrale. Procesnu jedinicu ine:
ALU obavlja osnovne aritmetiko-logike operacije nad operandima koji joj se dostavljaju
registarsko polje registri se mogu koristiti kaopokazivai adresa ili kao registri za uvanje i prenos podataka
akumulator radni registar specijalne namene. Rezultat najveeg broja aritmetiko-logikih operacija smeta se u akumulator, a njegov sadraj esto se koristi kao jedan od operanada
registar 1 i registar 2 registri za privremeni smetaj operanada
markeri registar indikatora
bafer podataka razdvojni stepen za dvosmerni prenos podataka
-
Upravljaka jedinica je sloeniji deo CPU- a.
Aktiviranjem reset signala, PC se postavlja u unapred definisano stanje ( ukazuje na lokaciju gde je smetena prva naredba u programu).Deaktiviranjem signala reset (pripada signalima upravljake magistrale), sadraj PC- a se postavlja u bafer adrese i aktiviraju se signali adresne i upravljake magistrale. Sa adresirane memorijske lokacije ita se op. kod prve naredbe i smeta se u registar naredbi. Upisom u registar naredbi aktivira se dekoder naredbi koji na izlazu generie upravljake signale pomou kojih se ukazuje na tip naredbe ( MOV, LOAD,...).
-
Izlazi dekodera naredbi vode se na dekoder stanja koji na osnovu ulaznih signala (usl.grananja, tip naredbi, inf. o stanju) generie upravljake signale pomou kojih se upravlja radom ostalih blokova CPU-a:a) inkrementira ili postavlja na novu vrednost PC sa ciljem da ukae na adresu naredne naredbe ili operanda u programu
b) prihvata, testira i generie upravljake signale pomou kojih usmerava rad ostalih delova upravljake jedinice sa ciljem da se zapoeta naredba uspeno zavri, privremeno zaustavi ili prekinec) generie upravljake signale za rad procesne jedinice
-
Slika 21. Dijagram toka aktivnosti CPU-a u toku izvrenja jedne naredbe
-
Kod svake naredbe razlikujemo dve faze:
1. faza pripreme, pribavljanja naredbe
(op.fetch)
2. faza izvrenja (execution).
I priprema i izvrenje traju vei broj taktnih intervala, pri emu za svaku naredbu prvo sledi faza pripreme, a zatim faza izvrenja.
U toku faze izvrenja pojedinih naredbi mogue je da se obraanje memoriji vri vie puta.
Detaljan pregled toka izvrenja naredbe dat je slededim dijagramom stanja:
-
Slika 22. Dijagram stanja za tok izvrenja naredbe
-
a) izraunavanje adrese naredbe odredjuje se
adresa naredne naredbe koja e se izvriti
b) priprema naredbe CPU ita naredbu iz
memorijske lokacije
c) dekodiranje naredbe
d) izraunavanje adrese operanda ako se tipom
operacije predvidja obraanje operandu u
memoriji ili ako je dostupan preko U/I
odredjuje se adresa operanda
e) priprema operanda pribavlja se operand iz
memorije ili se on ita iz U/I jedinice
f) operacija nad podacima obavlja se
predvidjena operacija
g) smetaj operanada upisuje se rezultat u
memoriju ili u U/I jedinicu
-
Slika 23. Princip protonosti
Kod mikroprocesora iAPx86 postoji vremensko preklapanjeizmedju faze pripreme i faze izvrenja ime se ubrzava rad procesora. To je omogueno time to je CPU podeljen na BIU i EU.