Articulo de referencia

Interrupción entre procesadores

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 p...

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:

  • vaciados de cachés de unidades de administración de memoria , como buffers de traducción , en otros procesadores cuando las asignaciones de memoria son modificadas por un procesador;
  • Detenerse cuando el sistema está siendo apagado por un procesador.
  • Notificar a un procesador que hay trabajo de mayor prioridad disponible.
  • Notificar a un procesador sobre el trabajo que no se puede realizar en todos los procesadores debido, por ejemplo, a:
    • Acceso asimétrico a canales de E/S [1]
    • Características especiales de algunos procesadores [2]

Mecanismo

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.

Ejemplos

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]

  1. poner en cola una interrupción DISPATCH_LEVEL para programar la ejecución de un hilo en particular;
  2. Punto de interrupción del depurador del núcleo.

A los IPI se les asigna un IRQL de 29. [4]

Véase también

Referencias

  1. ^ "Apéndice F: Extensiones de multiprocesamiento" (PDF) . OS I/O Supervisor Logic - Release 21 - Program Number 360S-CI-505 (PDF) . Program Logic. IBM . p. 271. GY28-6616-9 . Consultado el 28 de agosto de 2022 .
  2. ^ "Portal de información técnica de AMD". docs.amd.com . Consultado el 18 de julio de 2024 .
  3. ^ "Uso de interrupciones entre procesadores". Desbordamiento de pila . Consultado el 18 de julio de 2024 .
  4. ^ Matt (28 de abril de 2002). "Understanding IRQL". Archivado desde el original el 14 de octubre de 2019. Consultado el 6 de diciembre de 2014 .
  • Interrupciones y excepciones


Retrieved from "https://en.wikipedia.org/w/index.php?title=Inter-processor_interrupt&oldid=1244730475"