CPU가 I/O 동작에 계속 관여 시 CPU 가 낭비됨
인터럽트 메커니즘을 이용하여 CPU가 다른 작업 처리할 수 있게 함
- 인터럽트-구동 I/O
인터럽트 매커니즘을 이용하여 CPU 와 I/O 장치간의 상호작용이 처리되는 방식
- 순서
CPU 가 I/O 제어기에 명령 보낸 뒤 다른 작업 수행
제어기는 I/O 명령 이용하여 제어
I/O 명령 수행 완료 시 제어기는 CPU로 인터럽트 신호 보냄
CPU는 인터럽트 신호 받는 즉시 원래의 프로그램으로 돌아와 다음 작업 진행
- I/O 장치들이 있을 때 처리 방식
CPU 는 인터러브 보낸 제어기 확인할 수 있어야 하하며 두 개 이상의 인터럽트 신호 발생 시 어느 제어기에 대한 서비스부터 처리할 것 인지 결정할 수 있어야 함
- 다중 인터럽트 방식
I/O 제어기와 CPU 사이에 별도의 인터럽트 요구 신호선과 인터럽트 확인선이 한 개씩 존재
각 I/O 장치에 우선 순위 존재함
각 장치가 별도의 인터럽트 선을 가지고 있어 CPU가 인터럽트 요구한 장치 쉽게 찾을 수 있음
각 장치에 대해 두 개씩의 신호 선들이 필요해 하드웨어 복잡해지고 접속 가능한 장치들의 수가 그 신호들을 위해 할당하는 CPU칩의 핀 수에 의해 제한됨
인터럽트 플래그를 이용하여 인터럽트 요구에 대한 응답 가능 유/무와 확인과 높은 우선 순위 인터럽트 응답 처리할 수 있음
- 데이지-체인 방식
한 개의 인터럽트 요구 선을 사용함
인터럽스 승인 선은 직렬 방식으로 연결되며 인터럽트 요구한 제어기 찾을 때 까지 흘러감
신호 선의 수가 적기 때문에 하드웨어 간단
우선순위 낮은 장치들이 서비스 받지 못 하고 매우 오래 대기해야 할 수 있음
- 인터럽트 벡터
인터럽트를 요구한 I/O 장치의 식별 변호
해당 장치를 위한 인터럽트 처리 루틴의 시작 주소를 찾는 데 사용됨
- 소프트웨어 폴링 방식
각 제어기 내의 인터럽트 요구 상태를 가리키는 인터럽트 플래그를 검사하는 한 개의 선이 CPU와 모든 제어기들 사이에 연결됨
인터럽트를 요구한 장치를 찾아내는 과정에서 마이크로프로그램을 이용함
하드웨어가 간단
검사를 위한 시간이 많이 걸림