direktni pristup memoriji - tf.uns.ac.rsomorr/radovan_omorjan_003_pri/predavanja/skripta... ·...

22
87 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. Sl.50 - š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.51). Mikroprocesor i upravljački sklop DMA zajednički dele sabirnice na sledeći način:

Upload: trinhphuc

Post on 12-Feb-2018

237 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

87

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.

Sl.50 - š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.51). Mikroprocesor i upravljački sklop DMA zajednički dele sabirnice na sledeći način:

Page 2: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

88

Sl.51 - Š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.52).

Sl.52 - 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.53). 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

Page 3: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

89

postavlja adresnu sabirnicu i sabirnicu podataka u stanje velike impedance. Time daje na raspolaganje sabirnice upravljačkom sklopu DMA.

Sl.53 - Primer DMA prenosa (šematski prikaz) 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.54)

Sl.54 - 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.

Page 4: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

90

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 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 CDMA upravljačkog sklopa DMA omogućava mu dostup do sabirnice podataka, adresne sabirnice,

Page 5: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

91

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.

Sl.55- Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA PITANJA Prekidni ulazi kod M6800 IRQ NMI RES Prioriteti prekida sa više nivoa prekida Direktan pristup memoriji Tipovi DMA

Page 6: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

92

PREGLED SKUPA INSTRUKCIJA (NAREDBI) I ASEMBLER

UVOD Ako digitalne sklopove-komponente mikroračunara prikažemo kao građevne blokove (sastavne jedinice), tada je softver ona vezivna materija, koja te blokove osmišljava i povezuje u funkcionalnu celinu. Realizacija složenijih digitalnih sklopova ili sistema koji se temelje na mikroprocesoru ruši nejasne granice između softvera i hardvera. Od stručnjaka koji rade na području mikroprocesorske tehnike očekuje se i zahteva poznavanje softvera jednako dobro kao i hardvera. Pod hardverom se podrazumeva računarska oprema - elektronski i digitalni sklopovi. Pojavom mikroprocesora javlja se i izraz “firmware” koji se odnosi na programe upisane (obično od strane proizvođača) u ispisne memorije. Uobičajeno je da se izrazom softver podrazumeva program, odnosno pisanje programa. Međutim, program kao rezultat programiranja samo je jedna od komponenti softvera. Softver se odnosi na programsku opremu - odgovarajuće tehnike programiranja, instrukcije, programe i slično. Softver čine tri glavna dela: - aplikativni programi pisani za rešavanje određenih - specifičnih problema, - sistemski programi koji služe za lakši razvoj aplikativnih programa,

- dokumentacija kao nužni deo svakog programa, sa svrhom da omogući efikasnu i pravilnu upotrebu programa.

Razvoj programa (aplikativnog ili sistemskog) prolazi kroz sledeće faze: - definicija problema, - oblikovanje programa, - kodiranje i prevođenje, - testiranje programa i otklanjanje grešaka, - izrada dokumentacije, - upotreba i održavanje programa.

OSNOVNI POJMOVI Nakon faza definisanja problema, izbora algoritma i oblikovanja programa (pisanje algoritma u jednom od algoritamskih jezika ili prikazivanja dijagramom toka) sledi faza kodiranja programa. Program u tome obliku definisan je kao niz instrukcija kojim računar izvršava algoritam. Budući da je konačan cilj programa transformacija ulaznih podataka u izlazne, u programu računara uključeni su i podaci, te njihove memorijske adrese. Računaru, kao izvršiocu, jedino je razumljiv jezik sastavljen od binarnih reči. Takav oblik programa naziva se mašinski ili objektni program (object program). Na primer, programski odsečak u mašinskom jeziku, koji izvodi sabiranje podatka 8A16 sa podatkom koji je na memorijskoj lokaciji 0A0F16 , ima za mikroprocesor M6800 sledeći oblik: 1 0 0 0 0 1 1 0 Instrukcija: Napuni akumulator A sa 8A16 Podatak 1 0 0 0 1 0 1 0 1 0 1 1 1 0 1 1 Instrukcija: Pribroji akumulatoru A podatak sa memorijske lokacije 0A0F16 Adresa 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 Instrukcija: Skladišti sadržaj akumulatora A na memorijsku lokaciju 0216 Adresa 0 0 0 0 0 0 1 0

Page 7: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

93

Računar pribavlja prvu binarnu reč 1000 0110 (mikroračunar je u fazi PRIBAVI). Ona će se smatrati kodom instrukcije LDAA (napunu akumulator A), dok će sbinarna kombinacija 1000 1010 biti podatak koji se puni u akumulator A. Instrukcija 1011 1011 (ADDA - pribroji sadržaju akumulatora A podatak sa memorijske lokacije specificirane sa šesnaest bitnom adresom) - pribraja sadržaju akumulatora A podatak skladišten na adresi 0000 1010 0000 1111. Binarna kombinacija 1001 0111 predstavlja instrukciju STAA (skladišti sadržaj akumulatora A) kojom se sadržaj akumulatora A skladišti na adresu 0000 0010. U uvodnim poglavljima, gde je sistem mikroračunara bio razmatran kao crna kutija, naglašeno je da mikroračunar u svojoj memoriji skladišti podatke i instrukcije u istom obliku, te da instrukcije mogu biti smatrane podacima i obratno (von Neumannov model računara). Na koji način mikroračunar razlikuje instrukcijski kod od podatka ili od adrese? Kada je mikroračunar u fazi PRIBAVI, pribavljena reč bit će smeštena u instrukcijski registar i tumačena kao instrukcijski kod. Taj 8-bitni instrukcijski kod u sebi, pored ostalog, sadrži i informaciju da li je to instrukcijska reč koja se sastoji od 1, 2 ili 3 bajta i šta znače sledeći bajtovi koji je sačinjavaju. Na primer, kod 1011 1011 koji je smešten u instrukcijski registar pokazuje mikroprocesorskoj upravljačkoj jedinici da su sledeća dva bajta adresa operanda, koji će biti pribrojen sadržaju akumulatora A (primer za mikroprocesor M6800). Nakon izvođenja tekuće instrukcije (faze IZVRŠI), mikroprocesor prelazi u fazu PRIBAVI i zna da će sledeći bajt koji se pribavlja biti opet instrukcijski kod. Kodiranje i unošenje programa u mašinskom jeziku u mikroračunar naporan je i mukotrpan postupak, podložan greškama. Budući da je očito u kojoj je meri binarni oblik neprikladan za programera, na raspolaganju je međustapenica prema zbirnom (simboličkom) jeziku - oktalni ili heksadekatni kod. Prethodni programski odsečak prikazan u heksadekadnom kodu sledećeg je oblika: 86 8A BB 0A 0F 97 02 Očito je da je takav način pisanja i unošenja programa poboljšanje u odnosu na binarni. Do zabuna dolazi ređe, a greške se lakše otkrivaju. Postupak nastajanja programa u heksadekadnom ili oktalnom kodu je sledeći: nakon faze oblikovanja programa, programer zapisuje program kao niz mnemoničkih simbola (svaki mikroprocesor ima ovakvu tabelu). Pomoću tablica prevodi mnemoničke simbole u heksadekadni ili oktalni kod (ručno prevođenje). Nakon toga upotrebljava se heksadekadni ili oktalni punilac. U programima napisanim pomoću mnemoničkih simbola, umesto adresa podataka u heksadekadnom kodu upotrebljavaju se simboličke oznake. Programer, koristeći se simboličkim oznakama, na taj način pojednostavljuje postupak pisanja i provere programa. Povećana je i razumljivost programa. Na primer, programski odsečak primenom mnemoničkih simbola dobija oblik: (prevod u heksadekadni kod) LDAA # $8A 86 8A ADDA $ 0A0F BB 0A0F STAA $ 02 97 02 Primenom simboličkih adresa isti programski odsečak ima sledeći oblik: LDAA #DATA1 86 8A ADDA DATA2 BB 0A0F STAA SUMA 97 02 gde je DATA1 simbolička oznaka za podatak 8A, DATA2 i SUMA simboličke oznake za 0A0F i 02.

Page 8: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

94

ASEMBLER ZA MIKRORAČUNAR NA OSNOVI MIKROPROCESORA M6800 Izvorni jezik za mikroprocesor M6800 sastoji se od 72 mnemoničke instrukcije i desetak naredbi za upravljanje tokom prevođenja. Izvorni jezik opisan je skupom dopuštenih znakova koje asembler može prepoznati: - Abecedom od A do Z, - Celim brojevima od 0 do 9, - Četiri aritmetičke operacije: +;−; ∗; /. - Znakovi koji se upotrebljavaju kao specijalni prefiksi: # određuje usputno adresiranje, $ određuje heksadekadni broj, @ određuje oktalni broj, % određuje binarni broj, ′ (apostrof) određuje znak ASCII. - Znakovi koji imaju specijalno značenje: B određuje binarni broj, H određuje heksadekadni broj, O (slovo O) određuje oktalni broj, Q određuje oktalni broj. - Četiri simbola - graničnika: prazno mesto (space), horizontalni pomak (Horizontal TAB), CR (Carrige Return), , (zarez). - Komentar u izvornom izrazu (source statement) može sadržavati znak ASCII od heksadekadne vrednosti 20 (SP) do 5F ( ) Izvorni program sastoji se od niza izvornih izraza. Svakoj liniji u izvornom programu odgovara jedan izraz. Linije mogu biti numerisane. Linijski broj je dužine od jedne do pet cifara. Svaki linijski broj mora biti veći od prethodnog u nizu izvornih izraza. Linijski broj nije sastavni deo programa, već služi kao pomoć pri uređivanju i popravljanju programa. Izvorni izraz razdeljen je na četiri polja na sledeći način: (linijski broj) labela operacijski kod (mnemonička oznaka) operand komentar. Polja su odvojena graničnikom ( ), jednim ili više praznih mesta. Na primer: 10 OPET STAA $25 POVRATAK U PETLJU linijski broj komentar graničnik operand labela operacijski kod Labela je simbolička adresa za instrukciju. Na primer, za program:

Page 9: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

95

Izvorni program Prevedeni program adrese kodovi ORG 256 0020 0100 START LDAB $AF 0030 0100 C6 AF LDAA DATA 0040 0102 B6 010B - - - - - - JMP START 0080 0108 7E 0100 DATA FCB $10 0090 010B 10 Nakon prevođenja, labeli START je dodeljena adresa označene instrukcije (LDAB #$AF) 0100. Izraz u izvornom jeziku može biti i bez labele. Asembler za M6800 postavlja sledeća ograničenja za labele. - labela se mora sastojati od 1 do 6 alfanumeričkih znakova, - prvi znak mora biti slovo, - labela mora započeti u drugom praznom mestu nakon linujskog broja, - labela ne može biti jedan od znakova A, B i X. Prilikom izbora oznaka za labele potrebno je, pored pridržavanja pravila koje zahteva asembler, voditi ražuna i o sledećem: - Nije preporučljivo koristiti se slovima i oznakama koje mogu dovesti do zabune, na primer slova Z,Q,I mogu biti prilikom unošenja ili ispravki programa zamenjena za 2,0 ili 1. - Zbog lakšeg razumevanja programa i lakšeg ispravljanja grešaka, dobro je upotrebljavati labele koje simbolima asociraju na funkciju - mnemoničke labele. Na primer: START --- - - - JMP START - - - BRA KRAJ - - - KRAJ --- Polje operacijskog koda, odnosno polje mnemoničke oznake, sadrži mnemoničku oznaku instrukcije. Polje operanda, u zavisnosti od operacijskog koda, može biti prazno, sadržavati numeričku vrednost, adresu, labelu ili aritmetižki izraz. Polje se može sastojati od jednog ili dva člana odvojena zarezom. Polje komentara sledi polju operanda i odeljeno je jednim ili više praznih mesta. Tekst komentara ne utiče na mašinski kod i asembler ga ufazi prevođenja ignoriše. Tekst komentara se pojavljuje jedino prilikom ispisivanja izvornog programa i služi kao programska dokumentacija. Asembler omogućava upotrebu instrukcija u izvornom programu, koje se odnose na upravljanje radom asemblera. Takvim mnemoničkim simbolima ne dodeljuju se mašinski kodovi u fazi prevođenja. Instrukcije sa tim svojstvima nazivaju se pseudoinstrukcije. Primer takve pseudoinstrukcije je: ORG (Origin) - definiše numeričku adresu gde će biti skladišten prvi bajt sledeće instrukcije. Tako se asembler sastoji od mašinskih instrukcija, čiji su mnemonički kodovi u principu isti kao i kodovi u tabeli od proizvođača mikroprocesora i dodatnih pseudoinstrukcija koje upravljaju radom asemblera. Za asembler se kaže da je niži programski jezik jer je striktno vezan za konkretan

Page 10: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

96

mikroprocesor i uglavnom je prevođenje 1:1 što znači jedna asemblerska instrukcija se prevede u jednu mašinsku (mikroprocesorsku) instrukciju.

Page 11: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

97

ULAZNO - IZLAZNI (U/I) MEĐUSKLOPOVI

UVOD Saobraćanje mikroračunara sa spoljnim svetom jedna je od njegovih osnovnih funkcija. Ulazno-izlazni međusklopovi u tehnologiji LSI su komponente mikroračunara koje omogućavaju prenos informacija između mikroračunara i perifernih jedinica mikroračunara (prikazne jedinice CRT, jedinice diska i sl.) ili između mikroračunara i spoljnjeg sveta (npr. koračnog motora, regulatora i sličnih elemenata, koji su sastavni delovi nekog procesa). U/I međusklopovi u tehnologiji LSI obično su programibilni-što znači da im se funkcija može menjati programom upisanim u memoriju mikroračunara. Na primer, upisivanjem određenih kombinacija bitova (upravljačkih reči) u upravljačke registre tih međusklopova određuje se da li će međusklop biti ulazni ili izlazni i da li će moći generisati zahtev za prekid. Proizvođači mikroprocesora i komponenti mikroračunara nude širok izbor međusklopova LSI, koji mogu biti svrstani prema nameni na: - paralelne U/I međusklpove, - serijske U/I međusklopove, - međusklopove za posebne namene. Informacija koja se prenosi preko U/I međusklopova može biti prikazana u paralelnom ili serijskom obliku. Pri paralelnom prenosu savaki bit informacije ima svoju liniju, tako da se cela reč (npr. 8-bita) prenosi istovremeno. Prilikom serijskog prenosa bitovi - elementi reči šalju se u nizu preko jedne linije. Očito je paralelni prenos brži, međutim, treba mu više linija, pa ga se koristi u prenosima na malim udaljenostima. Serijskim prenosom možemo se koristiti na većim udaljenostima. Serijski U/I međusklop u kombinaciji sa modemom (koji također može biti izveden u tehnologiji LSI, npr. MC6860) omogućava prenos podataka preko telefonskih linija. U sklopove za posebne namene ubrajaju se serijski ili paralelni međusklopovi koji omogućavaju saobraćanje s određenom perifernom jedinicom, ili imaju specijalnu funkciju. Primeri takvih međusklopova su upravljački sklop diskete, (floppy disk kontroler), međusklop CRT (upravljački sklop za prikaznu jedinicu), programibilno brojilo (interval timer), upravljač prioritetom prekida i sl. Na primer, na Sl.56 je prikazan paralelni međusklop (sastoji se od dva dela A i B sa po deset U/I linija za rukovanje prenosom) i veze između procesa, U/I međuskolopa i mikroprocesora. Ulaz je tok od procesa ka mikroprocesoru a izlaz od mikroprocesora ka procesu.

Sl.56 - Veza procesa - U/I međusklop

Sl.57 prikazuje primer postupka rukovanja pri unosu podataka u mikroračunar. Od 10 U/I linija osam linija PA0-PA7 predstavljaju linije podataka a preostale dve CA1, CA2 su kontrolne linije koje upravljaju prenosom.

Page 12: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

98

Sl.57 - Primer upotrebe linije za rukovanje prenosom pri unosu podataka u mikroračunar Postupak prenosa od međusklopa ka procesu sličan je opisanom postupku, uz zamenu uloga odredišta i izvora podataka. Opisani način prenosa rukovanjem zahteva od mikroprocesora ispitivanje bit-zastavice stanja u upravljačkom registru (da li je proces zahtevao posluživanje?), pa je taj postupak primer uslovnog programiranog prenosa. U načinu prenosa sa rukovanjem uz primenu prekida nije potrebno ispitivanje stanja zastavice. Postavljanjem logičkog 1 na liniji za rukovanje (“Odredište, imam podatak za tebe!”) proces prekida izvođenje glavnog programa mikroprocesora. Mikroprocesor prelazi na izvođenje prekidnog programa, signalizira prihvaćanje poruke, nalazi izvor zahteva za prekid (ako je više U/I međusklopova), vrši prenos podataka i postavlja izlaznu liniju za rukovanje u stanje 0 (“Podatak je primljen, spreman sam za sledeći prenos!”)

Page 13: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

99

U/I MEĐUSKLOP PIA ZA M6800

Struktura programabilnog paralelnog U/I međusklopa PIA (Peripheral Interface Adapter) slična je prikazanoj blok-shemi na Sl.56.-57. Sl.58 prikazuje detaljniju internu organizaciju međusklopa PIA.

Sl.58 - Interna organizacija međusklopa PIA

U/I međusklop je podeljen na dve simetrične i nezavisne podstrukture registara. Svaka od njih se sastoji od registra podataka, upravljačkog registra i registra smera podataka. Mikroprocesor, prilikom saobraćanja sa PIA, svaki od tih registara smatra memorijskom lokacijom. Registar podataka i registar smera podataka imaju istu memorijsku adresu. Oni se interno razlikuju u PIA pomoću bita b2 upravljačkog registra. Upisani sadržaj u registru smera podataka određuje smer U/I linija na sledeći način: - ako je bit registra smera podataka 0, onda je odgovarajuća linija podataka ulazna, - ako je bit registra smera podataka 1, onda je njemu odgovarajuća linija podatka izlazna. Na primer, ako je sadržaj u registru smera podataka 11010010, U/I linije imaće na sledeći način određene smerove: PA0, PA2, PA3, PA5 ulazne linije, PA1, PA4, PA6, PA7 izlazne linije. Kada je adresiran registar podataka za vreme operacije upisivanja (R/W=0), u njega se skladište podaci prisutni na sabirnici podataka mikroračunara. Isti podatak pojavljuje se i na U/I linijama koje su programirane kao izlazne. Sadržaj registra podataka može biti izložen uticaju linija koje su programirane

Page 14: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

100

kao ulazne, te se njegovi odnosni bitovi menjaju pod uticajem spoljnjih ulaznih signala.U postupku čitanja podaci prisutni na U/I linijama, koje su programirane kao ulazne, direktno se prenose na sabirnicu podataka mikroračunara. Postoje izvesne sklopovske razlike između strane A i B. Samo U/I linije strane B imaju periferni međuregistar sa tri logička stanja. Upravljački registar omogućava mikroprocesoru da uspostavi jedan od načina saobraćanja upravljanjem linijama za rukovanje prenosom (CA1, CA2, CB1, CB2). Uz to, pomoću sadržaja upravljačkog registra programer upravlja linijama zahteva za prekid (IRQA/B). Najznačajniji bitovi upravljačke reči b6 i b7 su bit zastavice za prekid, koje se postavljaju aktivnim prelazom na CA1 i CA2 (organizovanim kao ulazom). Sl.59 prikazuje organizaciju upravljačke reči. Sve što je rečeno u vezi funkcija za stranu A odgovara i za simetričnu stranu.

Sl.59 - Organizacija upravljačke reči za U/I međusklop PIA

Adresiranje međusklopa PIA ima svoje karakteristike:

- celi međusklop PIA predstavlja se mikroprocesoru kao 4-adresna memorija, iako ima 6 dostupnih internih registara,

- PIA ima tri linije za izbor čipa i dva izvoda (RS0, RS1) za izbor internog registra. Izvodi za izbor internog registra (RS0 i RS1) su obično priključeni na najmanje značajne adresne linije. Linije za izbor čipa CS0, CS1, CS2 omogućavaju delimično dekodiranje (čip je izabran pri uslovu CS0=1, CS1=1 i CS2=0). Sl.79 je primer povezivanja PIA na mikroračunar.

Sl.60 - Primer povezivanja međusklopa PIA

Primer adresiranja PIA, ako je međusklop određen adresama 8008, 8009, 800A, 800B Iz tabele se vidi da su registar smera podataka A i registar podataka A na istoj memorijskoj adresi 8008, te da bit b2 upravljačkog registra A interno određuje jedan od njih.

Page 15: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

101

Primer adresiranja međusklopa PIA

Page 16: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

102

SERIJSKI U/I MEĐUSKLOP Pri serijskom prenosu, informacije između mikroračunara i spoljnjeg sveta šalju se preko jedne linije u obliku niza impulsa. Zadatak serijskog U/I međusklopa je da pretvara paralelni oblik informacija u serijski (i obratno), sa dodatnim bitovima potrebnim za prenos. Prenos se obično vrši između udaljenih tačaka (npr. između dva udaljena terminala). Na Sl.61 je data šema asinhronog međusklopa ACIA (Asynchhronous Communications Interface Adapter) za M6800 .

Sl.61 - Organizacija programibilnog veznog sklopa za serijske prenose ACIA ACIA se mikroprocesoru predstavlja kao dvoadresna memorija, iako ima četiri interna registra. Međutim dva su samo upisna (WRITE ONLY) a dva samo ispisna (READ ONLY). Upisni registri su: - upravljački registar - predajni registar Ispisni registri su: - registar stanja - prijemni registar Na primer, ako se ACIA nalazi na adresi 8010 i 8011. Ako je R/W=0 (upis u registre) onda upravljački registar ima adresu 8010 a predajni registar 8011. Ako je R/W=1 (čitanje iz registara) onda registar stanja ima adresu 8010 a prijmeni registar 8011.

Page 17: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

103

Asinhroni prenosi U serijskom prenosu podaci se prenose bit po bit. U njemu uvek postoje minimalno dva učesnika, prijemnik i otpremnik, Ako se radi o prenosima na daljinu, neophodno je vršiti modulaciju signala za prenos; inače, prijemnik i otpremnik mogu da budu jednostavno vezni sklopovi za serijske prenose (fiksni ili programibilni).

Sl.62 - Serijski prenos podataka

Kod asinhronog prenosa kad god mikroprocesor pošalje podatak (5 -8-bitni znak) programabilni vezni sklop na otpremnoj stani automatski dodaje na početak start-bit (niži nivo napona) i na kraj određeni broj stop-bita (viši nivo napona). Takođe, ispred prvog stop-bita dodaje se bit pariteta koji se koristi u proveri ispravnosti prenosa u prijemnoj strani. Na Sl.63. dat je primer formata podatka u serijskom prenosu.

Sl.63 - Otprema i prijem podataka U normalnom stanju, kada nema prenosa, linija je na višem naponu tako da prelazak na niži napon označava pojavu start-bita i početak prenosa podatka. Prelazak na niži napon na prijemnoj liniji označava start-bit i početak rada veznog sklopa kao prijemnika. Brojač bita omogućava identifikaciju podatka, bita pariteta i stop-bita. U slučaju da je prenos bio pogrešan postavlja se zastavica greške pariteta i taj podatak je dostupan mikroprocesoru. Iz ovoga se vidi da se sinhronizacija vrši na nivou jednog podatka (start i stop bit) i da je reakcija na pogrešan prenos podatka moguća neposredno nakon što je podatak prenesen. Osnovni nedostatak ove vrsta prenosa je što se veliki deo vremena troši na nekorisni prenos (start i stop-biti, bit pariteta i, eventualno, ako je korisni deo podatka kraći od 8 bita). Sinhroni serijski prenos Kod sinhronih serijskih prenosa vrši se prenos podataka u blokovima tako da se imaju manji gubici u nekorisnom prenosu. Kada mikroprocesor pošalje prvi podatak za prenos, programabilni vezni sklop generiše oznaku sinhronizacije, SYNC znak ili više uzastopnih SYNC znakova koji označava početak prenosa bloka podataka. Nakon ovoga slede podaci za prenos. Format bloka podataka za sinhroni prenos ispred i iza otpremnika predstavljen je na Sl.64.a. i 64.b. respektivno.

Page 18: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

104

Sl.64 - Formati podataka u sinhronom serijskom prenosu

Prenos podataka na daljinu Pri prenosu podataka na daljinu obično se koristi telefonska linija (Sl.65.). Tada se obično koriste asinhroni međusklopovi (UAPP- univerzalni asinhroni primo-predajnik) koji imaju dadatni deo za konekciju sa modemom. Modem je uređaj za transformaciju binarnih signala u tonske (analogne). telefonska UAPP MODEM MODEM UAPP linija PREDAJNIK PRIJEMNIK MODEM: MODULATOR - DEMODULATOR ↓ ↓ prevodi binarrne prevodi signale (0,5V) tonske u tonske signale određenih u naponske frekvenci (0,5V)

Sl.65- Prenos podataka na daljinu

. . . .

Page 19: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

105

DIGITALNO - ANALOGNI I ANALOGNO - DIGITALNI KONVERTORI Pri primeni mikroračunara za prikupljanje (akvizicija) i obradu podataka iz procesa i za upravljanje procesom, mikroračunar komunicira sa analognim svetom i za to su neophodni interfejsi posebne namene: D/A i A/D pretvarači (konvertori). Na Sl.66 data je {ema D/A konvertora sa operacionim pojačivačem. To je pojačivač napona sa velikim po apsolutnoj vrednosti a negativnim koeficijentom pojačanja (-A). Na ulazu je digitalna veličina - binaran broj realizovan sa osam naponskih linija (U0 - U7) sa sabirnice podataka mikroračunara. Na izlazu je anlogna veličina - izlazni napon Uiz proporcionalan brojnoj vrednosti na ulazu.

{ } 7,05,0 == iiU

( )4105;2

⋅≥⋅−== AUAURR izii

Zbir struja u čvoru T (Kirhofovo pravilo):

0...7

7

1

1

0

0 =−

+−

++−

+−

RUU

RUU

RUU

RUU iz

Smena : A

UU iz−=

RU

RRA

RRAU

RU

RU

RU iziz ≈

++++−=+++

11...1...707

7

1

1

0

0 N

akon smene : iiRR2

=

∑ ⋅−= i

iiz UU 2 Sl.66. Šema D/A pretvarača sa operacionim pojačivačem

Na Sl.67. prikazan je A/D konvertor za konverzijom metodom probe i greške. Rezultat konverzije se nalazi u brojačkom registru. Kao polazna procena digitalne vrednosti analognog ulaza uzima se nula (resetovanje brojačkog registra). U svakom narednom ciklusu (na pozitivnom bridu taktnog signala φ) sadržaj brojačkog registra (procena digitalne vrednosti analognog ulaza) se inkrementira i u D/A konvertoru se izvrši njegova D/A konverzija. Onog momenta kada rezultat D/A konverzije postane jednak ili premaši veličinu ulaznog napona (poređenje se vrši u komparatoru napona), ne generiše se više signal INCR za inkrementiranje brojačkog registra i A/D konverzija je završena.

>≤

=BABA

Yza0za0

Sl.67. Šema A/D pretvarača metodom probe i greške

Na Sl.68. data je šema vezivanja A/D konvertora za mikroračunar preko univerzalnog paralelnog interfejsa (PIA).

Page 20: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

106

Sl.68. Šema vezivanja A/D konvertora za mikroračunar preko (PIA).

SOFTVER REALNOG VREMENA Veliki broj aplikacija mukroračunara spada u klasu aplikacija realnog vremena, odnosno onih u kojima mikroračunar radi uporedo sa određenim procesom prateći njegove promene u vremenu i eventualno delujući na proces. U ovim aplikacijama zahteva se da mikroračunar razlikuje pojedine događaje sa često malom vremenskom rezolucijom, kao i da deluje na proces u okviru dosta strogih vremenskih ograničenja. Pri tome se javlja problem obavljanja velikog broja asinhronih ulazno/izlaznih operacija nad uređajima koji zahtevaju različito složene hardverske vezne sklopove i programe za manipulaciju. U većini primera primene i programiranja računara pretpostavlja se da su ulazno/izlazne operacije apriori rešene. Međutim, treba istaći da je najveći broj primena mikroračunara vezan upravo za probleme izrade veznih sklopova i programa za obavljanje ulazno/izlaznih operacija. Kako stvarne primene podrazumevaju manipulisanje sa više ulazno/izlaznih uređaja, kao i obrade prikupljenih podataka, to se kao osnovni problem javlja integracija više sekvencijalnih programa koji mogu da budu inicirani programskim putem ili spoljnim događajima u celini koja će da obezbedi ispravno vršenje željenih funkcija. Onaj koji realizuje primene mikroračunara za realno vreme sigurno će se naći i u situaciji da izradi kompletan softver uključujući i programe koji vrše koordinaciju i raspoređivanje aplikacionih funkcija i koji čine takozvani izvršni sistem mikroračunara. Realizacija izvršnog sistema krije mnoge zamke i opasnosti, a ključna je za ispravno funkcionisanje celog sistema. Iz tog razloga ćemo u ovom delu opisati jedan pristup njegovoj realizaciji koji je pogodan za veliki broj jednostavnih primena realnog vremena i koji obezbeđuje pouzdano komuniciranje programa koji realizuju aplikacione funkcije.

Page 21: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

107

OSNOVNE KARAKTERISTIKE TIPIČNIH PRIMENA REALNOG VREMENA Tipične primene realnog vremena u kojima se koriste mikroračunari obuhvataju sisteme za akviziciju podataka iz procesa i vođenje različitih protokola o ponašanju procesa u vremenu, direktno digitalno upravljanje, sisteme za praćenje laboratorijskih eksperimenata, komunikacione procesore, koncentratore podataka i slično. Kao karakteristične uzmimo primene akvizicije podataka i direktnog digitalnog upravljanja. U ovim primenama zahteva se direktna veza senzora i mernih instrumenata preko multipleksera, A/D konvertora i veznih sklopova za paralelne i serijske prenose sa mikroračunarom, kao i veza izvršnih organa sa mikroračunarom putem D/A konvertora ili drugih veznih sklopova. Takođe, za mikroračunar su često vezani i određeni standardni ulazno/izlazni uređaji, kao što su tastature, štampači, ekrani, displeji, pokazni instrumenti i slično. Senzorski signali i digitalni ulazi prihvataju se u mikroračunar periodično ili na zahtev. Analogni signali se prvo pretvaraju u digitalni oblik putem A/D konvertora. Dalje se vrši analiza prikupljenih podataka i alarmiranje ako njihove vrednosti izlaze iz dozvoljenih opsega, davanje izveštaja na štampaču u obliku predviđenih protokola, prikazivanje određenih podataka i informisanje na ekranu i displejima, obrada podataka korištenjem raznih algoritama, sažimanje podataka i dovođenje u željeni oblik i slično. Pri tome se razlikuju u principu dva načina rada mikroračunarskog sistema: (1) periodično ponavljanje određenih operacija uz korištenje prozivke ulazno/izlaznih uređaja (2) rad uz aktiviranje pojedinih funkcija na zahtev spoljnjih događaja. U oba ova načina rada često se traži da se vodi računa i o vremenu kada su, na primer, vršena merenja ili su se desili određeni događaji. Ovu funkciju obezbeđuje sat realnog vremena. U primenama direktnog digitalnog upravljanja nije dovoljno samo razlikovati pojedine događaje sa unapred zadatom rezolucijom, nego u okviru određenog vremena izdavati komande. Tipično, neophodno je održavati neke kritične promenljive procesa na unapred zadatim vrednostima. Na primer, to je slučaj sa regulacijom pritiska, temperature, nivoa, protoka brzine i slično. U upravljanje je uključen osnovni princip povratne sprege: vrši se poređenje stvarnih i zadatih vrednosti da bi se iz njihove razlike, odstupanja, preko upravljačkog algoritma, delovalo na veličinu pomoću odgovarajućih izvršnih organa. Primer ovakve situacije prikazan je na Sl.89.. Za ilustraciju upravljanja može se uzeti upravljanje nivoom tečnosti u rezervoaru.

Sl.69. Sistem povratne sprege pri upravljanju procesom pomoću računara

Kao izvršni organ može da se pojavi servomotor sa ventilom kome mikroračunar daje komande za otvaranje ili zatvaranje u skladu sa trenutnom vrednošću nivoa. Jasno je da je u velikom broju slučajeva mikroračunar neracionalno iskoristiti samo za upravljanje jednom promenljivom. Na bazi deljenja vremena i uzimanja u obzir minimalnog perioda u kome je potrebno obnoviti upravljanje datom promenljivom, mikroračunar može da prividno istovremeno upravlja sa više promenljivih, odnosno zatvori više regulacinih krugova. Pored nabrojanih funkcija, vrlo često računarski sistem mora da omogući promenu određenih parametara koji su u sklopu sistema za akviziciju i direktno digitalno upravljanje, što nameće potrebu za komuniciranje između čoveka i mikroračunara putem tastature i ekrana i dalje usložnjava programsku

Page 22: DIREKTNI PRISTUP MEMORIJI - tf.uns.ac.rsomorr/radovan_omorjan_003_prI/Predavanja/skripta... · Sl.55-Vremenski dijagram direktnog pristupa memoriji multipleksiranjem operacija MPU/DMA

108

organizaciju sistema. Pretpostavimo li da mikroračunar mora da vrši i upravljanje i akviziciju, onda on tipično mora da obavlja sledeće funkcije realizovane kao odvojene sekvencijalne programe: - A/D konverziju - konverziju jedinica u odgovarajuće tehničke jedinice, i obratno (na primer, napon koji odgovara temperaturi izražen u voltima u stepene Kelvina), - ispitivanje da li je veličina u dozvoljenom obimu, - filtriranje ulaznih veličina i eliminaciju šuma, - upravljačke algoritme, - održavanje sata realnog vremena, - ažuriranje slike na ekranu, - štampanje znakova na štampaču, - skaniranje tastature i prihvat znakova, - prikazivanje na ekranu, - aktiviranje zvučnih i svetlosnih alarma. PITANJA Ulazno izlazni međusklopovi - tipovi PIA za M6800 ACIA za M6800 Asinhroni i sinhroni prenos Prenos podataka na daljinu D/A , A/D konvertori Softver realnog vremena - akvizicija i upravljanje procesima