교재 설명에서 인터럽트에 의한 입출력 방식은 입출력 인터럽트가 발생하면 수행중인 프로그램을 중단하고 입출력을 처리 후에 원래 작업으로 복귀하는 것으로 나와있는데요
19번 문제 설명에서 보면 cpu가 수행하던 작업을 중단하고 입출력을 하는동안 다른 프로그램을 실행하고, 입출력은 인터페이스에서 처리한다고 나와있습니다.
여기서 입출력 동작개시후에 자료전달동안에는 cpu가 다른 프로그램을 할당하여 실행할 수 없다고 생각되는데요
보기 3번에서 입출력 개시후에 다른일을 할수있다 라는 문구가 적절한지 알고 싶습니다.
그리고 인터럽트에 의한 입출력 방식도
CPU가 입출력 동작 동안 간섭하지 않고 다른 프로그램을 할당하여 실행하는 DMA와 비슷한 특징을 갖고 있는 건가요?
이부분에 대해서 DMA와 인터럽트 방식의 차이를 자세히 설명 부탁드립니다.
안녕하세요.
Programmed I/O는 대부분의 I/O를 CPU가 주관하는데 비해
Interrupt I/O는 입출력 인터페이스가 DMA I/O 는 DMA가 인터럽트를 감시하고 있다 입출력이 있을 때 CPU에게 알려 처리하게 됩니다.
그러므로 CPU는 다른 작업을 병행하면서 인터럽트 발생 시에만 관여하면 되는 것이죠.
CPU의 관여 정도는
Interrupt I/O는 CPU가 I/O 동작 개시와 I/O 자료 전달만 담당하고 I/O 장치와 MDR 사이의 I/O,는 I/O 인터페이스가 담당합니다.
DMA I/O는 인터럽트 발생 시 CPU가 I/O에 필요한 정보를 DMA 제어기에게 알려 I/O 동작 개시 후부터 DMA 제어기가 담당을 하므로 인터럽트 발생 시 CPU의 관여도가 인터럽트 I/O에 비해 낮습니다.
오늘도 즐거운 하루 되세요.
-
*2017-02-02 09:40:15
안녕하세요.
Programmed I/O는 대부분의 I/O를 CPU가 주관하는데 비해
Interrupt I/O는 입출력 인터페이스가 DMA I/O 는 DMA가 인터럽트를 감시하고 있다 입출력이 있을 때 CPU에게 알려 처리하게 됩니다.
그러므로 CPU는 다른 작업을 병행하면서 인터럽트 발생 시에만 관여하면 되는 것이죠.
CPU의 관여 정도는
Interrupt I/O는 CPU가 I/O 동작 개시와 I/O 자료 전달만 담당하고 I/O 장치와 MDR 사이의 I/O,는 I/O 인터페이스가 담당합니다.
DMA I/O는 인터럽트 발생 시 CPU가 I/O에 필요한 정보를 DMA 제어기에게 알려 I/O 동작 개시 후부터 DMA 제어기가 담당을 하므로 인터럽트 발생 시 CPU의 관여도가 인터럽트 I/O에 비해 낮습니다.
오늘도 즐거운 하루 되세요.