#들어가며
이번 장에서 언급하는 입출력 장치는 보조기억장치도 포함
#CPU - 입출력장치 정보 주고받기
입출력 장치는 앞서 학습한 CPU, 메모리보다 다루기가 더 까다롭습니다.
#장치 컨트롤러
#장치 컨트롤러의 역할
장치 컨트롤러가 CPU와 입출력장치 간의 통신중개 역할을 해줌으로써 일종의 번역가 역할을 수행합니다.
오류 검출은 입출력 장치에 문제가 있지는 않은지
데이터 버퍼링은 전송률이 높은 장치와 낮은 장치 사이에 주고받는 데이터를 버퍼라는 임시 저장 공간에 저장하여 전송률을 비슷하게 맞추는 방법
#장치 컨트롤러의 구조
상태 레지스터와 제어 레지스터는 하나의 레지스터(상태/제어 레지스터)로 사용되기도 함
주고 받는 데이터로는 데이터, 상태 그리고 제어가 있습니다.
상태와 제어 레지스터는 하나에 쓰이기도 합니다.
#장치 컨트롤러의 구조
- 데이터 레지스터
- CPU와 입출력장치 사이에 주고받을 데이터가 담기는 레지스터 (버퍼)
- RAM을 사용하기도
- 상태 레지스터
- 상태 정보 저장
- 입출력 장치가 입출력 작업을 할 준비가 되었는지,
- 입출력 작업이 완료되었는지,
- 입출력장치에 오류는 없는지 등의 상태 정보
- 제어 레지스터
- 입출력장치가 수행할 내용에 대한 제어 정보
#장치 드라이버
장치 컨트롤러의 동작을 감지하고 제어하는 프로그램
장치 컨트롤러가 입출력장치를 연결하기 위한 하드웨어적인 통로라면,
장치 드라이버는 입출력장치를 연결하기 위한 소프트웨어적인 통로
#장치 컨트롤러
#장치 드라이버
컴퓨터가 연결된 장치의 드라이버를 인식하고 실행할 수 있다면 컴퓨터 내부와 정보를 주고받을 수 있음
반대로 컴퓨터가 장치 드라이버를 인식하거나 실행할 수 없다면 그 장치는 컴퓨터 내부와 정보를 주고받을 수 없음
운영체제가 연결된 장치의 드라이버를 인식하고 실행할 수 있다면 컴퓨터 내부와 정보를 주고받을 수 있음
반대로 운영체제가 장치 드라이버를 인식하거나 실행할 수 없다면 그 장치는 컴퓨터 내부와 정보를 주고 받을 수 없음