본문 바로가기
CONCEPT/Computer Architecture

[컴퓨터구조] 장치 컨트롤러 / 장치 드라이버

by 1005 2025. 2. 20.

 
입출력장치는 앞서 학습한 CPU, 메모리보다 다루기가 까다롭다.
 
1) 입출력장치에는 종류가 너무나도 많다.
: 장치가 다양하면 장치마다 속도, 데이터 전송 형식 등도 다양하다. 따라서 다양한 입출력장치와 정보를 주고받는 방식을 규격화하기 어렵다.

 
2) 일반적으로 CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮다.
* 전송률(transfer rate): 데이터를 얼마나 빨리 교환할 수 있는지를 나타내는 지표

 

장치 컨트롤러의 역할
- CPU와 입출력장치 간의 통신 중개 (번역가 역할)
- 오류 검출 (장치 컨트롤러와 연결된 입출력 장치에 오류가 있는건 아닌지 확인하는 역할) 
- 데이터 버퍼링
* 버퍼링: 전송률이 높은 장치와 낮은 장치 사이에 주고 받는 데이터를 '버퍼'라는 임시 저장 공간에 저장하여 전송률을 비슷하게 맞추는 방법

상태 레지스터와 제어 레지스터는 하나의 레지스터(상태/제어 레지스터)로 사용되기도 함.

 
1) 데이터 레지스터
- CPU와 입출력장치 사이에 주고받을 데이터가 담기는 레지스터(버퍼)
- RAM으로서 사용하기도 함.
 
2) 상태 레지스터
- 상태 정보 저장
: 입출력 장치가 입출력 작업을 할 준비가 되었는지, 
  입출력 작업이 완료되었는지,
  입출력장치에 오류는 없는지 등의 상태 정보
 
3) 제어 레지스터
- 입출력장치가 수행할 내용에 대한 제어 정보


 

 
컴퓨터(운영체제)가 연결된 장치의 드라이버를 인식하고 실행할 수 있다면
컴퓨터 내부와 정보를 주고받을 수 있음.
 
반대로 장치 드라이버를 실행할 수 없다면 그 장치는 컴퓨터 내부와 정보를 주고 받을 수 없음.

댓글