CS/컴퓨터구조

[컴퓨터구조] 입출력장치

연듀 2022. 12. 11. 11:11

입출력장치

 

 

입출력장치는 장치 컨트롤러를 통해 컴퓨터 내부와 정보를 주고 받음

 

장치 컨트롤러

  • CPU와 입출력장치 간의 통신 중개
  • 오류 검출
  • 데이터 버퍼링(전송률이 높은 장치와 낮은 장치에 주고받는 데이터를 버퍼에 저장해 전송률을 비슷하게 맞춤)
  • 데이터 레지스터, 상태 레지스터, 제어 레지스터로 구성

 

장치 드라이버

장치 컨트롤러가 컴퓨터 내부와 정보를 주고받을 수 있게 하는 프로그램

 

 

 

입출력 방법

 

  • 프로그램 입출력 방식
    • 프로그램 속 명령어로 입출력장치를 제어
    • 메모리 맵 입출력: 메모리에 접근하는 명령어와 입출력 장치에 접근하는 명령어가 동일
    • 고립형 입출력: 메모리에 접근하는 명령어와 다른 입출력 명령어를 사용
  • 인터럽트 기반 입출력
    • 장치 컨트롤러가 입출력 작업을 끝낸 뒤 CPU에게 인터럽트 요청 신호를 보내면 CPU는 하던일을 백업하고 인터럽트 서비스 루틴을 실행
    • PIC(Programmable Interrupt Controller)로 우선순위를 반영해 다중 인터럽트 처리
  • DMA 입출력
    • CPU를 거치지 않고 메모리와 입출력장치 간의 데이터를 주고받는 입출력 방식
    • CPU는 DMA 컨트롤러에게 입출력 작업 명령을 내리고 인터럽트만 받음
    • 입출력 버스 사용