I/o

Fra IT2
Hopp til: navigasjon, søk

Input/Output (forkortet: I/O) er et samlebegrep for kommunikasjon mellom CPU og verden utenfor (f.eks mus/tastatur eller en annen PC over et nettverk).

Input er signaler mottatt av systemet, output er signaler sendt fra systemet. Noen enheter er kun input-enheter (tastatur/mus), andre er kun output-enheter (skjerm, høyttaler), mens andre igjen kan fungere som begge deler (nettverkskort, modem).

Grensesnitt

Et I/O-grensesnitt er nødvendig hver gang I/O-enheten er drevet av prosessoren. Grensesnittet tolker kommunikasjonen mellom CPU og enheten, og inneholder logikk for å konvertere data. Grensesnittet har også mulighet til å foreta avbrudd-forespørsler dersom dette er nødvendig.

I/O Maskinvare

Det er en svært stor varisjon i hva slags I/O-enheter en maskin kan kobles til. De mest vanlige er mus og tastatur for input, og skjerm for output. I/O-enheter er nødvendige av at de er tilpasset gjeldene standarder for eksisterende datamaskiner og [operativsystem]er, dessuten må det være rom for å utvikle nye enheter med forbedrede egenskaper. Mot brukerprogrammene resenterer driverne et standard grensesnitt med et standarisert sett av funksjoner. Dermed skjules alle detlajer som finnes i utstyret.

En utstyrsenhet kommuniserer med datamaskinen via en kabel, eller trådløst via radiosignaler. All kommunikasjom foregår via porter, i dag har USB tatt over for serialporter. Dersom flere enheter deler på et sett av ledere, kalles dette en buss. En kontroller er står i tilknytning til en port, buss eller direkte til utstyrsenheten.

Operativsystemet bruker registre i kontrolleren for å styre operasjoner til I/O-enheter. I registrene legges koden for en aktuell I/O-operasjon inn. Dessuten er det registre for avlesing av status til I/O-utstyret. Endelig fins d dataregistre og/eller buffere der selve dataoverføringen skjer.

Dataoverføringen kan skje på følgende to måter:

  • Ved å bruke I/O-instrukser som opererer direkte mot kontrollregister. Hvert register har sine egne I/O-portadresser.
  • Utstyrskontrollen kan støtte et system med Memory-mapped_I/O, kontrollregistrene er "mappet" til minneadresser i cpu'ens adresseområde. Dermed kan alle kontrollregistrene nås via en vanlig minneadresse, og alle instruksjoner for lagring og henting av data fra minnet kan brukes mot kontrollerne.

Se også