5. Ulazno izlazni podsistem
•
•
•
•
Šta ćemo učiti
Periferni uređaji
U/I hardver
Sistemski resursi
Tehnike za realizaciju U/I
Arhitektura ulazno izlaznog (U/I) podsistema predstavlja interfejs prema spoljašnjem svetu. Ulazna i
izlazna funkcija vrše se pomoću specijalizovanih uređaja nezavisno od toga da li se radi o moćnom
superračunaru, skromnom personalnom računaru ili mreži računara. Pod ulaznom aktivnošću
podrazumevaju se postupci unošenja podataka u operativnu memoriju ili registre procesora koji se
mogu smatrati odredištem podataka. Izvor podataka su pri tome periferni uređaji. Prenos podataka u
obrnutom smeru predstavlja izlaznu aktivnost. Tada je periferni uređaj odredište podataka.
Pošto damo kratak pregled ulaznih i izlaznih uređaja ili kraće – perifernih uređaja, upoznaćemo
se načinom kako se oni povezuju sa procesorom i memorijom i glavnim tehnikama za upravljanje U/I
aktivnostima.
Periferni uređaji
Zavisno od toga da li za računarski sistem periferni uređaj služi samo kao izvor, odnosno
odredište podataka ili u obe svrhe razlikuju se ulazni, izlazni i ulazno/izlazni periferni uređaji.
Ulazni uređaji
Postoji ogroman broj ulaznih uređaja koji rade na različitim principima, različitim brzinama i sa
različitim vrstama podataka. Dok jedni zavise od neposrednog ljudskog angažovanja, drugi se koriste
neposredno - bez angažovanja čoveka. Ovi drugi obično prihvataju analogne signale. Da bi računar
mogao da obrađuje analogne signale, mora ih prethodno pomoću A/D konvertora pretvoriti u digitalni
oblik. D/A konvertor pridružen izlaznim uređajima vrši obrnutu funkciju.
Skeneri su u suštini A/D konvertori. Oni preuzimaju analogne vizuelne objekte (dokumente,
fotografije i sl.) i pretvaraju ih u digitalizovane bitmap slike, obično u PCX ili JPG formatu. Ako je
skener podržan softverom za optičko prepoznavanje karaktera (OCR - Optical Character Recognition)
može da izvrši konvertovanje skeniranog teksta u ASCII ili neki drugi format koji se može editovati.
Najrasprostranjeniji uređaji za unošenje podataka u računar su tastature. One mogu biti standardne ili
multifunkcionalne (ako imaju imaju ugrađene trekbole, skenere, pa čak i mikrofon i zvučnike). Svaki
personalni računar snabdeven je i pokazivačkim uređajima. Postoji više vrsta uređaja za pokazivanje, a
najviše se koriste miševi, džojstici i slični uređaji za igranje, svetlosna pera i grafičke table. Svaki od
njih omogućava komunikaciju sa grafičkim okruženjem - vođenje kursora, selektovanje i premeštanje
objekta na ekranu, a uz odgovarajuću softversku podršku i crtanje. Sve više koriste se i skeneri,
digitalni foto aparati i kamere, mikrofoni, a i mnogi specijalizovani uređaji koji omogućavaju da
personalni računar služi kao sredstvo za upravljanje veoma različitim procesima.
Uopšte, informacije koje treba računarski obraditi mogu biti sasvim različite prirode. Ulazni
podaci mogu biti svetlosne, zvučne i toplotne informacije kao i niz drugih pojava fizičkog sveta koje
se kontinualno menjaju od tačke do tačke u prostoru ili od jednog do drugog vremenskog trenutka.
Ulazni uređaji koji prihvataju ove kontinualne podatke vrše proces transformacije karakteristika
fizičkih pojava u električne signale odgovarajućeg napona. Međutim, kako savremeni računari
procesiraju na digitalnom principu, analogni signali koji potiču iz odgovarajućih uređaja, kao što su
analogni senzori ili tahogeneratori, moraju se pretvoriti u diskretan zapis koji se može obrađivati
pomoću mikroprocesora. Ovaj posao obavljaju specijalizovani uređaji koji se zovu analogno digitalni
konvertori (A/D converter). I obrnuto, često je potrebno da digitalni računar izdaje kontinualne
podatke pa se diskretni podaci pretvaraju u analogni oblik.
Da bi pretvorio neprekidan signal u digitalan oblik, A/D konvertor meri amplitudu analognog
signala u fiksiranim diskretnim vremenskim intervalima. Ovi intervali treba da budu veoma mali kako
- 70 -
se ulazni signal ne bi suviše izobličivao. Svakom intervalu pridružuje se broj - što veći izmeren napon
to veći broj zapisan u binarnom brojnom sistemu pomoću n bitova. Ovaj metod vemenske kvantizacije
naziva se uzorkovanje (sampling). Samo pretvaranje u binarnu reč od recimo 8 bitova vrši se tzv.
metodom uzastopnih aproksimacija.
Formiranje analognog izlaza je proces koji je suprotan procesu transformacije analognog ulaza u
cifarske signale. D/A konvertor pretvara diskretne binarne signale u neprekidan analogni signal. Isprva
konvertor dodeljuje svakoj reči cifarskih podataka napon struje ekvivalentan vrednosti odgovarajućeg
binarnog broja. Kao rezultat dobija se testerasta kriva jako promenljivog napona. Ta se kriva zatim
propušta kroz specijalne elektronske filtere koji je "izglađuju" i pretvaraju u neprekidan analogni
signal.
Uređaj
Karakteristike
Princip rada
Prednosti /Nedostaci
Tastatura
Kao pisaća mašina,
prve tastature
konstruisani su u
XIX veku baš za
pisaće mašine
Efikasna za unos
teksta
Relativno spora,
brzina zavisi od
operatera
Svetleće pero
Pokazuje na ekran
Pritiskom na taster formira se
serija električnih impulsa koji
predstavljaju binarni kod
karaktera predstavljenog
tasterom. Impulsi se smesti u
unutrašnju memoriju,
konvertuje njegov mašinski
(npr.ASCII) kôd i prikaže na
ekranu.
Lako za upotrebu
Trackball
Kontrola i
pomeranje kursora
Miš
Koristi se za
Pokreti miša proizvode
kontrolu pomeranja električne signale, prihvata ih
kursora
softver računara i izvršava
željenu radnju u zavisnosti od
broja pritisaka tastera miša i
pozicije kursora na ekranu
Upravljačka palica Za računarske igre i
upravljanje
Grafička tabla
Grafički ulaz
Unošenje slika i skica
slobodnom rukom
Skener
Kopira slike
Brz grafički ulaz
Govorni ulaz
Lak za upotrebu
Bez ruku
Treba dosta obiman
SW da bi bilo
višenamensko
Efikasan za ikone i
izbor menija/Pravila
ergonomije
Brza /Potrebna
adekvatna
SW podrška
Spora
Samo bitmapirana
grafika
Ograničen rečnik,
potreban SW za
prepozavanje govora
Tabela 5.1 Tipični ulazni uređaji
Izlazni uređaji
Kao i ulazna informacija namenjena za obradu centralnim procesorom, izlazna informacija u
zavisnosti od tipa izlaznog uređaja može biti u analognom ili u diskretnom obliku. Sintetizatori glasa
omogućavaju računaru da izdaje govorne informacije, prevodeći digitalnu informaciju na izlazu u
analogne signale koji idu u zvučnik. Za razliku od toga, katodne cevi koje osvetljavaju podatke na
ekranu ili štampači koji ih prezentiraju na papiru, transformišu izlazne binarne kodove u diskretne
podatke odgovarajuće forme.
- 71 -
Najčešće korišćeni izlazni uređaji su monitori i štampači, zatim zvučnici i drugi uređaji koji
podržavaju multimediju, kao i cela paleta uređaja specijalno projektovanih za konkretnu primenu.
Napomenimo da uređaji poput spoljašnjih memorija i modema mogu da obavljaju i ulaznu i izlaznu
funkciju. U sledećoj tabeli dat je pregled tipičnih izlaznih uređaja.
Uređaj
Karakteristike
Prednosti
Nedostaci
Ekran
računara
Višenamenski: tekst i
grafika
Efikasna za unos
teksta
Bez trajne kopije
Linijski
štampač
Udarni štampač, veoma Velikim obim štampe Velike verzije su vrlo Do 6000
brz
bučne
karaktera/s
Matrični
štampač
Višenamenski: tekst i
grafika
Slab kvalitet i brzina
Do 200
karaktera/s
Mali, jeftin
Mehanički sličan
Inkjet štampač gornjem; tačka se dobija
izbacivanjem kapljice
mastila.
Laserski
Tekst i grafika visokog Veoma brz, veliki
štampač
kvaliteta
obim štampe
Slabiji kvalitet od
laserskog
Oko 20
redova/s
Skup
(nekad bio)
Moguće
20000
redova/s
Ploter
Moguć izlaz velikih
grafika
Velika i skupa mašina Pera do
1 m/s
Bez upotrebe očiju
Ograničen opseg
zvukova
Grafika visokog
kvaliteta
Govorni izlaz Prirodan za određene
aplikacije
Jevtin
Brzina
Normalan
govor
Tabela 5.2 - Tipični izlazni uređaji
Ulazno/izlazni uređaji
Najčešće korišćen ulazno/izlazni uređaj je uređaj diska. Hard disk uređaj sadrži jednu ili više
ploča u obliku diska čije su površine premazane feromagnetnim slojem. Ploče se nalaze na zajedničkoj
osovini koja rotira konstantnom brzinom od 3600 do 7200 obrtaja u minuti, a ima i onih koji rotiraju
brzinom od 15 000 obrtaja u minuti. Između ploča se nalaze poluge koje na svom vrhu imaju po dve
upisno-čitajuće glave, jednu za gornju drugu za donju površinu. Sve glave nalaze se na zajedničkom
nosaču i pomeraju se zajedno napred-nazad prema centru, odnosno obodu diska. Glave ne mogu da se
pomeraju nezavisno jedna od druge zato što su na zajedničkom nosaču. Kod većine hard diskova glave
ne dotiču ploče tokom normalnih operacija. Dok je uključeno napajanje vrlo tanak vazdušni jastuk
pridržava svaku glavu na malom rastojanju iznad ploča. Ako se vazdušni džep poremeti zbog potresa
ili čestica prašine, glave mogu da udare u ploče koje se okreću punom brzinom. Ovakav neželjeni
događaj može da dovede do gubitka podataka ili potpunog uništenja diska.
Organizacija podataka na hard disku
Podaci se upisuju u koncentrične krugove koji se nazivaju staze. Sve staze istog poluprečnika,
dakle staze nad kojima su u istom trenutku pozicionirane sve upisno-čitajuće glave, obrazuju cilindar.
Cilindri su numerisani od spolja prema centru počevši od 0. Glave i površine diskova su numerisani od
vrha prema dnu disk paketa počevši od 0. Svaka staza podeljena je u fizičke celine fiksne dužine sektore. Sektori imaju upravo onu veličinu koja se u jednom obraćanju disku može preneti ka ili iz
operativne memorije. Zbog toga što sa centralnim delom računara razmenjuje informacija u blokovima
disk spada u tzv. blok uređaje, za razliku od uređaja koji rukuju kakterima. Broj staza i sektora na
pojedinom disku zavisi od kontrolera i od mehanizma disk drajva. Kako su ploče hard diska fiksirane i
hermetički zatvorene, gustine staza mogu biti veoma visoke. Mnogi hard diskovi imaju po 3.000 i više
staza po inču medijumuma.
Disk drajvovi se adresiraju kao velik jednodimenzioni niz logičkih blokova (logički blok je
- 72 -
najmanja jedinica prenošenja). Logički blokovi se mapiraju na sektore diska jedan za drugim,
sekvencijalno. Sektor 0 je prvi sektor na prvoj stazi na spoljašnjem cilindru. Mapiranje se vrši redom
na stazi, zatim na preostalim stazama na tekućem cilindru, i zatim na preostalim cilindrima od
spoljašnjih ka unutrašnjim.
Disk se logički posmatra
kao
linearan,
sekvencijalan niz
Slika 5.1 – Organizacija podataka na hard disku
blokova-sektora: Blokovi su
tipično veličine 512B, redom
su numerisani, tako da su
Staze: Koncentrični krugovi
blokovi sa susednim brojem
u kojima su memorisani podaci
fizički susedni: blok 0 je na
Diskovi
sektoru 0 spoljnog cilindra,
zatim prema susednom sektoru
na istom cilindru itd., zatim
Glave za
prema narednom cilindru ka
upis i čitanje
Sektori:
unutrašnjosti itd. Iako deluje
Delovi staza
trivijalno, preslikavanje logičke
adrese bloka u njegovu fizičku
poziciju na disku nije jednostavno. Naime, diskovi obično sadrže loše sektore (bad sector) koji nisu
upotrebljivi, a broj sektora po cilindru za neke diskove nije isti za sve cilindre: gustina zapisa je
jednaka, pa je broj sektora na unutrašnjim cilindrima manji (tipično i do 40%); zbog toga uređaj
povećava brzinu obrtanja kada glava ide ka unutrašnjim cilindrima.
Kriterijumi za klasifikaciju perifernih uređaja
Periferne uređaje možemo da klasifikujemo i prema tome ko (ili šta) su korisnici u komunikaciji
sa računarskim sistemom. Po tom kriterijumu periferni uređaji mogu biti:
• čitljivi za ljude - pogodni za komunikaciju sa korisnicima računara,
• čitljivi za mašinu – pogodni za komunikaciju sa opremom i
• komunikacioni – pogodni za komunikaciju sa udaljenim uređajima.
Ovi uređaji se međusobno razlikuju u mnogim aspektima. Osim namene, uređaje karakteriše i
skup operacija koji se mogu izvesti nad podacima, brzina prenosa podataka između uređaja i
računara, količina podataka kojima se istovremeno pristupa, način pristupa podacima, deljivost
uređaja i skup stanja koja se mogu smatrati greškama.
Dakle, periferni uređaji se mogu klasifikovati na osnovu više kriterijuma. Neki od njih prikazani
su u sledećoj tabeli.
Kriterijum
Vrsta
Primeri
jedinica prenosa
karakter
terminal
blok
disk
metod pristupa
sekvencijalno
modem
direktno
CD-ROM
vrsta prenosa
sinhrono
asinhrono
deljivost
monopolski
traka
deljivi
tastatura
brzina uređaja
kašnjenje
vreme traženja
vreme prenosa
zadrška između operacija
smer prenosa
samo za čitanja
CD-ROM
samo za upis
grafički kontroler
i za čitanje i za upis
disk
Tabela 5.3 – Kriterijumi za klasifikaciju perifernih uređaja
- 73 -
Prema brzini prenosa (data rate) periferni uređaji se mogu se razlikovati za više redova
veličina, što je ilustrovano slikom 5.2.
Slika 5.2 - Brzine prenosa podataka tipičnih U/I uređaja
Podaci se mogu prenositi bajt po bajt (stream of bytes) kod terminala ili kao veliki blokovi kod
diskova. Dakle, prema jedinici prenosa uređaje možemo podeliti na karakter uređaje (Character
devices) i blok uređaje (Block devices). Blok uređaji uključuju disk drajvove koji za prenos koriste
komande read, write, seek. Prenos može biti “sirov” U/I ili preko fajl sistema. Moguć je i pristup
korišćenjem memorijskog mapiranja. Karakter uređaji uključuju tastature, miševe, serijske portove.
Oni za prenos koriste komande get, put. Takođe omogućavaju linijsko editovanje.
Prema načinu prenosa komunikacija sa uređajima može biti serijska i paralelna.
Paralelni prenos podataka se vrši na primer izmedu računara i štampača. Tada se podaci prenose
u bajtovima. Svaki bit se prenosi zasebnom linijom. Programski sklop koji omogućava paralelni
prenos mora da obezbedi najmanje dva registra preko kojih se razmenjuju podaci između procesa i
spoljašnjih uređaja i omogući zadavanje smera kretanja
podataka za svaku liniju. Koristi se kada se povezuje
procesor sa uređajem koji je spor, a skupo je koristiti
magistralu za paralelni prenos.
Većina uređaja koji podržavaju serijski prenos,
radi u asinhronom modu, znači da računar pre slanja
podataka mora poslati poruku o tome da sledi otprema
- to je tzv. start bit (niži naponski nivo). Takođe, svaka
poruka se završava sa nekoliko stop bitova (viši
naponski nivo). Ispred stop bita se dodaju bitovi za
proveru parnosti koji koriste kao zaštitni kod. Naime,
prijemni uređaj, na osnovu broja nižih i viših
naponskih nivoa, određuje parnost. Kako bi se
uskladila unapred utvrđena parnost (par ili nepar),
dodaje se bit vrednosti nula ili jedan. Na osnovu
Slika 5.3 – Paralelni i serijski prenos
sadržaja tog poslednjeg bita, može se otkriti da li u
poruci postoji greška, a u nekim specijalnim kodovima
može se i ispraviti greška. Dakle, kod asinhronih uređaja proces radi uporedo sa izvršavanjem U/I.
Ovakav način rada je težak za implementaciju. U/I podsistem signalizira procesu završetak
ulazno/izlazne operacije.
Sinhroni način prenosa se koristi za prenos podataka u blokovima, pri čemu se zna početak i
kraj komunikacije, odnosno vrši se raspored informacionog sadržaja u okviru poznatog vremenskog
intervala.
- 74 -
Ulazno/izlazni hardver
Postoje mnogi tipovi perifernih uređaja i mnogi tipovi perifernih magistralnih linija koje se
međusobno značajno razlikuju. Sve te razlike uslovile su da se periferijski uređaji ne povezuju
direktno na sistemsku magistralu. Umesto toga, jedan ili više perifernih uređaja povezuju se sa
ostatkom računarskog sistema preko U/I modula. Ulazno/izlazni moduli se koriste da omoguće
perifernim magistralama da se prilagode sistemskoj magistrali. Periferijske jedinice povezuju se sa
računarom raznoraznim kablovima. Adaptacija tih kablova kako bi bili kompatibilni sa sistemskom
magistralom takođe je posao U/I modula. Možemo reći da ulazno/izlazni moduli predstavljaju interfejs
periferijskih uređaja prema procesoru i memoriji.
Slika 5.4 - Povezivanje U/I uređaja u sistem
Svaki modul ima malo memorije, kao što i svaki od interfejsa na uređajima ima malo
memorije. Te memorije ne pripadaju sistemskoj memoriji, to su lokalne memorije uređaja Kada
podaci stignu u memoriju modula, on ih šalje na sistemsku magistralu. Podaci su prisutni na čitavoj
magistrali, a uz pomoć određenih kontrolnih linija aktivaraju se uređaji koji prihvataju te podatke.
Glavne kontrole izdaje centralni procesor, on diriguje koji od modula u jednom trenutku ima pravo da
radi sa sistemskom magistralom, a svim ostalima onemogućava pristup. Dakle, procesor „zna” sa
kojim od modulom razgovara u datom momentu. Sve što procesor vidi na magistrali može i da
„zgrabi” (fetch) u svoje registre. Obratite pažnju na ove činjenice: svi uređaji koji su priključeni na bas
imaju registre u sebi, sistemska memorija ima ulazno/izlazne registre, procesor ima ulazno/izlazne
registre i kontroleri takođe. Ovi registri predstavljaju mesto gde se privremeno čuvaju podaci koje
uređaj prihvata sa magistrale ili treba da pošalje na magistralu. Transfer podataka od memorije ka
procesoru ili od procesora ka memoriji vrši se pod kontrolom CPU. Isto tako, podaci mogu da se kreću
od procesora ka kontroleru i od kontrolera ka procesoru. Sve vreme podaci se kreću sistemskom
magistralom pod kontrolom CPU.
Tipične funkcije U/I modula su:
• upravljanje i vremensko usklađivanje
• komunikacija sa magistralom
• komunikacija sa uređajem
• baferovanje podataka
• otkrivanje grešaka
Opšta struktura spoljašnjeg uređaja koji se povezuje na U/I modul prikazana je na slici 5.5, a
struktura U/I modula na slici 5.6.
- 75 -
Slika 5.5 – Blok dijagram perifernog uređaja
Upravljačka logika upravlja radom samog uređaja, pretvarač transformiše podatke iz
električnog u druge oblike energije ili obrnuto, dok bafer privremeno čuva podatke koji se prenose
između U/I modula i spoljašnjeg okruženja (slika 5.5).
U/I modul se povezuje sa računarskim sistemom preko sistemske magistale. Na samom modulu
mogu se uočiti registri za podatke, statusni i upravljački registar. Kao i memorijske lokacije, tako i
svaki od ovih registara ima svoju adresu na osnovu koje mu se pristupa i predstavlja deo U/I adresnog
prostora. Podaci koji se prenose preko modula baferuju se u data registrima. Procesor može da se
informiše o stanju perifernih uređaja kojima modul upravlja na osnovu sadržaja statusnog registra, a
preko upravljačkog registra može da zada komande koje modul može da izvrši. Logika ugrađena u
modul komunicira sa procesorom preko upravljačkih linija sistemske magistrale. Modul prepoznaje
adrese pridružene uređajima kojima upravlja i sadrži logiku specifičnu za interfejs prema svakom od
njih.
U/I modul koji ima jednostavnije funkcije i upravlja samo perifernim uređajem, naziva se
kontroler ili kontroler uređaja, dok modul koji može da izvršava ulazno/izlazne operacije samostalno
radeći uporedo sa centralnim procesorom i nezavisno od njega nazivamo U/I procesorom. Za
Ulazno/izlazne procesore na mejnfrejm računarima koristi se termin U/I kanal.
Slika 5.6 – Blok dijagram Ulazno/izlaznog modula
- 76 -
Sistemski resursi
Da bi uređaji koji su povezani na magistrale mogli da razmenjuju podatke bez gubitka
informacija i sudara na magistralama, neophodno je postojanje pravila komunikacije, kao i nekih
sistemskih resursa kroz koje se ta pravila ostvaruju i kontrolišu. Da bi se ostvarila komunikacija
između procesora i U/I modula koriste se sledeći sistemski resursi:
- adrese ulazno/izlaznih uređaja,
- DMA kanali,
- brojevi zahteva za prekidom IRQ (interrupt request),
- ROM adrese i RAM baferi.
Adrese ulazno/izlaznih uređaja obrazuju U/I adresni prostor. Svaki U/I uređaj ima svoju
jedinstvenu adresu preko koje mu se CPU obraća. Kartica kontrolera uređaja, koja je preko portova
povezana na magistralu zna svoju adresu i sposobna je da je detektuje na adresnoj magistrali, nakon
čega se kontroler uređaja koji je prozvan uključuje u komunikaciju.
Kod Intelovih procesora razdvojen je ulazno/izlazni od memorijskog adresnog prostora. Svaki
80x86 procesor može da adresira samo 64 KB portova (U/I adresa), bez obzira koliko je velik njegov
memorijski adresni prostor.
Kontroleri imaju grupu registara kojima procesor može da pristupi preko adresa portova
(ulazno/izlaznih adresa) pridruženih kontroleru.
Registri kontrolera vrše
funkciju bafera - prihvatne memorije (port podataka)
statusnih registara uređaja kojima kontroler upravlja (statusni port)
prihvatanje komandi koje šalje procesor u cilju upravljanja radom U/I interfejsa ili U/I
uređaja (upravljački port)
DMA kanale koriste neki uređaji za ubrzavanje upisa i čitanja sistemske memorije. Ima ih
malo, pa je ograničen broj instaliranih uređaja koji mogu da koriste DMA kanale.
IRQ - brojevi zahteva za prekidom. Hardverske komponente moraju da šalju procesoru
zahteve za prekidom kako bi ga pozvale da na vreme obradi njihove zahteve. Svaki uređaj ima
sopstveni zahtev za prekidom kojim privlači pažnju procesora.
ROM adrese i RAM baferi. Neki kontroleri imaju ugrađen ROM sa drajverom uređaja, na
primer SCSI adapteri, grafičke kartice i neke mrežne kartice. Neke kartice imaju sopstvenu RAM
memoriju kojoj pristupaju i procesor i kontroler.
Algoritmi upravljanja komunikacijom
Tokom godina u arhitekturi računarskih sistema razvijeni su mehanizmi i algoritmi za
optimalnu kontrolu komunikacije. Najčešće korišćeni algoritmi upravljanja komunikacijom su:
- Programiran ulaz/izlaz,
- Realizacija U/I korišćenjem sistema prekida
- Direktan memorijski pristup (DMA)
Prilikom korišćenja programiranog U/I CPU zadaje U/I instrukciju pa “proziva” uređaj sve dok
se U/I ne završi operaciju. Zatim procesor šalje/preuzima nove podatke od uređaja.
Realizacija U/I korišćenjem sistema prekida podrazumeva da CPU zadaje U/I instrukciju pa
nastavlja sa izvršavanjem (drugih) instrukcija. U/I modul šalje signal za prekid kada završi sa radom, a
procesor zatim šalje/preuzima nove podatke od uređaja.
Kada se koristi direktan memorijski pristup (DMA) CPU traži od DMA modula da izvrši prenos
između U/I i memorije. DMA modul kontroliše razmenu podataka između glavne memorije i U/I
uređaja, a procesor se prekida jedino posle prenosa bloka podataka.
Upravljanje prozivanjem (polling)
Kod algoritma prozivanjem procesor proziva sve uređaje u krug, u pravilnim vremenskim
razmacima, i ispituje da li neki od uređaja zahteva razmenu podataka. Na taj način kontroler uređaja je
pasivan – nikada on ne inicira komunikaciju, već strpljivo čeka da dođe njegov vremenski interval
nakon čega može da razmeni informacije sa ostatkom sistema.
- 77 -
Upravljanje korišćenjem prekida (interupt request IRQ)
Kod algoritma sa prekidom, ulazno-izlazni uređaj u bilo kom trenutku može da pošalje zahtev
za razmenu podataka centralnom procesoru, nakon čega mu procesor dodeljuje pravo i vremenski
interval za prijem ili slanje podataka preko zajedničke magistrale. Za ostvarenje ovog algoritma,
neophodno je postojanje sistemskog resursa IRQ (zahtev za prekidom). Svaki uređaj ima svoj IRQ
pomoću kojeg procesor prepoznaje koji je uređaj zahtevao prekid.
Mehanizam direktnog pristupa memoriji
Direktan pristup memoriji (eng. direct memory access, DMA) je tehnika kojom se prenose
podaci između operativne memorije i U/I modula bez posredstva CPU-a. DMA je u arhitekturu
računarskih sistema uveden kao mehanizam rasterećenja procesora pri radu sa velikom količinom
podataka koji se čitaju ili upisuju na spoljašnju memoriju ili ulazno-izlazni uređaj. DMA zahteva
dodatni modul priključen na sistemsku magistralu koji se naziva DMA kontroler – specijalizovani
procesor koji može da izvršava programirani U/I.
DMA kontrolni blok sadrži sledeće podatke, neophodne za kontrolu komunikacije:
• adresa uređaja sa koga se vrši prenos ili na koji treba upisati podatke
• pokazivač na lokaciju u memoriji gde treba preneti podatke u slučaju unosa,
odnosno odakle treba preneti podatke u slučaju izlaza
• informacije o broju bajtova koje treba preneti i identifikaciju akcije (čitanje
ili pisanje) koja se zahteva.
CPU formira DMA kontrolni blok, predaje njegovu adresu DMA kontroleru i prelazi na druge
poslove. Po završetku operacije, DMA kontroler šalje prekid procesoru kojim ga obaveštava da je
operacija izvršena.
Na sledećoj slici ilustrovana su sva tri pristupa za upravljanje ulazno/izlaznim aktivnostima.
Slika 5.7 – Tri tehnike za realizaciju ulaza bloka podataka
- 78 -
Kanali su mikroprocesori specijalne namene čiji je zadatak da, u skladu sa primljenim
naredbama CPU, izvrše zahtevane ulazno/izlazne operacije i prenos podataka ka ili od U/I uređaja i to
bez daljeg angažovanja CPU. Rad kanala kontroliše centralni procesor i to tako što samo inicijalizuje
operaciju kojom nadalje upravljaju kontrolne jedinice i upravljački uređaji kanala. Time se procesor
oslobada i njegov se rad ne prekida. Tek po završetku rada periferijske jedinice, šalje se informacija o
tome procesoru. Ovo je inače, karakteristika multiprogramskog rada.
Slika 5.8 –Arhitektura Ulazno/izlaznih procesora
Kanal može istovremeno da opslužuje jednu ili više periferijskih jedinica. Ako radi sa više
periferijskih jedinica kaže se da radi u multipleksnom režimu rada. Multipleksiranje se vrši u vremenu,
tako što se jedinični intervali dodeljuju pojedinim periferijskim jedinicama. Ukoliko kanal opslužuje
jednu perifernu jedinicu naziva se selektor. Selektorski kanal je namenjen opsluživanju uređaja velike
brzine (npr. diskova), kojima je pridružen kontroler. Selektor bira jedan od uređaja i izvršava prenos
podataka. jedinica Multiplekserski kanal je namenjen povezivanju više sporih U/I jedinica. Bajt
multiplekser radi sa najsporijim uređajima, a blok multiplekser prepliće blokove podataka iz više
uređaja velikih brzina.
Ključni pojmovi
ulazna aktivnost
izlazna aktivnost
U/I instrukcija
U/I modul
U/I procesor
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sistemski resursi
U/I adrese
U/I adresni prostor
IRQ
DMA kanal
DMA
Prekid
Programirani U/I
Selektorski kanal
Multipleksorski kanal
Pitanja i zadaci za vežbu
Šta se podrazumeva pod ulazno/izlaznom aktivnošću?
Kakve vrste uređaja se mogu koristiti za unošenje podataka u računar?
Kakve vrste uređaja se mogu koristiti za izdavanje podataka?
Koji uređaji se mogu koristiti i za ulaz i za izlaz?
Navedite osnovne funkcije U/I sistema.
Objasnite aspekte po kojima se razlikuju U/I uređaji
Klasifikujte uređaje u opšte kategorije prema: (a) nameni, (b) jediničnoj količini prenetih
podataka, (c) metodi pristupa, (d) deljivosti.
Kako se periferni uređaji povezuju u sistem?
Koje su glavne karakteristike U/I modula?
Šta su sistemski resursi?
Navedite i ukratko opišite tri tehnike za realizaciju U/I.
Šta je to „prozivanje” uređaja?
Šta je to „krađa ciklusa”?
Kakva je uloga U/I kanala u računarskom sistemu?
Šta karakteriše selektorske, a šta multipleksorske kanale?
- 79 -
Download

5. поглавље - Улазно излазни подсистем