1. 장치 컨트롤러와 장치 드라이버

장치 컨트롤러

입출력 장치는 앞서 학습한 CPU, 메모리보다 다루기 어려운 두가지 이유

  1. 입출력장치에는 종류가 너무 많다.
  2. 일반적으로 CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮다.

전송률이 다르기 때문에 입출력장치는 컴퓨터에 직접 연결되지 않고 장치 컨트롤러라는 하드웨어를 통해 연결된다. 장치 컨트롤러는 입출력 제어기, 입출력 모듈 등으로 다양하게 불린다.

장치 컨트롤러의 역할

  1. CPU와 입출력장치 간의 통신 중개 - 입출력 장치 종류가 많아서 중간에서 번역가 역할
  2. 오류 검출
  3. 데이터 버퍼링 - 임시 저장 공간에 저장하여 전송률을 비슷하게 맞춘다.

장치 컨트롤러의 구성요소

  1. 데이터 레지스터 - CPU와 입출력 장치 사이에 주고받을 데이터가 담기는 레지스터, 버퍼 역할
  2. 상태 레지스터 - 입출력장치의 작업 준비, 작업 완료, 작업 오류 등과 같은 상태 정보 저장
  3. 제어 레지스터 - 입출력 장치의 제어 정보와 명령을 저장

장치 드라이버

새로운 장치를 컴퓨터에 연결하려면 장치 드라이버를 설치해야 됨

장치 드라이버란 장치 컨트롤러의 동작을 감지하고 제어함으로써 장치 컨트롤러가 컴퓨터 내부와 정보를 주고받을 수 있게 하는 프로그램

2. 다양한 입출력 방법

CPU와 장치 컨트롤러가 정보를 주고받는 3가지 방법

  1. 프로그램 입출력