장치 컨트롤러와 장치 드라이버
장치 컨트롤러
CPU, 메모리보다 다루기가 더까다로움
- 입출력장치에는 종류가 너무 많음
- 키보드, 모니터, USB 메모리, SSD, 마우스 등 많음
- 장치마다 속도, 데이터 전송 형식 등도 다양하기 때문에 입출력장치와 정보를 주고받는 방식을 규격화하기 어려움
- 입출력장치의 데이터 전송률은 낮음
- 전송률: 데이터를 얼마나 빨리 교환할 수 있는지를 나타내는 지표
- CPU나 메모리와 전송률이 비슷하지 않기 때문에 통신이 어려움
모든 입출력장치는 각자의 장치 컨트롤러를 통해 컴퓨터 내부와 정보를 주고받고, 장치 컨트롤러는 하나의 이상의 입출력장치와 연결되어 있음
장치 컨트롤러의 역할
- CPU와 입출력장치 간의 통신 중개
- 오류 검출
- 데이터 버퍼링
- 버퍼링: 전송률이 높은 장치와 낮은 장치 사이에 주고받는 데이터를 버퍼라는 임시 저장 공간에 저장하여 전송률을 비슷하게 맞추는 방법
장치 컨트롤러 내부
- 데이터 레지스터: CPU와 입출력장치 사이에 주고받을 데이터가 담기는 레지스터
- 버퍼 역할 (전송률 차이 완화), RAM을 사용하기도 함
- 상태 레지스터: 입출력장치가 입출력 작업을 할 준비가 되었는지, 입출력 작업이 완료되었는지, 입출력장치에 오류는 없는지 등의 상태 정보가 저장
- 제어 레지스터: 입출력장치가 수행할 내용에 대한 제어 정보와 명령을 저장
장치 드라이버
컨트롤러의 동작을 감지하고 제어함으로써 장치 컨트롤러가 컴퓨터 내부와 정보를 주고받을 수 있게 하는 프로그램
실행 과정에서 메모리에 저장됨
장치 컨트롤러가 입출력장치를 연결하기 위한 하드웨어적인 통로라면, 장치 드라이버는 입출력장치를 연결하기 위한 소프트웨어적인 통로
'북 스터디 > 혼자 공부하는 컴퓨터구조 + 운영체제' 카테고리의 다른 글
운영체제를 알아야 하는 이유 (0) | 2023.11.07 |
---|---|
다양한 입출력 방법 (2) | 2023.11.06 |
RAID의 정의와 종류 (0) | 2023.10.30 |
다양한 보조기억장치 (0) | 2023.10.29 |
캐시 메모리 (0) | 2023.10.27 |