장치 컨트롤러와 장치 드라이버의 역할
장치 컨트롤러와 장치 드라이버는
컴퓨터 내부와 다양한 외부 장치를
이어주는 역할을 한다.
이러한 역할을 하기 위해
장치 컨트롤러와 장치 드라이버가
등장하게 된 배경은 다음과 같다.
"입출력 장치의 종류가 너무 많다."
키보드, 모니터, USB, 마우스 등등..
종류가 너무 많아 규격화하기 어렵다.
"데이터 전송률의 차이가 있다."
CPU와 메모리, 입출력 장치 간의
데이터 전송률이 비슷하지 않기 때문에
작업을 처리하는 데에 어려움이 있다.
이러한 어려움들을 해결하기 위해
하드웨어적 해결방법으로 장치 컨트롤러가,
소프트웨어적 해결방법으로 장치 드라이버가
등장하게 되었다.
장치 컨트롤러의 역할
장치 컨트롤러(Device controller)의 역할엔
CPU와 입출력장치 간의 통신 중개와
위 과정에서 발생한 오류 검출,
마지막으로 데이터 버퍼링이 있다.
데이터 버퍼링이란 전송률이 높은 장치와
낮은 장치 사이에 주고 받는 데이터를
버퍼(Buffer)라는 임시 저장 공간에 저장하여
전송률을 비슷하게 맞추는 방법이다.
장치 컨트롤러의 구조
장치 컨트롤러는 크게
데이터 레지스터(Data regiser),
상태 레지스터(State register),
제어 레지스터(Control register)로
이루어져있다.
데이터 레지스터는
CPU와 입출력장치 간 주고 받을
데이터가 담기는 레지스터다.
상태 레지스터는 입출력장치가
입출력을 할 준비가 되었는지,
작업이 완료되었는지,
오류는 없었는지등에 대한
상태 정보를 저장한다.
제어 레지스터는 입출력장치가
수행할 내용에 대한 제어 정보와
명령을 저장한다.
장치 드라이버의 역할
장치 드라이버는 장치 컨트롤러의 동작을
감지하고 제어함으로 장치 컨트롤러가
컴퓨터 내부와 연결될 수 있게 한다.
'개인 학습 > 컴퓨터 구조' 카테고리의 다른 글
25 - 다양한 입출력 방법 (0) | 2023.02.03 |
---|---|
23 - RAID (1) | 2023.02.02 |
22 - 플래시 메모리 (0) | 2023.02.02 |
21 - 하드 디스크 (0) | 2023.02.02 |
20 - 캐시 메모리 (0) | 2023.01.30 |