📖 WIPIVERSE

🔍 현재 등록된 정보: 50,163건

사이클 스틸링

사이클 스틸링(Cycle Stealing)은 컴퓨터 시스템에서 CPU가 다른 장치(주로 입출력 장치)에 의해 사용되는 동안 CPU 사이클의 일부를 "훔쳐" 사용되는 상황을 의미합니다. 이러한 현상은 직접 메모리 접근(DMA) 방식의 입출력 동작과 관련이 깊습니다.

DMA는 CPU의 개입 없이 주변 장치가 시스템 메모리에 직접 접근하여 데이터를 전송할 수 있도록 하는 방식입니다. CPU는 DMA 컨트롤러에게 입출력 동작을 지시하고, DMA 컨트롤러는 메모리와 주변 장치 간의 데이터 전송을 담당합니다. DMA 전송 과정에서 DMA 컨트롤러는 시스템 버스를 사용하여 메모리에 접근해야 하는데, 이 때 CPU 역시 시스템 버스를 사용해야 할 수 있습니다.

만약 DMA 컨트롤러가 CPU가 시스템 버스를 사용하려고 하는 시점에 버스를 먼저 점유하여 메모리 접근을 수행하면, CPU는 해당 사이클 동안 작업을 수행하지 못하고 대기하게 됩니다. 이를 CPU 사이클을 "훔치는" 것으로 비유하며, "사이클 스틸링"이라고 부릅니다.

사이클 스틸링은 CPU의 성능 저하를 유발할 수 있지만, DMA를 사용하지 않을 경우 CPU가 직접 모든 입출력 동작을 처리해야 하므로 시스템 전체 성능 측면에서는 DMA를 사용하는 것이 효율적인 경우가 많습니다. DMA를 통해 CPU는 입출력 동작에서 해방되어 다른 작업을 수행할 수 있기 때문입니다.

사이클 스틸링의 영향은 시스템의 구조, DMA 전송 빈도, CPU의 성능 등에 따라 달라질 수 있습니다. 현대적인 컴퓨터 시스템에서는 고속 버스 시스템과 캐시 메모리 등을 사용하여 사이클 스틸링의 영향을 최소화하고 있습니다.