DMA는 CPU와는 별개로 특정 하드웨어 하위 시스템이 직접 메인 시스템 메모리에 접근할 수 있게 해주는 컴퓨터 시스템의 기능이다. DMA는 CPU와 독립적으로 작동하기 때문에, CPU의 부담을 줄여 시스템 성능을 향상시키는데 사용된다.
DMA를 통해 CPU의 개입없이 주변장치(디스크, I/O장치 등)와 메모리 간의 데이터 전송 작업을 가속화 할 수 있다. 따라서 CPU가 주기적으로 주변장치들과 통신하여 데이터 전송을 처리하지 않아도 되므로, CPU의 인터럽트* 처리량이 감소하여 시스템 부담이 감소된다.
인터럽트는 CPU가 프로그램을 실행하고 있을 때, 주변장치 등의 예외상황이 발생하여 처리가 필요할 경우에 CPU에게 알려 처리할 수 있도록 하는 것이다.
인터럽트 처리절차
참고사이트 :
https://ko.wikipedia.org/wiki/%EC%A7%81%EC%A0%91_%EB%A9%94%EB%AA%A8%EB%A6%AC_%EC%A0%91%EA%B7%BC
https://open4tech.com/direct-memory-access-dma-in-embedded-systems/