입출력 장치 종류가 많다. → 다양한 입출력 장치와 정보를 주고 받는 방식을 규격화하기 어렵다. CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮다 장치컨트롤러 CPU와 입출력장치 간의 통신 중개 (번역가 역할 수행) 오류 검출 데이터 버퍼링 전송률이 높은 장치와 낮은 장치 사이에 주고 받는 데이터를 버퍼라는 임시 저장공간에 저장하여 전송률을 비슷하게 맞추는 방법 장치 컨트롤러 구조 데이터 레지스터 CPU와 입출력 장치에 주고받을 데이터가 담기는 레지스터 (버퍼) RAM을 사용하기도함 상태 레지스터 상태 정보 저장 입출력장치가 입출력 작업을 할 준비가 되었는지 입출력 작업이 완료되었는지 입출력장치레 오류는 없는지 등의 상태 정보 제어 레지스터 입출력장치가 수행할 내용에 대한 제어 ..