INF2270 I/O Omid Mirmotahari 10.03.12 Omid Mirmotahari 1
Innhold Innledning 6l Input / Output Ulike typer I/O I/O internt i datamaskinen I/O mellom datamaskiner 10.03.12 Omid Mirmotahari 2
Input / Output En datamaskin kommuniserer med omverdenen gjennom mange ulike enheter: Harddisk Ram Mus Tastatur Skjerm NeGverk Kan dele kommunikasjon mellom to typer: Kommunikasjon mellom enheter internt i maskinen og mellom en datamaskin og direkte koble utstyr. Kommunikasjon mellom ulike datamaskiner knyge sammen i negverk 10.03.12 Omid Mirmotahari 3
Ytelsen 6l I/O- systemer avhenger av flere faktorer: Prosessoren Hukommelseshierarkiet Bussen(e) som kobler sammen maskinen Kontrollenheter for I/O og enhetene som er 6lknyGet bussen Has6gheten 6l opera6vsystemet Programvarens bruk av I/O To vanlige målestokker for ytelse 6l I/O er: Throughput: Båndbredde eller gjennomstrømning av data per 6dsenhet. Respons6d: Forsinkelse fra start 6l svar En maskin har som regel flere uavhengige busser som er spesialiserte. 10.03.12 Omid Mirmotahari 4
En bus knyger sammen mange ulike enheter Bussen er ove en flaskehals i systemet, fordi mange enheter konkurrerer om å få bruke den Siden de ulike enhetene deler samme fysiske buss, trengs regler for hvilke enhet som kan bruke bussen 6l hvilket 6dspunkt. En protokoll spesifiserer kjørereglene som gjelder for burk av bussen Det finnes mange ulike protokoller for ulike busstyper: ISA PCI TCP/IP ATM +++++ 10.03.12 Omid Mirmotahari 5
Intern kommunikasjon 10.03.12 Omid Mirmotahari 6
En buss består av datalinjer og kontrollinjer Kontrollinjene regulerer bruken av bussen, spesifiserer hva bussen inneholder, synkroniserer overføring osv Datalinjene inneholder de data som sendes over bussen, både adresser og fak6ske data. 10.03.12 Omid Mirmotahari 7
10.03.12 Omid Mirmotahari 8
Busser er enten synkrone eller asynkrone Synkron: Endringer på bussen skjer eger en fast protokoll, rela6vt 6l et klokkesignal i kontrollinjene» Raskere enn asynkrone» KnyGer sammen enheter med samme klokkehas6ghet» Enhetene må ligge nær hverandre fysisk Asynkrone: Intet klokkesignal bland kontrollinjene. Overføring av data skjer eger regler avtalt mellom enhetene ( handshaking )» KnyGer sammen enheter med ulik has6ghet» Gir færre begrensninger i busslengde» Mer komplisert protokoll for synkronisering 10.03.12 Omid Mirmotahari 9
Asynkrone busser og handshaking Handshaking brukes for å koordinere transmisjon av data mellom sender og mogager GiG et enkelt system med tre kontrollinjer: 1) ReadReq: Brukes for å indikere en forespørsel om lesing fra minne. Adressen legges på datalinjene sam6dig. 2) DataRdy: Indikerer at data er klare på datalinjene 3) Ack: Brukes for å bekreve at ReadReq eller DataRdy er mogat fra den andre enheten De tre kontrollinjene brukes for å utveksle informasjon om hvor langt de to enhetene har kommet. 10.03.12 Omid Mirmotahari 10
Lesing fra minne Bl prosessor 10.03.12 Omid Mirmotahari 11
(0) Prosessoren seger ReadReq = 1, og legger adressen ut på datalinjen. 1 Minne ser ReadReq = 1, leser adressen og seger Ack = 1 for å indikere at adressen er lest 2 Prosessoren ser Ack = 1 og seger ReadReq = 0 og frigir datalinjen 3 Minne ser ReadReq = 0 og seger Ack = 0 for å bekreve at ReadReq- signalet er mogag 4 Når minet har data klart for overføring, plasseres data på datalinjen, minne seger DataRdy = 1 for å indikere at det er gyldige data på bussen 5 Prosessoren ser at DataRdy = 1, leser data fra bussen og indikerer at den har lest ferdig ved å sege Ack = 1 6 Minne ser at Ack = 1, seger DataRdy = 0 og frigir datalinjene 7 Prosessoren ser at DataRdy = 0 og seger Ack = 0 for å indikere at transmisjone er ferdig. 10.03.12 Omid Mirmotahari 12
10.03.12 Omid Mirmotahari 13
Ekstern kommunikasjon Datamaskiner er ove knyget sammen med andre maskiner i negverk av ulik størrelse:» LAN (Local Area Network): Innenfor begrenset område, feks innenfor en bygning» WAN (Wide Area Network): Innenfor større geografisk område, feks, hele blindern» Internet: Hele verden Slike sammenkoblinger skiller seg fra den interne sammenkoblingen i datamaskiner på flere måter: KnyGer sammen utstyr fra ulike produsenter med ulike egenskaper Store forskjeller i has6ghet Må tåle feil ved utstyr som er 6lkoblet Må være skalerbart, dvs leg å koblie 6l flere enheter. 10.03.12 Omid Mirmotahari 14
OSI - modellen 10.03.12 Omid Mirmotahari 15
Data grupperes sammen i enheter som kalles pakker eller rammer. Hver pakke består av header og data. Header en inneholder informasjon om pakken og innholdet som trengs for å behandle den rik6g Kommunikasjon skjer gjennom protokollstakkene på hver maskin Logisk seg kommuniserer lag X på maksin A med lag X på maskin B. Fysisk seg kommuniserer lag X på maskin A med lag X- 1 og lag X+1 på maskin A og 6lsvarende på maskin B. Data sendes ovenfra og nedover 6l det fysiske laget og så motsag vei på mogager- maskinen. 10.03.12 Omid Mirmotahari 16
10.03.12 Omid Mirmotahari 17