목차
CPU 유휴 상태
CPU의 유휴 상태는 CPU가 현재 작업을 수행하고 있지 않고 프로세스 처리를 위해 대기하고 있는 상태를 말합니다.
컴퓨터 시스템은 과거에는 CPU를 한 순간도 쉬지 않게 하기 위해 계속 발전해왔습니다. 폰 노이만 구조와 CPU 스케줄링도 따지고 보면, CPU에게 휴식을 주지 않기 위해서 개발된 것입니다.
그렇다면 현대의 컴퓨터 시스템은 왜 CPU를 유휴 상태로 둘까요?
그 이유는 아래와 같습니다.
CPU 유휴 상태 중요성
1.
에너지 효율 : 유휴 상태에서 CPU가 저전력 모드로 전환함으로써 전력 소비를 줄이고, 이는 특히 배터리를 사용하는 모바일 장치에서 중요합니다.
2.
시스템 성능 : 유휴 시간을 효율적으로 관리함으로써 CPU는 필요할 때 즉각적으로 더 많은 자원을 요구하는 작업을 처리할 준비가 됩니다.
3.
열 관리 : CPU가 작업을 하지 않을 때 발열을 줄여 시스템의 온도를 낮출 수 있습니다.
예를 들어, CPU가 유휴 상태를 만들지 않고 모든 CPU를 활성 상태로 둔다고 합시다. 그럴 경우 전기와 배터리를 많이 소비할 뿐만 아니라, 열 관리를 하지 못해 쓰로틀링에 걸려 성능이 오히려 좋지 않을 수 있습니다.
CPU 유휴 상태 종류
•
C0 상태
◦
CPU가 가장 활동적인 상태입니다.
◦
모든 클록 신호가 활성화되어 있고, CPU는 명령어를 실행합니다.
◦
이 상태에서는 전력 소비가 가장 많습니다.
•
C1 상태
◦
가장 간단한 유휴 상태로, CPU의 클록 신호를 멈추거나 줄여 전력 소비를 감소시킵니다.
◦
CPU는 매우 빠르게 이 상태에서 벗어나 일을 재개할 수 있습니다.
◦
인터럽트에 의해 즉시 깨어날 수 있습니다.
•
C2 상태
◦
C1보다 더 많은 전력을 절약합니다.
◦
CPU 일부를 완전히 비활성화하고, 복구 시간은 C1보다 길지만 여전히 빠른 편입니다.
◦
이 상태는 주로 인터럽트 대기시에 사용됩니다.
•
C3 상태
◦
CPU의 많은 부분이 비활성화되고, 캐시도 깨끗이 비워지는 등 가장 깊은 유휴 상태입니다.
◦
전력 소비는 이 상태에서 최소화되며, 복구 시간도 가장 길어집니다.
◦
깊은 유휴 상태로, 다시 활동 상태로 돌아오는데 상대적으로 시간이 더 소요됩니다.