들어가기 앞서 해당 글은 '혼자 공부하는 컴퓨터구조 + 운영체제'를 참고로 작성되었습니다.
모든 입출력장치는 cpu와의 상호작용으로 동작한다. 이 때 그 역할을 하는 것이 입출력장치의 디바이스 컨트롤러(Device controller)다.
cpu에 데이터를 전송하기 위해 버퍼에 임시로 저장하는 것도 이 장치가 수행하며 cpu와 비슷한 내부구조를 가진다.
장치 컨트롤러에는 대표적으로 데이터 레지스터, 상태 레지스터, 제어 레지스터가 있다.
데이터 레지스터는 cpu와 입출력장치간에 주고 받을 데이터가 담기는 레지스터다. 즉, 버퍼역할을 하는 레지스터다.
상태 레지스터는 말 그대로 입출력 장치의 상태 정보를 저장하는 레지스터다. 입출력 작업을 할 수 있는 상태 인지, 요청한 작업이 완료되었는지, 입출력장치의 오류 등을 저장한다.
제어 레지스터는 입출력장치가 수행할 제어 정보와 명령 정보를 저장한다.
해당 레지스터들은 대략적으로 위 그림과 같이 동작한다.
'개발공부 > 운영체제 등' 카테고리의 다른 글
여러 입출력 방법 (프로그램 , 인터럽트 , DMA) (0) | 2023.11.20 |
---|---|
인터럽트(Interrupt) (0) | 2023.11.16 |
버퍼와 캐시 (0) | 2023.11.15 |
컴퓨터 구조와 CPU 개괄 (0) | 2023.11.15 |
운영체제를 왜 공부하는 가 (0) | 2023.11.13 |