호스트와 디바이스는 어떻게 데이터를 전송합니까? 호스트 및 장치 연결 작업.
프로그램 쿼리 모드는 호스트와 주변 장치 간에 정보를 교환하는 가장 쉬운 방법인 직접 프로그램 제어 모드입니다. 입/출력은 전적으로 CPU 실행 프로그램에 의해 수행됩니다.
주변 장치를 선택하고 시작하면 호스트는 해당 주변 장치의 일부 상태 비트를 조회하여 준비가 되었는지 확인합니다. 주변 장치가 준비되지 않은 경우 호스트는 다시 쿼리합니다. 주변 장치가 준비되면 I/O 작업을 수행합니다.
확장 데이터
프로그램 쿼리 방식의 장점은 제어가 간단하고 CPU 와 주변 장치의 작동을 완전히 동기화할 수 있으며 하드웨어 구조가 비교적 간단하다는 것입니다. 단점은 주변 장치가 느리게 움직이고 주변 장치와 호스트가 동시에 작동할 수 없고 시스템 효율이 낮다는 것입니다. 따라서 주변 장치의 수가 적고, 입출력 처리에 대한 실시간 요구 사항이 그리 높지 않으며, CPU 의 컴퓨팅 작업은 비교적 간단하며, 그리 바쁘지 않습니다.
정보 교환 전에 CPU 는 전송 매개변수, 전송 길이 등을 설정해야 합니다. , 그런 다음 주변 장치를 작동시키고 주변 장치는 데이터 전송을 준비합니다. 주변 장치의 속도는 CPU 에 비해 상대적으로 낮기 때문에 주변 장치의 데이터 준비는 종종 긴 프로세스입니다. 이 기간 동안 CPU 는 주변 장치가 준비되었는지 확인하는 것 외에 다른 작업을 처리할 수 없고 기다릴 수밖에 없었다.
따라서 프로그램이 쿼리 루프에 들어가면 많은 CPU 시간이 낭비됩니다. CPU 가 실제 응용 프로그램에서 마스터 프로그램에서 하위 프로그램 스캔 폴링까지 정기적으로 장치 상태를 조회하는 경우에도 CPU 자원 낭비가 심하고 데이터 전송 효율성이 떨어집니다.
주변 장치가 데이터 준비를 마칠 때까지 CPU 가 정보 교환을 시작할 수 없습니다. 외부 장치는 CPU 가 자신을 조회한 후 준비되므로 다른 장치를 조회한 후 CPU 가 다시 자신을 조회한 다음 CPU 가 서비스를 제공할 때까지 기다려야 합니다. 실시간 요구 사항이 높은 주변 장치의 경우 데이터가 손실될 수 있습니다.
Baidu 백과 사전-프로그램 쿼리 모드