1. 장치 컨트롤러와 장치 드라이버
장치 컨트롤러
입출력 장치는 앞서 학습한 CPU, 메모리보다 다루기 어려운 두가지 이유
- 입출력장치에는 종류가 너무 많다.
- 일반적으로 CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮다.
전송률이 다르기 때문에 입출력장치는 컴퓨터에 직접 연결되지 않고 장치 컨트롤러
라는 하드웨어를 통해 연결된다. 장치 컨트롤러는 입출력 제어기
, 입출력 모듈
등으로 다양하게 불린다.
장치 컨트롤러의 역할
- CPU와 입출력장치 간의 통신 중개 - 입출력 장치 종류가 많아서 중간에서 번역가 역할
- 오류 검출
- 데이터 버퍼링 - 임시 저장 공간에 저장하여 전송률을 비슷하게 맞춘다.
장치 컨트롤러의 구성요소
- 데이터 레지스터 - CPU와 입출력 장치 사이에 주고받을 데이터가 담기는 레지스터, 버퍼 역할
- 상태 레지스터 - 입출력장치의 작업 준비, 작업 완료, 작업 오류 등과 같은 상태 정보 저장
- 제어 레지스터 - 입출력 장치의 제어 정보와 명령을 저장
장치 드라이버
새로운 장치를 컴퓨터에 연결하려면 장치 드라이버를 설치해야 됨
장치 드라이버란 장치 컨트롤러의 동작을 감지하고 제어함으로써 장치 컨트롤러가 컴퓨터 내부와 정보를 주고받을 수 있게 하는 프로그램
2. 다양한 입출력 방법
CPU와 장치 컨트롤러가 정보를 주고받는 3가지 방법
- 프로그램 입출력