새소식

반응형
밥벌이/운영체제

DMA 사이클 스틸링

  • -
반응형
  • 정의
    DMA가 메모리 데이터 전송을 위해 CPU의 한 메모리 사이클 동안 버스 사용권을 우선하여 갖게 하는 것
  •    
  • 사용 목적
    DMA가 메모리에 접근하려면 버스를 사용해야 하는데, CPU가 우선하여 사용하게 됨으로써, DMA는 사용할 수 없는 상태가 지속되는 자원 부족(Starvation) 현상의 문제를 해결하기 위함
  •    
  • 사이클 스틸링을 이용한 DMA의 문제점
    • 데이터를 전송할 때마다 시스템 버스를 두 번 이용하므로 성능이 저하
    • Read/Write의 경우 데이터 블록이 512바이트 보다 클 경우 데이터를 버퍼링하는 내부 기억 장치가 필요
    • 해결책으로, I/O 프로세서(Channel)를 사용하여 프로세서와 독립적으로 입.출력만을 제어
         
  • 사이클 스틸링의 구현 방법
    • DMA 제어기가 메모리 사이클을 요청
    • 메모리 제어기(CPU)가 메모리 사이클을 허용(즉, DMA의 요청을 받으면 CPU는 메모리의 다음 사이클을 제공)
         
  • 사이클 스틸링과 인터럽트의 차이
    • 사이클 스틸링은 한 사이클 동안만 사용하고, 프로그램의 상태는 보존할 필요가 없음
    • 인터럽트는 중단된 프로그램의 상태를 보존하고, 인터럽트 처리가 종료된 후 보존된 프로그램의 상태를 복구해야 함
폴링(Polling) 인터럽트(Interrupt) 사이클 스틸링(Cycle Stealing)
  • CPU가 수시로 각각의 주변 장치들의 인터럽트 요구를 확인
  • 주면 장치의 상태 보존을 저장하지 않음
  • CPU 시간 낭비, 처리 효율 감소
  • 프로그램 제어 하의 직접 입.출력 방식
  • CPU가 주변 장치로부터 들어오는 보고만 접수
  • 주변 장치의 상태 보존이 필요
  • CPU처리의 효율 증대
  • 인터럽트 서비스 루틴에 의한 처리
  • DMA 모듈이 버스 사용권을 위해 CPU 동작을 일시 중단
  • 상태 정보를 저장하지 않음
  • 버스 사이클 동안 잠시 CPU를 제어

▶ 사이클 스틸링과 유사 개념 비교

  • 인터럽트 : 컴퓨터에 장착된 장치나 컴퓨터 내의 프로그램으로부터 오는 신호로, 운영체계가 하던 일을 멈추고 다음에 무엇을 할 것인지를 결정하게 하는 기술
반응형

'밥벌이 > 운영체제' 카테고리의 다른 글

스케줄링 알고리즘  (0) 2011.05.17
DMA 개요  (0) 2011.05.17
DMA의 동작 및 특징  (0) 2011.05.17
DMA의 확장  (0) 2011.05.17
입출력 모듈 개요  (0) 2011.05.05
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.