출처 : geeksforgeeks.org
데이터 버스 버퍼는 CPU와 데이터를 주고받기 위해 양방향 데이터 버스를 사용합니다.
인터페이스 유닛과 CPU간의 모든 명령어와 상태 정보는 이 버스를 통해 이동합니다.
포트는 입출력 장치와 인터페이스 장치간의 데이터를 양방향으로 전송합니다.
각 포트는 input과 output 버퍼가 양방향으로 구성되어 있습니다.
CPU는 제어 정보를 기반으로 제어 레지스터에 제어 정보를 제공합니다.(?)
제어 레지스터의 정보를 바탕으로 인터페이스 장치는 CPU와 입출력 장치간의 입출력 동작을 제어합니다.
상태 레지스터는 데이터 전송 중 발생할 수 있는 오류나 포트, 데이터 레지스터의 상태를 저장합니다.
CPU로부터 온 모든 명령들이 이 블록을 지나갑니다. 또한 이 블록을 통해 인터페이스 장치의 상태를 데이터 버스로 전송할 수 있습니다.
읽기와 쓰기 동작들은 입출력 장치로부터 인터페이스 장치로 데이터를 직접 전송합니다.