- I/O 제어
I/O 장치들은 매우 다양하고 동작을 제어하는 방법이 서로 다르며 데이터 전송 속도가 매우 느리고 CPU가 사용하는 데이터 형식의 길이가 서로 다른 경우가 많아서 직접 시스템 버스에 접속되지 못 함
- I/O 제어기
CPU와 I/O 장치들 간의 인터페이스 역할을 수행해주는 하드웨어 모듈
- 기능
I/O 장치의 제어와 타이밍 조정
CPU와 통신 담당
I/O 장치와의 통신 담당
데이터 버퍼링 기능 수행
오류 검출
- 상태/제어 레지스터
내부적으로 두 개의 레지스터들로 구성되지만 상태 레지스터는 읽기만 하고 제어 레지스터는 쓰기만 하기 때문에 주소는 하나만 지정
상태 레지스터는 I/O 의 상태를 나타내는 레지스터
제어 레지스터는 명령을 보낼 때 사용하는 레지스터
- 데이터 레지스터
쓰거나 읽을 데이터가 저장되는 공간
- 데이터 버퍼
I/O 장치로 보내질 데이터를 일시적으로 저장해두는 반도체 기억장치
- 프로그래밍된 I/O
CPU가 반복적으로 I/O 장치의 상태를 검사하면서 I/O 동작을 처리하는 방식
별도의 하드웨어가 필요하지 않음
CPU가 전적으로 개입해야 하기 때문에 그 동안에 다른 일 하지 못 함
- I/O 주소지정
I/O 레지스터들을 통해 데이터 입/출력을 하기 위해서는 레지스터에 주소를 할당해야 함
데이터 레지스터의 주소와 상태/제어 레지스터의 주소가 할당됨
- 기억장치-사상 I/O
I/O 제어기 내의 레지스터들에게 기억장치 주소 영역의 일부분을 할당하여 기억장치와 같은 방법으로 액세스 하는 방식
기억 장치 액세스에 사용하는 명령어 그대로 사용 가능
기억 장치 주소공간이 그만큼 줄어듦
- 분리형 I/O
I/O 장치의 주소 영역을 기억장치 주소와 별도로 가지는 것
I/O 전용 명령어들을 이용하여 액세스함