→ 각 Unit에는 Queue(FIFO)가 있음
→ Full Duplex: Data를 주고 받는 것을 동시에 수행 가능
→ I/O에만 해당하는 명령어
→ CPU는 각 I/O Port와 연결돼있음
→ Dedicated Port Number를 각 I/O에 부여해 각 Number에 해당하는 명령어를
통해 I/O Communication 이뤄짐
→ Bus Decoder가 해당 접근을 I/O로 전달해줌
→ 각 I/O Device가 Data를 확인하여 처리함
Input
→ Processor가 계속 I/O Device의 Input이 있는지 확인 ( CPU Cycle 소비 )
→ Input이 있으면 Device에서 Data를 Copy함
Output
→ Processor가 Data를 Device로 Copy하고 처리가 끝날때까지 확인
Input
→ I/O Devices가 Processor에 Interrupt 발생시킴
Output
→ Processor가 Data를 Device로 Copy하고 처리가 끝날때까지 확인
Processor가 Output에 대한 처리가 끝날때까지 확인하는 것이 아닌 명령어 수행만을 하고 DMA에게 남은 처리를 맡긴다.
→ CPU가 다른 일을 할 수 있어서 전체적인 성능 ⬆️