Programmable Interrupt Controller

Aus Lowlevel
Version vom 17. Januar 2007, 16:31 Uhr von Osbios (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu:Navigation,

Der Programmable Interrupt Controller (PIC) empfängt Unterbrechungsanforderungen (Interrupt Requests, kurz IRQs) von der Hardware und gibt sie an die CPU weiter.

Nach einer gewissen Zeit benötigte man mehr als die 8 IRQ-Kanäle, die von einem PIC zur verfügung gestellt wurden. Deshalb wurde ein zweiter PIC über den IRQ2-Anschluss an den ersten PIC angeschlossen. Man erhielt so 15 IRQ-Kanäle.
Heutzutage werden keine echten PICs verwendet und es gibt eine verbesserte variante namens Advanced Programmable Interrupt Controller (APIC). Aus gründen der Abwährtskompatibilität emulieren jedoch alle PCs die alte variante mit 2 PICs, bis man diese emulation ausschaltet.

Die Verwendung der einzelnen IRQ-Kanäle wurde früher fest vorgegeben, da sie direkt mit der Hardware verdrahtet waren. Die restlichen, freigebliebenen IRQs werden heutzutage dynamisch vergeben. (etwa über PnP)

IRQ  Hardware/Funktion

PIC1
 0  PIT (Proganable Interrupt Timer)
 1  KBC (Tastatur)
 2  Verbindung zum PIC2
 3  RS-232 port 2 and 4
 4  RS-232 port 1 and 3
 5  LPT 2
 6  floppy
 7  LPT 1

PIC2
 8  RTC (CMOS Real Time Clock)
 9
10
11
12  KBC (PSAUX, meist PS/2-Maus)
13  FPU
14  primary ATA/ATAPI   (aka IDE EIDE)
15  secondary ATA/ATAPI (aka IDE EIDE)