개인공부/컴퓨터 구조와 운영체제

[컴퓨터구조와 운영체제] 장치컨트롤러와 드라이버

개바리여리 2025. 1. 6. 00:39

 

입출력장치는 종류가 매우 많다. 이러한 많은 종류가 있어서 장치마다 데이터 전송 형식과 속도 등이 다르다.

그렇기 때문에 규격화하기 까다롭다.

 

또한 CPU와 메모리의 데이터 전송률과 입출력장치의 전송률이 차이가 많이 난다 (입출력장치가 현저히 느림)

그렇기에 병목현상이 발생할 수 있다.

 

이러한 원인을 때문에 나타난 하드웨어가 장치 컨트롤러이다.

이 장치 컨트롤러에 의해 컴퓨터 내부와 정보를 주고 받을 수 있다.

 

장치 컨트롤러의 역할

  • CPU와 입출력장치의 중계
  • 오류 검출
  • 데이터 버퍼링 : 전송률이 높은 장치와 낮은 장치 사이에서 버퍼라는 임시 저장 공간을 통하여 전송률을 비슷하게 맞춘다.

 

장치 컨트롤러의 구조

 

장치컨트롤러는 입출력 버스에 연결되어 정보를 주고받는다. 

 

* 데이터 레지스터 : 

  • CPU와 입출력장치 사이에 주고받는 데이터가 담긴다. (버퍼 역할)
  • RAM을 사용하기도 한다.

* 상태 레지스터 : 

  • 상태에 대한 정보를 저장한다. (입출력 작업 완료 여부, 준비완료 여부, 오류 검출상태 등)

*  제어 레지스터 :

  • 입출력장치가 수행할 내용에 대한 제어 정보

 

 

장치 드라이버

장치 컨트롤러를 동작시키고 제어하는 소프트웨어 프로그램

메모리의 장치 드라이버 프로그램을 통하여 어떻게 동작시키는지 장치컨트롤러에게 알려주게 된다.

 

만약 장치드라이버가 없거나 인식할 수 없다면 컴퓨터 내부와 정보를 주고 받을 수 없다.

 

출처 : https://www.youtube.com/watchv=1Pp6PJ1kSqI&list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl&index=22