You are on page 1of 15

MIKRORAUNAR

Mikroraunar je sastavljen od etiri osnovna bloka (Sl.1) - to zovemo hardver: -mikroprocesora -memorije -ulaznog meusklopa -izlaznog meusklopa Programska podrka (to zovemo softver) je vezivna materija koja ta etiri bloka osmiljava i dri ih zajedno. Mikroprocesor sjedinjuje u sebi sposobnost raunskog dela i dela koji je sposoban da na temelju dobijenih rezultata donosi odluke-izabere jedan od alternativnih smerova daljnjeg delovanje ili akcije. U memoriji se smetaju podaci u binarnom obliku, meurezultati i rezultati. U memoriji su takoe smeteni programi koji odreuju mikroprocesoru koje operacije mora izvriti. Preko ulaznog meusklopa ostvaruje se put za prenos binarnih podataka (u paralelnom ili serijskom obliku) od ulaznih jedinica prema mikroprocesoru ili memoriji. Izlazni meusklop omoguava prenos binarnih podataka od mikroprocesora prema izlaznim jedinicama. Sastavni blokovi (mikroprocesor, ulaznoizlazni meusklopovi, memorija) su preko spoljne sabirnice povezani i ine mikroraunar (Sl.1.). Spoljna sabirnica je skup linija preko kojih se saobraa izmeu sastavnih delova mikroraunara.

Sl.1. - Sklop mikroraunara kao crna kutija

Sl.2. prikazuje strukturu mikroraunara zasnovanog na porodici Motorola M6800,gde su: - MPU: mikroprocesor, - RAM, ROM: memorija sa direktnim pristupom, ispisna memorija, - START UP, CLOCK: pomoni sklopovi, - PIA: paralelni U/I meusklop, - ACIA; serijski meusklop. Spoljna sabirnica se sastoji od upravljake (CONTROL BUS) i adresne (ADRESS BUS) sabirnice i sabirnice podataka (DATA BUS).

Sl.2. - Struktura mikroraunara zasnovanog na mikroprocesorskoj porodici M6800

Sl.3 prikazuje grau mikroraunara na osnovi mikroprocesora Intel 8080, a sastoji se od memorije RAM, ROM, U/I meusklopa i specijalne jedinice nazvane upravljaki sklop (system controller), generatora takta, kao pomonog sklopa. Spoljna sabirnica se sastoji od adresne sabirnice, sabirnice podataka i upravljake sabirnice. 2

Sl.3 - Struktura mikroraunara na bazi mikroprocesora Intel 8080

MODEL MIKROPROCESORA
Mikroprocesor je osnovni sastavni blok mikroraunara. On je centralno procesorska jedinica realizovana u tehnologiji LSI. Sastoji se od sklopova koji dekodiraju instrukcije pribavljene iz memorije i u skladu s tim generu sekvence upravljakih signala (koji odreuju niz prenosa preko interne sabirnice, prenose kroz aritmetiko-logiku jedinicu, pobuivanje internih sklopova i sl.), potrebnih za izvoenje instrukcije. To je jedan od osnovnih zadataka upravljake jedinice. Mikroprocesorski ip sadri aritmetiko-logiku jedinicu (ALU). U njoj se izvode aritmetike i logike operacije na binarnim podacima. Registri za privremeno skladitenje i rukovanje podacima takoer su sastavni deo procesora LSI. Budui da veina standardnih mikroprocesora ima re duine osam bita (bajt), dat je opis njegovog rada na jednostavnom modelu 8-bitnog mikroprocesora. Duina rei od 8 bita onemoguava da se instrukcijska re razdeli na klasian nain kao kod raunara: na polje operacijskog koda, na polje naina adresiranja i na adresno polje (Sl.4). Samo polje operacijskog koda zauzelo bi vei deo 8-bitne rei. Na primer, 8-bitni mikroprocesor M-6800 ima osnovni skup od 72 instrukcije, to zahteva operacijski kod od 7 bita (27 > 72 > 26), ako privremeno zanemarimo 197 razliitih operacijskih kodova u zavisnosti od naina adresiranja.

Sl.4 - Organizacija instrukcijske rei

Adresno polje bilo bi svedeno, u najboljem sluaju na jedan bit. To znai da bi bilo mogue direktno adresirati samo dve memorijske lokacije- to je oito premalo. Problem duine rei mora biti kod mikroprocesora reen pribavljanjem vie 8-bitnih rei za konstrukciju jedne instrukcijske rei. Zbog ega re mikroprocesora nije dua (npr. 24 ili 32 bita)? Veina razloga je u tehnolokim ogranienjima, na primer u broju izvoda na integrisanom kuitu DIP (sa izvodima u dve linije), problemu gustoe integracije komponenti, postojeoj opremi za testiranje i ispitivanje ipova u fazi proizvodnje i sl.. Jednostavni model na kojem e biti opisan princip rada prikazan je na Sl.5. Model mikroprocesora ima akumulator A koji koji se upotrebljava za privremeno skladitenje jednog od operanada. Akumulator uestvuje pri izvravanju aritmetikih i logikih opracija na podacima, te ima i sredinju ulogu u prenosu podataka unutar mikroraunara ili sklopa mikroraunara. Programsko brojilo (programski broja) - registar PC - sadri adresu sledeeg bajta koji e biti pribavljen u narednom ciklusu. Operacijski kod instrukcije upisuje se u instrukcijski registar - registar IR. U 16-bitnom brojilu podataka (registar podataka) registru DC, sadrana je adresa memorijske lokacije u kojoj se nalazi operand. Izvoenje svake instrukcije deli se na: - fazu pribavljanja instrukcije -PRIBAVI (fetch), - fazu izvravanje instrukcije -IZVRI (execute). Mikroprocesor za vreme faze PRIBAVI postavlja sadraj programskog brojila preko interne sabirnice na spoljnu adresnu sabirnicu. Ujedno alje i odgovarajue upravljake signale (signal ITAJ) na spoljnu upravljaku sabirnicu (u naem sluaju pojednostavljeni model ime samo dva upravljaka signala: ITAJ i PII). Memorijski sklop dekodira postavljenu adresu (prisutnu na adresnoj sabirnici) u cilju pristupa do odgovarajue memorijske rei. Za nekoliko stotina ns (npr. 500 ns) sadraj specificirane memorijske lokacije pojavie se na spoljnoj sabirnici podataka. Taj se sadraj skladiti u instrukcijskom registru IR, i to je operacijski kod instrukcije. Za vreme faze PRIBAVI mikroprocesor upotrebljava svoju internu logiku i poveava sadraj programskog brojila.

Sl.5 - Pojednostavljeni model mikroprocesora

U fazi IZVRI upravljaka jedinica, u skladu s operacijskim kodom koji je skladiten u instrukcijskom registru, stvara niz upravljakih signala. Rezultat tog niza signala su odgovarajui prenosi podataka, odnosno operacije (npr. aktiviranje pojedinih sklopova unutar aritmetiko-logike jedinice, izvravanje (izvoenja) zadate instrukcije.) Operacije unutar mikroprocesora (esto se nazivaju mikrooperacijama) sinhronizovane su generatorom takta. Perioda generatora takta moe biti, u zavisnosti od tipa mikroprocesora, od 100 ns do nekoliko s. Signali generatora takta mogu se sastojati od jednog ili vie signala (to je onda viefazni generator takta, npr. mikroprocesor M6800 ima signale 1 i 2). Za pojednostavnjeni model izabran je jednofazni generator takta (Sl.6). je obino oznaka za signal generatora takta.

Sl.6 - Jednofazni signal takta (vremenskog voenja) pojednostavljenog modela mikroprocesora

Na primeru jednostavnog programa sa Sl.7 prikazani su vremenski dijagram stanja na spoljnim sabirnicama i promene u sadrajima registara modela u cilju objanjenja rada mikroprocesora.

Sl.7 - Primer programa

Napomena: Adrese i sadraji memorijski lokacija na Sl.7 prikazani u heksadekadnom sistemu. Poetni uslov (sadraj registara) prikazuje Sl.9. Na slici su oznaeni samo oni registri koji uestvuju u izvoenju programa. U programskom brojilu postavljena je adresa prve instrukcije.

Sl.9 - Poetni uslovi

Sl.10 - Stanje nakon faze PRIBAVI: Prvi ciklus prve instrukcije

Sl.10 prikazuje stanje nakon faze PRIBAVI: u instrukcijskom registru skladiten je operacijski kod instrucije, sadraj programskog brojila povean je za 1. Sadraj instrukcijskog registra 10110110 (B6-heksadekadno) dekodiran je kao: napuni akumulator A sadrajem memorijske lokacije koje je adresa sadrana u sledea dva bajta. Mikroprocesor pribavlja sledei bajt postavljanjem sadraja programskog brojila na adresnu sabirnicu i generiranjem upravljakog signala ITAJ. Pribavljeni bajt se smetava u brojilo podataka. Sl.11 prikazuje stanje nakon pribavljanja znaajnijeg bajta adrese operanda (02..); programsko je brojilo uveano za 1. Mikroprocesor pribavlja trei bajt instrukcijske rei-manje znaajni bajt adrese operanda (..01) i smeta ga u brojilo podataka; programsko brojilo uveava se za 1 i pokazuje na sledeu instrukciju 9B (Sl.7).

Sl.11. Stanje nakon pribavljanja znaajnijeg bajta adrese operanda: Drugi ciklus prve instrukcije

Sl.12 prikazuje stanje nakon pribavljanja manje znaajnog bajta adrese operanda.

Sl 12. Stanje nakon pribavljanja manje znaajnog bajta adrese operanda: Trei ciklus prve instrukcije

Ako se na trenutak pretpostavi da instrukcijski registar IR (0-7) i brojilo podataka DC (0-15) ine jedan 24-bitni registar, moe se instrukcijski registar smatrati poljem operacijskog koda, a brojilo podataka adresnim poljem (Sl.13).

Sl.13 - Instrukcijska re sastavljena iz tri bajta

Postupku pribavljanja kompletne instrukcijske rei mikroprocesora su bila tri ciklusa (3x1 bajt), dok bi raunar sa duinom rei od 24 bita taj isti postupak obavio u jednom ciklusu. Mikroprocesor pribavlja operand postavljanjem sadraja brojila podataka na adresnu sabirnicu i generisanjem upravljakog signala ITAJ. Sl.14 prikazuje konani rezultat izvoenja prve instrukcije: akumulator A napunjen je sadrajem memorijske lokacije 0201. Sadraj programskog brojila nije povean, jer je pribavljen operand a ne instrukcija - mikroprocesor je bio u fazi IZVRI.

Sl.14 Stanje nakon izvoenja prve instrukcije: etvrti ciklus prve instrukcije

Sl.15. prikazuje pojednostavnjeni vremenski dijagram izvoenja prve instrukcije. Instrukcija se izvodi u etiri ciklusa (periode) generatora takta . Nastavlja se dalje izvoenje programa. Sl.16 prikazuje stanje nakon pribavljanja prvog bajta druge insrukcijske rei. U instrukcijskom registru smeten je operacijski kod druge instrukcije. Sadraj programskog brojila povean je za 1. Instrukcijski kod 9B, uz specificiranje operacije (pribrajanja operanda sadraju akumulatora A), odreuje i nain adresiranja - sledei bajt je manje znaajan bajt adrese operanda.

Sl.15 - Pojednostavljeni vremenski dijagram izvoenja prve instrukcije

Sl.16 - Stanje nakon pribavljanja prvog bajta druge instrukcije: Prvi ciklus druge instrukcije

Sl.17 prikazuje stanje nakon pribavljanja drugog bajta instrukcijske rei. Programsko brojilo poveano je za 1, a u brojilo podataka smetava se adresa operanda. Sl.18 prikazuje rezultat konanog izvoenja instrukcije-sadraju akumulatora A pribrojen je sadraj sa memorijske lokacije 00FF (1A). Programsko brojilo nije poveano za 1 - mikroprocesor je bio u fazi IZVRI.

Sl. 17 - Stanje nakon pribavljanja drugog bajta instrukcijske rei: Drugi ciklus druge instrukcije

10

Sl.18 - Prikaz konanog izvoenja instrukcije

Sl.19 prikazuje vremenski dijagram izvoenja druge instrukcije. Tabela 1 prikazuje stanje na sabirnici podataka i adresnoj sabirnici za model mikroprocesora prilikom izvoenja zadatog programa sa Sl.7. U mnemonikom kodu program bi imao (za mikroprocesor M6800) sledei oblik: LDAA $0201 ADDA $FF
(Napomena: $ je oznaka za heksadekadni broj )

Sl.19 - Vremenski dijagram izvoenja druge instrukcije

11

Tabela 1 Stanje na sabirnici podataka i adresnoj sabirnici


Instrukcija Broj ciklusa Ciklus 1 2 3 4 1 2 3 Signal (itaj) 1 1 1 1 1 1 1 Adresne sabirnice Adresa instrukcije Adresa instrukcije +1 Adresa instrukcije +2 Adresa operanda Adresa instrukcije Adresa instrukcije +1 Adresa operanda Sabirnice podataka Operacijski kod Adresa znaajnijeg bajta operanda Adresa manje znaajnog bajta operanda Operand Operacijski kod Adresa operanda Operand

B6

9B

Broj ciklusa potreban mikroprocesoru M6800 za izvoenje prve instrukcije je 4, adruge 3 ciklusa. Vidimo da se razmatranja na jednostavnom modelu u ovom primeru podudaraju s izvoenjem u stvarnim mikroprocesorima.

ZADACI
1. Na osnovu Tabele 2, koja opisuje stanje na spoljnim sabirnicama pojednostavnjenog modela mikroprocesora za instrukciju STA $010F (pohrani sadraj akumulatora A na memorijsku lokaciju 010F), nacrtajte vremenski dijagram. Tabela 2 Stanje na sabirnicama u zadatku 1
Instrukcija Broj ciklusa Ciklus Signa l itaj Signal pii Adresna sabirnica Sabirnica podataka

Pohrani sadraj akumulatora A na memorijsku lokaciju 010F

1 4 2 3 4

1 1 1 0

0 0 0 1

Adresa instrukcije Adresa instrukcije +1 Adresa instrukcije +2 Odredina adresa

Instrukcijski kod Prva polovina odredine adrese (01) Druga polovina odredine adrese (0F) Podatak iz akumulatora

(Reenje: Vremenski dijagram zadatka 1 prikazuje Sl.20)

12

Sl. 3.20 - Reenje zadatka 1

2. Nacrtajte vremenski dijagram za sledeu instrukciju LDA $0F (napuni akumulator A sa memorijske lokacije 000F ). Instrukcija se izvrava u tri ciklusa. 3. Mikroprocesori su spori. ta je glavni razlog njihovoj sporosti? 4. Sl.21 prikazuje poetna stanja internih registara pojednostavljenog modela mikroprocesora. Upiite nove sadraje u interne registre i memoriju nakon izvoenja sledee programske sekvence: LDA ADD ADD STA $0109 $010A $010B $01FF

13

Sl..21 - Poetna stanja internih registara pojednostavnjenog modela mikroprocesora za zadatak 4

Sl.22 prikazuje sadraje programske memorije i poetno stanje memorije podataka.

Sl..22 - Programska memorija i poetno stanje memorije podataka za zadatak 4

14

PRIMER: Pratiti sadraje registara i stanja na upravljakoj liniji R/W, adresnoj sabirnici i sabirnici podataka u toku izvravanje sledeeg programskog segmenta: komentar: LDA $0201 Napuni ACC sadrajem lokacije (0201)16 ADD $FF Dodaj sadraj lokacije (00FF)16 STA $0202 Smesti rezultat na adresu (0202)16 JMP $0113 Skok na instrukciju iji se kod nalazi na adresi (0113)16 Sadraj memorije je: aresa sadraj: 00FF 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 010A . 0113 . 0201 REENJE:
Instrukcija: ciklus

komentar: podatak LDA $0201

1A B6 02 01 9B FF 97 02 02 D1 01 13 23

ADD STA JMP

$FF $0202 $0113

kod neke instrukcije podatak

PC 0101 0102 0103 0103 0104 0105 0105 0106 0107 0108 0108 0109 010A 010B 0114

IR B6 B6 B6 B6 9B 9B 9B 97 97 97 97 D1 D1 D1 Kod instr.

DC 02-0201 0201 0201 00FF 00FF 00FF 02-0202 0202 0202 01-0113 0113

ACC 23 23 23 3C 3C 3C 3C 3C 3C 3C 3C 3C

R/W 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1

LDA $0201 ADD $FF STA $0202 JMP $0113

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Adresna sabirnica 0100 0101 0102 0201 0103 0104 00FF 0105 0106 0107 0202 0108 0100 010A 0113

Sabirnica podataka B6 02 01 23 9B FF 1A 97 02 02 3C D1 D1 13 Kod instr.

15

You might also like