본문/내용
1. DMA의 개념 및 원리
DMA(Direct Memory Access)는 CPU의 개입 없이 주변 장치와 메모리 간 데이터를 직접 전송하는 방식이다. 전통적인 데이터 전송 방식에서는 CPU가 데이터 전송을 담당하여 처리 속도가 느려지고 CPU 자원이 낭비되는 문제가 있다. DMA는 이러한 문제를 해결하기 위해 등장하였으며, 데이터 전송 성능을 크게 향상시킨다. DMA는 제어기가 데이터 전송을 담당하며, 이를 통해 CPU는 다른 작업에 집중할 수 있다. 예를 들어, 고속 저장장치인 SSD는 내부적으로 DMA를 활용하여 메모리와 데이터를 빠르게 교환하며, 이는 전체 시스템의 I/O 처리 속도를 평균 30% 이상 향상시키는 데 기여한다. DMA는 데이터 전송에 필요한 버퍼를 미리 할당하고, 전송 요청 시 제어기가 직접 주소 버퍼와 연결된 메모리 또는 주변 장치와 데이터를 교환한다. 이 과정에서 CPU는 전송 상태만 모니터하고, 직접 데이터 이동 과정에는 개입하지 않기 때문에 시스템 전체의 부하를 최소화할 수 있다. 전송 속도는 워드 크기, 버스 대역폭, 채널 수 등에 따라 결정되며, 현대 PC에서는 PCIe(Peripheral Component Interconnect Express) 버스를 통해 초당 32GB 이상 데이터 …