CPU 및 다양한 모드와 관련된 C 상태에 대한 설명

  • CPU는 유휴 상태일 때 에너지를 절약하기 위해 CPU에 저전력 모드를 시작하도록 명령 가능
  • CPU는 여러 전력 모드를 종합적으로 "C-State" 또는 "C-Mode"라고 칭함
  • 최근에는 CPU의 전력 소비를 줄일 수 있도록 향상 → C-State는 CPU의 기능을 하나씩 종료시켜서 전력 소모를 줄임
  • CPU 내부의 유휴 장치에서 클록 신호와 전원을 차단하면 작동 → 클록을 차단하고 전압을 줄이거나 완전히 종료하여 더 많은 장치를 중지할수록 더 많은 에너지가 절약
  • C-state는 보다 공격적인 방법으로 전력소모를 최소화하여 절전모드에 주로 사용
  • CPU가 절전 모드에서 완전히 "해제"되는 데 더 많은 시간이 발생
  • C-State는 C0에서 시작 → 정상 CPU 작동 모드(100% CPU 활성화)
  • C 번호가 클수록 CPU 절전 모드가 더 길게 설정 → 즉, 더 많은 회로와 신호가 꺼져 있고 CPU가 C0 모드로 완전히 해제되는 데 더 많은 시간이 걸림
  • 각 C-State에는 이름 有 → 몇 개에는 절전 수준과 해제 시간이 각각 다른 하위 모드가 존재
  • 최근에는 C7 기술이 추가되었는데 이는 최종적으로 남아있는 L3 공유 캐시까지 작동을 멈춰, DDR3 메모리나 PCI-Express 연결과 관련된 전력도 차단

 

현재 사용 가능한 모든 C-State 모드 요약본

  • C1~C3 모드는 CPU의 클록 신호를 차단하면 작동
  • C4~C6 모드는 CPU 전압을 줄이면 작동
  • "향상된" 모드는 동시에 모두 실행 가능

 

C-states 상태

 

※ 주의 → 전력관리 기술 적용에 따라 성능 저하 발생 가능

  • CPU의 C-State 기술은 전력의 효율성을 높이기 위한 전력관리 기술들의 기반
  • CPU의 C-State 기술은 CPU 자체의 클럭이나 전압을 크게 낮추고 대기모드에 들어가는 작업을 행함
  • CPU의 클럭이나 전압을 줄여 소비전력을 줄이는 단계로 진입했다 다시 기본 클럭으로 돌아오는 과정에서의 지연이나 기본클럭 및 전압이 복귀되지 못하는 등으로 CPU 성능이나 그래픽카드 등의 성능이 저하 가능
  • CPU의 경우 전력관리 기능의 버그로 인해 성능이 제대로 나타나지 못하는 문제들이 종종 발생
  • C-state 레벨에 따라 코어 내부 클럭이 중단되거나 L1/L2 캐시 Flush 및 Off 시키는 등의 동작이 발생
  • 레벨이 높아질수록 많은 컴포넌트들이 꺼짐으로써 전력 소모량은 줄지만, 그에 비례해서 정상 상태(C0)로 복귀하는데 더 많은 리소스와 시간이 소요되는 문제
  • DB 서버에서 발생했던 connect timeout 현상의 원인 역시 높은 레벨의 C-states 상태에서 정상 상태(C0)로 복귀하면서 DB 접속(정확히는 네트워크 연결) 과정에 지연이 발생

 

 

+ Recent posts