반응형
-
정의DMA가 메모리 데이터 전송을 위해 CPU의 한 메모리 사이클 동안 버스 사용권을 우선하여 갖게 하는 것
-
사용 목적DMA가 메모리에 접근하려면 버스를 사용해야 하는데, CPU가 우선하여 사용하게 됨으로써, DMA는 사용할 수 없는 상태가 지속되는 자원 부족(Starvation) 현상의 문제를 해결하기 위함
-
사이클 스틸링을 이용한 DMA의 문제점
- 데이터를 전송할 때마다 시스템 버스를 두 번 이용하므로 성능이 저하
- Read/Write의 경우 데이터 블록이 512바이트 보다 클 경우 데이터를 버퍼링하는 내부 기억 장치가 필요
-
해결책으로, I/O 프로세서(Channel)를 사용하여 프로세서와 독립적으로 입.출력만을 제어
-
사이클 스틸링의 구현 방법
- DMA 제어기가 메모리 사이클을 요청
-
메모리 제어기(CPU)가 메모리 사이클을 허용(즉, DMA의 요청을 받으면 CPU는 메모리의 다음 사이클을 제공)
-
사이클 스틸링과 인터럽트의 차이
- 사이클 스틸링은 한 사이클 동안만 사용하고, 프로그램의 상태는 보존할 필요가 없음
- 인터럽트는 중단된 프로그램의 상태를 보존하고, 인터럽트 처리가 종료된 후 보존된 프로그램의 상태를 복구해야 함
폴링(Polling) | 인터럽트(Interrupt) | 사이클 스틸링(Cycle Stealing) |
|
|
|
▶ 사이클 스틸링과 유사 개념 비교
- 인터럽트 : 컴퓨터에 장착된 장치나 컴퓨터 내의 프로그램으로부터 오는 신호로, 운영체계가 하던 일을 멈추고 다음에 무엇을 할 것인지를 결정하게 하는 기술
반응형