APIC

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 30. april 2020; checks kræver 3 redigeringer .

APIC ( engelsk  Advanced Programmable Interrupt Controller )  - forbedret programmerbar interrupt-controller . Det blev tilføjet til Pentium-processoren .

Beskrivelse

Den avancerede programmerbare interruptcontroller (APIC) er designet af Intel® til at kunne håndtere et stort antal afbrydelser, så hver enkelt kan dirigeres programmæssigt til et specifikt sæt af tilgængelige CPU'er (og modificeres i overensstemmelse hermed), for at understøtte kommunikation mellem processorer og eliminere behovet for et stort antal enheder ved hjælp af en enkelt afbrydelseslinje [1] .

APIC er blevet brugt i multi-core/multi-processor-systemer siden Intel Pentium ( P54 -kerne ). Fra denne processor blev hver efterfølgende forsynet med en integreret lokal APIC.

Fordele ved Advanced Interrupt Controller:

APIC har været understøttet på Windows siden Windows NT 4.0 .

Den nuværende tendens er at bevæge sig væk fra IO APIC'er, som IRQ-ledninger, og hen imod Message Signaled Interrupts .

APIC består af to moduler: eng.  lokal APIC og engelsk.  IO APIC :

IRQ-ledningerne fra enhederne er forbundet til IO APIC. For at kommunikere lokal APIC og IO APIC, samt lokal APIC af forskellige kerner med hinanden, bruges FSB -bussen i et multiprocessorsystem, som også bruges til at forbinde processorer og en hukommelsescontroller. Brugen af ​​frontbussen til at kommunikere mellem APIC'er - separate ledere eller specielle typer transaktioner - varierede fra generation til generation af Pentium- og Core-processorer .

Behovet for en ny controller, der er i stand til at erstatte den programmerbare interrupt controller (PIC), opstod med følgende problemer:

Moderne IOAPIC'er understøtter 24 hardwareafbrydelser, selvom antallet af linjer kan være op til 256 IRQ-linjer.

Den udvidede interrupt-controller blev først brugt på dual-processor bundkort, på grund af den mere komplekse håndtering af interrupts fra forskellige enheder (det er ikke helt indlysende, hvilken processor der skal reagere på en interrupt). Så begyndte den udvidede interrupt-controller at blive brugt på single-processor-systemer - flere interrupts bliver tilgængelige for enheder (24 i stedet for 16), plus flere udvidelseskort kan dele en fælles interrupt.

Komplekse APIC-baserede afbrydelsesstyringsstrategier er mulige, hvor system-API'er er forbundet hierarkisk og leverer afbrydelser til belastningsbalancerede CPU'er i stedet for at målrette mod en bestemt CPU eller et sæt CPU'er [1] .

Se også

Litteratur

Links

Noter

  1. ↑ 1 2 3.5. Avanceret programmerbar interruptcontroller Red Hat Enterprise Linux til realtid  7 . Red Hat kundeportal . Hentet: 6. september 2022.