I/O 제어, DMA, 인터럽트

출제 빈도: ★★★★☆ | 기본 필수


답안.

Ⅰ. 개요

입출력(I/O) 제어 방식은 CPU가 주변장치와 데이터를 교환하는 메커니즘으로, 프로그램 I/O→인터럽트 I/O→DMA→채널 순으로 발전하여 CPU 관여도를 줄이고 시스템 처리량을 높여왔다.

Ⅱ. I/O 제어 방식 비교

방식동작CPU 관여성능
프로그램 I/OCPU가 폴링으로 상태 확인매우 높음낮음
인터럽트 I/O장치가 완료 시 인터럽트 발생중간중간
DMADMA 컨트롤러가 직접 메모리 전송시작/종료만높음
채널(I/O 프로세서)전용 프로세서가 I/O 프로그램 실행최소최고

Ⅲ. DMA 동작 원리

CPU → [DMA 컨트롤러 초기화]
       ├─ 전송 시작 주소
       ├─ 전송 바이트 수
       └─ 전송 방향(R/W)

DMA 컨트롤러 ←→ 메모리 (버스 마스터링)
  │ 사이클 스틸링: 버스 유휴 시 1워드씩
  │ 버스트 모드: 블록 단위 연속 전송
  └─ 전송 완료 → CPU에 인터럽트

사이클 스틸링(Cycle Stealing)은 CPU와 DMA가 버스를 시분할하는 방식이고, 버스트(Burst) 모드는 DMA가 버스를 독점하여 블록 전송 후 반환하는 방식이다.

Ⅳ. 인터럽트 체계

인터럽트는 외부(하드웨어)와 내부(소프트웨어/예외)로 분류된다. 벡터 인터럽트 방식에서는 장치별 고유 벡터 번호로 ISR(Interrupt Service Routine)을 직접 호출하여 폴링 오버헤드를 제거한다. 우선순위는 데이지 체인 또는 PIC(Programmable Interrupt Controller)로 관리한다.

Ⅴ. 최신 동향

NVMe SSD는 MSI-X 인터럽트와 멀티 큐(최대 64K 큐)로 CPU 코어별 병렬 I/O를 지원하며, RDMA(Remote DMA)는 네트워크 간 직접 메모리 전송으로 데이터센터 저지연 통신의 핵심 기술이다.


관련: RAID(26번) · NVMe 스토리지 · DPU(42번)