프로세서 간 인터럽트

Inter-processor interrupt

프로세서 간 인터럽트(IPI)는 인터럽트 프로세서가 다른 프로세서의 작업을 요구하는 경우 한 프로세서가 멀티프로세서 시스템의 다른 프로세서를 인터럽트할 수 있는 특별한 유형의 인터럽트다.요청될 수 있는 조치에는 다음이 포함된다.

메커니즘

OS/360M65MP 옵션은 다른 프로세서에 대한 인터럽트를 생성하기 위해 S/360의 직접 제어 기능을 사용했으며, S/370z/Architecture를 포함한 후계자에서는 SIGN PROGROUPER 지침이 보다 정형화된 인터페이스를 제공한다.일부 IBM 운영 체제에 대한 설명서는 이를 숄더 탭이라고 한다.

APIC(Advanced Programmable Interrupt Controller)를 사용하는 IBM PC 호환 컴퓨터에서는 IPI 신호 전달이 APIC를 사용하여 수행되는 경우가 많다.CPU가 다른 CPU에 인터럽트를 보내고자 할 때 인터럽트 벡터와 대상의 로컬 APIC의 식별자를 자체 로컬 APIC의 인터럽트 명령 레지스터(ICR)에 저장한다.그런 다음 APIC 버스를 통해 대상의 로컬 APIC로 메시지가 전송되며, 따라서 대상의 CPU에 해당하는 인터럽트를 발생시킨다.

마이크로소프트 윈도우즈를 실행하는 멀티프로세서 시스템에서 프로세서는 위에 나열된 프로세서에 추가하여 다음과 같은 이유로 다른 프로세서를 중단할 수 있다.

  1. 특정 스레드의 실행을 예약하기 위해 DISPATION_LEVEL 인터럽트를 대기열에 넣으십시오.
  2. 커널 디버거 중단점.

IPI에는 IRQL 29가 주어진다.[1]

참고 항목

참조

  1. ^ Matt (2002-04-28). "Understanding IRQL". Retrieved 2014-12-06.

외부 링크