[컴퓨터 공학] DMA, 인터럽트

오늘내일·2023년 10월 12일
0

DMA(Direct Memory Access)

DMA는 CPU와는 별개로 특정 하드웨어 하위 시스템이 직접 메인 시스템 메모리에 접근할 수 있게 해주는 컴퓨터 시스템의 기능이다. DMA는 CPU와 독립적으로 작동하기 때문에, CPU의 부담을 줄여 시스템 성능을 향상시키는데 사용된다.

DMA를 통해 CPU의 개입없이 주변장치(디스크, I/O장치 등)와 메모리 간의 데이터 전송 작업을 가속화 할 수 있다. 따라서 CPU가 주기적으로 주변장치들과 통신하여 데이터 전송을 처리하지 않아도 되므로, CPU의 인터럽트* 처리량이 감소하여 시스템 부담이 감소된다.

인터럽트(Interrupt)

인터럽트는 CPU가 프로그램을 실행하고 있을 때, 주변장치 등의 예외상황이 발생하여 처리가 필요할 경우에 CPU에게 알려 처리할 수 있도록 하는 것이다.

인터럽트 처리절차

  1. 인터럽트 발생
    • 하드웨어 장치의 작업완료, 키보드 입력 등에서 발생할 수 있다.
  2. 인터럽트 신호 전송
    • CPU에 인터럽트가 신호 전달되면, CPU는 현재 실행 중인 명령을 중단하고 인터럽트 서비스 루틴(ISR)으로 제어를 이전한다.
  3. 현재 상태 저장
    • 인터럽트 신호 처리 후 작업재개를 위해 CPU는 현재 PC와 레지스터 상태를 저장한다.
  4. 인터럽트 서비스 루틴(ISR) 실행
    • ISR은 주로 운영체제 또는 응용프로그램에 의해 정의된 코드이다.
  5. 인터럽트 처리
    • ISR은 인터럽트의 원인을 식별하고 이에 따라 적절한 동작을 수행한다.
  6. 현재 상태 복원
    • 레지스터 및 PC를 복구하여 실행 중이던 프로세스 또는 작업을 재개한다.

참고사이트 :
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/

profile
다시 시작합니다.

0개의 댓글