Przerwanie międzyprocesorowe

W informatyce przerwanie międzyprocesorowe ( IPI ), znane również jako przerwanie barkowe , jest specjalnym rodzajem przerwania , za pomocą którego jeden procesor może przerwać inny procesor w systemie wieloprocesorowym , jeśli przerywający procesor wymaga działania ze strony drugiego procesora. Działania, które mogą być wymagane, obejmują:

  • opróżnianie pamięci podręcznych jednostek zarządzania pamięcią , takich jak bufory translacji na innych procesorach, gdy mapowania pamięci są zmieniane przez jeden procesor;
  • zatrzymanie, gdy system jest zamykany przez jeden procesor.
  • Powiadom procesora, że ​​dostępna jest praca o wyższym priorytecie.
  • Powiadom podmiot przetwarzający o pracy, której nie można wykonać na wszystkich procesorach z powodu np.
    • asymetryczny dostęp do kanałów I/O
    • specjalne funkcje niektórych procesorów

Mechanizm

Opcja M65MP systemu OS/360 wykorzystywała funkcję Direct Control systemu S/360 do generowania przerwania na innym procesorze; na S/370 i jego następcach, w tym z/Architecture , instrukcja SIGNAL PROCESSOR zapewnia bardziej sformalizowany interfejs. Dokumentacja niektórych systemów operacyjnych IBM określa to jako stuknięcie ramieniem.

Na komputerach zgodnych z IBM PC , które używają Advanced Programmable Interrupt Controller (APIC), sygnalizacja IPI jest często wykonywana przy użyciu APIC. Kiedy procesor chce wysłać przerwanie do innego procesora, przechowuje wektor przerwania i identyfikator lokalnego APIC celu w rejestrze poleceń przerwań (ICR) własnego lokalnego APIC. Następnie przez magistralę APIC wysyłany jest komunikat do lokalnego APIC celu, który w związku z tym wysyła odpowiednie przerwanie do własnego procesora.

Przykłady

W systemie wieloprocesorowym z systemem Microsoft Windows procesor może przerywać działanie innego procesora z następujących powodów, oprócz wymienionych powyżej:

  1. ustaw w kolejce przerwanie DISPATCH_LEVEL, aby zaplanować wykonanie określonego wątku;
  2. punkt przerwania debugera jądra.

IPI otrzymują IRQL 29.

Zobacz też

Linki zewnętrzne