En informática , una interrupción entre procesadores ( IPI ), también conocida como interrupción de hombro , es un tipo especial de interrupción mediante la cual un procesador puede interrumpir a otro procesador en un sistema multiprocesador si el procesador que interrumpe requiere una acción del otro procesador. Las acciones que se pueden solicitar incluyen:
La opción M65MP de OS/360 utilizaba la función de control directo de S/360 para generar una interrupción en otro procesador; en S/370 y sus sucesores, incluido z/Architecture , la instrucción SIGNAL PROCESSOR proporciona una interfaz más formalizada. La documentación de algunos sistemas operativos de IBM se refiere a esto como un toque de hombro.
En las computadoras compatibles con IBM PC que utilizan el Controlador de interrupciones programable avanzado (APIC), la señalización IPI se realiza a menudo utilizando el APIC. Cuando una CPU desea enviar una interrupción a otra CPU, almacena el vector de interrupción y el identificador del APIC local del destino en el Registro de comandos de interrupción (ICR) de su propio APIC local. Luego, se envía un mensaje a través del bus APIC al APIC local del destino, que luego emite una interrupción correspondiente a su propia CPU.
En un sistema multiprocesador que ejecuta Microsoft Windows , un procesador puede interrumpir a otro procesador por las siguientes razones, además de las enumeradas anteriormente: [3]
A los IPI se les asigna un IRQL de 29. [4]