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
 
용어해설 종합 (단일 페이지 형태)

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