프로그램 입출력

프로그램 입출력(Programmed Input/Output, 줄여서 PIO)은 네트워크 어댑터나 ATA 기억 장치와 같은 주변 기기와 중앙 처리 장치 사이에서 데이터를 주고받는 방식이다. 이 PIO의 단점을 극복하기 위해 인터럽트, DMA등이 고안되었다.

 ATA 표준에서의 PIO 모드 
두 개의 추가적인 고급 타이밍 모드는 콤팩트플래시 규격 2.0에 정의되어 있으며 PIO 모드 5, 6을 제공한다.
+PIO 모드모드  최대 전송 속도 (MB/초)  최소 순환 시간  규격 정의 표준 모드 0 3.3 600 ns ATA-1 모드 1 5.2 383 ns ATA-1 모드 2 8.3 240 ns ATA-1 모드 3 11.1 180 ns ATA-2 모드 4 16.7 120 ns ATA-2 모드 5 20 100 ns 콤팩트플래시 2.0 모드 6 25 80 ns 콤팩트플래시 2.0

 장치 호환 
모든 장치가 PIO 타이밍과 호환하는 것은 아니다. 이를테면 제네시스 로직사의 GL819 칩을 사용하는 샌디스크 SDDR-89 12-in-1 카드 리더 장치를 예로 들 수 있다. 이 칩은 대부분의 PIO 모드와 조금 다르다.

PIO 모드  1  2  3  4  6 GL819 타이밍 399 ns 249 ns 183 ns 133 ns 83 ns ATA 및 CF 규격 타이밍 383 ns 240 ns 180 ns 120 ns 80 ns
 PIO 모드 5 
PIO 모드 5''Proposed 22 MByte/Sec ATA Timing Extension For ATA-3, January 1995, ATA-3 Extension Proposal는 초당 22 MB의 동작 속도로 제안되었으나 하드 디스크에 구현된 적은 없었는데 그 이유는 해당 시간의 CPU가 제안된 PIO 5 타이밍으로 하드 디스크를 대기하느라 제 기능을 하지 못할 수 없고,
DMA 표준이 궁극적으로 이를 제거했기 때문이다. 이 모드를 지원하는 하드 드라이브가 제조된 적이 없지만, 일부 메인보드 제조업체들은 바이오스를 통해 예비 지원하고 있다. PIO 모드 5는 CF-to-IDE 어댑터를 통해 IDE에 콤팩트플래시 카드를 장착하여 사용할 수 있다.

 같이 보기 
 DMA
 입출력
 인터럽트

 각주 

분류:입출력