본문 바로가기
Computer Science/Computer Architecture

[컴퓨터 구조] 입출력 관리

by ggyongi 2024. 6. 11.
반응형

입출력 장치란?

- CPU와 사용자 사이의 정보를 교환하는 장치

- 종류가 매우 다양하며 전송되는 데이터 길이, 전송 속도, 전송 데이터의 형식이 다르다. 따라서 이를 제어할 수 있는 장치가 필요한데 이를 입출력 모듈이라고 부른다

 

 

입출력 모듈

입출력 장치(주변 장치라고도 부름)는 컴퓨터 내부의 cpu와 주기억장치(ram)보다 속도가 매우 느려서 직접 통신이 불가능하다. 입출력 모듈은 중간에서 이를 중재하는 역할을 한다

 

입출력 모듈의 기능

  1. cpu, 주기억장치, 시스템 버스 등 컴퓨터 내부 장치는 외부 장치로 부터 데이터입출력을 포함한 수많은 시스템 요구를 수신하는데 입출력 모듈은 이 사이에서 데이터 흐름을 조정함
  2. cpu로부터 받은 명령을 해석하고, cpu와 데이터를 교환하고, cpu에게 상태 보고를 하는 등 cpu와 통신한다
  3. 주기억 장치나 cpu의 데이터 전송 속도가 매우 빠르기 때문에 이 속도 차이를 조절하기 위해 버퍼를 사용해서 일시적으로 데이터를 저장하고 적절히 주변 장치로 전송

 

입출력 제어 기법

입출력 장치가 컴퓨터 내부 장치와 원활히 통신하기 위해 통신을 제어하는 방법이 필요하며 아래와 같이 3가지 방식이 있다.

- cpu가 직접 입출력 장치를 제어하는 방식

- 주기억장치와 입출력 장치가 직접 데이터를 교환하는 직접 기억 장치 액세스(DMA) 방식

- 별도의 입출력 프로세서가 입출력 장치를 제어하는 방식이 있다

 

 

1. CPU가 직접 입출력 장치를 제어하는 방식

CPU 내에 존재하는 레지스터에 저장된 내용이 직접 출력 장치로 전송되거나 반대로 입력 장치에서 내부 레지스터로 전송되고 최종적으로 주기억 장치에 저장됨

 - 프로그램 입출력 방식: cpu와 입출력 모듈 사이에 데이터가 교환된다

    => 입출력 모듈이 데이터를 수신하거나 송신 준비가 될 때까지 cpu가 기다려야하는 게 단점

 - 인터럽트 구동 입출력 방식: cpu가 입출력 명령을 보낸후 입출력 모듈이 그 일을 완료하고 인터럽트를 보낼때까지 다른 명령을 수행한다.

 

2. 직접 기억 장치 액세스(DMA)를 이용하는 방식

위의 1번 방식은 주기억장치와 입출력 모듈간 데이터 전송이 cpu를 경우하기 때문에 입출력 전송률이 제한되고 cpu가 입출력 전송에 많은 시간을 소모한다. DMA를 이용하는 방식은 기억장치와 입출력 모듈 간 데이터 전송을 별도의 하드웨어인 DMA가 처리하고 CPU는 개입하지 않는다.

 

3. 별도의 입출력 프로세서가 입출력 장치를 제어하는 방식

별도의 입출력 프로세스를 두어 입출력 처리를 전담하게하여 cpu 효율을 높인다. 이때 사용되는 입출력 프로세서는 DMA 제어기의 기능을 향상한 것으로 입출력 명령을 실행할 수 있는 프로세서이며, 데이터 블록을 임시 저장할 수 있는 지역 기억 장치를 포함하고 있다.

 

비전공자 네카라 신입 취업 노하우

시행착오 끝에 얻어낸 취업 노하우가 모두 담긴 전자책!

kmong.com

댓글