Programmerbar afbrydelsescontroller - Programmable interrupt controller

I computing er en programmerbar afbrydelsescontroller ( PIC ) et integreret kredsløb, der hjælper en mikroprocessor (eller CPU ) med at håndtere afbrydelsesanmodninger (IRQ), der kommer fra flere forskellige kilder (f.eks. Eksterne I/O -enheder), som kan forekomme samtidigt. Det hjælper med at prioritere IRQ'er, så CPU'en skifter eksekvering til den mest passende interrupt handler (ISR), efter at PIC har vurderet IRQ's relative prioriteter. Almindelige former for afbrydelsesprioritet omfatter hårde prioriteter, roterende prioriteter og kaskadprioriteter. PIC'er tillader ofte kortlægning af input til output på en konfigurerbar måde. På pc -arkitekturen er PIC typisk indlejret i en southbridge -chips, hvis interne arkitektur er defineret af chipsetsleverandørens standarder.

Fælles træk

PIC'er har typisk et fælles sæt registre: interrupt request register (IRR), in-service register (ISR) og interrupt mask register (IMR). IRR angiver, hvilke afbrydelser der afventer bekræftelse, og er typisk et symbolsk register, som ikke kan tilgås direkte. ISR -registret angiver, hvilke afbrydelser der er blevet anerkendt, men venter stadig på en afbrydelse (EOI). IMR angiver, hvilke afbrydelser der skal ignoreres og ikke anerkendes. Et enkelt registerskema som dette tillader, at op til to forskellige afbrydelsesanmodninger er udestående ad gangen, en venter på bekræftelse og en venter på EOI.

Der er en række fælles prioritetsskemaer i PIC'er, herunder hårde prioriteter, specifikke prioriteter og roterende prioriteter.

Afbrydelser kan enten være kantudløst eller niveauudløst .

Der er en række almindelige måder at anerkende, at en afbrydelse er afsluttet, når der udstedes et EOI. Disse omfatter angivelse af, hvilken afbrydelse der er udført, ved hjælp af en underforstået afbrydelse, der er afsluttet (normalt den højeste prioritet, der afventer i ISR), og behandling af afbrydelsesbekræftelse som EOI.

Kendte typer

En af de mest kendte PIC'er, 8259A , var inkluderet i x86 -pc'en . I moderne tid er dette ikke inkluderet som en separat chip i en x86 -pc, men snarere som en del af bundkortets southbridge -chipsæt. I andre tilfælde er det blevet erstattet af de nyere Advanced Programmable Interrupt Controllers, der understøtter flere afbrydelsesoutputs og mere fleksible prioritetsskemaer.

Se også

Yderligere læsning

Flere oplysninger om Intel APIC findes i IA-32 Intel Architecture Software Developer's Manual, Volume 3A: System Programming Guide, Part 1, Chapter 10 , frit tilgængeligt på Intels websted.

Referencer

eksterne links