-
[Computer Science] 입출력 장치 : 장치 컨트롤러와 장치 드라이버Computer Science 2024. 5. 17. 10:04
입출력 장치를 컨트롤하는 장치 컨트롤러와 장치 드라이버에 대해 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제'
< CPU - 입출력장치 간 정보 교환 >
입출력 장치는 CPU나 메모리보다 다루기가 까다롭습니다.
이를 해결하기 위해 장치 컨트롤러와 장치 드라이버를 사용합니다.[ 첫째, 입출력장치에는 종류가 너무나도 많습니다 ]
: 장치가 다양하면 장치마다 속도, 데이터 전송 형식 등도 다양하기 때문에 정보를 주고받는 방식을 규격화하기 어렵습니다.
규격화의 어려움 [ 둘째, CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮다 ]
전송률 차이 보조기억장치와 입출력장치는 딱 잘라서 구분되지는 않습니다. 보조기억장치는 메모리를 보조하는 입출력장치의 한 종류로 볼 수 있습니다.
< 장치 컨트롤러 >
입출력장치는 장치 컨트롤러를 통해 컴퓨터 내부와 정보를 주고받습니다.
입출력장치를 연결하기 위한 하드웨어적인 통로입니다.
입출력 장치는 하나 이상의 장치 컨트롤러와 연결되어 있고, 장치 컨트롤 하나에도 여러개의 입출력 장치가 연결되어 있을 수 있습니다.HDD의 장치 컨트롤러
< 장치 컨트롤러의 역할 >
- CPU와 입출력장치 간의 통신중개
: 일종의 번역가 역할 - 오류 검출
: 입출력장치에 어떤 문제가 있지는 않은지 오류를 검출 역할 - 데이터 버퍼링
: 전송률이 높은 장치와 낮은 장치 사이에 주고받는 데이터를 버퍼라는 임시 저장 공간에 저장하여 전송률을 비슷하게 맞추는 방법
데이터 버퍼링
< 장치 컨트롤러의 구조 >
장치 컨트롤러의 구조 [ 데이터 레지스터 ]
- CPU와 입출력장치 사이에 주고받을 데이터가 담기는 레지스터(버퍼)
- 주고 받을 데이터가 많을 시 RAM을 사용하기도 합니다.
[ 상태 레지스터 ]
- 입출력장치가 입출력 작업을 할 준비가 되었는지,
- 입출력 작업이 완료되었는지,
- 입출력장치에 오류는 없는지 등의 상태 정보
[ 제어 레지스터 ]
- 입출력장치가 수행할 내용에 대한 제어 정보
상태 레지스터와 제어 레지스터는 하나의 레지스터(상태/제어)로 사용되기도 합니다.
< 장치 드라이버 >
장치 컨트롤러의 동작을 감지하고 제어하는 프로그램
입출력장치를 연결하기 위한 소프트웨어적인 통로장치 드라이버 +. 장치 드라이버가 설치되어 있다면 해당 입출력장치를 사용할 수 없습니다.
'Computer Science' 카테고리의 다른 글
[Computer Science] 입출력 장치 : 다양한 입출력방법 (0) 2024.05.17 [Computer Science] 보조기억장치 : RAID의 정의와 종류 (0) 2024.05.16 [Computer Science] 보조기억장치 : 다양한 보조기억장치 (0) 2024.05.16 [Computer Science] 메모리 : 캐시 메모리 (0) 2024.05.15 [Computer Science] 메모리 : 메모리의 주소 공간 (0) 2024.05.15 - CPU와 입출력장치 간의 통신중개