Input-Output Ports Forklart av Semalt Expert

På datamaskiner blir enhver enhet (for eksempel en kontroller installert på et utvidelseskort eller et hovedkort) bortsett fra RAM behandlet som en periferi av CPU. Datautveksling mellom den sentrale prosessoren og perifere enheter utføres gjennom inngang-utgangsportene. IO-port er en bufferenhet eller register over en kontroller, digital signalprosessor, etc. som er direkte koblet til datamaskinens IO-buss. Gjennom inngang-utgang-porter kan du koble en rekke interne og eksterne enheter til datamaskinen din for å utvide mulighetene.

IO-porter lar deg opprette en forbindelse mellom enhetene og programvaren på datamaskinen. De ligner toveis radiokanaler siden utveksling av informasjon i begge retninger skjer på samme kanal.

Portadresse

For å kontrollere utvekslingen av data mellom datamaskiner, tildeles hver IO-port sin egen unike nummerportadresse. På PC brukes 16-biters kode for å adressere IO-porter. Derfor er det 216 = 65 536 porter, nummerert fra OOOOh til FFFFh. Standard IO-serien for IBM-kompatible datamaskiner er 0-3FFh. Disse inkluderer porter for tastaturkontrollere, harddisker og disketter, EGA / VGA-videokort, lydkort, serielle og parallelle grensesnitt, spillporter og annet perifert utstyr. En perifer enhet kan bruke flere IO-porter. Merk at du faktisk kan bruke adresser opp til FFFFh. For eksempel har porter av WT-synteseprosessor på lydkortet IO-området 620h-E23h.

Portene blir adressert av sentral prosessor når du utfører et program. IO-baseadressen brukes for å unngå å angi den spesifikke adressen til hver perifere IO-port under programmering, samt å endre adressen omgående avhengig av den spesielle datamaskinkonfigurasjonen. Baseadressen tilordnes hver periferienhet og tilsvarer den laveste adressen i portgruppen. Adresseringen av gjenværende porter på en periferiinnretning utføres ved å spesifisere forskyvningen i forhold til baseadressen.

IO-baseadressen til den perifere enheten kan være hvilken som helst adresse fra IO-området. BIOS reserverer en del av IO-serien for standard maskinvareenheter som ikke kan brukes av andre eksterne enheter. For eksempel er for LPT1-grensesnitt IO-området 378h - 37Eh reservert der IO-baseadresse kan velges. Da vil muligheten for konflikter bli eliminert når du adresserer porter på maskinvareprogramvarenivå. Siden tre registre brukes for kontroll og overvåking av LPT1, innenfor dette IO-området, er det 5 mulige verdier av baseadresse - 378h-s-37Ch.

Programmerte IO

For datautveksling med porter brukes programmert inngang / utgang (PIO). Den overfører ord med en bitdybde på 8, 16 eller 32 biter ved hjelp av strengkommandoer. Ordet kan overføres for en eller flere bussykluser med en indikasjon på den tilsvarende adressen i hver minnetilgangssyklus. Bussutvekslingssykluser igangsettes under utførelsen av en IO-kommando. Antall sykluser avhenger av innretningen av adressen langs ordgrensen og databitedybden til brukt buss. PIO-datautvekslingshastighet overskrider utvekslingshastigheten til standard Direct Memory Access (DMA) kanal.