Erinevad siinid ja nende osa andmevahetuses.
? Andmeedastus protokollid.
Andmevahetuseeskirjades e protokollides on defineeritud juhtinformatsiooni ja
andmete edastuse kord, ajaparameetrid ja kasutatavad koodid.
? Sünkroonne siin Sychronous Bus
? Asünkroonne siin Asynchronous Bus
? Tagasisideta andmevahetus Open-loop data transfer
? Tagasisidega andmevahetus Closed-loop data transfer
? Täieliku tagasisidega andmevahetus Fully inlocked handshaking
22
? Andmevahetus oote tsüklite lisamisega Data transfer adding Wait States
? Grupi andmeedastus Burst Mode
? Andmesedastus konveierina Pipelining
Sünkroonseks võib nimetada seadet, mille kõik töötsüklid on determineeritud
kestusega ja sünkroniseeritavad arvuti mõne töötsükliga, näiteks taktsagedusega.
Kõigil teistel juhtudel tuleb lugeda seadet asünkroonseks.
? Andmevahetuse juhtimine (Bus arbitration)
Kui näiteks CPU ja I/O seade tahavad korraga ühte siini kasutada, siis andmevahetuse
juhtimisel otsustatakse, kellel on õigus siini kasutada. Üldjuhul on I/O seadmetel
eesõigus CPU ees, sest välisseadmete peatamisel võib info kaduma minna. Seadmed
küsivad luba siini kasutamiseks ja andmevahetuse juhtija annab loa vastavalt seadme
prioriteedile siini kasutada.
? Sisend-väljund seadmete ja protsessori andmevahetus
Andmevahetuse initsieerivaks pooleks võib olla nii arvuti kui ka välisseade. Esimesel
juhul on andmevahetuse korraldamine lihtsam ja võib toimuda jäiga programmi
alusel. Näiteks võib programmi kindlate ajavahemike järgi sisestada andmeid
automaatikasüsteemi anduritelt, printide andmed kohe pärast nende töötluse lõppu
jne.
Kui andmevahetuse initsiaatoriks on aga välisseade, ei ole vahetuse alghetk enamasti
põhimõtteliselt ette teada ja järelikult ei saa seda ka jäigalt ette programmeerida.
Niisiis sõltub andmevahetussüsteemi riist- ja tarkvara sellest, kumb pool on
andmevahetuse alustamisel initsiaatoriks.
kui vaadelda andmete võimalikke liikumisteid välisseadmelt mälusse ja vastupidi, siis
leiame, et põhimõtteliselt on kasutatavad kaks teed. Esimesel juhul toimub
andmevahetus protsessori ja vastava programmi vahendusel, teisel juhul toimub see
aga vahetult mälu ja välisseadme vahel ehk nn. Otsemällupöörduse vahendite abil
(DMA). Andmevahetus protsessori kaudu toimub vastaval programmi järgi
spetsiaalste sisend-väljundkäskude abil. Seejuures salvestatakse iga vahetatav bait
eelnevalt akumulaatori registris. Mäluaadressi andmete lugemiseks või kirjutamiseks
formeeritakse samuti protsessori abil programmiliselt. Kõiki neid funktsioone täitvaid
programme nim. välisseadmete draiveriteks, nad koostatakse spetsiaalselt igale
välisseadme tüübile ning nad kuuluvad harilikult operatsioonisüsteemi koosseisu.
Andmevahetus kiirete välisseadmetega korraldatakse otsemällupöördusega. Selle
meetodi puhul protsessor peatatakse teatud ajaks ja andme- ning aadressisiinid
ühendatakse otse mälu ja andmevahetussüsteemi vahel. Kontrolleri ülesandeks on ka
ülekantavate andmete arvu jälgimine ja ülekande lõpetamine, kui vajalik hulk
andmeid on edastatud.
? Mikroprotsessori juurde kuuluvad komponendid ( Supporting System)
o Mälu kontroller (Memory controller)
o Peidikmälu, vahemälu kontroller (Cashe controller)
o Siini kontroller (Bus controller)
23
Kontrolleri ülesandeks on kontrollida sisend-väljundseadet ja juhtima siini ligipääsu
sellele.
Controller :
? Juhib I/O seadet. Põhimõtteliselt protsessor, mis on programmeeritav
? Teisendab elektromagneetilised signaalid kahend koodideks.
Näiteks magnet mäluseadmetel.
? Erinevate kiiruste korral puhverdab andmeid I/O seadme ja CPU vahel.
? Vigade avastamine ja parandamine andmeedastuses.
o Mälu otsepöördus reziimi kontroller (DMA controller)
Otsemälukanali kontroller on ette nähtud otseside loomiseks andmeallika ja tarbija
vahel andmete plokiviisiliseks edastamiseks maksimaalse võimaliku kiirusega. Nagu
oli juba eespool märgitud, kasutatakse seda moodust eeskätt just kiirete välisseadmete
ühendamiseks arvutiga, kuid see on edukalt kasutatav ka andmete kiireks transpordiks
mälu eri osade vahel. Seepärast võivad andmeallikaks ja ka vastuvõtjaks olla nii mälu
kui ka välisseade. Vastavalt sellele luuakse järgmised edastuvõimalused:
Välisseadmest mällu;
mälust välisseadmesse;
ühelt välisseadmelt teisele;
ühest mälu osast teise;
sageli on aga vaja andmeid edastada sõltuvalt nende sisust, massiivi nimest või
mingist koodist. Seepärast on enamikus DMA kontrollerites kasutusel veel
otsinguvõimalus st andmete ükshaaval läbivaatamine kuni mingi tunnuse leidmiseni.
o Programmeeritav katkestuste kontroller (Programmable
interrupt controller)
Kontrollib maskregistri olekut enne välisseadme katkestuse teenindamise algust.
o Programmeeritav taimer (Programmable interval timer
controller)
Koosneb loendurist ja ajkonstandi registrist. Töö alguses laetakse registrisse soovitav
ajakonstant, mis pärast käivituskäsklust viiakse loendurisse ning hakatakse nüüd
loendama sisendsignaali impulsse.Loendamine toimub allapoole. Periood lõpeb
loenduri sisu jõudmisel nullini, mil tekitatakse väljundisignaal. Viimast võib kasutada
näiteks protsessori katkestussignaalina, mis teatab etteantud ajavahemiku lõppemisest.
Sisend-väljund seadmed