Avbrott och I/O-portar hos PC-datorer

Avbrott

Avbrottssystemet är av stor vikt i moderna persondatorer, eftersom de gör det möjligt för yttre enheter, program osv att påkalla processorns uppmärksamhet vid behov, genom att avge en speciell avbrottssignal, varvid processorn kan avbryta det pågående arbetet och åtgärda avbrottet. Utan användning av avbrott skulle processorn ständigt behöva avfråga (polla) de olika enheterna för att kontrollera om de behöver få något utfört, vilket innebär slöseri med processorkraft.

Hos en PC är avbrotten numrerade och olika enheter knyts vanligen till olika avbrottsnummer. Tabellen nedan visar några vanliga avbrott och de enheter som de brukar vara knutna till. Flera av avbrottsnumren kan användas till olika saker, medan andra är reserverade för speciella uppgifter (som systemklockan).


Avbrottsnummer Traditionell användning
0 Systemklocka
1 Tangentbord
2 Programmerbar avbrottshanterare
3 Serieport COM2 (anv ofta till modem)
4 Serieport COM1 (ofta till seriell mus)
5 Andra parallellporten (LPT2) eller ljudkort
6 Diskettstyrenhet
7 Första parallellporten (LPT1) (ofta skrivare)
8 Realtidsklocka
9 Tillgänglig för allmän användning
10 Tillgänglig för allmän användning (ofta nätverkskort)
11 Tillgänglig för allmän användning
12 Tillgänglig för allmän användning (ofta PS/2-mus)
13 Matematikprocessor
14 Primär IDE-styrenhet (hårddisk + ev CD-ROM)
15 Sekundär IDE-styrenhet (hårddisk + ev CD-ROM)

Anmärkning: De flesta moderna operativsystem tillhandahåller möjligheter att undersöka vilka avbrott som olika enheter är knutna till. Med Windows 95/98 kan man t ex tillgripa Kontrollpanelen/Enhetshanteraren och med Linux finns informationen i textfilen /proc/interrupts.

I/O-adresser

Processorn använder sig av in/utportar för att kommunicera med olika enheter. Hos en PC är in/utportarna knutna till I/O-adresser. Tabellen nedan visar vanliga sådana (adressanvändningen varierar dock en hel del).


I/O-adress Användning
1F0-1F8 Hårddiskstyrenhet
200-207 Spelport
278-27F Parallellport (LPT2)
2F8-2FF Serieport (COM2)
378-37F Parallellport (LPT1)
3F0-3F7 Diskettstyrenhet
3F8-3FF Serieport (COM1)

Anmärkning: Med Windows 95/98 kan information om I/O-adresserna fås via Kontrollpanelen/Enhetshanteraren och med Linux kan man läsa textfilen /proc/ioports.


Copyright © 2000 Martin Fahlgren

martin@1-1-7-46a.ghn.gbg.bostream.se

[Till början av dokumentet] [Till artikelförteckningen]