728x90
DMA(Direct Memory Access)
- CPU를 거치지 않고 주변장치가 시스템 메모리에 직접 접근할 수 있도록 해주는 기술이다.
- CPU가 데이터 전송을 관리하는 대신, DMA 컨트롤러가 이 역할을 담당하여 CPU를 다른 작업에 할당할 수 있다.
작동 방식
- DMA 컨트롤러 : DMA 연산은 DMA 컨트롤러라는 특수한 하드웨어에 의해 수행된다. 이 컨트롤러는 주변장치와 메모리 간의 데이터 전송을 관리한다.
- 메모리 접근 : 주변장치가 데이터를 전송할 준비가 되면, DMA 컨트롤러는 메모리 주소를 지정하고 데이터 전송을 시작한다. 이 과정에서 CPU는 관여하지 않는다.
- 인터럽트와 완료 신호 : 데이터 전송이 완료되면, DMA 컨트롤러는 CPU에 인터럽트를 보내 전송이 완료되었음을 알린다. 이를 통해 CPU는 전송된 데이터를 처리할 수 있다.
장점
- 효율성 : 대용량 데이터를 처리할 때 CPU부담을 줄어준다.
- 성능 향상 : CPU는 다른 중요한 작업에 집중할 수 있어 전체 시스템 성능이 향상된다.
- 저지연 : 입출력 장치와 메모리 간의 빠른 데이터 전송을 가능하게 한다.
단점
- 복잡성 : DMA컨트롤러의 관리와 구성이 복잡할 수 있다.
- 자원 충돌 : 메모리 버스의 점유로 인해 다른 장치들의 메모리 접근이 지연될 수 있다.
참조
https://velog.io/@orcasuit/Direct-Memory-Access
Direct Memory Access
운영 체제(OS)의 관점에서 "직접 메모리 접근(Direct Memory Access, DMA)"은 CPU의 개입 없이 주변장치가 시스템 메모리에 직접 데이터를 읽고 쓸 수 있게 하는 하드웨어 기능입니다. DMA는 특히 대용량 데
velog.io
728x90