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