Computer Basis/OS

운영체제(OS) 기본지식 - 4. DMA(Direct Memory Access) 와 PIO(Program Input/Output)

DevPing9_ 2020. 10. 11. 15:09

# Device Controller

각 Device들의 작은 CPU

 

# Local Buffer

각 Device들의 작은 Memory


# DMA (Direct Memory Access)

특정 하드웨어 시스템이

CPU와 독립적으로 메인메모리에 접근할 수 있게 해주는 방식

 

디바이스들의 로컬버퍼에서

메모리로 데이터 이동이 완료되었다는

인터럽트만 발생시킨다.

 

그동안 CPU는 다른작업을 수행할 수 있어

효율성이 높아진다.

 

DMA는 과거 IBM의 특허기술이었다.

(현재는 특허권 소멸)


# 버스 마스터링 시스템

(First-Party DMA System)

 

버스 마스터링 시스템에서,

CPU와 주변장치는 각각 메모리 버스 통제권을 얻을 수 있다.

 

버스마스터가 될수 있는 주변장치는 필요에 따라

메모리 주소와 제어신호를 제공받아 CPU를 거치지않고 

시스템 메모리에 직접 데이터를 쓸 수 있다.


# PIO (Program Input/Output)

주변장치들에서 전송되는 모든 데이터가 CPU를 거쳐가는 방식

 

위 방식의 단점을 극복하기위해,

인터럽트DMA등이 고안되었다.

 

728x90