* 혼자공부하는 컴퓨터구조 운영체제 책을 통해 공부한 내용입니다. 자세한 내용은 책을 참조바랍니다.
1. 입출력 장치와 보조기억장치는 컴퓨터 내부와 어떻게 소통하는것일까?
2. 입출력장치는 CPU, 메모리 보다 다루기가 더 까다롭다
- 입출력장치에는 종류가 너무 많다.
-> 종류가 너무 많기 때문에 장치마다 속도, 데이터 전송 형식 등이 다양하다.
- 일반적으로 CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮다.
-> 전송률(transfer rate)란 데이터를 얼마나 빨리 교환할 수 있는지를 나타낸다.
장치 컨트롤러
위와 같은 이유 입출력장치의 다양성, 전송률의 속도차이 때문에
입출력장치는 장치 컨트롤러를 통해 컴퓨터와 연결된다.
입출력 제어기(I/O controller), 입출력 모듈(I/O module)
- 모든 입출력장치는 하나 이상의 장치컨트롤러와 연결되어 있으며 장치컨트롤러에도 여러개의 입출력장치가 붙어있을 수 있다.
역할
- CPU와 입출력장치 간의 통신 중개를 한다.
- 입출력 오류 검출을 한다. -> 장치 컨트롤러에 연결된 입출력장치에 문제가 있는지 확인한다.
- 데이터 버퍼링 (*버퍼링 : 전송률이 높은 장치와 낮은 장치 사이에 주고받는 데이터를 버퍼 라는 임시 저장공간에 저장하여 전송률을 비슷하게 맞추는 방법이다.)
(전송률 높은곳 >> 버퍼(모았다가 조금씩 데이터를 내보낸다) >> 전송률 낮은곳)
(전송률 낮은곳 >> 버퍼(모았다가 한번에 내보낸다) >> 전송률 높은곳)
데이터 / 상태 / 제어 3가지 정보를 주고받는다.
1) 데이터 레지스터 : CPU와 입출력장치 사이에 주고받을 데이터가 담기는 레지스터(버퍼).
2) 상태 레지스터
- 상태정보를 저장한다.(입출력 장치 오류 / 작업의 완료여부 / 입출력 작업 가능여부)
3) 제어 레지스터 : 입출력장치가 수행할 내용에 대한 제어 정보
장치 드라이버
- 장치 컨트롤러의 동작을 감지하고 제어하는 프로그램
** 장치 컨트롤러 : 하드웨어적 통로
** 장치 드라이버 : 소프트웨어적 통로
장치 드라이버가 설치되어 있지 않다면 해당 입출력장치를 사용할 수 없다.
장치 컨트롤러가 컴퓨터 내부와 정보를 주고받을 수 있게 하는 프로그램이다.
주체는 운영체제로써 드라이버를 인식하고 실행시켜 준다.
'프로그래밍 > 컴퓨터구조 및 운영체제' 카테고리의 다른 글
운영체제를 알아야 하는 이유 (1) | 2023.11.09 |
---|---|
다양한 입출력 방법 (0) | 2023.11.08 |
RAID의 정의와 종류 (1) | 2023.11.06 |
하드디스크와 플래시 메모리 (1) | 2023.10.31 |
캐시 메모리 / 메모리 계층구조 / 참조 지역성 원리 (0) | 2023.10.25 |