STANDARDNA ARHITEKTURA MIKROPROCESORA

Σχετικά έγγραφα
STANDARDNA ARHITEKTURA MIKROPROCESORA

MIKRORAČUNAR. Sl.1. - Sklop mikroračunara kao crna kutija

ORGANIZACIJA PREKIDNOG SISTEMA ZA MIKROPROCESOR M6800

Najjednostavnija metoda upravljanja slijedom instrukcija:

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

Logičko i fizičko stanje digitalnog kola

1a. Von Neumannov model računala

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku. GRAĐA RAČUNALA (predavanja u ak. god /2006.)

3.1 Granična vrednost funkcije u tački

Elementarna memorijska kola

Najjednostavnija metoda upravljanja slijedom instrukcija:

numeričkih deskriptivnih mera.

Operacije s matricama

7. Mikroprogramiranje

Ispitivanje toka i skiciranje grafika funkcija

Teorijske osnove informatike 1

Obrada signala

III VEŽBA: FURIJEOVI REDOVI

19. INTEGRISANI DIGITALNI PROCESORI SIGNALA

PREGLED SKUPA INSTRUKCIJA (NAREDBI) I ASEMBLER

Komponente digitalnih sistema. Kombinacione komponente Sekvencijalne komponente Konačni automati Memorijske komponente Staza podataka

Elementi spektralne teorije matrica

Zavrxni ispit iz Matematiqke analize 1

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

Računarska grafika. Rasterizacija linije

IZVODI ZADACI (I deo)

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

MEMORIJA. Karakteristike memorijskih sistema

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

41. Jednačine koje se svode na kvadratne

ORGANIZACIJA PROCESORA

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

PRIMJER 3. MATLAB filtdemo

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

Kaskadna kompenzacija SAU

18. listopada listopada / 13

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

5. Karakteristične funkcije

Osnovne teoreme diferencijalnog računa

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

ARHITEKTURA RAČUNARA

Klasifikacija blizu Kelerovih mnogostrukosti. konstantne holomorfne sekcione krivine. Kelerove. mnogostrukosti. blizu Kelerove.

Konstruisanje. Dobro došli na... SREDNJA MAŠINSKA ŠKOLA NOVI SAD DEPARTMAN ZA PROJEKTOVANJE I KONSTRUISANJE

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

( , 2. kolokvij)

Računarska grafika. Rasterizacija linije

OSNOVI ELEKTRONIKE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

INTELIGENTNO UPRAVLJANJE

APROKSIMACIJA FUNKCIJA

STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA

3. STRUKTURE PODATAKA

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića

VON NEUMANNOV MODEL RAČUNALA

Riješeni zadaci: Nizovi realnih brojeva

Matematika 1 - vježbe. 11. prosinca 2015.

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

TRIGONOMETRIJSKE FUNKCIJE I I.1.

SISTEMI NELINEARNIH JEDNAČINA

Algebarske strukture sa jednom operacijom (A, ): Ako operacija ima osobine: zatvorenost i asocijativnost, onda je (A, ) polugrupa

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

( ) π. I slučaj-štap sa zglobovima na krajevima F. Opšte rešenje diferencijalne jednačine (1): min

Linearna algebra 2 prvi kolokvij,

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

I Pismeni ispit iz matematike 1 I

T E M A 4A Procesori i memorije

FAKULTET PROMETNIH ZNANOSTI

Sortiranje prebrajanjem (Counting sort) i Radix Sort

ELEKTROTEHNIČKI ODJEL

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

Pravilo 1. Svaki tip entiteta ER modela postaje relaciona šema sa istim imenom.

Otpornost R u kolu naizmjenične struje

Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta.

RIJEŠENI ZADACI I TEORIJA IZ

Novi Sad god Broj 1 / 06 Veljko Milković Bulevar cara Lazara 56 Novi Sad. Izveštaj o merenju

Matematička analiza 1 dodatni zadaci

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4

Pošto pretvaramo iz veće u manju mjernu jedinicu broj 2.5 množimo s 1000,

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

Prikaz sustava u prostoru stanja

POSTUPAK PROJEKTOVANJA CENTRALNOG PROCESORA

A2-87-RO RELEJNI IZLAZNI MODUL. Electronic Design. Beograd, 2001.

OM2 V3 Ime i prezime: Index br: I SAVIJANJE SILAMA TANKOZIDNIH ŠTAPOVA

Periodičke izmjenične veličine

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

Program testirati pomoću podataka iz sledeće tabele:

Slika 1.1 Tipičan digitalni signal

Hardverska struktura plc-a

Transcript:

STANDARDNA ARHITEKTURA MIKROPROCESORA UVOD Svaki sastavni deo, a time i celi mikroprocesor, najbolje je opisan skupom registara i njihovom funkcijom, putevima između registara, nizom operacija koje se izvode na binarnim informacijama skladištenim u registrima, te upravljačkim funkcijama koje rukovode tim operacijama. Skup registara, putevi između njih, organizacija i način delovanje upravljačke jedinice (a time i delovanje mikroprocesora kao celine) određuje arhitekturu mikroprocesora. Većina današnjih mikroprocesora istog je tipa arhitekture. Elementi te standardne arhitekture su sledeći: - upravljačka jedinica, - aritmetičko-logička jedinica, - jedan ili više akumulatora, - registri opšte namene ili skup registara opšte namene, - adresni registri, - interne sabirnice. UPRAVLJAČKA JEDINICA Upravljačka jedinica generiše upravljačke signale i koordinira sve aktivnosti unutar mikroprocesora. Ona pribavlja, dekodira i omogućuje izvođenje instrukcije. Upravljačka jedinica takođe komunicira s ostalim komponentama mikroračunara preko ulazno-izlaznih linija - upravljačke sabirnice. Za vreme faze PRIBAVI upravljačka jedinica pribavlja instrukciju i dekodira operacijski kod. U skladu s interpretacijom operacijskog koda, menja stanje mikroprocesora i šalje upravljačke signale drugim elementima mikroprocesora i mikroračunara. Niz takvih upravljačkih signala rukovodi izvršavanjem instrukcije pribavljene iz memorije. Element iz niza upravljačkih signala naziva se mikroinstrukcija. Mikroinstrukcija je upravljačka reč koja je uzrok jedne ili više istovremenih operacija - mikrooperacija. Primeri takvih mikrooperacija su prenosi između registara, posmak sadržaja registara i slično. Instrukcija pribavljena iz memorije mikroračunara (makrinstrukcija) obično uslovljava izvođenje čitavog niza mikroinstrukcija. ARITMETIČKO - LOGIČKA JEDINICA I AKUMULATOR Aritmetičko-logička jedinica je višefunkcijski digitalni kombinacioni sklop. Ona izvršava osnovne aritmetičke i logičke operacije. U svom sastavu ima sklopove za komplementiranje, posmak, sabiranje, inkrementiranje (povećanje za 1), dekrementiranje (smanjenje za 1) i prenos. Aritmetičkologičkoj jedinici pridružen je registar uslova sa zastavicama (bistabilima dojave stanja). Mikroprocesor automatski postavlja ili briše odgovarajuće zastavice - dojavne bistabile (C,V,N,Z,H,P) u registru uslova za vreme izvođenja instrukcije, u zavisnosti od rezultata aritmetičko-logičke operacije. Zastavica C, dojavni bit prenosa, element je registra uslova i ima dve funkcije: - pohranjuje bit kod aritmetičkog prenosa (prenos sa najznačajnijeg mesta). 16

Na primer, pri sabiranju dva broa (Sl.23) rezultat generše prenos u 9-ti bit. Deveti bit je skladišten u zastavici C registra uslova i može se ispitivati, - zastavica C upotrebljava se kao bit pri operacijama posmaka. Sl.4.5 daje primer kružnog pomaka i pomaka ulevo. + 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 0 C - zastavica Sl.23 - Primer sabiranja sa prenosom b7 b0 b7 b0 c a) b) c Sl.24 - Primer instrukcija: a) kružnog pomaka, b) pomaka ulevo Zastavica V (Overflow) je bit preteka (preliva). U matematičkom smislu predstavlja grešku u bitu predznaka u aritmetici dvojnog komplementa: V = C s C p gde su C p prenos u bit predznaka (najznačajniji bit b7), a C s prenos iz bita predznaka. Drugim rečima, aritmetički pretek (zastavica postavljena V=1) pokazuje da je prilikom aritmetičke operacije rezultat prekoračio granicu ±127, ako je reč mikroprocesora (akumulatora) dužine 8 bita. Zastavica N upotrebljava se za indikaciju negativnog rezultata aritmetičke operacije (najznačajniji bit reči b7=1) Zastavica Z je dojavni bit nule i postavlja se (Z=1) kada je rezultat aritmetičke operacije nula. Upotrebljava se i za logičke operacije, npr. komparacije, gde se,ukoliko su dva operanda jednaka, postavlja zastavica. Operacija komparacije vrši se logičkom operacijom Isključivo ILI (XOR,EOR), (Sl.25). Z bit pre 0 0 0 1 1 0 1 0 1 Z EORA 0 0 1 1 0 1 0 1 Akumulator A Sadržaj memorijske lokacije M Z bit posle 1 0 0 0 0 0 0 0 0 Akumulator A Z Sl.25 - Operacija EORA i Z-bit u registru uslova Sl.26 prikazuje interni sklop za postavljanje zastavica C, V, N, Z. 17

Zastavica H je dojavni bit polovičnog prenosa i upotrebljava se u BCD (Binary-Coded Decimal) operacijama, budući da se u kodu BCD upotrebljavaju četiri bita za prikaz decimalnog broja. Prilikom izvođenja aritmetičkih operacija može nastati prenos iz bita b3 u b4 (polovični prenos). Taj prenos u BCD aritmetici mora biti otkriven (detektovan)-(h=1 ako se prenos dogodio) da bi se omogućilo pravilno izvođenje aritmetičkih operacija. Sl. 26 - Sklop za postavljanje zastavica u registru uslova Zastavica P je bit parnosti i sadržana je u registru uslova kod mikroprocesora Intel 8080 za ispitivanje korektnog prenosa podataka. Većina mikroprocesora nema bit P u registru uslova, budući da je funkcija generisanja i ispitivanje parnosti prenesena u nadležnost programibilne jedinice U/I. Bit prekida - zastavica I obično se ne upotrebljava u aritmetičkim operacijama. Bit I se postavlja (I=1) u slučaju prekida. Zastavica I naziva se kod mikroprocesora M6800 prekidna maska, jer se u slučaju da je I=1 i ako se pojavi zahtev za prekidom nižeg prioriteta (IRQ = 0), prekid se neće dogoditi. Na Sl.27 prikazan je registar uslova (CCR-- Condition Code Register) za M6800 i uticaj nekih instrukcija na pojedine zastavice. Instrukcije 1 1 H I N Z V C STAA R EORA R ADDA CLRA R S R R COMA R S PSHA LDAA R ne utiče; S postavlja; R briše; postavlja ili briše u zavisnosti od rezultata Sl.27 - Registar uslova CCR i uticaj nekih instrukcija na pojedine zastavice Neki mikroprocesori imaju jedan ili više registara koji su po funkciji izdvojeni od ostalih, a nazivaju se akumulatori. Pored toga što se upotrebljavaju za privremeno skladištenje jednog operanda, oni učestvuju pri izvođenju aritmetičkih i logičkih operacija na podacima. Rezultati aritmetičkih i logičkih operacija izvedenih u aritmetičko-logičkoj jedinici skladište se u akumulatoru. Obično se akumulator postavlja na jedan od ULAZA u aritmetičko-logičku jedinicu i u kombinaciji sa 18

privremenim registrima razdvaja ulaz aritmetičko-logičke jedinice od izlaza. Razdvajanje je potrebno kod mikroprocesora standardne arhitekture sa jednom internom sabirnicom, zbog uticaja izlaza aritmetičko-logičke jedinice na ulaz (critical race). REGISTRI OPŠTE NAMENE Registri opšte namene omogućavaju aritmetičko-logičkoj jedinici rukovanje podacima velikom brzinom. Registri u mikroprocesoru mogu biti organizovani u maloj memorijskoj jedinici. Tako organizovani nazivaju se skup registara za privremeno skladištenje (scratchoad). ADRESNI REGISTRI Adresni registri su 16-bitni registri za skladištenje adresa. Nazivaju se i brojila podataka (datacounters ili pointers). Njihova bitna karakteristika je da su spojeni na adresnu sabirnicu, te da im sadržaj preko adresnog međuregistra i spoljne adresne sabirnice određuje adresu memorijske reči. Adresni registri su: - programsko brojilo, pomoćno programsko brojilo (program counter PC) - brojilo podataka - registar podataka (data counter DC) - pokazivač steka (stack pointer SP), - indeksni registar. Stek LIFO (Last-In-First-Out) memorijska je struktura koja uključuje hronološku komponentunajstariji je podatak na dnu stoga, dok je najmlađi na vrhu (Sl.4.13). Sl.28 - LIFO struktura Jedan od načina realizacije steka je programski (softverski stek). On se sastoji od određenog broja memorijskih lokacija u memoriji, tako da je njegova dubina neograničena - zavisi samo od veličine memorije. Programer sam bira osnovu stoga, koja je određena početnim sadržajem pokazivača steka. Sklopovski (hardverski) realizovani stek sastoji se od n internih registara izvedenih u čipu. Prednost im je velika brzina, međutim, nedostatak je ograničena dubina stoga. Hardverski realizovan stek uslovljava logičke sklopove za detekciju popunjenosti steka. Stekom se upravlja samo sa dve instrukcije: 19

- položi podatak u stek (PUSH), - uzmi podatak iz steka (PULL) Instrukcija PUSH polaže podatak na vrh stoga. Instrukcija PULL uzima podatak sa vrha stoga (Sl.29). Sl.29 - Primer izvođenja: a) PUSH instrukcije, b) PULL instrukcije Pokazivač steka (SP) je 16-bitni registar koji sadrži adresu steka. Svaki memorijski pristup steku (polaganje ili uzimanje podataka) inkrementira ili dekrementira (povećava ili smanjuje za 1) sadržaj pokazivača steka. Sl.30 i Sl.31 ilustruju instrukcije PUSH i PULL za mikroprocesor M6800. Sadržaj pokazivača steka se smanjuje za jedan neposredno nakon skladištenja u stek (PSH instrukcija). Pokazivač steka se povećava za jedan neposredno pre čitanja svakog bajta iz steka, te je bajt tada dobijen iz adrese sadržane u pokazivača steka. Sl.30 - Pokazivač steka (SP) i PSHA instrukcija: a)stek pre PSHA instrukcije, b)stek posle PSHA instrukcije Instrukcija PULA puni akumulator A, a pokazivač steka se automatski povećava za jedan upravo pre nego što je podatak iz steka pročitan. Instrukcija PULA ne briše podatak u stogu (7F na m+1, Sl.31). Podatak će biti prekriven i izgubljen sledećom instrukcijom PUSH. 20

Sl.31 - Kazalo stoga (SP) i PULA instrukcija: a) stog pre PUL A instrukcije, b) stog posle PUL A instrukcije Stek služi za privremeno skladištenje podataka kao što su: - tekući status (stanje) mikroprocesora, - povratna adresa, - podaci. Upotrebljava se kod sledećih funkcija: - operacija prilikom prekida, - operacija sa potprogramima, - skladištenje podataka. Indeksni registar se upotrebljava pri indeksnom načinu adresiranja, pri kojem se adresa u instrukcijskoj reči i sadržaj indeksnog registra sabiraju u cilju određivanje stvarne adrese operanda. Neki mikroprocesori imaju indeksne registre (npr. Motorola M6800, Signetica 2650), dok se drugi koriste registrima opšte namene kao indeksnim (npr. Intel 8080). MODEL MIKROPROCESORA M6800 Mikroprocesor M6800 je 8-bitni paralelni procesor na jednom čipu, smešten u kućištu sa 40 izvoda u dve linije (40-pin dual-in-line package). Mikroprocesor ima stek promenljive dužine, sedam načina adresiranja, skup od sedamdeset i dve instrukcije, vektorski prekid, šest programeru dostupnih internih registara, direktan pristup memoriji i mogućnost multiprocesorske obrade. M6800 treba jedan napon napajanja (+5V). To su osnovne karakteristike mikroprocesora M6800. Sl.32 prikazuje model interne organizacije mikroprocesora M6800. 21

Sl.32 - Model mikroprocesora M6800 Šesnaestobitno programsko brojilo je registar za usmeravanje programskog toka od jedne instrukcije prema drugoj. Budući da je to 16-bitni registar, omogućeno je direktno pribavljanje instrukcije iz celog memorijskog prostora od 64KB. 16-bitno brojilo podataka ima istu funkciju kao i u pojednostavljenom modelu mikroprocesora. Pokazivač steka je registar dužine 16-bita koji sadrži adresu lokacije u memorijskom prostoru koji se upotrebljava kao stek. Stek je obično memorija sa direktnim pristupom i upotrebljava se za skladištenje povratnih adresa iz potprograma, skladištenje tekućeg stanja kod prekida, te skladištenje podataka. U indeksni registar, veličine dva bajta, skladište se podaci ili 16-bitna adresa. Dva akumulatora, A i B, su 8-bitni registri koji sadrže operande i rezultate iz aritmetičkologičke jedinice. Oni su sa programskog gledišta pravi radni prostor. Sve aritmetičke i logičke operacije akumuliraju rezultate u tim registrima. Podskup instrukcija namenjen je operacijama nad podacima sadržanim u tim registrima, s time, da akumulator A ima nešto veće sposobnosti u odnosu na B. Registar uslova ili registar stanja procesora je 6-bitni registar, čiji se bitovi (zastavice--bistabili dojave stanja) postavljaju na temelju sadržaja registra ili memorijske lokacije, ili rezultata aritmetičke, odnosno logičke operacije. Instrukcijski registar sa dekoderom i upravljačkim sklopovima rukovodi internim operacijama mikroprocesora. Kombinacije osnovnih instrukcija i različitih načina adresiranja daju 197 instrukcija različitih dužina reči (1-, 2-, 3- bajtne instrukcijske reči). Dvofazni taktni signali φ1 i φ2 vremenski upravljaju svim operacijama u mikroprocesoru (Sl33). 22

Sl.33 - Dvofazni signali takta (vremenskog vođenja) Na prednjem bridu signala φ1 sadržaj programskog brojila se preko adresnog međuregistra prenosi na spoljnu adresnu sabirnicu. Na zadnjem bridu signala φ1 sadržaj programskog brojila pvećava se za jedan. Na prednjem bridu signala φ2 podaci se postavljaju na sabirnicu podataka. Smer podataka (od ili prema mikroprocesoru) određen je stanjem na upravljačkoj liniji R/W (čitaj/piši). Na zadnjem bridu signala φ2 podaci su prihvaćeni u mikroprocesor ili memoriju (u zavisnosti od smera podataka). Devet upravljačkih linija omogućava različita delovanje mikroprocesora ili nude posebne upravljačke funkcije. Upravljačka linija HALT omogućava zaustavljanje mikroprocesora (HALT signal=0) na kraju izvođenja tekuće instrukcije. Ulazna linija za upravljanje trećim logičkim stanjem TSC (Three-State Control) služi za prebacivanje spoljnih adresnih linija i R/W upravljačke linije u stanje visoke impedanse -u treće logičko stanje. VMA (Valid Memory Address) - Adresa memorije validna je izlazna linija koja pokazuje memoriji i spoljnim jedinicama da je na adresnoj sabirnici validna adresa memorije. Izlaz Sabirnica raspoloživa, BA (Bus Available), u logičkom stanju 1 označava da je mikroprocesor zaustavljen (u stanju HALT) i da je adresna sabirnica raspoloživa za druge spoljne uređaje. Upravljanje spoljnom sabirnicom podataka vrši se ulaznom linijom DBE (Data Bus Enable) - Osposobi sabirnicu podataka. Ta ulazna linija je upravljački signal logike trećeg stanja i u stanju DBE=1 omogućava mikroprocesoru upotrebu sabirnice podataka. Tim ulazom normalno upravlja takt φ2. Pri DBE=0 sabirnica podataka je na raspolaganju (drugom) spoljnom uređaju. Ulaz RESET služi za resetovanje i pokretanje mikroprocesora nakon uspostavljanja napona napajanja. Ulazne linije: Zahtev za prekid (IRQ) i Nemaskirajući prekid (NMI) služe za postavljanje zahteva za prekid od strane spoljnih jedinica. Na modelu mikroprocesora M6800 biće opisano izvođenje dve instrukcije: LDAA $0F STAA $010F NAPUNI AKUMULATOR SADRŽAJEM MEMORIJSKE LOKACIJE ČIJA JE ADRESA 000F, SKLADIŠTI SADRŽAJ AKUMULATORA A U MEMORIJSKU LOKACIJU 010F Instrukcija LDAA $0F izvodi se u tri ciklusa (Sl.34). U prvom ciklusu sadržaj programskog brojila (adresa instrukcije LDAA) se sa prednjim bridom signala φ1 postavlja na adresnu sabirnicu (1). Zadnjim bridom signala φ1 sadržaj programskog brojila se povećava za jedan (2). Podatak sa sabirnice 23

podataka sa zadnjim bridom signala φ2 (to je operacijski kod instrukcije LDAA) prihvata i sprema u instrukcijski registar (3). Prispeli operacijski kod se dekodira kao: napuni akumulator A sadržajem memorijske lokacije, čija je adresa sledeći bajt instrukcijske reči. Sl.34 - Dijagram izvođenja instrukcije LDAA $0F Prilikom pribavljanja operacijskog koda signali VMA i R/W bili su u logičkom stanju 1. U drugom ciklusu sadržaj programskog brojila postavlja se na adresnu sabirnicu sa prednjim bridom signala φ1. Programsko se brojilo povećava za jedan. Sadržaj memorijske lokacije sa postavljene adrese smešten je na sabirnicu podataka (VMA I R/W = 1) i skladišti se u brojilo podataka (4). To je bajt 0F - adresa operanda. U trećem ciklusu sadržaj brojila podataka smeštava se na adresnu sabirnicu. Sadržaj sa adrese 000F postavlja se na sabirnicu podataka (signali VMA i R/W su 1) i sa zadnjim bridom signala φ2 smešta se u akumulator A (5). Tabela 2 Izvođenje instrukcije LDAA $0F Instrukcija Broj ciklusa Ciklusi WMA linija Adresna sabirnica R/W linija Sabirnica podataka 1 1 Adresa operacijskog koda 1 Operacijski kod LDA A (direktno 3 2 1 Adresa operacijskog koda 1 Adresa +1 operanda adresiranje) 3 1 Adresa operanda 1 Operand Tabela 2 prikazuje stanja na sabirnici podataka i adresnoj sabirnici, te upravljačkim linijama VMA i R/W. Instrukcija STAA $010F izvodi se u pet ciklusa (Sl 35). Stanje u memoriji je sledeće: Adresa Sadržaj 0005 B7 operacijski kod STAA 0006 01 0007 0F adresa operanda 24

Sl.35 - Dijagram izvođenja instrukcije STAA $010F Prvi ciklus započinje postavljanjem sadržaja programskog brojila (0005) na adresnu sabirnicu (1). Programsko brojilo povećava se za jedan (0006) (2). Sadržaj sa adrese 0005 (operacijski kod B7) postavljen je na sabirnice podataka i zadnjim bridom φ2 signala spremljen u instrukcijski registar (3). Operacijski kod je dekodiran kao: Skladišti sadržaj akumulatora A u memorijsku lokaciju određenu sa dva sledeća bajta. Drugi ciklus započinje postavljanjem sadržaja programskog brojila (0006) na adresnu sabirnicu (4). Sadržaj programskog brojila povećava se za jedan (0007) (5). Sadržaj sa adrese 0006 (01) postavlja se na sabirnicu podataka i smeštava u brojilo podataka. U trećem ciklusu pribavlja se treći bajt (manje značajan bajt adrese (7) instrukcijske reči (0F) I smešta u brojilo podataka (9). Sadržaj programskog brojila povećava se za jedan (0008) (8). U četvrtom se ciklusu sadržaj brojila podataka (010F) postavlja na adresnu sabirnicu (10). Sadržaj akumulatora A je pripravan za prenos (VMA=0 i R/W=1). Sadržaj programskog brojila se ne povećava. U petom ciklusu izabrana je memorijska lokacija s adresom 010F, upravljački signal R/W prelazi u 0, (VMA u 1, a sadržaj akumulatora A je preko spoljne sabirnice podataka prenesen i skladišten u memorijsku lokaciju 010F (11). Tabela 5.2 prikazuje stanja na sabirnicama i upravljačke signale prilikom izvođenja instrukcije STA A $ (16-bitna adresa). Tabela 5.2 Izvođenje instrukcije STA A $010F Instrukcija Broj ciklus a Ciklusi WM A linija Adresna sabirnica R/W linija Sabirnica podataka 1 1 Adresa operacijskog koda 1 Operacijski kod STA A 2 1 Adresa operacijskog koda +1 1 Odredišna adresa (značajniji bajt) (prošireno 5 3 1 Adresa operacijskog koda +2 1 Odredišna adresa (manje značajan bajt) direktno 4 0 Odredišna adresa operanda 1 - adresiranje ) 5 1 Odredišna adresa operanda 0 Podatak iz akumulatora Prilikom izvođenja instrukcije mikroprocesor može imati tri tipa vremenskih mašinskih ciklusa: 25

-ciklus operacije čitanja, -ciklus operacije upisivanje, -ciklus interne operacije. Za vreme operacije čitanja bajt podataka se unosi u mikroprocesor (VMA=1, R/W=1; Sl.5.5) Za vreme operacije upisivanje bajt podataka je poslat od strane mikroprocesora (VMA=1, R/W=0; Sl.5.6). U ciklusu interne operacije mikroprocesora nema aktivnosti na sabirnici (VMA=0, R/W=1). Sl.36 - Ciklus operacije čitanja (Read) Sl.37 - Ciklus operacije upisivanje (Write) 26

MEMORIJA UVOD Memorija je važna komponenta mikroračunara i sklopa mikroračunara. Instrukcije, podaci, rezultati i međurezultati skladište se u memoriji i pozivaju iz memorije. Memorije koje se upotrebljavaju u sklopovima mikroračunara možemo podeliti u dev grupe: -memorija sa sekvencijalnim pristupom (periferna memorija), -memorije sa direktnim pristupom (tipovi memorije RAM i ROM - centralna ili operativna memorija) Kod memorije sa sekvencijalnim pristupom vreme pristupa zavisi od mesta gde je podatak skladišten. Glavni predstavnici takvih memorija su magnetne trake, magnetni diskovi, optički diskovi, poluprovodničke serijske memorije itd. Većina ovih tipova memorija upotrebljavaju se u nižim hijerarhijskim tipovima organizacije memorije (sekundarna memorija). Primeri: disketa, disk. Memorija RAM upotrebljava se za skladištenje podataka koji se menjaju za vreme izvođenja programa, te programa koji se razvijaju i prolaze fazu testiranja, uz popravke i izmene. Nedostatak memorija RAM je da su izbrisive (volatile) - pri nestanku napajanja njihov sadržaj se briše. Memorija ROM upotrebljava se za skladištenje programa, konstanti i stalnih parametara. Sadržaj memorije ROM može se očitati, međutim, ne može se menjati upisivanjem. Memorija ROM je neizbrisiva (non-valatile) - pri nestanku napajanja sadržaj je sačuvan. MEMORIJA RAM U poseban tip memorija sa direktnim pristupom ulaze alfanumerički i grafički video-ram (VRAM). Alfanumerički video-ram sa strane mikroprocesora izgleda kao obični statički RAM i može se direktno spojiti na adresnu sabirnicu i na sabirnicu podataka mikroračunara. U VRAM se može upisivati ili očitavati isto kao i kod običnih memorija RAM. VRAM ima dodatni izlaz (Sl.38) -VRAM VIDEO SIGNAL, koji daje video signal, a upotrebljava se za prikaz sadržaja memorijskih lokacija VRAM-a na TV monitoru. Sl.38 - VRAM (video RAM) memorija 27

Sadržaj memorijske lokacije u VRAM-u određuje prikazani znak (Sl.39). Pozicija svakog znaka na ekranu odgovara memorijskoj lokaciji. Sl.39 - Prikaz sadržaja VRAM-a na prikaznoj jedinici s katodnom cevi Grafički VRAM (grafička kartica) ima i dodatne registre, koji služe za skladištenje parametara kao što su koordinate x,y, boja i intenzitet, te za skladištenje naredbi za rukovanje prikaznom jedinicom. Grafički VRAM-ovi (moduli na kartici) imaju prikazne matrice dimenzija 256 x 256 do 256 x 1024 i više. MEMORIJA ROM Memorija ROM ili ROS (Read-Only Store) ispunjava dva zahteva: -neizbrisivost (nonvolatibility), -nedestruktibilnost - neuništivost sadržaja. Nedestruktibilnost znači da se ROM pojavljuje kao memorijsko polje čiji je sadržaj, jednom upisan, stalan i ne može se promeniti pod uticajem mikroprocesora (operacijom upisivanje). Zbog tih svojih karakteristika ROM se obično upotrebljava za skladištenje stalnih programa. U grupu ispisnih memorija spadaju: a) ROM b) PROM - programibilna ispisna mrmorija, c) EPROM - promenljiva programibilna ispisna memorija. a) U ROM je upisan određeni sadržaj već za vreme izrade memorijskog čipa. Bit-uzorke koji odgovaraju željenom programu korisnik dostavlja proizvođaču u standardnom obliku. Sl.40 prikazuje logičku strukturu ROM-a. 28

Sl.40 - Logička šema ROM-a (ispisne memorije) 32x24 bita b) PROM (User-Programmable Read Only Memory) je tip ispisne memorije koju može isprogramirati sam korisnik uz pomoć uređaja za programiranje PROM-ova. c) EPROM je memorija koju može programirati korisnik uz pomoć (E) PROM - programera, ali se njen sadržaj može izbrisati i zatim ponovo isprogramirati. EPROM se briše osvetljavanjem čipa UV zrakama u trajanju od pet do deset minuta. Sadržaj svih memorijskih lokacija se briše. Nakon brisanja,eprom može biti ponovo isprogramiran. Cena EPROM-a je relativno visoka. PRIMER ORGANIZACIJE MEMORIJSKOG PROSTORA Projektant sastava mikroračunara mora izračunati veličinu memorije koja se zahteva za neku određenu primenu. Takođe mora odrediti odnos primene pojedinih tipova memorija (RAM I ROM). Adresni prostor za određenu veličinu memorije prikazuje se obično tablicom adresa memorije. Pretpostavimo da su za određenu primenu potrebne memorije RAM od 512 bajtova i ROM od 1024 bajta ROM-a. Tabela prikazuje memorijske adrese za ovaj primer. Adresna sabirnica 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Sklo p 0 0 0 0 0 0 0 0 0 x x x x x x x RAM 1 0 0 0 0 0 0 0 0 1 x x x x x x x RAM 2 0 0 0 0 0 0 0 1 0 x x x x x x x RAM 3 Adresni prostor 0000-007F heksadek. 0080-00FF heksadek. 0100-017F heksadek. 0 0 0 0 0 0 0 1 1 x x x x x x x RAM 0180-01FF heksadek. 4 0 0 0 0 0 1 x x x x x x x x x x ROM 0400-07FF heksadek. 29

Sl.41 Primer realizacije memorijskog modula 4x128 bajta RAM+1024 bajta ROM 30