본문 바로가기

전공/컴퓨터 구조

장치 컨트롤러와 장치 드라이버, 프로그램 입출력

728x90
반응형

장치 컨트롤러의 역활

  • CPU와 입출력장치 간의 통신중개
  • 오류 검출
  • 데이터 버퍼링

데이터 레지스터

  • CPU와 입출력장치 사이에 주고받을 데이터가 담기는 레지스터 (버퍼)
  • RAM을 사용하기도 함

상태 레지스터

  • 상태 정보 저장
    • 입출력자치가 입출력 작업을 할 준비가 되었는지
    • 입출력 작업이 완료되었는지
    • 입출력장치에 오류는 없는지 등의 상태 정보

제어 레지스터

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

 

장치 드라이버: 장치 컨트롤러의 동작을 감지하고 제어하는 프로그램


프로그램 입출력: 입출력 명령어로써 컨트롤러와 상호작용

  • 메모리에 저장된 정보를 하드 디스크에 백업
    1. CPU는 하드 디스크 컨트롤러의 제어 레지스터에 쓰기 명령을 보냄
    2. 하드 디스크 컨트롤러는 하드 디스크 상태 확인 => 상태 레지스터에 준비 완료 표시
    3. 메모리에 저장된 정보를 하드 디스크에 백업
      1. CPU는 상태 레지스터를 주기적으로 읽어보며 하드 디스크의 준비 여부를 확인
      2. 하드 디스크가 준비되었다면 백업할 메모리의 정보를 데이터 레지스터에 쓰기

CPU가 입출력장치의 주소(레지스터)을 어떻게 알까?

  • 메모리 맵 입출력: 메모리에 접근하기 위한 주소 공간과 입출력장치에 접근하기 위한 주소 공간을 하나의 주소 공간으로 간주하는 방법
  • 고립형 입출력: 메모리를 위한 주소 공간과 입출력 장치를 위한 주소 공간을 분리하는 방법
메모리 맵 입출력 고립형 입출력
메모리와 입출력장치는 같은 주소 공간 사용 메모리와 입출력장치는 분리된 주소 공간 사용
메모리 주소 공간이 축소됨 메모리 주소 공간이 축소되지 않음
메모리와 입출력장치에 같은 명령어 사용 가능 입출력 전용 명령어 사용

 

728x90
반응형