DMA란?
DMA란 CPU의 관여 없이 입출력장치가 메모리에 직접 접근하는 기능이다. 디바이스는 CPU의 관여 없이도 스스로 읽기/쓰기 명령을 수행할 수 있다.
DMA의 장단점
장점
데이터 읽기와 쓰기는 시간이 많이 걸리는 작업이다. DMA를 사용하게 된다면 CPU는 데이터 읽기/쓰기와 같은 시간이 오래 걸리는 작업들을 하는 대신에 다른 중요한 작업들을 할 수 있다.
단점
DMA는 CPU를 거치지 않아 데이터 접근 시간이 단축될 수 있지만 CPU를 우회하기 때문에 보안 문제가 발생할 수 있다. DMA를 하기 위해서 별도의 설정을 해야하기 때문에 구현이 복잡할 수 있다.