인터럽트 우선 순위는 시스템이 신속하게 응답하고 발생하는 모든 인터럽트를 처리할 수 있도록 인터럽트 소스를 여러 수준으로 나누는 하드웨어이며, 시스템은 인터럽트 이벤트의 중요성과 긴급성을 기반으로 인터럽트 소스를 여러 수준으로 나눕니다. ., 인터럽트 우선순위라고 하는 마이크로컴퓨터 시스템에는 여러 개의 인터럽트 소스가 있으며 두 개 이상의 인터럽트 소스가 동시에 인터럽트 요청을 발행할 수 있습니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, DELL G3 컴퓨터.
하드웨어는 인터럽트 소스를 여러 레벨로 나눕니다.
시스템이 적시에 응답하고 발생하는 모든 인터럽트를 처리할 수 있도록 시스템은 인터럽트의 중요성과 긴급성을 결정합니다. 인터럽트 이벤트는 인터럽트 이벤트의 중요성과 긴급성에 따라 결정됩니다. 인터럽트 소스는 인터럽트 우선순위 레벨이라고 불리는 여러 레벨로 구분됩니다.
실제 시스템에서는 여러 인터럽트 소스가 동시에 인터럽트를 요청하는 경우가 종종 있습니다. 이때 CPU는 먼저 어떤 인터럽트 소스를 서비스할지와 순서를 결정해야 합니다. 해결책은 인터럽트 우선순위 큐잉, 즉 인터럽트 소스 요청의 우선순위에 따라 인터럽트 처리의 우선순위, 즉 우선순위(Priority), 우선순위라고도 하는 우선순위를 정렬하고 가장 높은 수준으로 인터럽트 요청에 응답하는 것입니다. 우선순위. 또한, CPU가 인터럽트를 처리할 때 더 높은 우선순위의 다른 인터럽트 요청에 응답할 수 있어야 하고, 동일 수준 또는 더 낮은 수준의 인터럽트 요청을 차단하여 인터럽트 중첩을 형성할 수 있어야 합니다.
간단한 소개
마이크로컴퓨터 시스템에는 여러 개의 인터럽트 소스가 있으며, 두 개 이상의 인터럽트 소스가 동시에 인터럽트 요청을 발행하는 것이 가능합니다. 여러 인터럽트 소스가 동시에 인터럽트를 요청하는 경우 CPU는 먼저 어떤 인터럽트 소스를 제공할지 결정하고 우선순위가 가장 높은 인터럽트 소스를 식별하고 응답할 수 있어야 합니다. 인터럽트를 처리할 때 CPU는 더 높은 수준의 인터럽트 요청과 동일한 수준 또는 더 낮은 수준의 인터럽트 요청에도 응답할 수 있어야 합니다. 이것이 바로 인터럽트 우선순위의 문제입니다.
인터럽트 시스템에서 CPU는 일반적으로 우선순위에 따라 각 인터럽트 요청을 별도로 처리합니다. 즉, 각 인터럽트 소스에 대한 인터럽트 우선순위 수준을 결정하고 시스템은 우선순위가 높은 인터럽트 요청이 처리되도록 자동으로 대기열에 넣습니다. 우선 순위가 높은 인터럽트가 먼저 처리됩니다. 높은 수준의 인터럽트 요청이 처리된 후 낮은 수준의 인터럽트 요청이 응답됩니다. 다중 인터럽트 소스를 식별하고 우선순위를 지정하는 목적은 CPU가 제어권을 인터럽트 서비스 프로그램으로 넘길 수 있도록 가장 높은 수준의 인터럽트 소스를 결정하고 인터럽트 소스의 인터럽트 서비스 프로그램 항목 주소를 형성하는 것입니다.
일반적으로 다음 두 가지 의미를 나타냅니다.
두 개 이상의 인터럽트 소스가 동시에 인터럽트 요청을 하는 경우 마이크로프로세서가 먼저 응답하는 인터럽트 소스와 나중에 응답하는 인터럽트 소스입니다. 하나의 인터럽트 소스가 인터럽트 요청을 발생시키고 마이크로프로세서가 응답하여 인터럽트 서비스 루틴을 실행하는 경우, 다른 인터럽트 소스가 인터럽트 요청을 발생시킬 수 있습니까?
우선순위가 다른 인터럽트에 응답하는 원칙은 다음과 같습니다.
CPU는 우선순위가 높은 인터럽트 요청에 먼저 응답합니다.
우선순위가 동일하면 CPU가 먼저 응답합니다. 쿼리 순서 인터럽트
진행 중인 인터럽트 프로세스는 동일한 수준 또는 낮은 우선순위의 새로운 인터럽트 요청에 의해 중단될 수 없습니다.
진행 중인 낮은 우선순위 인터럽트 프로세스는 높은 우선순위 인터럽트 요청에 의해 중단될 수 있습니다. .
CPU 인터럽트 대응 과정은 다음과 같습니다.
FAQ 칼럼을 참고해주세요!
위 내용은 인터럽트 우선순위는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!