kwan's note

13주차 본문

Computer Programming/Computer System

13주차

kwan's note 2021. 1. 3. 02:10
반응형

수강일시 :2021.01.02

출처:  kmooc 컴퓨터구조

 

 

13주차:cpu와 io를 연결하는 방식에 대해 이해하고 대표적인 방식인 programmed io, interrupted io, dma방식에 대해 설명할 수 있다.

 

I/O는 메인메모리와 달리 cpu에 직접 연결되지 않고 컨트롤러를 통하게 된다.

컨트롤러를 통해 연결되는 이유는 메인메모리와 다르게 I/O device는 다양한 device가 올 수 있고 각 device마다 포멧이 다르므로 이를 cpu와 연결시킬 때 controller가 필요하게 된다.

보조저장장치의 경우 매우 큰 용량을 한번에 이동시키는 반면 키보드는 한번에 8비트만 이동시키는등 매우 다양한 방식이 존재한다. 

 

I/O controller의 구조(프린터)

data bus를 통해 들어온 출력정보가 data register에 저장된다.

상태/컨트롤 레지스터는 프린터의 상태(프린트를 해라 하지말아라)와 data register의 상태(출력할 데이터의 유무)등을 나타낸다.

즉 프린터는 상태레지스터만 확인하여 data가 있는경우 있는 data를 출력하는 역할만 하는 것이다.

 

i/o device 접속방식에는 programmed(정기검사) interrupt(변화시알림) 그리고 dma(cpu를 통하지 않고 dma 프로세스틀 이용하여 제어하는 방식)이 있다.

 

programmed i/o 방식과 interrupt driven i/o 방식

 

 

programmed i/o에 비해 interrupt deiven i/o의 경우 cpu가 확인할 수 있는 시간이 획기적으로 늘어난다.

하지만 그럼에도 cpu는 interrupt가 발생하고 status비트를 읽어서 print 할 데이터를 메모리로부터 가져와 i/o device에 전송해야 한다.

 

이러한 cpu의 load를 줄이기 위해서 고안된 방식이 dma 방식이다.

DMA 방식은 DMA 컨트롤러가 중간에 있게되어 interrupt 신호를 받아 프린트의 필요와 상태만 알게된다.

따라서 cpu의 load가 줄어들어 본래일(다른 일들)을 할 수 있는 clock이 늘어난다.

dma가 버스 마스터와 연결하면서 main memory에 접근하는 이러한 방식을 cycle stealing 이라고 표현하기도 한다.

 

하지만 여기서 system 버스의 사용을 줄이기 위해 io컨트롤러를 dma controller 내부에 넣어 시스템 버스 이용을 줄이고 내부 버스를 이용하도록 하기도 한다.

더 나아가 최근에는 dma controller의 기능이 확장되어 i/o controller 여러개를 담당하는 방식을 사용하기도 한다.

반응형