Don't Look Back In Anger

탑스팟 컴퓨터일반 21. DMA 및 채널 본문

IT/탑스팟 컴퓨터일반

탑스팟 컴퓨터일반 21. DMA 및 채널

버로나 2022. 2. 21. 21:15

1. 데이터 입출력 제어 방식

(1) 직접 제어 방식

- CPU가 기억장치와 입출력장치 간의 데이터 이동에 직접 개입하는 방식

 

① Polling에 의한 입출력 방식 (= 프로그램 입출력 방식, Programmed I/O)

- 프로세서가 입출력장치의 상태를 체크하면서 입출력하는 방법

- 입출력장치가 데이터 전송 준비가 될 때까지 프로세서는 상태 조사를 반복적으로 수행하면서 대기

- 프로세서의 시간 낭비가 인터럽트 방식에 비해 심함

 

② 인터럽트에 의한 입출력 방식

- 각 입출력 장치 제어기는 입출력 동작이 종료되는 즉시 CPU에게 인터럽트 신호를 보냄

- 인터럽트 신호가 발생한 경우에만 입출력에 관여

- 인터럽트 간에 우선순위를 둘 수 있음

- 인터럽트 처리를 위해 인터럽트 처리 루틴을 호출

 

* 인터럽트 I/O 동작 순서

CPU가 I/O 제어기에 명령을 전송하고, CPU는 다른 작업을 수행

제어기는 I/O 장치를 제어하여 I/O 명령을 수행

I/O 명령 수행이 완료되면, 제어기는 CPU로 인터럽트 신호를 전송

CPU는 인터럽트 신호를 받는 즉시 원래의 프로그램을 복귀하여 수행을 계속

 

EX) 인터럽트-구동 I/O 방식에서의 프린터 출력 흐름도

 

CPU는 데이터와 프린트 명령을 프린터 제어기로 전송하고, 다른 작업을 수행

그 데이터의 프린트가 종료되면, 제어기가 CPU로 인터럽트 요구 신호를 전송

프린트할 내용이 남아 있다면, CPU는 다음에 프린트할 데이터를 준비하여 위의 과정을 반복

 

 

(2) 간접 제어 방식

- CPU와는 독립적으로 전용 입출력 제어기ㅡㄹ 이용하여 입출력장치 제어기를 제어하는 방식

 

① DMA 제어기에 의한 입출력

② 채널 제어기에 의한 입출력

 

2. DMA(Direct Memory Access)

- CPU의 참여 없이 입출력장치와 메모리가 직접 데이터를 주고 받는 것을 말함

- DMA 제어기는 작업이 끝나면 CPU에게 인터럽트 신호를 보내 작업이 종료됐음을 알림

- DMA 방식을 이용하면 CPU는 입출력 작업에 참여하지 않고 다음 명령을 계속 처리하므로, 시스템의 전반적인 속도가 향상됨

 

3. 채널(Channel)

- 주변장치에 대한 제어 궎한을 CPU(중앙처리장치)로부터 넘겨받아 CPU(중앙처리장치) 대신 입출력을 관리하는 것으로, 중앙처리장치와 입출력장치 사이의 속도 차이로 인한 문제점을 해결하기 위해 사용함

- 채널은 입출력 작업이 끝나면 CPU(중앙처리장치)에게 인터럽트 신호를 보냄

- 채널에는 고속의 입출력장치를 제어하는 셀렉터(Selector) 채널과 저속의 입출력장치를 제어하는 멀티플렉서(Multiplexer) 채널, 그리고 두 기능이 혼합된 블록 멀티플렉서(Block Multiplexer) 채널이 있다

 

* 시캐(식혜)육복 을게!

  시 - CPU

  캐 - 캐시

  주면 - 주기억장치

  체육복 - 채널

  입을게 - 입출력장치

 

  CPU - 캐시 - 주기억장치 - 채널 - 입출력장치

 

https://youtu.be/u76nAGoJAEY