Maturski, seminarski i diplomski radovi iz informatike.
UVOD U MIKROPROCESOR i8086
Idejni tvorac mikroprocesora je inžinjer Marcijan Hof. Prvi mikroprocesor nastao je 1971. godine, pod nazivom Intel 4004 . Prvi predstavnici osmobitnih mikroprocesora nastali su 1974. godine, kada je Intel proizveo mikroprocesor i8080, a Motorola MC6800. Intel 1976. godine usavršava mikroprocesor i8080, a novi model nazvan je i8085. Predstavnici prve generacije šesnaestobitnih mikroprocesora su TMS9900 (1976, Texas Instrumental), i8086 (1978, Intel), MC68000 (1980, Motorola). Predstavnici druge generacije su Intelov i80286, Motorolin MC69010 i Zilogov Z8003. Nakon šesnaestobitnih pojavljuju se tridesetdvobitni mikroprocesori. 1984. godine Motorola proizvodi MC68020, a Intel i80386.
Tipičan predstavnik 16-bitnih mikroprocesora prve generacije je Intelov i8086. Ovaj mikroprocesor posjeduje 16-bitnu magistralu podataka i 20-bitnu adresnu magistralu. To zanči da i8086 može da adresira 220 = 1048576 = 1Mb memorijskih lokacija. Fizički gledano iste nožice se koriste za magistralu podataka kao i za adresnu magistralu, s tim što adresa magistrala ima i 4 dodatne linije. Pošto se iste nožice koriste za prenos adresa i podataka, to znači da i8086 u jednom trenutku prenosi adrese (i tada ne može prenositi podatke) i obratno, u drugom trenutku vrši prenos samo podataka. Drugačije rečeno, ovaj mikroprocesor vrši multipleksiranje signala. i8086 je napravljen u MOS tehnologiji i ima napajanje od +5V. Potrebno vrijeme za izvrsavanje instrukcije je promjenjivo i zavisi od vrste instrukcije. Kreće se od 2 do 30 taktova, pri čemu je 1 takt oko 125 ns.
ARHITEKTURA MIKROPROCESORA i8086
Mikroprocesor i8086 sastoji se od dvije jedinice: izvršna jedinica i jedinica interfejsa magistrale. Ove dvije jedinice operišu asinhrono. Cjelokupna komunikacija sa perifernim jedinicama i osnovnom memorijom odvija se preko jedinice interfejsa magistrale. Izvršna jedinica sastoji se od opštih registara i aritmetičko – logičke jedinice, dok jedinicu interfejsa magistrale čine segmentni registri, unutrašnji komunikacioni registri i skup bajtova koji služe za uvođenje instrukcija. Sve ove komponente povezane su unutrašnjim magistralama širine od 16 do 20 bita.
Mikroprocesor i8086 ima četrnaest 16-bitnih registara, i to dvanaest registara za podatke i adrese, jedan pokazivač instrukcija i statusni registar. Registri adresa i podataka su podjeljeni u tri skupa sa po 4 registra: segmentni registri, registri podataka i pokazivački i indeksni registri.
Fleg registar i IP figurišu izdvojeni jer svaki od njih ima specifični zadatak..
Registri opšte namjene uglavnom služe za vršenje aritmetičkih i logičkih operacija. Registri opšte namene razlikuju se od ostalih po tome što se mogu adresirati ili kao četiri 16-bitna, ili osam 8-bitnih registara. Registri opšte namjene su AX (akumulator), BX (bazni registar), CX (registar-brojač), DX (registar podataka).
Pokazivački i bazni registri se koriste za rad sa adresama. Da bi se pristupilo podacima u segmentu podataka, adresa segmenta se čuva u registru segmenta podataka, a dodatak u jednom od registara: BP (pokazivač baze), SI (izvorni indeks), DI (indeks odredišta). Prilikom rada sa stekom, adresa stek-segmenta je u stek-segment registru, a odgovarajući poddatak u SP (pokazivač steka) registru.
Pokazivač instrukcije IP je 16-bitni i sadrži adresu naredne instrukcije. Ova adresa je relativna adresa u odnosu na početak segmenta koda.
Fleg registar sastoji se od ćelija. Ako je sadržaj ćelije 1, zastavica je je podignuta, a ako je sadržaj 0, zastavica je spuštena.
Segmentacija
Povećana integracija i poboljšanje perfomansi mikroprocesora nameću potrebu za korišćenjem većeg memorijskog prostora. U vezi s tim pojavljuju se problem adresiranja. Kod mnogih mikroprocesora primjenjuje se tzv. linijsko rešenje u kojem se do memorijske lokacije dolazi navođenjem jednog broja.
Kod mikroprocesora i8086 za formiranje memorijske adrese potrebna su dva broja: broj segmenta ii dodatak. Razlog je podjela memorije po segmentima. Jedan segment je veličine 64 K. Mikroprocesor i8086 može u isto vrijeme da radi sa 4 segmenta od kojih svaki ima unaprijed propisanu ulogu.To su:
CS – kodni segment, koji služi za zapis instrukcija programa, registar CS ukazuje na tekući segment sa instrukcijama.
DS – segment podataka, namijenjen podacima sa kojima se operiše, registar DS ukazuje na tekući segment sa podacima.
SS – stek-segment, koji se koristi prilikom rada sa stekom, registar SS ukazuje na tekući stek.
ES – koji se prvenstveno koristi u radu sa azbučnim podacima, registar ES se koristi sa za dodatni prostor za podatke, ukazuje na tekući ekstra segment.
Svaki od segmenata ima pridružen jedan registar, iz skupa segmentnih registara, u kojem se čuva početna adresa segmenta. Početna adresa predstavlja jedan podatak potreban za formiranje memorijske adrese. Drugi podatak, koji nazivamo dodatak, određuje koliko je memorijska lokacija u segmentu udaljena od početka segmenta. Segmenti u mogu biti potpuno disjunktni, ali mogu se i preklapati.
UVOD U MIKROPROCESOR i8086...................................................................................3
ARHITEKTURA MIKROPROCESORA i8086............................................................3
Segmentacija..............................................................................................................4
FORMAT ASEMBLERSKIH INSTRUKCIJA I NAČIN ADRESIRANJA........................6
OBLICI ADRESIRANJA...............................................................................................7
ADRESIRANJE PODATAKA.......................................................................................7
Registarsko adresiranje..............................................................................................8
Neposredno adresiranje..............................................................................................8
Direktno adresiranje...................................................................................................8
Registarsko-indirektno adresiranje.............................................................................9
Bazno-relativno adresiranje......................................................................................10
Direktno-indeksno adresiranje..................................................................................11
Bazno-indeksno adresiranje......................................................................................11
Skalirano – indeksno adresiranje.............................................................................12
ADRESIRANJE INSTRUKCIJA..................................................................................12
Direktno adresiranje..................................................................................................12
Indirektno adresiranje................................................................................................12
Relativno adresiranje.................................................................................................12
ADRESIRANJE STEKA................................................................................................13
PRIMJER ASEMBLERSKOG PROGRAMA......................................................................13