Interprocessoravbrott - Inter-processor interrupt
En interprocessoravbrott ( IPI ) är en speciell typ av avbrott genom vilken en processor kan avbryta en annan processor i ett multiprocessorsystem om avbrottsprocessorn kräver handling från den andra processorn. Åtgärder som kan begäras inkluderar:
- spolningar av cacheminnen för minneshanteringsenheter , till exempel översättningsbuffertar , på andra processorer när minneskartläggningar ändras av en processor;
- stannar när systemet stängs av av en processor.
Mekanism
Den M65MP alternativet av OS / 360 använde direktstyrning särdrag hos S / 360 för att generera ett avbrott på en annan processor; på S / 370 och dess efterföljare, inklusive z / Architecture , ger SIGNAL PROCESSOR-instruktionen ett mer formaliserat gränssnitt. Dokumentationen för vissa IBM-operativsystem hänvisar till detta som en axelklapp.
På IBM PC-kompatibla datorer som använder Advanced Programmable Interrupt Controller (APIC) utförs IPI-signalering ofta med APIC. När en CPU vill skicka ett avbrott till en annan CPU lagrar den avbrottsvektorn och identifieraren för målets lokala APIC i Interrupt Command Register (ICR) för sin egen lokala APIC. Ett meddelande skickas sedan via APIC-bussen till målets lokala APIC, som därför ger ett motsvarande avbrott till sin egen CPU.
Exempel
I ett multiprocessorsystem som kör Microsoft Windows kan en processor avbryta en annan processor av följande skäl, utöver de som anges ovan:
- köa ett DISPATCH_LEVEL-avbrott för att schemalägga en viss tråd för körning;
- brytpunkt för kärnfelsökare.
IPI: er får en IRQL på 29.
Se även
Referenser
externa länkar
| Den här artikeln om datorhårdvara är en stub . Du kan hjälpa Wikipedia genom att utöka den . |