ORGANIZACIJA PREKIDNOG SISTEMA ZA MIKROPROCESOR M6800

Σχετικά έγγραφα
MIKRORAČUNAR. Sl.1. - Sklop mikroračunara kao crna kutija

STANDARDNA ARHITEKTURA MIKROPROCESORA

STANDARDNA ARHITEKTURA MIKROPROCESORA

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

3.1 Granična vrednost funkcije u tački

Najjednostavnija metoda upravljanja slijedom instrukcija:

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

Logičko i fizičko stanje digitalnog kola

Kaskadna kompenzacija SAU

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

numeričkih deskriptivnih mera.

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

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

Računarska grafika. Rasterizacija linije

Najjednostavnija metoda upravljanja slijedom instrukcija:

SISTEMI NELINEARNIH JEDNAČINA

Elementi spektralne teorije matrica

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

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

18. listopada listopada / 13

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

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

Ispitivanje toka i skiciranje grafika funkcija

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

Zavrxni ispit iz Matematiqke analize 1

1a. Von Neumannov model računala

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

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

Računarska grafika. Rasterizacija linije

Operacije s matricama

5. Karakteristične funkcije

Teorijske osnove informatike 1

IZVODI ZADACI (I deo)

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

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

PREGLED SKUPA INSTRUKCIJA (NAREDBI) I ASEMBLER

III VEŽBA: FURIJEOVI REDOVI

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

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

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

I.13. Koliki je napon između neke tačke A čiji je potencijal 5 V i referentne tačke u odnosu na koju se taj potencijal računa?

5 Ispitivanje funkcija

Obrada signala

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

ORGANIZACIJA PROCESORA

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

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

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

Elementarna memorijska kola

41. Jednačine koje se svode na kvadratne

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

ELEKTROTEHNIČKI ODJEL

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

Reverzibilni procesi

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

PRIMJER 3. MATLAB filtdemo

Sortiranje prebrajanjem (Counting sort) i Radix Sort

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,

7. Mikroprogramiranje

19. INTEGRISANI DIGITALNI PROCESORI SIGNALA

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

3. STRUKTURE PODATAKA

for <brojacka_promenljiva> := <pocetna_vrednost> to <krajnja_vrednost> do <naredba>

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

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

( , 2. kolokvij)

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

OSNOVI ELEKTRONIKE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA

Linearna algebra 2 prvi kolokvij,

Linearna algebra 2 prvi kolokvij,

Grafičko prikazivanje atributivnih i geografskih nizova

Eliminacijski zadatak iz Matematike 1 za kemičare

RIJEŠENI ZADACI I TEORIJA IZ

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

radni nerecenzirani materijal za predavanja

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

ARHITEKTURA RAČUNARA

Numerička matematika 2. kolokvij (1. srpnja 2009.)

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

Osnovne teoreme diferencijalnog računa

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

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

Ĉetverokut - DOMAĆA ZADAĆA. Nakon odgledanih videa trebali biste biti u stanju samostalno riješiti sljedeće zadatke.

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

Matematička analiza 1 dodatni zadaci

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno.

7 Algebarske jednadžbe

Riješeni zadaci: Nizovi realnih brojeva

I Pismeni ispit iz matematike 1 I

Skripta iz Arhitekture i organizacije računara (radna verzija)

Tranzistori s efektom polja. Postupak. Spoj zajedničkog uvoda. Shema pokusa

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

IV. FUNKCIJE I STRUKTURA PREKIDAČKIH MREŽA IV.1 OSNOVNI POJMOVI IV.2 LOGIČKI ELEMENTI IV.3 STRUKTURA KOMBINACIONIH MREŽA IV.4 MEMORIJSKI ELEMENTI

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

Funkcije dviju varjabli (zadaci za vježbu)

Trigonometrijske nejednačine

STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA

Prikaz sustava u prostoru stanja

ASIMPTOTE FUNKCIJA. Dakle: Asimptota je prava kojoj se funkcija približava u beskonačno dalekoj tački. Postoje tri vrste asimptota:

nvt 1) ukoliko su poznate struje dioda. Struja diode D 1 je I 1 = I I 2 = 8mA. Sada je = 1,2mA.

Transcript:

ORGANIZACIJA PREKIDNOG SISTEMA ZA MIKROPROCESOR M6800 Mikroprocesor M6800 ima tri prekidna ulaza: Reset (RES), Non-Maskable Interrupt (NMI - nemaskirajući prekid) i Interrupt Request (IRQ). Prekidni sled može započeti upotrebom odgovarajućih upravljačkih signala na ta tri prekidna ulaza, ili upotrebom instrukcije SWI (softverski, programski prekid). Rezultirajući prekidni sled različit je za svaki od gornjih slučajeva. Sklopovski (hardverski) zahtev za prekidom (IRQ) obično generišu međusklopovi U/I (PIA, ACIA), i sklopovi koje projektuju korisnici. Postavljanjem linije IRQ u logičku 0 zahtev se aktivira. Sl.58 prikazuje prekidni sled pri aktiviranju linije IRQ. Sl.58 - Prekidni sled za prekid IRQ Nakon pojave IRQ=0 i ispitivanja prekidne maske u registru uslova, sledi skladištenje programibilnih registara (PC, IX, ACCA, ACCB, CCR) u memoriju određenu sadržajem pokazivača steka SP. Postupak skladištenja traje sedam memorijskih ciklusa. Po dva su ciklusa potrebna za skladištenje sadržaja programskog brojila i indeksnog registra, a po jedan za akumulator A, akumulator B, te registar uslova CCR. Sadržaj pokazivača steka umanjiće se za sedam i pokazivati sledeću praznu memorijsku lokaciju. Adresa prekidnog programa pribavlja se sa memorijskih lokacija FFF8 i FFF9. Postavljanje prekidne maske važna je operacija u organizaciji prekidnog sistema. Postavljanjem maske definisan je postupak rukovanja u slučaju pojave više zahtava za prekid. Ukoliko se želi omogućiti gnežđenje prekidnih programa, mora se obrisati prekidna maska instrukcijom CLI na početku prekidnog programa. Međutim, ako se ne želi gnežđenje prekida, prekidna maska se ne briše. 45

Maska se automatski briše tek izvođenjem instrukcije RTI (Return from Interrupt - povratak iz prekidnog programa). Izvođenjem instrukcije RTI, iz steka se vraćaju sva skladištena stanja radnih registara, te sadržaj programskog brojila i registra uslova (Sl.59). Budući da je pre prekida prekidna maska bila obrisana (inače ne bi ni došlo do prekida), nakon izvođenja instrukcije RTI, odnosno vraćanja u prekinuti tekući program, ponovno je omogućen prekid. Sl.59 - Izvođenje instrukcije RTI: a) pre izvođenja instrukcije RTI, b) nakon izvođenja instrukcije RTI Na Sl.58 prikazana je situacija u kojoj nakon postavljanja prekidne maske sledi grananje na prvu instrukciju u prekidnom programu. To se postiže punjenjem programskog brojila sadržajem memorijskih lokacija FFF8 i FFF9. Mikroprocesor pribavlja prvu instrukciju iz lokacije koja je određena novim sadržajem programskog brojila. Sadržaj u memorijskim lokacijama FFF8 i FFF9 naziva se vektorom. Mikroprocesor šalje na adresnu sabirnicu adresu FFF8 i postavlja liniju R/W u 1 te se sa izabrane lokacije pribavlja značajniji bajt nove vrednosti programskog brojila (PC8-15). Nakon toga sledi adresa FFF9 i pribavljanje drugog bajta nove vrednosti programskog brojila (PC0-7). Na taj se način pribavlja vektor. Nemaskirajući prekid NMI Sa zadnjim bridom (prelazom logičke 0 u 1) signala na ulazu NMI inicira se u mikroprocesoru prekidni sled. Kako sam naziv kaže, taj se prekid ne može maskirati. Prekidna maska u registru uslova CCR ne utiče na nemaskirajući prekid. Na ovu prekidnu liniju obično se priključuju spoljni logički sklopovi sa najvišim prioritetima u pogledu zahteva za posluživanje. Izuzev činjenice da taj tip prekida ne može biti maskiran, prekidni sled je u potpunosti jednak sledu izvođenja IRQ prekida. Nakon završetka izvođenja tekuće instrukcije mikroprocesor skladišti stanja, postavlja masku i pribavlja vektor sa memorijskih lokacija FFFC i FFFD (Sl.60). 46

Sl.60 - Prekidni sled za prekid NMI Nemaskirajući prekid upotrebljava se i za sisteme gde se stanje tekućeg programa moraju sačuvati prilikom ispada napajanja (stanja se skladište u memoriju sa baterijskim napajanjem). Reset (RES) Kada je RESET=0, mikroprocesor postavlja masku prekida i sa memorijskih lokacija FFFE i FFFF pribavlja vektor (adresu prve instrukcije u prekidnom programu), (Sl.61). Taj prekid koristi se za startanje mikroprocesora nakon uspostavljanja napona napajanja. Budući da se upotrebljava za start mikroprocesora (start-up mode), nije potrebno skladištenje stanja u stek. Sl.61 - Prekidni sled za prekid RES 47

Programski (softverski) prekid SWI Mikroprocesor M6800 poseduje takođe softverski prekid. Izvođenje softverskog prekida (SWI - instrukcija) inicira sled prikazan na Sl.10.14. Vektor se pri softverskom prekidu pribavlja iz memorijskih lokacija FFFA i FFFB. Sl.62 - Sled izvođenja prekida SWI Softverski prekid se upotrebljava kao ispitna tačka (break-point) pri otkrivanju i otklanjanju grešaka u programu. - U slučaju istovremenih zahteva za prekid, prioritet prekida je sledeći: 1.) RESET, 2.) NMI, 3.) SWI, 4.) IRQ. Prioritet prekida Vektor pribavljen sa memorijskih lokacija koje su specifične za pojedinu vrstu prekida, određuje početnu adresu prekidnog programa. Ako je na svaku prekidnu liniju (IRQ, NMI) priključen jedan spoljni logički sklop, izvor prekida je poznat i određeno je grananje na odnosni prekidni program. Problem prioriteta prekida javlja se pojavom više istovremenih zahteva za prekid na istoj prekidnoj liniji. Metodom prozivanja prioritet se određuje redosledom ispitivanja stanja spoljnih logičkih sklopova ili U/I međusklopova; Sl.63 prikazuje postupak ispitivanja za tri U/I međusklopa. Postoje modifikacije metode prozivanja kod kojih se najpre prikupljaju sva stanja, a zatim se određuje redosled posluživanja u zavisnosti od vremena proteklog od poslednjeg posluživanja spoljnjeg logičkog sklopa. 48

Sl.63 - Postupak ispitivanja stanja tri U/I međusklopa, potencijalna izvora zahteva za prekid U primeru priključenja više spoljnjih logičkih sklopova na istu prekidnu liniju, metoda prozivanja može biti prespora za utvrđivanje izvora prekida i njegovog posluživanja. U tom slučaju primenjuje se hardverska organizacija pririteta prekida, koja pospešuje mehanizam utvrđivanja uzroka prekida. Sl.64 (lančanim saobraćanjem (daisy chaining) i Sl.65 (višenivovski prekidi) prikazuju primer takve hardverske organizacije. Sl.64 - Određivanje prioriteta lančanim saobraćanjem (daisy chaining) 49

Asinhroni karakter prekida dozvoljava simultanu pojavu više zahteva za prekidom. Da bi se razrešio problem simultanih zahteva, a kako se usluga ne može dati svim zahtevima istovremeno, uvode se strukture prekida sa prioritetima. Konkurentne situacije se lako prevazilaze dodelom svakom uređaju jedinstvenog nivoa pririteta. Najopštiji način realizacije ove strukture podrazumeva selektivno omogućavanje prekida određenog nivoa pririteta na početku izvršavanja svake rutine za obradu prekida. Često dovoljan je i način koji koristi prag jednak tekućem aktivnom nivou prekida i zabranjuje prekide čiji nivo prioriteta ima vrednost manju od vrednosti praga. Ovakva struktura se susreće kod jedinice za upravljanje prekidima sa prioritetima za Intel 8080 koja se realizuje posebnim sklopom (Sl.64). Interesantan način za realizaciju strukture vektorskih prekida sa prioritetima je kodiranje prioriteta i korištenje koda pririteta umesto određenog broja adresnih linija adresne sabirnice. Jedan primer ovakve strukture prikazan je na Sl.65. Struktura obezbeđuje osam nivoa prioriteta prekida. Ako bi se, na primer, ova struktura prioriteta prekida primenila na Motorolu 6800, najpogodnije bi bilo da se vektori prekida smesta na lokacijama od (FFF9, FFF8) do (FFFB, FFFA) kako je to prikazano na Sl.3.66. Odgovarajuća tabela istine za koder prioriteta sa Sl.3.65 data je na Sl.3.67. Sl.65- Struktura prekida sa osam nivoa prioriteta Sl.66 - Vektori prekida za višenivovsku strukturu prekida sa osam nivoa prioriteta Motorole 6800 50

Nivoi prioriteta U l a z i 0 1 2 3 4 5 6 7 I z l a z i A 4 A 3 A 2 A 1 IRQ Lokacija vektora 1 (najvi{i) 1 x x x x x x x 1 1 0 0 1 FFF9 FFF8 2 0 1 x x x x x x 1 0 1 1 1 FFF7 FFF6 3 0 0 1 x x x x x 1 0 1 0 1 FFF5 FFF4 4 0 0 0 1 x x x x 1 0 0 1 1 FFF3 FFF2 5 0 0 0 0 1 x x x 1 0 0 0 1 FFF1 FFF0 6 0 0 0 0 0 1 x x 0 1 1 1 1 FFEF FFEE 7 0 0 0 0 0 0 1 x 0 1 1 0 1 FFED FFEC 8 0 0 0 0 0 0 0 1 0 0 1 0 1 FFEB FFEA 9 0 0 0 0 0 0 0 0 0 0 0 0 0 Sl.67 - Tabela istine kodera prioriteta DIREKTNI PRISTUP MEMORIJI UVOD Prekidnom U/I prenosu, u zavisnosti od broja spoljnih logičkih sklopova priključenih na istu prekidnu liniju i od izabrane metode za otkrivanje uzročnika prekida, potrebno je vreme za posluživanje prekida, odnosno vreme za prenos jednog elementa iz bloka podataka. Međutim u slučaju postojanja čestih zahteva za U/I prenosom od strane spoljnih logičkih sklopova, te postojanje zahteva za prenos većih blokova podataka, može se očekivati otežano i vrlo usporeno izvođenje glavnog (prekinutog) programa. Rešenje tog problema je u povećanju brzine U/I prenosa podataka i oslobađanju mikroprocesora od tereta U/I prenosa. Pomoću direktnog pristupa memoriji ostvaruje se brz prenos podataka između memorije i spoljnih logičkih sklpova, a da ne sudeluje mikroprocesor i da se ne menja sadržaj njegovih registara. Budući da se taj prenos vrši bez programskog upravljanja, granice brzine postavljene su sa sklopovskim karakteristikama komponenti mikroračunara. Primeri upotrebe metode direktnog pristupa memoriji su pri prenosu podataka između memorije mikroračunara i jedinice diskete, između brzih A/D pretvarača i memorije; između memorije i prikazne jedinice. ORGANIZACIJA DIREKTNOG PRISTUPA MEMORIJI (DMA) Sl.68 daje šematski prikaz realizacije direktnog pristupa memoriji. U ovom postupku tok podataka, uspostavljen između vanjskog logičkog sklopa i memorije mikroračunara, zaobilazi mikroprocesor, odnosno DMA ima izdvojen kanal za prenos podataka. 51

Sl.68 - šematski prikaz direktnog pristupa memoriji (DMA) Zbog specifične organizacije mikroračunara, te nepostojanja izdvojenog kanala između memorije i upravljažkog sklopa DMA, pri organizaciji direktnog pristupa mora se upotrebiti ista spoljna sabirnica koju upotrebljava i mikroprocesor (Sl.69). Mikroprocesor i upravljački sklop DMA zajednički dele sabirnice na sledeći način: Sl.69 - Šematski prikaz stvarne organizacije direktnog pristupa memoriji (DMA) za mikroračunar U primeru normalnog delovanja mikroprocesora upravljački sklop DMA se električki odspaja od spoljne sabirnice postavljanjem svojih izlaza u stanje velike impedance (Sl.70). 52

Sl.70 - Primer normalnog delovanja mikroprocesora (šematski prikaz) Pri direktnom pristupu memoriji priključuje se upravljački sklop DMA na spoljnu sabirnicu, a mikroprocesor se odspaja od spoljne sabirnice postavljanjem svojih izlaza u stanje velike impedance (Sl.71). S obzirom na način realizacije direktnog pristupa memoriji, postoje sledeće tehnike: - direktni pristup memoriji zaustavljanjem procesora, - direktni pristup memoriji krađom ciklusa, - kombinacija gornjih metoda, - direktni pristup memoriji multipleksiranjem operacija DMA/MPU (mikroprocesorskih). Direktni pristup memoriji zaustavljanjem procesora najjednostavnija je metoda ali budući da može postojati relativno veliko kašnjenje od trenutka zahteva za prenos DMA do trenutka zaustavljanja procesora u nekim aplikacijama je ta metoda neprihvatljiva. Aktiviranjem (od strane spoljnjeg logičkog sklopa) upravljačkog signala za zaustavljanje, mikroprocesor završava svoju tekuću instrukciju i postavlja adresnu sabirnicu i sabirnicu podataka u stanje velike impedance. Time daje na raspolaganje sabirnice upravljačkom sklopu DMA. Sl.71 - Primer DMA prenosa (šematski prikaz) 53

Metoda direktnog pristupa memoriji krađom ciklusa ne zaustavlja mikroprocesor, već on samo privremeno obustavlja tok provođenja instrukcije. To omogućava upravljačkom sklopu DMA da za prenos iskoristi vrlo kratke vremenske intervale. Krađa ciklusa mikroprocesoru od strane operacija DMA odražava se na smanjenju brzine delovanja mikroprocesora zbog smanjenja frekvencije signala (takta) vremenskog vođenja. Direktni pristup memoriji krađom ciklusa u stanju kada je procesor zaustavljen kombinacija je opisanih metoda. Takvom kombinacijom koristimo se kao jednom od varijanti organizacije direktnog pristupa memoriji (Halt Steal Mode) u upravljačkom sklopu LSI DMA za mikroprocesor M6800. Pri toj metodi mikroprocesor je u stanju HALT za vreme koje je potrebno da se izvrši prenos samo jednog bajta. Nakon prenosa samo jednog bajta upravljanje se usmerava na mikroprocesor. Metoda direktnog pristupa memoriji multipleksiranjem operacija DMA i delovanja mikroprocesora omogućuje najveću brzinu izvođenja operacija mikroprocesora. Pri toj metodi mikroprocesor se ne zaustavlja, niti smanjuje brzinu operacija uz istovremeni prenos DMA. Operacije mikroprocesora i prenosa DMA su multipleksirane tako da je pristup memoriji od strane mikroprocesora omogućen za vreme jedne faze signala vremenskog vođenja, a pristup memoriji od strane upravljačkog sklopa DMA za vreme druge faze signala vremenskog vođenja (Sl.72) Sl.72 - Multipleksiranje operacija DMA/MPU Frekvencija signala vremenskog vođenja u tom slučaju mora biti prilagođena brzini memorije koja se upotrebljava. Obično je perioda toga signala jednaka dvostrukom vremenu trajanja memorijskog ciklusa. Da bi se ostvario direktan pristup memoriji, potrebna je upravljačka logika, koja sjedinjuje sledeće funkcije Sl.73: a) Upravljanje adresnom sabirnicom - dodeljivanje adresne sabirnice mikroprocesoru i upravljačkom sklopu DMA. b) Upravljanje sabirnicom podataka. c) Adresiranje memorije. Kao što mikroprocesor ima programsko brojilo i jedan ili više internih registara za adresiranje, upravljački sklop DMA mora imati adresni registar, koji sadrži adresu sledeće memorijske reči koja će sudelovati u prenosu. Sadržaj adresnog registra DMA se inkrementira nakon svakog prenosa reči. d) Brojanje reči. Blok podataka koji sudeluje u prenosu obično je unapred definisane dužine. Za vreme prenosa podatka broj prenesenih reči mora se stalno upoređivati sa željenom dužinom bloka. Prenos DMA se završava kada je dostignuta definisana dužina bloka. e) Izbor načina upravljanja. Status - upravljački registar upravljačkog sklopa DMA sadrži upravljačku reč koja određuje smer toka podataka pri DMA prenosu, informaciju da li je upravljački sklop DMA aktivan, izbor tehnike prenosa DMA i sl.. 54

Sl.73 Blok šema upravljačkog sklopa DMA Postupak DMA se može prikazati sledećim koracima (Sl.73) - generisanje zahteva za prenos DMA od strane spoljnjeg logičkog sklopa (1) i slanje zahteva mikroprocesoru (2) - slanje signala potvrde prihvatanja zahteva (3) - adresiranje memorije (4) - prenos podataka između memorije i spoljnjeg logičkog sklopa (5) - završetak prenosa DMA (6) ORGANIZACIJA DMA ZA MIKROPROCESOR M6800 Direktni pristup memoriji zaustavljanjem procesora Postavljanjem linije HALT u logičku 0 (HALT ili DMA REQUEST-zahtev za DMA) od strane spoljnjeg logičkog sklopa preko upravljačkog sklopa DMA, zahteva se zaustavljanje mikroproceesora i postavljanje njegovih linija (R/W, adresna sabirnica, sabirnica podataka) u stanje velike impedance. U stanju HALT mikroprocesor se zaustavlja na kraju izvršene instrukcije, signal BA (Bus Available)- sabirnice raspoložive - postaje logičko 1, izlaz mikroprocesora VMA (Valid Memory Address) - adresa pravomoćna - postaje logička 0. Izlazne linije mikroprocesora koje se koriste logikom sa tri stanja prelaze u stanje velike impedance. Signal (takta) vremenskog vođenja φ2 prisutan je bez obzira da li je procesor u stanju HALT ili ne, i služi za sinhronizaciju prenosa podataka pri DMA. Izabrani memorijski čip je omogućen signalom AMV koji je uslovni invertirani signal VMA (mikroprocesora). Uslovljen je upravljačkim signalom od strane sklopa DMA u trenutku prenosa DMA Signal R/W generisan je od strane upravljačkog sklopa DMA, sa zadatkom da upravlja smerom prenosa. Prenos DMA inicijalizovan je postavljanjem HALT linije (DMA REQUEST) u logičku 0. Prelaz na ulazu HALT ne sme se dogoditi za vreme poslednjih 250ns signala φ1. Stoga je pogodno 55

sinhronizovati prelaz signalom φ1 (prednjim bridom). Mikroprocesor uvek završava izvođenje tekuće instrukcije pre zaustavljanja. Ako se prelaz na liniji HALT dogodio unutar 100ns nakon prednjeg brida signala φ1, mikroprocesor će se zaustaviti nakon provođenja tekuće instrukcije. Ako se prelaz dogodio nakon 100 ns, mikroprocesor se zaustavlja tek nakon izvođenja sledeće instrukcije. Vreme odgovora na DMA zahtev zavisi od trajanja instrukcije. Direktan pristup memoriji krađom ciklusa Osnova ove tehnike DMA je krađa ciklusa mikroprocesoru za prenos DMA. Ta krađa ciklusa mikroprocesoru odražava se u sporijem izvođenju programa za vreme prenosa DMA pri TSC=1. Tada se adresna sabirnica i linija R/W upravljačke sabirnice postavlja u stanje visoke impedance. TSC ne utiče na sabirnicu podataka ali kako pri TSC=1 φ1 mora biti 1 a φ2 mora biti 0 tako i sabirnica podataka prelazi u stanje velike impedance, budući da se signal φ2 upotrbljava za upravljanje ulazom DBE. Postavljanjem signala DBE u 0 (φ2 je nisko za vreme od 4,5 µs), sabirnica podataka prelazi u stanje velike impedance. Kočenje signala (takta) vremenskog vođenja zamrzava za trenutak rad mikroprocesora i dodeljuje sabirnice upravljačkom sklopu DMA. DMA krade ciklus (TSC=1 ograničeno je pri DMA na 3µs) i obavlja se prenos. Budući da se zamrzavanje može dogoditi u bilo kojem ciklusu, čak i usred izvođenja instrukcije od više ciklusa, maksimalno kašnjenje prenosa DMA je jedan ciklus. To znači da prenos DMA neće nikada čekati duže od 1µs, bez obzira koja se instrukcija izvršava. Za razliku od DMA zaustavljanjem procesora, vreme trajanja mu je ograničeno jer je mikroprocesor dinamička sprava i ovo kočenje može trajati najviše 4.5µs. Direktan pristup memoriji multipleksiranjem operacija MPU/DMA Kada je memorija najmanje dvaput brža u odnosu na procesor, direktan pristup memoriji može se koristiti jednom polovinom memorijskog ciklusa a da ne utiče na performansu mikroprocesora. Upotrebom dva puta brže memorije omogućeno je da se u jednom normalnom procesorskom ciklusu (npr. 1µs) obave dva prenosa po sabirnici podataka. U prvom prenosu učestvuje upravljački sklop DMA. Signal C DMA upravljačkog sklopa DMA omogućava mu dostup do sabirnice podataka, adresne sabirnice, te do dela upravljačke sabirnice. Istovremeno signal C µp odspaja mikroprocesor od sabirnica postavljanjem izlaza međuregistra u stanje velike impedancije. Najbolje karakteristike opisane metode su u pogledu vremena izvođenja operacija mikroprocesora i brzine prenosa DMA, ali su potrebni složeni sklopovi i brža memorija. Spomenimo samo da se metoda multipleksiranjam MPU/DMA može primenjivati i na memorije koje nisu brže u odnosu na mikroprocesorski ciklus. To se postiže rastezanjem signala φ1 i φ2, odnosno smanjenjem frekvencije signala vremenskog vođenja. Očito je da se tako smanjuje brzina rada i samim tim i performansa mikroprocesora. 56

Sl.74- Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA 57