KR20050115325A - 프로세서 시스템의 동적 전력 관리를 위한 방법 및 장치 - Google Patents

프로세서 시스템의 동적 전력 관리를 위한 방법 및 장치 Download PDF

Info

Publication number
KR20050115325A
KR20050115325A KR1020057018487A KR20057018487A KR20050115325A KR 20050115325 A KR20050115325 A KR 20050115325A KR 1020057018487 A KR1020057018487 A KR 1020057018487A KR 20057018487 A KR20057018487 A KR 20057018487A KR 20050115325 A KR20050115325 A KR 20050115325A
Authority
KR
South Korea
Prior art keywords
samples
processor
sample
saturation
future
Prior art date
Application number
KR1020057018487A
Other languages
English (en)
Other versions
KR100858766B1 (ko
Inventor
조쉬 디 씨세어
마이클 쿨버트
케이쓰 콕스
Original Assignee
애플 컴퓨터, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 애플 컴퓨터, 인코포레이티드 filed Critical 애플 컴퓨터, 인코포레이티드
Publication of KR20050115325A publication Critical patent/KR20050115325A/ko
Application granted granted Critical
Publication of KR100858766B1 publication Critical patent/KR100858766B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Debugging And Monitoring (AREA)

Abstract

동적 전력 관리 시스템은 상이한 성능 및/또는 전력 소모 레벨들을 갖는 다수의 실행 상태들 중 하나로 프로세서가 동작되도록 하는 운영 시스템(OS)을 포함한다. 상기 OS는 상기 OS에 의해 모니터링되는 프로세서 정보(예, 프로세서 부하)에 응답하여 실행 상태를 선택한다. 상기 OS는 샘플링된 프로세서 정보를 기반으로 프로세서 정보의 미래 상태들을 예측할 수 있다. 상기 OS는 실행 상태를 선택하도록 임계값과의 비교를 위해 예측된 샘플들과 실제 샘플들의 평균값을 취할 수 있다. 상기 OS는 샘플들의 선택된 윈도우 동안 발생되는 연속적인 포화 샘플들의 개수를 트래킹할 수 있다. 상기 OS는 연속적인 포화 샘플들의 개수를 기반으로 미래 프로세서 정보 샘플들을 예측할 수 있다.

Description

프로세서 시스템의 동적 전력 관리를 위한 방법 및 장치{METHOD AND APPARATUS FOR DYNAMIC POWER MANAGEMENT IN A PROCESSOR SYSTEM}
본 발명은 일반적으로 프로세서 시스템에 관한 것으로서, 특히 이에 한정되진 않지만 프로세서 시스템들을 위한 전력 관리(power management)에 관한 것이다.
컴퓨팅 플랫폼들에 사용되는 것과 같은 프로세서 시스템들을 설계함에 있어서, 컴퓨팅 플랫폼(프로세서를 포함함)은 통상 성능을 증대시키도록 설계된다. 그러나, 특히 모바일 애플리케이션들에서, 컴퓨팅 플랫폼들은 또한 전력 소모를 감소시키도록 설계된다. 통상적으로, 이러한 설계 목표들은 서로 상충되는 것이다.
이러한 목표들에 대한 종래의 한가지 솔루션은 사용자가 고성능 모드와 절전 모드 사이에서 컴퓨팅 플랫폼의 구성(configuration)을 원하는대로 전환하도록 하는 수단을 제공하는 것이다. 예를 들어, 컴퓨팅 플랫폼은 사용자가 하드웨어 스위치 또는 상기 컴퓨팅 플랫폼에 의해 디스플레이되는 메뉴 및 대화형 박스를 통해 원하는 모드를 선택하도록 할 수 있다. 이러한 방법은 사용자의 개입을 요구한다.
도 1은 본 발명의 일 실시예에 따른 예시적인 컴퓨터 시스템의 개략적인 블록도이다.
도 2는 본 발명의 일 실시예에 따른 동적 전력 관리 시스템을 도시하는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 도 2의 시스템의 동작 흐름을 나타내는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 도 3에 도시된 동작 흐름을 도시하는 흐름도이다.
도 5a-5c는 샘플 히스토리들의 다양한 예들에 대한 샘플 예측값들 및 평균값들을 도시하는 도면들이다.
본 발명의 실시예들에 따른 시스템은 프로세서, 및 상이한 성능 및/또는 전력 소모 레벨들을 갖는 다수의 실행 상태(run state)들 중 하나로 상기 프로세서가 운영되도록 하는 운영 시스템을 저장하는 시스템 메모리를 포함한다. 일 실시예에서, 운영 시스템은 운영 시스템에 의해 모니터링되는 프로세서 정보에 응답하여 실행 상태를 선택한다. 예를 들어, 상기 프로세서 정보는 프로세서 부하 히스토리(load history)일 수 있다.
본 발명의 다른 실시예에서, 운영 시스템은 프로세서 정보의 미래 상태들을 예측한다. 일 실시예에서, 운영 시스템은 모니터링되는 프로세서 부하 히스토리를 기초로 미래의 프로세서 부하를 예측한다. 이러한 실시예의 추가적인 세분화에서, 상기 운영 시스템은 프로세서 실행 상태를 선택하는데 사용되는 실제 프로세서 정보와 예측값의 평균값을 취할 수 있다.
본 발명의 또 다른 실시예로서, 프로세서 정보를 모니터링함에 있어서, 상기 운영 시스템은 샘플들의 선택된 윈도우 동안 발생하는 연속적인 포화(saturated) 샘플들의 수를 트래킹한다. 상기 운영 시스템은 상기 연속적인 포화 샘플들의 수를 기초로 미래의 프로세서 정보 샘플들을 예측한다. 추가적인 세분화들로서, 상기 운영 시스템은 상기 윈도우의 크기, 포화 샘플을 한정하기 위한 임계값, 실행 상태들간의 전이를 위한 임계값들 및/또는 프로세서 정보의 샘플링 속도를 가변할 수 있다.
제한되지 않으며 모두 열거된 것이 아닌 본 발명의 실시예들은 이하의 도면들을 참조로 기술되며, 유사한 참조번호들은 구체화되지 않은 경우 다양한 도면들에 대해 유사한 부분들을 지칭하는 것이다.
도 1은 본 발명의 일 실시예에 따른 동적 전력 관리를 갖는 예시적인 컴퓨터 시스템(100)을 도시한다. 이러한 실시예에서, 컴퓨터 시스템(100)은 중앙 처리 유닛(102) 및 주변장치들(1041-104X)을 포함한다. 중앙 처리 유닛(102)은 하나 이상의 버스들(106)을 통해 주변장치들(1041-104X)에 연결된다. 몇몇 실시예들에서, 중앙 처리 유닛(102)은 주변장치들(1041-104X)과 통신하는 주변장치 제어기 또는 "사우스 브릿지(south bridge)"(미도시)를 포함할 수 있다.
이러한 실시예에서, 중앙 처리 유닛(102)은 프로세서(110) 및 시스템 메모리(112)(통상, RAM 및 ROM으로 구현됨)를 포함한다. 프로세서(110)는 하나 이상의 버스들(114)을 통해 시스템 메모리(112)에 연결된다. 몇몇 실시예들에서, 프로세서(110)와 시스템 메모리(112) 사이에 정보를 전달하기 위해 메모리 제어기(미도시)가 사용될 수 있다. 다른 실시예들에서, 중앙 처리 유닛(102)은 다수의 프로세서들을 포함할 수 있다.
시스템 메모리(112)는 통상 베이직 입출력 시스템(BIOS)(121), 운영 시스템(122), 하나 이상의 애플리케이션 프로그램들(123), 및 데이터(123)를 저장하는데 사용된다. 프로세서(110)는 예를 들어, 범용 마이크로프로세서(몇몇 제조사들로부터 상업적으로 이용가능함), 마이크로컨트롤러, 디지털 신호 처리기 등과 같은 임의의 적절한 프로세서 장치일 수 있다. 이러한 프로세서 장치들의 리스트는 대표적인 것으로서 모두 열거한 것이 아니다.
이러한 실시예에서, 주변장치들(1041-104X)은 하나 이상의 모니터들, 메모리 드라이브들(예, 하드디스크 드라이브, 플로피 디스크 드라이브, CD-ROM 드라이브, DVD 드라이브, 플래쉬 메모리 드라이브 등), 프린터들, 스캐너들 등을 포함할 수 있다. 이러한 주변장치들의 리스트는 대표적인 것으로서 모두 열거한 것이 아니다.
본 발명의 실시예들에 따른 운영 시스템(122)은 모니터링되는 프로세서 정보를 기초로, 하나 이상의 실행 상태들로 운영되도록 프로세서(110)를 구성(configure)함으로써 동적 전력 관리를 제공하도록 구성된다. 이러한 동적 전력 관리는 이하에서 보다 상세히 설명된다.
도 2는 본 발명의 일 실시예에 따른 중앙 처리 유닛(102)(도 1)에서 구현되는 동적 전력 관리 시스템(200)을 도시한다. 이러한 실시예에서, 동적 전력 관리 시스템(200)은 프로세서 모니터(201) 및 전력/성능 상태 제어기(본 발명에서 상태 제어기로도 지칭됨)(203)를 구비한 운영 시스템(122)(도 1)을 포함한다. 동적 전력 관리 시스템(200)은 또한 하나 이상의 소프트웨어 드라이버들(205) 및 프로세서 전력/성능 하드웨어(207)를 포함한다. 다수의 프로세서들을 구비하는 다른 실시예들에서, 동적 전력 관리 시스템(200)은 모든 프로세서들을 이용하여 전력/성능을 관리하도록 단일 프로세서로 "실행"될 수 있다. 선택적으로, 다수의 프로세서들은 그룹들로 분할될 수 있으며, 각 그룹의 프로세서는 상기 그룹의 프로세서들을 이용하여 전력/성능을 관리한다.
이러한 실시예에서, 프로세서 모니터(201)는 프로세서(110)(도 1)가 동작되는 동안 하나 이상의 선택된 파라미터들을 모니터링하는 모듈이다. 예를 들어, 프로세서 모니터(201)는 프로세서의 작업부하를 모니터링할 수 있다. 이러한 모니터들은 대부분 상업적으로 이용가능한 운영 시스템들에 이미 구현되어 있다.
이러한 실시예에서, 상태 제어기(203)는 프로세서 모니터(201)에 의해 모니터링되는 정보를 기초로 프로세서(110)(도 1)에 대한 실행 상태를 결정하는 모듈이다. 일 실시예에서, 상태 제어기(203)는 유한 상태 제어기로서 구현된다.
드라이버들(205)은 프로세서(110)(도 1)의 성능 및/또는 전력 소모 특성들을 변화시키는 제어 신호들을 프로세서 하드웨어에 제공하는 모듈들이다. 예를 들어, 몇몇 실시예들에서 드라이버들(205)은 프로세서(110)(도 1)의 성능/전력 소모 특성들을 변경하기 위해 프로세서(110)(도 1)의 클럭 주파수 또는 "코어" 전압을 변화시키는데 사용된다. 이러한 실시예에서, 프로세서 전력/성능 하드웨어(207)는 클럭 발생기, 코어 전압 레귤레이터, 또는 프로세서(110)(도 1)의 전력/성능 특성들을 가변시킬 수 있는 다른 회로를 포함한다.
동적 전력 관리 시스템(200)의 엘리먼트들은 다음과 같이 상호접속된다. 운영 시스템(12)의 프로세서 모니터(201)는 상태 제어기(203)와 통신하도록 결합된다. 상태 제어기(203)는 프로세서 전력/성능 하드웨어(207)와 통신하도록 교대로 결합된 드라이버들(205)과 통신하도록 결합된다.
또한, 일 실시예에서, 운영 시스템(122)은 점선 화살표(209)로 나타낸 것처럼, 사용자가 동적 전력 관리 시스템(200)에 입력을 제공할 수 있도록 하는 수단을 구비한다. 예를 들어, 운영 시스템(122)은 사용자가 입력을 제공할 수 있도록 메뉴 및/또는 대화형 박스를 디스플레이 시킬 수 있다. 이하에서 보다 상세히 기술되는 것처럼, 동적 전력 관리 시스템(200)의 몇몇 실시예들은 다양한 사용자 구성가능한(configurable) 파라미터들(예, 임계값들, 히스토리 크기들 등)을 갖는다.
도 3은 본 발명의 일 실시예에 따른 동적 전력 관리 시스템(200)(도 2)의 동작 흐름을 도시한다. 도 2 및 도 3을 참조하면, 동적 전력 관리 시스템(200)은 다음과 같이 동작한다.
블럭 302에서, 프로세서 정보가 샘플링된다. 이러한 실시예에서, 프로세서 모니터(201)는 프로세서(110)(도 1)의 동작의 하나 이상의 파라미터들을 모니터링한다. 상이한 파라미터들이 다른 실시예들에서 모니터링될 수 있지만, 하나의 특정 실시예로서, 프로세서 모니터(201)는 프로세서(110)(도 1)의 작업부하를 모니터링한다. 예를 들어, 스케쥴러 정보(예, 실행가능한 스레드(thread)들의 수) 또는 퍼-스레드(per-thread) 통계(예, 우선순위, 실시간 요구조건들, 스케쥴링의 사용량 %)가 모니터링될 수 있다. 추가적인 세분화로서, 프로세서 모니터(201)가 프로세서 정보를 샘플링하는 속도를 사용자가 구성설정할 수 있다(configurable). 일 실시예에서, 프로세서 정보의 가장 최근의 N개 샘플들이 샘플 히스토리에 저장된다. 몇몇 실시예들에서, N은 사용자가 구성설정할 수 있다.
블럭 304에서, 프로세서(110)(도 1)의 실행 상태는 샘플 히스토리의 함수로서 결정된다. 일 실시예에서, 상태 제어기(203)는 프로세서(110)(도 1)가 동작할 수 있는 2개 이상의 가능한 실행 상태들 중 하나를 선택한다. 예를 들어, 일 실시예에서, 다수의 실행 상태들은 상이한 프로세서 클럭 주파수들 및/또는 코어 전압들의 조합들을 갖는다. 따라서, 프로세서의 성능 및 전력 소모 특성들은 프로세서의 실행 상태를 변화시킴으로써 변경될 수 있다. 일 실시예에서, 상태 제어기(203)는 미래의 프로세서 정보 샘플들을 예측한 다음, 샘플 히스토리 및 예측된 샘플들의 평균값을 취한다. 상태 제어기(203)는 선택되는 실행 상태를 결정하는데 이러한 평균값을 사용한다. 예를 들어, 평균값들의 범위는 평균값이 어떤 부분범위에 속하는지를 결정하는 상태 제어기(203)를 통해 특정 실행 상태들에 해당하는 부분범위들로 분할될 수 있다. 그 다음, 상태 제어기(203)는 프로세서(110)(도 1)가 그 부분범위에 해당하는 실행 상태로 동작되도록 한다. 블럭 304의 일 실시예는 도 4와 연계하여 이하에서 보다 상세히 기술된다.
블럭 306에서, 프로세서는 블럭 304에서 결정된 실행 상태로 동작되도록 구성(configured)된다. 일 실시예에서, 상태 제어기(203)는 프로세서 클럭 주파수 및/또는 코어 전압을 상기 결정된 실행 상태에 해당하는 레벨들로 변경하기 위해 하나 이상의 드라이버들(205)이 프로세서 전력/성능 하드웨어(207)를 제어하도록 한다(필요시).
도 4는 본 발명의 일 실시예에 따른 블럭 304(도 3)의 동작 흐름을 도시한다. 도 2 및 도 4를 참조하면, 블럭 304의 이러한 실시예는 다음과 같이 수행된다.
블럭 402에서, 프로세서 정보의 샘플은 샘플 히스토리(미도시)에 삽입된다. 일 실시예에서, 이러한 샘플 히스토리는 N개의 가장 최근 샘플들을 저장하는 시스템 메모리(112)(도 1)에 저장된 데이터 구조이다. 이러한 실시예에서, 프로세스 모니터(201)는 샘플 히스토리에 가장 최근 샘플을 삽입시킨다. 샘플 히스토리가 이미 가득 찼다면, 가장 오래된 샘플은 무시되고 가장 최근 샘플이 개방된 장소에 저장된다.
블럭 4040에서, 미래의 샘플(들)은 샘플 히스토리를 기초로 예측된다. 이러한 실시예에서, 상태 제어기(203)는 미래 샘플들의 예측을 결정한다. 일 실시예에서, 상기 예측은 선택된 임계값(본 발명에서 "포화(saturated) 샘플들"로도 지칭됨) 보다 연속적으로 더 큰 가장 최근 샘플들의 개수를 기초로 한다. 그 다음, 상기 실시예에서, 가장 최근의 연속적인 포화 샘플들의 개수는 미리 선택된 인자로 곱해진다. 이러한 곱(예, 음이 아닌 정수 P로 표현됨)은 미래에 수신되는 포화 샘플들 개수의 예측으로 작용한다. 다른 실시예들에서, 상이한 알고리즘들이 미래 샘플들을 예측하는데 사용될 수 있다(포화 샘플들일 필요는 없음).
블럭 406에서, 샘플 히스토리 및 블럭 404로부터 예측된 샘플들을 이용하여 평균값이 결정된다. 일 실시예에서, 상태 제어기(203)는 P 예측된 포화 샘플들과 합산되는 샘플 히스토리에 저장된 N개(샘플 히스토리가 가득 차지 않으면 N 미만일 수 있음) 샘플들의 평균을 결정한다. 일 실시예에서, P 포화 샘플들(P가 제로 보다 더 큰 경우)은 프로세서 정보의 샘플이 가질 수 있는 최대값을 갖는 것으로 가정된다. 예를 들어, 프로세서 정보가 작업부하이면, 일 실시예로서 P 포화 샘플들은 100%의 값을 각각 갖는다(즉, 프로세서는 100% 용량에서 작업되고 있음). 다른 실시예들에서, 각 포화 샘플의 값은 몇몇 다른 미리 선택된 값일 수 있으며 그 평균값은 다른 방법들로 계산될 수 있다. 이러한 관점에서, 평균값은 샘플 히스토리와 예측된 샘플들을 이용하여 계산되는 값일 수 있으며, 프로세서(110)(도 1)의 가능한 실행 상태들 중 하나로 맵핑될 수 있다.
블럭 408에서, 실행 상태는 블럭 406에서 결정된 평균값의 함수로서 결정된다. 일 실시예에서, 상태 제어기(203)는 프로세서의 다수의 가능한 실행 상태들로부터 하나의 실행 상태를 선택한다. 예를 들어, 평균값들의 범위는 중복되지 않는 인접 부분범위들로 분할될 수 있고, 각각의 부분범위는 가능한 실행 상태들 중 고유(unique) 실행 상태에 해당한다. 이러한 실시예에서, 상태 제어기(203)는 어떤 부분범위가 평균값을 포함하는지를 결정하고, 그 결과로 실행 상태를 결정한다. 다른 실시예들에서, 상기 범위들은 실행 상태들 사이의 전이에 히스테리시스가 도입될 수 있도록 오버랩될 수 있다.
도 5a-5c는 본 발명의 일 실시예에 따라, 동적 전력 관리 시스템(200)(도 2)이 일련의 상이한 샘플들을 처리하는 방법의 예들을 도시한다. 이러한 실시예에서, 프로세서 정보는 프로세서 작업부하이고 샘플들은 작업부하 %이다.
도 5a에서, 프로세서 모니터(201)(도 2)는 샘플 히스토리(미도시)에서 8개의 가장 최근 샘플들(즉, N=8)을 저장한다. 이러한 실시예에서, 예측된 포화 샘플들의 개수는 가장 최근 샘플이 포화될 때 가장 최근 누적된 포화 샘플들의 개수(즉, 곱셈 인자는 1임)와 동일하다. 그러나, 가장 최근 샘플이 포화되지 않으면, 예측된 포화 샘플들의 개수는 가장 최근 누적된 포화 샘플들의 개수의 절반과 동일하다. 또한, 샘플이 포화인지 여부를 결정하기 위한 임계값은 95%이다(즉, 95% 이상의 샘플들은 포화된 것으로 간주됨). 더욱이, 이러한 실시예에서 실행 상태들의 개수는 2이다(하나는 고성능 상태이고 다른 하나는 절전 상태임). 또한, 이러한 실시예에서 2개의 상태들 사이의 임계값은 95%이다(즉, 95% 보다 더 큰 평균값은 고성능 상태에 해당함). 또한, 이러한 실시예에서, 각각의 예측된 포화 샘플의 값은 100%로 설정된다. 그리고, 상기 평균값은 전체 샘플 히스토리 및 예측 샘플들의 평균으로서 계산된다.
이러한 예에서, 가장 최근 샘플(즉, 샘플 Sn)은 100%이다. 결과적으로, 샘플 Sn은 포화된다. 이러한 실시예의 예측 알고리즘에 따라, 예측된 포화 샘플들의 개수는 가장 최근의 연속적인 포화 샘플들의 개수와 동일하다. 이 경우, 4개의 가장 최근 샘플들이 포화되었으므로, P는 4와 동일하다. 샘플 히스토리의 8개의 샘플들(즉, 샘플들 Sn-7, Sn-6, …, Sn)과 4개의 예측된 포화 샘플들의 평균은 95.6%이다. 따라서, 동적 전력 관리 시스템(200)(도 2)은 프로세서(110)(도 1)가 고성능 실행 상태를 개시하도록 한다.
본 예의 도 5b를 계속 참조하면, 다음 샘플(즉, 샘플 Sn+1)은 80%이다. 따라서, 샘플 Sn+1은 포화되지 않는다. 그 결과, 예측 알고리즘은 예측된 포화 샘플들의 개수가 반감되는 것을 요구한다. 따라서, 이러한 예에서, P는 2로 감소된다. 샘플 히스토리의 8개 샘플들(즉, 샘플들 Sn-7, Sn-6, …, Sn)과 2개의 예측된 포화 샘플들의 평균은 92.9%이다. 따라서, 동적 전력 관리 시스템(200)(도 2)은 프로세서(110)(도 1)가 절전 실행 상태를 개시하도록 한다.
이러한 예시적인 실시예는 동적 전력 관리 시스템(200)(도 2)이 부하 변화들에 얼마나 신속히 응답할 수 있는지를 보여준다. 작업부하가 비교적 작으면, 프로세서가 낮은 성능/절전 실행 상태로 동작됨으로써 컴퓨팅 플랫폼은 사용자가 더 낮은 프로세서 성능을 인식하지 못하게 하면서 더 적은 전력을 소모할 것이다. 이러한 인식은 비교적 낮은 작업부하 때문에 가능할 수 있고, 작업은 더 낮은 성능 실행 상태로 비교적 신속히 수행된다. 이러한 방식으로, 사용자의 경험에 큰 영향을 주지 않으면서 전력 소모가 감소된다. 이러한 실시예에서, 알고리즘은 사용자가 프로세서 성능의 감소를 인식하지 못하도록 하면서 프로세서가 절전 실행 상태로 소비하는 시간량을 극대화시키는 것을 목표로 설계된다. 다른 실시예들에서, 상이한 전력/성능 목표들을 달성하도록 설계될 수 있다.
도 5c는 샘플 히스토리에 저장된 8개 샘플들의 다른 시퀀스를 도시한다(즉, 샘플들 Sm-7, Sm-6, …, Sm, 여기서 Sm은 가장 최근 샘플임). 본 예에서, 포화되지 않은 가장 최근 샘플 이후에 6개의 연속적인 포화 샘플들이 샘플 히스토리에 저장된다(즉, Sm은 75%에 있음). 결과적으로, 샘플 Sm이 수신된 이후, 본 예에서 P는 3이다. 샘플 히스토리 및 3개의 예측 포화 샘플들의 평균값은 약 95.3%이다.
이전의 사이클(즉, 샘플 Sm-1이 수신되었을 때)에서, P는 6과 동일하기 때문에, 상기 샘플 히스토리와 6개의 예측 포화 샘플들의 평균값이 고성능 실행 상태를 위한 95% 임계값 위에 있도록 한다. 따라서, 동적 전력 관리 시스템(200)(도 2)은 프로세서(110)(도 1)가 고성능 실행 상태를 유지하도록 한다. 이러한 예는 몇몇 연속적인 포화 샘플들을 수신한 이후 어떻게 단일 비-포화 샘플이 프로세서가 반드시 낮은 전력 실행 상태를 개시할 필요가 없게 하는지를 나타낸다.
본 발명에서 동적 전력 관리를 위한 방법 및 장치의 실시예들이 기술되었다. 상기 상세한 설명에서, 본 발명의 실시예들의 이해를 통해 많은 특정 세부사항들이 기술되었다. 그러나, 관련 기술의 당업자는 상기한 하나 이상의 특정 세부사항들없이 또는 다른 방법들, 컴포넌트들, 재료들 등으로 본 발명이 실시될 수 있음을 인식할 것이다. 본 발명의 실시예들을 모호하게 하는 것을 방지하기 위해 다른 예들로서 공지된 구조물, 재료들, 또는 동작들은 상세히 도시 또는 기술되지 않는다.
본 명세서를 통해 참조된 "일 실시예" 또는 "실시예"는 실시예와 연계하여 기술된 특정한 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함됨을 의미한다. 따라서, 본 명세서 전반에 기재된 "일 실시예에서" 또는 "실시예에서"라는 문장은 모두 반드시 동일한 실시예를 지칭하는 것이 아니다. 더욱이, 특정한 특징, 구조들, 또는 특성들은 하나 이상의 실시예들에서 임의의 적절한 방식으로 조합될 수 있다.
본 발명의 실시예들은 프로세싱 코어(컴퓨터의 CPU와 같은)의 몇가지 형태로 실행되거나 이와 다르게 구현 또는 수행되거나 기계-판독가능한 매체내에서 실행되는 소프트웨어 프로그램으로서 사용되거나 이를 지원하는데 사용될 수 있다. 기계-판독가능한 매체는 기계(예, 컴퓨터)에 의해 판독가능한 형태로 정보를 저장 또는 전송하기 위한 임의의 메커니즘을 포함한다. 예를 들어, 기계-판독가능한 매체는 리드 온리 메모리(ROM); 랜덤 액세스 메모리(RAM); 자기 디스크 저장 매체; 광 저장 매체; 및 플래시 메모리 장치 등을 포함할 수 있다. 또한, 기계-판독가능한 매체는 전기, 광학, 음향 또는 다른 형태의 전파 신호들(예, 반송파들, 적외선 신호들, 디지털 신호들 등)과 같은 전파 신호들을 포함할 수 있다.
요약서에 기재된 것을 포함하는 본 발명의 도시된 실시예들의 상기 상세한 설명은 본 발명을 전부 열거하거나 본 발명을 개시된 정확한 형태들로 제한하려는 의도가 아니다. 본 발명에 대한 특정 실시예들 및 예들은 예시적인 목적으로 기재되었지만, 관련 기술의 당업자가 인식하는 것처럼 본 발명의 범주내에서 동등한 다양한 수정들이 가능할 수 있다.
상기 상세한 설명의 범위에서 이러한 수정들이 본 발명에 이루어질 수 있다. 이하의 청구범위에 사용되는 용어들은 본 발명을 본 명세서 및 청구범위에 개시된 특정 실시예들로 제한하는 것으로 해석되어서는 안된다. 오히려, 본 발명의 범주는 규정된 청구범위 해석 원칙들에 따라 해석되는 이하의 청구범위에 의해 전체적으로 결정된다.

Claims (52)

  1. 프로세서; 및
    운영 시스템을 저장하는 시스템 메모리 - 상기 운영 시스템은 프로세서 정보의 하나 이상의 샘플들을 포함하는 샘플 히스토리(history)의 함수로서 다수의 상태들로부터 선택된 상태에서 상기 프로세서가 동작되도록 하고, 상기 다수의 상태들의 각각의 상태는 상이한 성능 레벨을 가짐 -
    를 포함하는 컴퓨팅 시스템.
  2. 제 1 항에 있어서, 상기 프로세서 정보는 프로세서 부하(load) 정보를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  3. 제 1 항에 있어서, 상기 프로세서 정보가 샘플링되는 속도(rate)는 조정가능한 것을 특징으로 하는 컴퓨팅 시스템.
  4. 제 1 항에 있어서, 상기 각각의 상태는 프로세서 클럭 주파수 및 프로세서 전압의 상이한 조합을 갖는 것을 특징으로 하는 컴퓨팅 시스템.
  5. 제 1 항에 있어서, 상기 상태들간의 전이(transition)를 규정하는 임계값은 조정가능한 것을 특징으로 하는 컴퓨팅 시스템.
  6. 제 1 항에 있어서, 상기 운영 시스템은 프로세서 정보의 하나 이상의 미래 샘플(future sample)들을 예측하는 것을 특징으로 하는 컴퓨팅 시스템.
  7. 제 6 항에 있어서, 상기 운영 시스템은 프로세서 정보의 저장된 샘플들과 프로세서 정보의 예측된 샘플들의 평균값을 결정하는 것을 특징으로 하는 컴퓨팅 시스템.
  8. 제 6 항에 있어서, 상기 미래 샘플들은 포화(saturated) 샘플들의 함수로서 예측되는 것을 특징으로 하는 컴퓨팅 시스템.
  9. 제 8 항에 있어서, 상기 미래 샘플들은 연속적인 포화 샘플들의 함수로서 예측되는 것을 특징으로 하는 컴퓨팅 시스템.
  10. 제 8 항에 있어서, 상기 포화 샘플과 비포화 샘플 사이의 전이를 규정하는 샘플의 임계값은 조정가능한 것을 특징으로 하는 컴퓨팅 시스템.
  11. 제 8 항에 있어서, 상기 미래 샘플들은 미래 포화 샘플들의 개수로서 예측되는 것을 특징으로 하는 컴퓨팅 시스템.
  12. 제 11 항에 있어서, 가장 최근 샘플이 포화 샘플인 경우, 상기 미래 포화 샘플들의 개수는 연속적인 포화 샘플들의 개수와 동일하며, 상기 연속적인 샘플들은 상기 가장 최근 샘플을 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  13. 제 11 항에 있어서, 가장 최근 샘플이 포화 샘플이 아닌 경우, 상기 미래 포화 샘플들의 개수는 연속적인 포화 샘플들의 개수의 대략 절반이고, 상기 연속적인 샘플은 상기 가장 최근 샘플 이전에 순차적으로 수신되는 것을 특징으로 하는 컴퓨팅 시스템.
  14. 컴퓨팅 플랫폼의 운영 시스템에 의해 수행되는 방법으로서,
    프로세서 동작과 관련된 정보의 샘플들을 수신하는 단계; 및
    상기 정보의 하나 이상의 샘플들을 갖는 샘플 히스토리의 함수로서 다수의 상태들로부터 선택되는 상태에서 상기 프로세서가 동작하도록 상기 운영 시스템을 구성(configure)하는 단계 - 상기 다수의 상태들의 각각의 상태는 상이한 성능 레벨을 가짐 -
    를 포함하는 운영 시스템에 의해 수행되는 방법.
  15. 제 14 항에 있어서, 상기 정보는 프로세서 부하 정보를 포함하는 것을 특징으로 하는 운영 시스템에 의해 수행되는 방법.
  16. 제 14 항에 있어서, 상기 프로세서 정보가 샘플링되는 속도는 조정가능한 것을 특징으로 하는 운영 시스템에 의해 수행되는 방법.
  17. 제 14 항에 있어서, 상기 각각의 상태는 프로세서 클럭 주파수 및 프로세서 전압의 상이한 조합을 갖는 것을 특징으로 하는 운영 시스템에 의해 수행되는 방법.
  18. 제 14 항에 있어서, 상기 상태들간의 전이를 규정하는 임계값은 조정가능한 것을 특징으로 하는 운영 시스템에 의해 수행되는 방법.
  19. 제 14 항에 있어서, 프로세서 정보의 하나 이상의 미래 샘플들을 예측하는 단계를 더 포함하는 것을 특징으로 하는 운영 시스템에 의해 수행되는 방법.
  20. 제 19 항에 있어서, 프로세서 정보의 저장된 샘플들과 프로세서 정보의 예측된 샘플들의 평균값을 결정하는 단계를 더 포함하는 것을 특징으로 하는 운영 시스템에 의해 수행되는 방법.
  21. 제 19 항에 있어서, 상기 미래 샘플들은 포화 샘플들의 함수로서 예측되는 것을 특징으로 하는 운영 시스템에 의해 수행되는 방법.
  22. 제 21 항에 있어서, 상기 포화 샘플과 비포화 샘플 사이의 전이를 규정하는 임계값은 조정가능한 것을 특징으로 하는 운영 시스템에 의해 수행되는 방법.
  23. 제 21 항에 있어서, 상기 미래 샘플들은 연속적인 포화 샘플들의 함수로서 예측되는 것을 특징으로 하는 운영 시스템에 의해 수행되는 방법.
  24. 제 21 항에 있어서, 상기 미래 샘플들은 미래 포화 샘플들의 개수로서 예측되는 것을 특징으로 하는 운영 시스템에 의해 수행되는 방법.
  25. 제 24 항에 있어서, 가장 최근 샘플이 포화 샘플인 경우, 상기 미래 포화 샘플들의 개수는 연속적인 포화 샘플들의 개수와 동일하며, 상기 연속적인 샘플들은 상기 가장 최근 샘플을 포함하는 것을 특징으로 하는 운영 시스템에 의해 수행되는 방법.
  26. 제 24 항에 있어서, 가장 최근 샘플이 포화 샘플이 아닌 경우, 상기 미래 포화 샘플들의 개수는 연속적인 포화 샘플들의 개수의 대략 절반이고, 상기 연속적인 샘플은 상기 가장 최근 샘플 이전에 순차적으로 수신되는 것을 특징으로 하는 운영 시스템에 의해 수행되는 방법.
  27. 프로세서에 의해 사용되기 위한 운영 시스템으로서,
    프로세서의 동작과 관련된 정보의 샘플들을 수신하기 위한 수단; 및
    상기 정보의 하나 이상의 샘플들을 포함하는 샘플 히스토리의 함수로서 다수의 상태들로부터 선택되는 상태에서 상기 프로세서가 동작되도록 구성(configure)하기 위한 수단 - 상기 다수의 상태들의 각각의 상태는 상이한 성능 레벨을 가짐 -
    을 포함하는 운영 시스템.
  28. 제 27 항에 있어서, 상기 정보는 프로세서 부하 정보를 포함하는 것을 특징으로 하는 운영 시스템.
  29. 제 27 항에 있어서, 상기 프로세서 정보가 샘플링되는 속도는 조정가능한 것을 특징으로 하는 운영 시스템.
  30. 제 27 항에 있어서, 상기 각각의 상태는 프로세서 클럭 주파수 및 프로세서 전압의 상이한 조합을 갖는 것을 특징으로 하는 운영 시스템.
  31. 제 27 항에 있어서, 상기 상태들간의 전이를 규정하는 임계값은 조정가능한 것을 특징으로 하는 운영 시스템.
  32. 제 27 항에 있어서, 상기 프로세서 정보의 하나 이상의 미래 샘플들을 예측하기 위한 수단을 더 포함하는 것을 특징으로 하는 운영 시스템.
  33. 제 32 항에 있어서, 상기 프로세서 정보의 저장된 샘플들과 프로세서 정보의 예측된 샘플들의 평균값을 결정하기 위한 수단을 더 포함하는 것을 특징으로 하는 운영 시스템.
  34. 제 32 항에 있어서, 상기 미래 샘플들은 포화 샘플들의 함수로서 예측되는 것을 특징으로 하는 운영 시스템.
  35. 제 34 항에 있어서, 상기 포화 샘플과 비포화 샘플 사이의 전이를 규정하는 임계값은 조정가능한 것을 특징으로 하는 운영 시스템.
  36. 제 34 항에 있어서, 상기 미래 샘플들은 연속적인 포화 샘플들의 함수로서 예측되는 것을 특징으로 하는 운영 시스템.
  37. 제 34 항에 있어서, 상기 미래 샘플들은 미래 포화 샘플들의 개수로서 예측되는 것을 특징으로 하는 운영 시스템.
  38. 제 37 항에 있어서, 가장 최근 샘플이 포화 샘플인 경우, 상기 미래 포화 샘플들의 개수는 연속적인 포화 샘플들의 개수와 동일하며, 상기 연속적인 샘플들은 상기 가장 최근 샘플을 포함하는 것을 특징으로 하는 운영 시스템.
  39. 제 37 항에 있어서, 가장 최근 샘플이 포화 샘플이 아닌 경우, 상기 미래 포화 샘플들의 개수는 연속적인 포화 샘플들의 개수의 대략 절반이고, 상기 연속적인 샘플은 상기 가장 최근 샘플 이전에 순차적으로 수신되는 것을 특징으로 하는 운영 시스템.
  40. 실행시 운영 시스템이 동작들을 수행하도록 하는 명령어들을 갖는 기계 판독가능한 매체로서, 상기 동작들은,
    프로세서의 동작에 관련된 정보의 샘플들을 수신하는 단계; 및
    상기 정보의 하나 이상의 샘플들을 포함하는 샘플 히스토리의 함수로서 다수의 상태들로부터 선택되는 상태에서 상기 프로세서가 동작되도록 상기 운영 시스템을 구성(configure)하는 단계 - 상기 다수의 상태들의 각각의 상태는 상이한 성능 레벨을 가짐 -
    를 포함하는 기계 판독가능한 매체.
  41. 제 40 항에 있어서, 상기 정보는 프로세서 부하 정보를 포함하는 것을 특징으로 하는 기계 판독가능한 매체.
  42. 제 40 항에 있어서, 상기 프로세서 정보가 샘플링되는 속도는 조정가능한 것을 특징으로 하는 기계 판독가능한 매체.
  43. 제 40 항에 있어서, 상기 각각의 상태는 프로세서 클럭 주파수 및 프로세서 전압의 상이한 조합을 갖는 것을 특징으로 하는 기계 판독가능한 매체.
  44. 제 40 항에 있어서, 상기 상태들간의 전이를 규정하는 임계값은 조정가능한 것을 특징으로 하는 기계 판독가능한 매체.
  45. 제 40 항에 있어서, 상기 프로세서 정보의 하나 이상의 미래 샘플들을 예측하는 단계를 포함하는 동작을 실행시 상기 운영 시스템이 수행하도록 하는 명령어들을 더 포함하는 것을 특징으로 하는 기계 판독가능한 매체.
  46. 제 45 항에 있어서, 상기 프로세서 정보의 저장된 샘플들과 프로세서 정보의 예측된 샘플들의 평균값을 결정하는 단계를 포함하는 동작을 실행시 상기 운영 시스템이 수행하도록 하는 명령어들을 더 포함하는 것을 특징으로 하는 기계 판독가능한 매체.
  47. 제 45 항에 있어서, 상기 미래 샘플들은 포화 샘플들의 함수로서 예측되는 것을 특징으로 하는 기계 판독가능한 매체.
  48. 제 47 항에 있어서, 상기 포화 샘플과 비포화 샘플 사이의 전이를 규정하는 임계값은 조정가능한 것을 특징으로 하는 기계 판독가능한 매체.
  49. 제 47 항에 있어서, 상기 미래 샘플들은 연속적인 포화 샘플들의 함수로서 예측되는 것을 특징으로 하는 기계 판독가능한 매체.
  50. 제 47 항에 있어서, 상기 미래 샘플들은 미래 포화 샘플들의 개수로서 예측되는 것을 특징으로 하는 기계 판독가능한 매체.
  51. 제 50 항에 있어서, 가장 최근 샘플이 포화 샘플인 경우, 상기 미래 포화 샘플들의 개수는 연속적인 포화 샘플들의 개수와 동일하며, 상기 연속적인 샘플들은 상기 가장 최근 샘플을 포함하는 것을 특징으로 하는 기계 판독가능한 매체.
  52. 제 50 항에 있어서, 가장 최근 샘플이 포화 샘플이 아닌 경우, 상기 미래 포화 샘플들의 개수는 연속적인 포화 샘플들의 개수의 대략 절반이고, 상기 연속적인 샘플은 상기 가장 최근 샘플 이전에 순차적으로 수신되는 것을 특징으로 하는 기계 판독가능한 매체.
KR1020057018487A 2003-05-07 2004-04-21 프로세서 시스템의 동적 전력 관리를 위한 방법 및 장치 KR100858766B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/434,515 US7240223B2 (en) 2003-05-07 2003-05-07 Method and apparatus for dynamic power management in a processor system
US10/434,515 2003-05-07

Publications (2)

Publication Number Publication Date
KR20050115325A true KR20050115325A (ko) 2005-12-07
KR100858766B1 KR100858766B1 (ko) 2008-09-16

Family

ID=33416706

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057018487A KR100858766B1 (ko) 2003-05-07 2004-04-21 프로세서 시스템의 동적 전력 관리를 위한 방법 및 장치

Country Status (8)

Country Link
US (2) US7240223B2 (ko)
EP (1) EP1620783B1 (ko)
JP (2) JP4065458B2 (ko)
KR (1) KR100858766B1 (ko)
CN (1) CN1784646B (ko)
AU (1) AU2004239644B2 (ko)
CA (1) CA2515855C (ko)
WO (1) WO2004102363A2 (ko)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457971B2 (en) * 2003-05-27 2008-11-25 Nxp B.V. Monitoring and controlling power consumption in a sequential logic circuit
US7392099B2 (en) * 2003-12-12 2008-06-24 Hewlett-Packard Development Company, L.P. System and method for power management when an operating voltage is between two thresholds
US7337335B2 (en) * 2004-12-21 2008-02-26 Packet Digital Method and apparatus for on-demand power management
US7228446B2 (en) * 2004-12-21 2007-06-05 Packet Digital Method and apparatus for on-demand power management
US8332226B1 (en) 2005-01-07 2012-12-11 At&T Intellectual Property Ii, L.P. System and method of dynamically modifying a spoken dialog system to reduce hardware requirements
US9608929B2 (en) * 2005-03-22 2017-03-28 Live Nation Entertainment, Inc. System and method for dynamic queue management using queue protocols
US7594132B2 (en) * 2005-05-18 2009-09-22 Lg Electronics Inc. Computer system with power-saving capability and method for implementing power-saving mode in computer system
US7523269B2 (en) * 2005-07-22 2009-04-21 Microsoft Corporation Preparing memory to allow access to data when primary operating system is unavailable
CN100346268C (zh) * 2005-08-18 2007-10-31 复旦大学 信息安全SoC中基于门控时钟的动态功耗管理方法
US7647516B2 (en) * 2005-09-22 2010-01-12 Hewlett-Packard Development Company, L.P. Power consumption management among compute nodes
US7581125B2 (en) * 2005-09-22 2009-08-25 Hewlett-Packard Development Company, L.P. Agent for managing power among electronic systems
US8006113B2 (en) * 2005-10-27 2011-08-23 Freescale Semiconductor, Inc. System and method for controlling voltage level and clock frequency supplied to a system
US7516342B2 (en) * 2005-12-30 2009-04-07 Intel Corporation Method, apparatus and system to dynamically choose an optimum power state
US7930564B2 (en) * 2006-07-31 2011-04-19 Intel Corporation System and method for controlling processor low power states
CN100428116C (zh) * 2006-09-08 2008-10-22 华南理工大学 一种基于嵌入式系统的动态电源管理方法
US7681054B2 (en) * 2006-10-03 2010-03-16 International Business Machines Corporation Processing performance improvement using activity factor headroom
US7689851B2 (en) * 2006-10-27 2010-03-30 Hewlett-Packard Development Company, L.P. Limiting power state changes to a processor of a computer device
DE112007003007T5 (de) * 2006-12-14 2009-10-15 Intel Corporation, Santa Clara Verfahren und Vorrichtung für die Energieverwaltung bei einem Prozessor
US7818596B2 (en) * 2006-12-14 2010-10-19 Intel Corporation Method and apparatus of power management of processor
US7430675B2 (en) * 2007-02-16 2008-09-30 Apple Inc. Anticipatory power management for battery-powered electronic device
US7925901B2 (en) * 2007-03-15 2011-04-12 International Business Machines Corporation Method and system for estimating processor utilization from power measurements
US7725296B1 (en) * 2007-09-24 2010-05-25 United Services Automobile Association (Usaa) Estimating processor usage
US7904287B2 (en) * 2007-11-13 2011-03-08 International Business Machines Corporation Method and system for real-time prediction of power usage for a change to another performance state
US7441135B1 (en) 2008-01-14 2008-10-21 International Business Machines Corporation Adaptive dynamic buffering system for power management in server clusters
US7992015B2 (en) * 2008-02-05 2011-08-02 Dell Products L.P. Processor performance state optimization
EP2260363A1 (en) * 2008-02-25 2010-12-15 ST-Ericsson SA Data processing device with adjustable performance level and method of operating such device
US8312299B2 (en) * 2008-03-28 2012-11-13 Packet Digital Method and apparatus for dynamic power management control using serial bus management protocols
US8102552B2 (en) 2008-04-03 2012-01-24 Sharp Laboratories Of America, Inc. Performance monitoring and control of a multifunction printer
US8392924B2 (en) 2008-04-03 2013-03-05 Sharp Laboratories Of America, Inc. Custom scheduling and control of a multifunction printer
US8028182B2 (en) * 2008-06-04 2011-09-27 Dell Products L.P. Dynamic CPU voltage regulator phase shedding
US8078901B1 (en) 2008-06-16 2011-12-13 Western Digital Technologies, Inc. Method for increasing a processor operating frequency when other subsystem demands are low
US8212944B2 (en) * 2008-07-10 2012-07-03 Qualcomm Incorporated Fast stream switching
US8094643B2 (en) * 2008-07-10 2012-01-10 Qualcomm Incorporated Dynamic power management for time division multiplexing devices
US8244296B2 (en) * 2008-10-15 2012-08-14 Apple Inc. Dynamic thermal control for wireless transceivers
US8170606B2 (en) * 2008-10-15 2012-05-01 Apple Inc. Dynamic thermal control for wireless transceivers
US8707060B2 (en) * 2008-10-31 2014-04-22 Intel Corporation Deterministic management of dynamic thermal response of processors
US20100148708A1 (en) * 2008-12-11 2010-06-17 Jorgenson Joel A Voltage scaling of an electric motor load to reduce power consumption
US9082419B1 (en) 2009-06-08 2015-07-14 Western Digitial Technologies, Inc. Disk drive configuring power mode of disk drive relative to servo gate
US20110018346A1 (en) * 2009-07-27 2011-01-27 Dixon Ryan G Location-Based Power Profiles
KR101617377B1 (ko) * 2009-11-06 2016-05-02 삼성전자주식회사 동적 전압 주파수 스케일링 방법
US9098274B2 (en) * 2009-12-03 2015-08-04 Intel Corporation Methods and apparatuses to improve turbo performance for events handling
US8650426B2 (en) 2009-12-16 2014-02-11 Qualcomm Incorporated System and method for controlling central processing unit power in a virtualized system
US8909962B2 (en) 2009-12-16 2014-12-09 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US8775830B2 (en) 2009-12-16 2014-07-08 Qualcomm Incorporated System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature
US20110145559A1 (en) * 2009-12-16 2011-06-16 Thomson Steven S System and method for controlling central processing unit power with guaranteed steady state deadlines
US9176572B2 (en) 2009-12-16 2015-11-03 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US8689037B2 (en) * 2009-12-16 2014-04-01 Qualcomm Incorporated System and method for asynchronously and independently controlling core clocks in a multicore central processing unit
US9563250B2 (en) * 2009-12-16 2017-02-07 Qualcomm Incorporated System and method for controlling central processing unit power based on inferred workload parallelism
US9128705B2 (en) 2009-12-16 2015-09-08 Qualcomm Incorporated System and method for controlling central processing unit power with reduced frequency oscillations
US9104411B2 (en) 2009-12-16 2015-08-11 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US8352759B2 (en) * 2010-01-11 2013-01-08 Qualcomm Incorporated System and method of monitoring a central processing unit in real time
US8667308B2 (en) 2010-06-18 2014-03-04 Apple Inc. Dynamic voltage dithering
US8527801B2 (en) 2010-06-30 2013-09-03 International Business Machines Corporation Performance control of frequency-adapting processors by voltage domain adjustment
US8516284B2 (en) 2010-11-04 2013-08-20 International Business Machines Corporation Saving power by placing inactive computing devices in optimized configuration corresponding to a specific constraint
US8521942B2 (en) 2011-03-21 2013-08-27 Microsoft Corporation HID over simple peripheral buses
TWI461897B (zh) * 2011-11-16 2014-11-21 Wistron Corp 電源控制裝置及電子裝置
US8725916B2 (en) * 2012-01-07 2014-05-13 Microsoft Corporation Host side implementation for HID I2C data bus
CN102622078B (zh) * 2012-01-20 2014-10-15 李涛 基于可再生能源的计算机的性能功耗比优化方法和装置
US8994346B2 (en) 2012-02-09 2015-03-31 Dell Products Lp Systems and methods for dynamic management of switching frequency for voltage regulation
US9442732B2 (en) * 2012-03-19 2016-09-13 Via Technologies, Inc. Running state power saving via reduced instructions per clock operation
US9201477B2 (en) 2012-05-29 2015-12-01 Apple Inc. Power management with thermal credits
CN102915108B (zh) * 2012-09-30 2014-04-16 安科智慧城市技术(中国)有限公司 一种嵌入式处理器内核电压动态调整装置和方法
US8984308B2 (en) * 2012-12-03 2015-03-17 Qualcomm Incorporated System and method of adaptive voltage scaling
CN103049803B (zh) * 2013-01-10 2016-12-28 华北电力大学 基于高斯液面法的负荷预测算法的参数寻优方法
US9195293B1 (en) 2013-05-03 2015-11-24 Western Digital Technologies, Inc. User controlled data storage device power and performance settings
JP6024828B2 (ja) 2013-08-08 2016-11-16 富士通株式会社 消費電力値が所定電力値以下である状態情報を、測定した処理性能値に基づいて選択する選択装置
US9436265B2 (en) 2013-10-24 2016-09-06 Fujitsu Limited Information processing apparatus and load control method
CN103744502B (zh) * 2013-12-31 2016-01-27 东软集团股份有限公司 确定嵌入式系统的临界频率的方法及装置
US11989068B2 (en) * 2022-06-29 2024-05-21 International Business Machines Corporation Thermal and performance management

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218704A (en) * 1989-10-30 1993-06-08 Texas Instruments Real-time power conservation for portable computers
US6158012A (en) 1989-10-30 2000-12-05 Texas Instruments Incorporated Real-time power conservation and thermal management for computers
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5287292A (en) * 1992-10-16 1994-02-15 Picopower Technology, Inc. Heat regulator for integrated circuits
US5339445A (en) * 1992-11-16 1994-08-16 Harris Corporation Method of autonomously reducing power consumption in a computer sytem by compiling a history of power consumption
US5422806A (en) * 1994-03-15 1995-06-06 Acc Microelectronics Corporation Temperature control for a variable frequency CPU
US5481733A (en) * 1994-06-15 1996-01-02 Panasonic Technologies, Inc. Method for managing the power distributed to a disk drive in a laptop computer
US5812860A (en) * 1996-02-12 1998-09-22 Intel Corporation Method and apparatus providing multiple voltages and frequencies selectable based on real time criteria to control power consumption
US6785826B1 (en) * 1996-07-17 2004-08-31 International Business Machines Corporation Self power audit and control circuitry for microprocessor functional units
EP0901063A3 (en) * 1997-09-05 2000-05-24 Texas Instruments Incorporated Power management methods
US5954820A (en) * 1997-09-26 1999-09-21 International Business Machines Corporation Portable computer with adaptive demand-driven power management
US6446214B2 (en) 1998-06-08 2002-09-03 Microsoft Corporation System and method for handling power state change requests initiated by peripheral devices
US6442699B1 (en) * 1998-09-18 2002-08-27 Matsushita Electric Industrial Co., Ltd. Power control method and apparatus therefor
US6442700B1 (en) 1999-08-10 2002-08-27 Intel Corporation Thermal control within systems having multiple CPU performance states
US6198245B1 (en) * 1999-09-20 2001-03-06 O2 Micro International Ltd. Look-ahead closed-loop thermal management
US6795927B1 (en) * 2001-05-01 2004-09-21 Advanced Micro Devices, Inc. Power state resynchronization
US6845456B1 (en) * 2001-05-01 2005-01-18 Advanced Micro Devices, Inc. CPU utilization measurement techniques for use in power management
JP4143283B2 (ja) * 2001-09-12 2008-09-03 株式会社日立製作所 計算機の処理性能変更装置
US6996441B1 (en) * 2002-03-11 2006-02-07 Advanced Micro Devices, Inc. Forward-looking fan control using system operation information

Also Published As

Publication number Publication date
US7240223B2 (en) 2007-07-03
JP4847408B2 (ja) 2011-12-28
CN1784646B (zh) 2010-06-16
AU2004239644B2 (en) 2007-11-01
US20040225902A1 (en) 2004-11-11
WO2004102363A3 (en) 2005-02-10
EP1620783B1 (en) 2018-09-12
US20060265616A1 (en) 2006-11-23
CN1784646A (zh) 2006-06-07
US7302595B2 (en) 2007-11-27
JP2008010000A (ja) 2008-01-17
AU2004239644A1 (en) 2004-11-25
JP4065458B2 (ja) 2008-03-26
JP2006524374A (ja) 2006-10-26
WO2004102363A2 (en) 2004-11-25
KR100858766B1 (ko) 2008-09-16
EP1620783A2 (en) 2006-02-01
CA2515855A1 (en) 2004-11-25
CA2515855C (en) 2009-12-15

Similar Documents

Publication Publication Date Title
KR100858766B1 (ko) 프로세서 시스템의 동적 전력 관리를 위한 방법 및 장치
US7143203B1 (en) Storage device control responsive to operational characteristics of a system
KR101471303B1 (ko) 그래픽 처리 장치를 위한 전력 관리 장치 및 방법
CN101379453B (zh) 使用动态工作负载特征来控制cpu频率和电压调节的方法和装置
US8135966B2 (en) Method and device for power management
US6574739B1 (en) Dynamic power saving by monitoring CPU utilization
US6167524A (en) Apparatus and method for efficient battery utilization in portable personal computers
US5339445A (en) Method of autonomously reducing power consumption in a computer sytem by compiling a history of power consumption
US7689838B2 (en) Method and apparatus for providing for detecting processor state transitions
US20100332876A1 (en) Reducing power consumption of computing devices by forecasting computing performance needs
US20190370085A1 (en) Intelligent workload migration to optimize power supply efficiencies in computer data centers
US7228445B2 (en) Clock frequency control method and electronic apparatus
US20090327656A1 (en) Efficiency-based determination of operational characteristics
US20070011480A1 (en) Processor power management
US20120254822A1 (en) Processing optimization load adjustment
WO2006056824A2 (en) Apparatus and method for controlling voltage and frequency
Choi et al. A processor power management scheme for handheld systems considering off-chip contributions
CN110795323A (zh) 负载统计方法、装置、存储介质及电子设备
US20180173428A1 (en) Predictive scheduler for memory rank switching
AU2008200446B2 (en) Method and apparatus for dynamic power management in a processor system
CN111309134A (zh) 一种负载电流调整方法、装置、电子设备及存储介质
Cappiello et al. ADSC: application-driven storage control for energy efficiency
JP2006003972A (ja) プロセス配置装置、プロセス配置方法及びプロセス配置プログラム
CN116710904A (zh) 处理装置、处理方法及相关设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120821

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130820

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140825

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 11