2014-11-13 9 views

답변

1

모든 장치가 요청을 활성화 할 수 있도록 여러 장치를 단일 인터럽트 요청 줄에 연결하는 가장 기본적인 방법은 open collector을 사용하는 것입니다.
요청이 승인되면 확인 신호는 daisy chain을 사용하여 장치에서 장치로 전달 될 수 있습니다.

+0

감사합니다. 인터럽트가 생성 된 후 isr (인터럽트 서비스 루틴)이 실행될 때까지 그 irq 라인에서 인터럽트가 비활성화 될 때, irq 라인을 공유하는 다른 디바이스가이 시간 동안 인터럽트를 생성하면 인터럽트 컨트롤러 또는 그들은 무시되거나 여러 장치의 인터럽트가 같은 irq 라인에서 관리되는 방법 – valmiki

+0

이 문제를 처리하는 한 가지 방법은 다음과 같습니다. CPU가 특정 우선 순위의 인터럽트를 수락하면 자체 우선 순위를이 우선 순위로 올려 모든 이것보다 우선 순위가 낮은 인터럽트. 따라서 이러한 우선 순위의 인터럽트를 요청하는 장치는 CPU가 인터럽트 처리기를 종료하고 다시 우선 순위를 낮출 때까지 요청을 계속 진행합니다. 이 순간에 활성 인터럽트 요청이 부여됩니다. –

+0

그런 다음 APIC 같은 컨트롤러는 현재 인터럽트가 처리 될 때까지 해당 irq 라인에서 다른 인터럽트를 허용하지 않으며 특정 장치가 인터럽트를 생성 할 때까지 여러 개의 장치가 동일한 irq 라인에 대해 CPU 관심을 얻기 위해 경쟁하고 있습니다. 그런 다음이 경쟁을 관리 할 장치가 있습니까? – valmiki