racsis_pr2 [read-only] [compatibility mode]

Upload: darryl-wright

Post on 14-Jan-2016

19 views

Category:

Documents


0 download

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.