Afbryd controller

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 20. august 2022; verifikation kræver 1 redigering .

Interrupt controller ( Programmable Interrupt Controller, PIC ) er en  chip eller indbygget processorenhed , der er ansvarlig for evnen til sekventielt at behandle afbrydelsesanmodninger fra forskellige enheder.

Beskrivelse

Som regel er det en elektronisk enhed, nogle gange lavet som en del af selve processoren eller komplekse mikrokredsløb af dens ramme, hvis indgange er elektrisk forbundet med de tilsvarende udgange fra forskellige enheder. Interrupt-controllerens inputnummer er betegnet "IRQ". Dette nummer skal skelnes fra afbrydelsesprioriteten samt fra indtastningsnummeret i interruptvektortabellen (INT). Så for eksempel i IBM-pc'en i rigtig tilstand ( MS-DOS kører i denne tilstand ) bruger processorafbrydelsen fra standardtastaturet IRQ 1 og INT 9.

Den originale IBM PC-platform brugte et meget simpelt afbrydelsesskema. Interrupt-controlleren er en simpel tæller, der enten cykler gennem signalerne fra forskellige enheder i rækkefølge eller nulstiller til begyndelsen, når en ny interrupt er fundet. I det første tilfælde har enheder samme prioritet, i det andet tilfælde har enheder med et lavere (eller højere nedtællings-) sekvensnummer en højere prioritet [1] .

Interrupt-controllere på x86-platformen er ansvarlige for at modtage interrupt-signaler fra enheder, matche signalet til en IDT -vektor og derefter afbryde en eller flere processorer i systemet ved hjælp af IDT-vektoren. Men x86-platformen har nogle ekstra funktioner. For det første, på grund af begrænsninger af de originale interrupt-controllere og busser, der blev brugt på PC-AT , blev separate programmerbare interrupt-routere tilføjet til platformen og placeret mellem PCI-interrupt-signalerne og PC-AT-interrupt-controllere. For det andet, efterhånden som x86-platformen udviklede sig, blev der introduceret et helt nyt sæt af interrupt-controllere, kendt som Advanced Programmable Interrupt Controllers ( APIC ). For at opretholde bagudkompatibilitet inkluderer APIC-systemer også stadig PC-AT-afbrydelsescontrollere, og begge systemer kan bruges til at håndtere afbrydelser på moderne systemer. Du kan endda bruge begge på samme tid [2] .

Se også

Noter

  1. Intel 8259
  2. Interrupt Controllers (Stuff in the Middle) . people.freebsd.org . Hentet: 6. september 2022.

Litteratur