DMA

YangJiWon·2020년 9월 15일
0

운영 체제와 정보 기술의 원리를 정리한 내용입니다.

DMA

배경

원칙적으로는 메모리는 CPU에 의해서만 접근 가능한 장치입니다.

따라서, 주변 장치들이 메모리에 접근하기 위해서는 CPU에게 인터럽트를 발생시켜 CPU가 일을 대행하는 식으로만 가능합니다.

하지만, 모든 메모리 접근 연산이 CPU에 의해서만 이루어질 경우 주변 장치가 메모리 접근을 원할 때마다 인터럽트를 통해 CPU의 업무가 방해를 받게 되어 CPU 사용의 효율성이 떨어지는 문제가 발생합니다.

기능 및 정의

이러한 비효율성을 극복하기 위해 CPU 이외에 메모리 접근이 가능한 장치를 두는 이 장치가 바로 DMA(Direct Memoey Access)입니다.

DMA는 일종의 컨트롤러로서, CPU가 주변 장치들의 메모리 접근 요청에 의해 자주 인터럽트당하는 것을 막아줍니다.

  • [그림 1] 컴퓨터 시스템 구조와 DMA

DMA를 사용하게 되면 로컬 버퍼에서 메모리로 읽어오는 작업을 CPU가 담당하는 것이 아니라, DMA가 대행함으로써 CPU는 원래 하던 작업을 멈추고 인터럽트를 처리할 필요가 없어집니다!

DMA는 byte 단위가 아닌 block이라는 큰 단위로 정보를 메모리로 읽어온 후에 CPU에게 인터럽트를 발생시켜 해당 작업의 완료를 알립니다.

큰 단위로 정보를 분할하기 때문에 인터럽트의 빈도를 줄여 CPU를 더 유용하게 사용하고 입출력 연산을 더욱 빠르게 수행할 수 있게 됩니다.

profile
데이터데이터데이터!!

0개의 댓글