DMA   Direct Memory Access   직접 메모리 접근

(2026-02-22)

PIO, Programmed I/O


1. DMA (Direct Memory Access)CPU 도움없이, 주변장치(제어기)들이 직접 메모리에 읽고 쓸 수 있는 방식

  ㅇ 이와 반대되는 경우는, PIO (Programmed I/O) 이라고 함
     - CPU가, 상태 비트를 반복 검사하면서, 직접 1 바이트씩 옮기는 I/O 방식

  ㅇ 결국, CPU의 I/O 작업을 덜어주기 위한 방식이, DMA 방식 임
     - DMA에 의해, 각 장치(컴퓨터 제어기)들은, 
     - PC 메인 버스를 통해 CPU의 개입/도움없이,
     - 직접 데이터를 메인 메모리에 전달하는 것 등이 가능


2. DMA 특징

  ㅇ DMA 단점
     - 컴퓨터 버스 상에 여러 장치(CPU,주기억장치,제어기 등)들이 서로 경쟁하게 만들어,
       이를 조정해야하는 복잡함 있게됨

  ㅇ 버스 경쟁 및 제어
     - DMA는, 버스 사용권을 획득하는 과정(Bus Mastership)이 필요하며, 
     - 이 과정에서 CPU와의 버스 충돌을 방지하기 위한, 
     - 버스 중재기(Bus Arbiter)가 반드시 필요


3. DMA 최신 기술 적용

  ㅇ DMA는, 과거 병렬 버스 방식인 ISA 버스뿐만 아니라, 
     - 오늘날의 PCIe(PCI Express), SATA, NVMe, 네트워크 인터페이스 카드(NIC) 등
     - 거의 모든 고속 입출력 인터페이스에서 필수적으로 사용
     - 현대의 DMA 컨트롤러는, 훨씬 지능적으로 작동하며, 복잡한 데이터 패킷 전송을 전담

  ㅇ 사이클 스틸링 (Cycle Stealing)
     - CPU가 버스를 사용하지 않는 짧은 틈(클록 사이클)을,
     - DMA가 뺏어서(Steal) 데이터전송하는 기법
     - 전체적인 시스템 속도는 다소 느려질 수 있으나, CPU의 작업을 멈추지 않게 함

​  ㅇ 버스트 모드 (Burst Mode)
     - 한 번 버스 사용권을 얻었을 때, 대량의 데이터를 연속적으로 빠르게 전송하는 방식
     - 현대의 고성능 하드웨어에서 주로 사용

I/O 장치 (주변장치)
1. 주변장치, 제어기   2. DMA, PIO   3. 디바이스 드라이버   4. 디바이스 파일   5.
하드웨어포트(일반)
 

저장장치 인터페이스
1. ATA   2. ATAPI   3. DMA, PIO   4. PCMCIA   5. HIPPI   6.
SCSI
 

용어해설 종합 (단일 페이지 형태)

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]