Faktablad.

Installering av I/O-enheter.

Av Johan Futsæther

 

Når du bygger opp en maskin, eller skal oppgradere den, vil du før eller senere få problemer med at I/O-enhetene kommer i konflikt med hverandre. Dette kan gi seg utslag i at maskinen ikke fungerer slik den skal, eller "heng" i systemet. Det er derfor viktig å ha klart for seg hvordan systemet håndterer I/O-enheter slik at vi kan unngå konflikter.

 

Ved PnP klarer systemet selv å håndtere alle resursser. Problemet oppstår vanligvis på en legacy-maskin eller maskiner som har blandinger av PnP og Legacy

 

Det er fire (fem) punkter som er av avgjørende betydning. Disse punktene er nevnt i rekkefølge hvor ofte de erfaringsmessig oppstår.:

 

1.     IRQ.

 

Når en I/O-enhet ønsker å bli betjent av mikroprosessoren, må den be om dette. Dette kalles å gi en ”interupt”. En typisk XT har 8 interuptlinjer, mens en typisk AT har 16 (15). To ISA I/O enheter kan vanligvis ikke "dele" på ett interuptnummer. I noen tilfelle har vi programvare-støtte for deling.

 

2.     I/O adresse(r).

 

I/O-adresser peker ut registre i en I/O-enhet som det skal skrives eller leses i.      I/O-adresser ligger ikke i RAM, men i I/O-enheten selv. En PC skiller derfor på RAM-adresser og adresser for I/O-enhetene. Vi kan derfor aldri få konflikter mellom I/O-adresser og RAM-adresser. Konfliktene kommer innom I/O-adresseområdet, som ikke kan deles mellom I/O-enheter. En PC kan håndtere I/O-adresser i området 0000 – 03FFH og innenfor dette området må hver I/O-enhet som installeres få en (eller flere) unike adresser å forholde seg til

 

3.   Bios RAM-adresser.

 

En del I/O-kort har egne BIOS på kortet. Foreksempel video og HD-kontrollere. For å få tilgang til biosen må innholdet i Biosen kopieres inn i RAM på en egen adresse. Hvis to I/O-enheter gjør krav på samme adresseområdet, får vi problemer.

 

4.   DMA-kanal. (Direct Memory Allocation)

 

I/O-enheten kan ha direkte tilgang til minne, uten å gå via mikroprosessoren. Dette kaller vi å opprette en  DMA-kanal. Vi "sparer" dermed tid, og maskinen blir raskere. En typisk XT-maskin har 4 DMA kanaler, mens en typisk AT har 8 DMA-kanaler. To I/O-enheter kan ikke "dele" en kanal.

 

(5.  RAM-buffer. (Lite aktuelt))

 

Noen I/O-kort vil gjerne ha et lite området i RAM som den kan bruke som "mellomlagring" av data. To I/O-kort kan ikke bruke samme området.

 

Generelt

 

Det finnes flere metoder for å kunne endre kollisjoner mellom enheter. I noen tilfelle gjøres dette med "dip-switch" på kortet og i andre tilfelle ved hjelp av programvare. For å finne ut av dette, må du ha dokumentasjon på de aktuelle I/O-kort som er i konflikt med hverandre.

 

WIN95/98 håndterer I/O- resurser godt. Det er forholdsvis ”enkelt” å kunne finne ut hvilke konflikter som forekommer og deretter endre på dette. Se figuren.

 

I noen tilfelle finnes det ikke mulighet til å endre enhetskonflikter og dermed må du gjøre et valg på hvilken enhet som er viktigst for deg og ta ut den andre enheten.