호스트와 기기가 데이터를 전송할 때 CPU에는 어떤 방법이 가장 효율적인가요?
DMA 모드 CPU를 사용하는 것이 가장 효율적입니다.
프로그램 쿼리 모드의 정보 교환 제어는 프로그램을 실행하는 호스트에 의해서만 구현됩니다. 호스트는 I/O 작업을 수행할 때 주변 장치가 준비되면 쿼리 신호를 보냅니다. , 정보 전송이 종료되었는지 여부를 판단하고, 그렇지 않은 경우 정보 전송이 완료될 때까지 쿼리 신호를 계속 전송합니다. 주변기기가 여러 개인 경우 각 주변기기의 우선순위에 따라 순서대로 진행합니다. 주변기기와 CPU는 직렬입니다.
프로그램 중단 방법은 일반적으로 주변 장치를 사용하여 현재 기본 프로그램을 중단하여 주변 장치와 상호 작용할 때와 다시 돌아가서 자체 기본 프로그램을 실행할 때를 CPU에 각각 알립니다. 각자의 작업을 병렬로 수행합니다.
DMA 주변 장치는 주 메모리와 직접 상호 작용할 수 있으며 CPU와는 거의 관련이 없습니다. 채널 모드를 사용하면 여러 주변 장치가 I/O 작업을 수행하기 전에 CPU가 채널 프로그램과 데이터 버퍼를 준비한 다음 장치와 채널에 시작 명령을 보냅니다. 프로그래밍된 채널 컨트롤러가 완료되었습니다. 정보 전송이 완료된 후 인터럽트 신호가 CPU로 반환되고 주변 장치와 CPU는 병렬이 됩니다.