CPU가 어떻게 클럭 주파수를 동적으로 변경할 수 있습니까?


16

인텔 CPU는 사용량에 따라 클럭 속도를 변경하지만 실행되는 클럭 속도는 어떻게 결정됩니까? 클럭 속도는 알고리즘을 사용하여 OS 소프트웨어에 의해 결정됩니까, 아니면 하드웨어 기반입니까? 인터럽트 수에 의존합니까? 캐시 회전율? CPU 자체가 자체 시계를 설정합니까? 아니면 별도의 컨트롤러가 설정합니까? 아니면 소프트웨어?


1
어느 CPU입니까? 임베디드 시스템은 일반적으로 그렇게 작동하지 않습니다.
레온 헬러

아마도 수퍼 유저 에게는 더 많은 것이 있을까요?

PIC24F와 같은 일부 임베디드 프로세서 제품군은 프로그래밍 가능한 클럭 속도를 가지며 이는 전력 절약에 사용될 수 있습니다. 시간에 민감한 주변 장치의 클록이 안정적으로 유지되도록 외부 오실레이터를 사용할 수 있습니다.
Kaz

답변:


18

CPU의 코어 클럭은 마더 보드에서 직접받지 않습니다. 이 클럭은 일반적으로 CPU의 내부 주파수보다 훨씬 느리다 (종종 10 배 이상). 대신, 마더 보드의 클럭 신호는 CPU 내부의 고주파 위상 고정 루프 제어 발진기의 기준 주파수로 사용됩니다. 생성 된 클럭은 여러 레퍼런스 클럭에서 실행되며 CPU에서 특정 레지스터를 설정하여 여러 클럭을 변경할 수 있습니다. 실제 클럭 생성은 하드웨어에서 수행됩니다.

또한 전력을 더욱 줄이기 위해 CPU는 코어 전압을 공급하는 전압 조정기에 신호를 보내 낮은 설정 점에서 작동합니다. 낮은 주파수에서 CPU는 오작동없이 더 낮은 전압에서 작동 할 수 있으며 전력 소비는 전압의 제곱에 비례하므로 전압을 조금만 줄이면 많은 양의 전력을 절약 할 수 있습니다.

전압 및 주파수 스케일링은 하드웨어에 의해 수행되지만 저전력 모드에서 실행하기로 결정한 것은 소프트웨어 (OS)입니다. 운영 체제가 최적의 모드를 실행하는 방법은 별도의 더 복잡하고 문제가되지만 시스템이 최근에 유휴 상태 인 시간이 몇 %가 될 수 있습니다. 대부분 유휴 상태이며 주파수를 낮 춥니 다. 대부분 바빠서 주파수를 높이십시오. OS가 실행 빈도를 결정하면 레지스터를 설정하기 만하면됩니다.

참조 : " Intel Pentium M 프로세서를위한 향상된 Intel SpeedStep 기술 "


3
인텔 터보 부스트와 같은 기능은 클럭 주파수를 증가시켜 열 헤드 룸을 활용하기 위해 소프트웨어 개입이 필요하지 않습니다. 분명히, 하드웨어는 계산되지 않은 성능 병목 현상 (예 : 메모리 액세스로 인한 스톨 사이클 수 계산)을 추적하고 컴퓨팅 성능이 주요 병목 현상이 아닌 경우 빈도를 줄일 수 있습니다.
Paul A. Clayton

스위칭 주파수와 관련하여 절감 된 비용은 거의 선형 적이 지 않으며 전도로 인해 그리 많지 않습니다. 이는 av ^ 2 관계 일 것입니다.
JonRB

3

최신 운영 체제에는 "작업 스케줄러"라는 것이 있습니다. 정기적으로 (매우 빠름) 실행되고 다음 작업에서 실행할 목록을 선택합니다. 작업은 선택, 차단, 수면 등과 같은 여러 상태에있을 수 있습니다.

모든 작업이 선택 모드에 있고 (운영 체제에서 대기 중) 일부를 제공 할 수 없거나 일부는 잠자기 상태이므로 처리중인 프로세서를 많이 사용하지 않는 경우 작업 스케줄러는 "idle"이라는 특수 작업을 호출합니다. ".

CPU 드라이버가 작업 스케줄러 테이블을 확인하고 유휴 작업이 대부분의 CPU 시간을 실행 중인지 확인하면 CPU의 클럭 생성 PLL 회로에 명령을 보내 클럭을 줄입니다. 반대로 유휴 작업에서 CPU 시간이 점점 줄어들면 (CPU가 많이 사용됨을 의미) CPU 드라이버는 CPU 속도를 증가시킵니다.

그다지 어렵지는 않지만 모든 CPU가 완전히 정적이 아니기 때문에 CPU를 조절할 수없는 하한이 있습니다 (따라서 새로 고침주기가 필요함). 클록이 정지되면 손실 될 상태가 없으므로 완전 정적 CPU는 0 (제로) MHz까지 낮아질 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.