Computer/CS

DMA(Direct Memory Access)

에린_1 2024. 3. 22. 22:54
728x90

DMA(Direct Memory Access)

  • CPU를 거치지 않고 주변장치가 시스템 메모리에 직접 접근할 수 있도록 해주는 기술이다.
  • CPU가 데이터 전송을 관리하는 대신, DMA 컨트롤러가 이 역할을 담당하여 CPU를 다른 작업에 할당할 수 있다.

작동 방식

  1. DMA 컨트롤러 : DMA 연산은 DMA 컨트롤러라는 특수한 하드웨어에 의해 수행된다. 이 컨트롤러는 주변장치와 메모리 간의 데이터 전송을 관리한다.
  2. 메모리 접근 : 주변장치가 데이터를 전송할 준비가 되면, DMA 컨트롤러는 메모리 주소를 지정하고 데이터 전송을 시작한다. 이 과정에서 CPU는 관여하지 않는다.
  3. 인터럽트와 완료 신호 : 데이터 전송이 완료되면, 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

'Computer > CS' 카테고리의 다른 글

컴퓨터의 구성  (0) 2024.06.25
컴파일 과정  (0) 2024.06.21
Swap Disk  (1) 2024.03.22
Page의 종류  (0) 2024.03.22
페이지 교체 정책(Page Replacement Policy)  (0) 2024.03.22