KR101233434B1 - 데이터 처리 시스템의 강제 정지 - Google Patents

데이터 처리 시스템의 강제 정지 Download PDF

Info

Publication number
KR101233434B1
KR101233434B1 KR1020107017579A KR20107017579A KR101233434B1 KR 101233434 B1 KR101233434 B1 KR 101233434B1 KR 1020107017579 A KR1020107017579 A KR 1020107017579A KR 20107017579 A KR20107017579 A KR 20107017579A KR 101233434 B1 KR101233434 B1 KR 101233434B1
Authority
KR
South Korea
Prior art keywords
voltage
frequency
data processing
processing system
state
Prior art date
Application number
KR1020107017579A
Other languages
English (en)
Other versions
KR20100113554A (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 KR20100113554A publication Critical patent/KR20100113554A/ko
Application granted granted Critical
Publication of KR101233434B1 publication Critical patent/KR101233434B1/ko

Links

Images

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
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • 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
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • 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
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

데이터 처리 시스템의 전력을 관리하기 위한 방법들 및 장치들의 전형적인 실시예들이 설명된다. 제1 주파수 및 제1 전압에서 동작하는 시스템의 제한 파라미터가 모니터링된다. 시스템은 제한 파라미터의 모니터링에 기초하여, 제2 주파수 및 제2 전압에서 동작하는 동안에 정지 상태로 강제된다. 정지 상태는 명령어들이 실행되는 것을 방지한다.

Description

데이터 처리 시스템의 강제 정지{FORCED IDLE OF A DATA PROCESSING SYSTEM}
<관련 출원>
본 출원은 2008년 1월 7일자로 Keith Cox, David Conroy, Michael Culbert 및 Guy Sotomayor에 의해 "Forced Idle of a Data Processing System"이라는 제목으로 출원된 미국 특허 출원 제11/970,483호(대리인 서류 번호 4860P6078)와 관련된다.
본 발명의 적어도 일부 실시예는 일반적으로 데이터 처리 시스템에 관한 것으로서, 배타적이 아니라 구체적으로는 데이터 처리 시스템에서의 전력 관리에 관한 것이다.
전통적으로, 컴퓨터 시스템들은 가장 최악의 전력 부하를 연속 처리할 수 있도록 설계된다. 그러한 연속적인 최악의 전력 부하에 따른 설계는 문제가 많지는 않은데, 그 이유는 전통적으로 개별 컴포넌트들이 적당한 동작 전력을 가지며, 컴퓨터 시스템들이 큰 전력 예산을 가짐으로써, 시스템들이 아주 자연스럽게 부하를 지탱할 수 있기 때문이다.
컴퓨터 시스템의 개별 컴포넌트들의 동작 전력 소비가 증가함에 따라, 컴퓨터 시스템들의 전력 예산은 더 적어졌다. 이제, 높은 컴퓨팅 능력, 소형화, 저소음, 보다 양호한 배터리 성능 등과 같은 다른 고성능 목표들을 추구하면서 연속적인 최악의 작업 부하를 처리하도록 컴퓨터 시스템을 설계하는 것은 어려워지고 있다. 예를 들어, 랩탑 컴퓨터와 같은 휴대용 컴퓨터 시스템들은 제한된 배터리 출력 능력을 가지며, 따라서 주어진 배터리 출력 능력에 대한 최악의 작업 부하는 좀처럼 발생하지 않을 수 있으므로 시스템의 성능을 제한할 수 있다.
따라서, 전력 관리는 컴퓨터 시스템의 배터리 수명 및 열 설계 목표들 양자를 달성하는 데에 중요하다. 예를 들어, 중앙 처리 유닛("CPU")의 전력을 관리하기 위한 하나의 일반 기술은 CPU 코어의 동작 주파수 및 전원 전압 양자를 컴퓨터 시스템의 다수의 상이한 상태들 사이에서 동적으로 조정하는 것이다. 통상적으로, 컴퓨터 시스템의 전력 동작 포인트에서는, 동적 전력 및 누설 전력과 같은 전력 소비의 2개 성분이 존재할 수 있다.
동적 전력은 실제 요구되는 회로 동작을 나타낸다. 이것은 초당 클럭 전이들의 수(주파수) 및 전압의 제곱에 비례할 수 있다. 누설 전력은 여하튼 CPU가 급전되게 하는 비용 부담을 나타낸다. 이것은 주어진 전압에 대해 일정하며, 통상적으로 전압의 증가에 따라 기하급수적으로 상승한다. 그러나, 동작 주파수의 동적 조정은 동적 전력만을 관리하며, 컴퓨터 시스템의 누설 전력에 대한 효과는 없다.
데이터 처리 시스템의 전력을 관리하기 위한 방법들 및 장치들의 전형적인 실시예들이 설명된다. 데이터 처리 시스템의 하나 이상의 제한 파라미터가 모니터링될 수 있다. 데이터 처리 시스템은 하나 이상의 제한 파라미터가 모니터링되고 있는 동안 제1 주파수 및 제1 전압에서 동작할 수 있다. 데이터 처리 시스템은 하나 이상의 제한 파라미터에 기초하여, 제2 주파수 및 제2 전압에서 동작하는 동안에 정지 상태(idle state)로 강제된다. 일 실시예에서, 정지 상태는 명령어들이 실행되는 것을 방지하며, 제2 주파수는 0보다 크고, 제1 주파수보다 작으며, 제2 전압은 0보다 크고, 제1 전압보다 작다. 다른 실시예들에서, 정지 상태는 명령어들이 실행되는 것을 방지하며, 제2 주파수는 0이고, 제2 전압은 적어도 시스템의 부분들에 대해 또한 0이다. 일 실시예에서, 시스템을 정지 상태로 강제하는 레이트는 제한 파라미터에 기초하여 결정된다. 제한 파라미터는 예를 들어 전력, 온도, 전류, 배터리 부하 또는 이들의 임의 조합일 수 있다.
일 실시예에서, 제1 전압 및 제1 주파수에서 동작하는 시스템의 제한 파라미터가 모니터링된다. 제1 전압이 최소 전압이고, 제한 파라미터가 제한 파라미터 임계치보다 큰 경우에, 시스템은 정지 상태로 강제될 수 있다. 시스템이 최소 전압에서 동작하지 않고, 제한 파라미터가 제한 파라미터 임계치보다 큰 경우, 시스템의 동작 포인트가 감소될 수 있다. 시스템의 동작 전압, 시스템의 동작 주파수 또는 이들의 임의 조합을 감소시킴으로써 시스템의 동작 포인트가 감소될 수 있다. 일 실시예에서, 제1 주파수 및 제1 전압에서 동작하는 시스템에 대한 정지 상태의 백분율은 제한 파라미터에 기초하여 결정된다.
적어도 일부 실시예에서, 데이터 처리 시스템은 프로세서, 상기 프로세서에 결합된 메모리, 상기 프로세서에 결합되어, 제1 주파수 및 제1 전압에서 동작하는 상기 시스템의 제한 파라미터를 모니터링하는 하나 이상의 센서를 포함할 수 있다. 상기 프로세서는 상기 제한 파라미터에 기초하여, 상기 시스템이 제2 주파수 및 상기 제1 전압보다 낮은 제2 전압에서 동작하는 동안에, 상기 시스템을, 상기 프로세서에 의해 어떠한 명령어도 실행되지 않는 정지 상태로 강제하도록 구성될 수 있다. 상기 메모리는 상기 시스템을 언제, 어떻게 정지 상태로 강제할지에 대한 정보를 저장할 수 있다. 일 실시예에서, 상기 프로세서는 상기 시스템을 정지 상태로 강제하는 레이트를 결정하도록 더 구성될 수 있다. 일 실시예에서, 상기 프로세서는, 상기 제1 전압이 최소 전압이고, 상기 제한 파라미터가 제한 파라미터 임계치보다 큰 경우에, 상기 시스템을 정지 상태로 강제하도록 더 구성될 수 있다. 일 실시예에서, 상기 프로세서는, 상기 시스템이 최소 전압에서 동작하지 않고, 상기 제한 파라미터가 제한 파라미터 임계치보다 큰 경우에, 상기 시스템의 동작 포인트를 감소시키도록 더 구성될 수 있다.
일 실시예에서, 상기 프로세서는 상기 제한 파라미터에 기초하여, 상기 제1 주파수 및 상기 제1 전압에서 동작하는 상기 시스템에 대한 정지 상태의 백분율을 결정하도록 더 구성된다.
적어도 일부 실시예에서, 데이터 처리 시스템으로 하여금, 제1 주파수 및 제1 전압에서 동작하는 상기 시스템의 제한 파라미터를 모니터링하는 동작; 상기 제한 파라미터의 모니터링에 기초하여, 상기 시스템이 제2 주파수 및 상기 제1 전압보다 낮은 제2 전압에서 동작하는 동안에 상기 시스템을 정지 상태로 강제하는 동작을 포함하는 동작들을 수행하게 하는 실행 가능한 프로그램 명령어들을 포함하는 기계 판독 가능 매체가 설명된다.
일 실시예에서, 상기 기계 판독 가능 매체는 상기 데이터 처리 시스템으로 하여금 상기 시스템을 정지 상태로 강제하는 레이트를 결정하게 하는 명령어들을 더 포함한다. 일 실시예에서, 상기 기계 판독 매체는 상기 데이터 처리 시스템으로 하여금, 상기 제1 전압이 최소 전압이고, 상기 제한 파라미터가 제한 파라미터 임계치보다 큰 경우에, 상기 시스템을 정지 상태로 강제하게 하는 명령어들을 더 포함한다.
일 실시예에서, 상기 기계 판독 가능 매체는 상기 데이터 처리 시스템으로 하여금, 상기 시스템이 최소 전압에서 동작하지 않고, 상기 제한 파라미터가 제한 파라미터 임계치보다 큰 경우에, 상기 시스템의 동작 포인트(예를 들어, 전압, 주파수 또는 이들의 임의 조합)를 감소시키게 하는 명령어들을 더 포함한다.
일 실시예에서, 상기 기계 판독 가능 매체는 상기 데이터 처리 시스템으로 하여금, 상기 제한 파라미터에 기초하여, 상기 제1 주파수 및 상기 제1 전압에서 동작하는 상기 시스템에 대한 정지 상태의 백분율을 결정하게 하는 명령어들을 더 포함한다.
적어도 일부 실시예에서, 데이터 처리 시스템으로서, 제1 주파수 및 제1 전압에서 동작하는 상기 시스템의 제한 파라미터를 모니터링하기 위한 수단; 및 상기 제한 파라미터의 모니터링에 기초하여, 상기 시스템이 제2 주파수 및 상기 제1 전압보다 낮은 제2 전압에서 동작하는 동안에 상기 시스템을 정지 상태로 강제하기 위한 수단을 포함하는 데이터 처리 시스템이 설명된다. 일 실시예에서, 상기 데이터 처리 시스템은 상기 제1 전압이 최소 전압이고, 상기 제한 파라미터가 제한 파라미터 임계치보다 큰 경우에 상기 시스템을 정지 상태로 강제하기 위한 수단을 더 포함한다. 일 실시예에서, 상기 데이터 처리 시스템은 상기 제한 파라미터에 기초하여, 상기 제1 주파수 및 상기 제1 전압에서 동작하는 상기 시스템에 대한 정지 상태의 백분율을 결정하기 위한 수단을 더 포함한다.
본 발명의 다른 특징들은 첨부 도면들로부터 그리고 이어지는 상세한 설명으로부터 명백할 것이다.
본 발명은 동일 참조 부호들이 유사한 요소들을 지시하는 첨부 도면들에 한정이 아니라 예시적으로 도시된다.
도 1a는 강제 정지 상태를 제공하는 데 사용될 수 있는 통상적인 컴퓨터 시스템의 일례를 나타내는 도면이다.
도 1b는 강제 정지 상태를 제공하기 위한 시스템의 다른 실시예를 나타내는 도면이다.
도 2는 강제 정지 상태를 제공하는 시스템의 일 실시예를 나타내는 도면이다.
도 3a는 데이터 처리 시스템의 전력 동작 포인트들의 일 실시예를 나타내는 도면이다.
도 3b는 누설 전력의 전원 전압에 대한 의존성을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따라, 데이터 처리 시스템이 계속 동작하는 동안에 시스템을 정지 상태로 강제하는 것을 나타내는 도면이다.
도 5a는 본 발명의 일 실시예에 따라, 데이터 처리 시스템이 계속 동작하는 동안에 시스템을 정지 상태로 강제하는 것을 나타내는 도면이다.
도 5b는 본 발명의 다른 실시예에 따라, 데이터 처리 시스템이 계속 동작하는 동안에 시스템을 정지 상태로 강제하는 것을 나타내는 도면이다.
도 6은 정지 상태에 대한 정보를 포함하는 테이블의 일 실시예를 나타내는 도면이다.
도 7은 데이터 처리 시스템을 정지 상태로 강제하기 위한 방법의 일 실시예의 흐름도이다.
도 8은 데이터 처리 시스템을 정지 상태로 강제하기 위한 방법의 일 실시예의 흐름도이다.
도 9는 제한 파라미터에 기초하여 데이터 처리 시스템을 정지 상태로 강제하기 위한 방법의 일 실시예의 흐름도이다.
도 10은 여기에 설명되는 소정 실시예들에서 이용될 수 있는 전력 사용 예산을 동적으로 결정하기 위한 방법을 나타내는 도면이다.
도 11은 여기에 설명되는 소정 실시예들에서 이용될 수 있는 전력 사용의 시나리오를 나타내는 도면이다.
도 12는 데이터 처리 시스템의 전력을 타겟 전력으로 관리하기 위한 방법의 일 실시예의 흐름도이다.
도 13은 강제 정지 없이 동작 전력을 증가시키기 위한 방법의 일 실시예의 흐름도이다.
도 14는 강제 정지를 포함하는 동작 전력 포인트를 증가시키기 위한 방법(1400)의 일 실시예의 흐름도이다.
도 15는 강제 정지 없이 동작 전력 포인트를 감소시키기 위한 방법의 일 실시예의 흐름도이다.
도 16은 강제 정지를 포함하는 동작 전력 포인트를 감소시키기 위한 방법의 일 실시예의 흐름도이다.
도 17은 데이터 처리 시스템에 대한 강제 정지 상태를 제공하기 위한 방법의 일 실시예의 흐름도이다.
도 18은 강제 정지 상태로부터 스위칭하기 위한 방법의 일 실시예의 흐름도이다.
도 19는 강제 정지 상태를 제공하기 위한 방법의 일 실시예의 흐름도이다.
본 발명의 다양한 실시예들 및 양태들은 후술하는 상세들과 관련하여 설명되며, 첨부 도면들은 다양한 실시예들을 도시할 것이다. 아래의 설명 및 도면들은 본 발명을 예시하며, 본 발명을 한정하는 것으로 해석되지 않아야 한다. 본 발명의 다양한 실시예들의 충분한 이해를 제공하기 위해 다양한 특정 상세들이 설명된다. 그러나, 본 발명의 실시예들은 그러한 특정 상세들 없이도 실시될 수 있다는 것은 이 분야의 기술자에게 명백할 것이다. 다른 예들에서, 공지된 구조들 및 장치들은 본 발명의 실시예들을 불명확하게 하지 않기 위해 상세히 도시되는 것이 아니라 블록도 형태로 도시된다.
본 명세서에서 "하나의 실시예" 또는 "일 실시예"에 대한 언급은 그 실시예와 관련하여 설명되는 특정 특징, 구조 또는 특성이 본 발명의 적어도 일 실시예에 포함된다는 것을 의미한다. 본 명세서의 다양한 곳에서의 "일 실시예에서"라는 문구의 출현은 반드시 동일 실시예를 지칭하지는 않는다.
구체적으로 달리 언급되지 않는 한, 본 설명의 전반에서 "처리" 또는 "컴퓨팅" 또는 "계산" 또는 "결정" 또는 "표시" 등과 같은 용어들을 사용하는 설명들은 컴퓨터 시스템의 레지스터들 및 메모리들 내에 물리적인(전자적인) 양들로서 표현되는 데이터를 조작하여, 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 그러한 정보 저장, 전송 또는 표시 장치들 내에 물리적인 양들로서 유사하게 표현되는 다른 데이터로 변환하는 데이터 처리 시스템 또는 유사한 전자 컴퓨팅 장치의 액션 및 프로세스들을 지칭한다는 것을 이해한다.
본 발명의 실시예들은 여기에 설명되는 동작들 중 하나 이상을 수행하기 위한 장치와 관련될 수 있다. 이 장치는 필요한 목적들을 위해 특별히 구성될 수 있거나, 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 구동되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 그러한 컴퓨터 프로그램은 플로피 디스크, 광 디스크, CD-ROM 및 광자기 디스크를 포함하는 임의 타입의 디스크, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 소거 및 프로그래밍 가능한 ROM(EPROM), 전기적으로 소거 및 프로그래밍 가능한 ROM(EEPROM), 자기 또는 광학 카드, 또는 전자 명령어들을 저장하는 데 적합하고, 각기 버스에 결합되는 임의 타입의 매체들과 같은, 그러나 이에 한정되지 않는 기계(예를 들어, 컴퓨터) 판독 가능 저장 매체에 저장될 수 있다.
기계 판독 가능 매체는 기계(예컨대, 컴퓨터)에 의해 판독 가능한 형태로 정보를 저장 또는 전송하기 위한 임의의 메커니즘을 포함한다. 예를 들어, 기계 판독 가능 매체는 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 장치, 전기, 광학, 음향 또는 다른 형태의 매체들을 포함한다.
여기에 제공되는 알고리즘들 및 디스플레이들은 임의의 특정 컴퓨터 또는 다른 장치와 본질적으로 관련되지는 않는다. 다양한 범용 시스템들이 본 명세서에서의 가르침들에 따르는 프로그램들과 더불어 사용될 수 있거나, 필요한 기계 구현 방법 동작들을 수행하도록 더 특수화된 장치를 구성하는 것이 편리한 것으로 입증될 수 있다. 다양한 그러한 시스템들에 대한 필요한 구조는 아래의 설명으로부터 나타날 것이다.
게다가, 본 발명의 실시예들은 임의의 특정 프로그래밍 언어와 관련하여 설명되지 않는다. 다양한 프로그래밍 언어들이 여기에 설명되는 바와 같은 본 발명의 실시예들의 가르침들을 구현하는 데 사용될 수 있다는 것을 알 것이다.
본 발명의 방법들 중 다수는 통상적인 범용 컴퓨터 시스템과 같은 디지털 처리 시스템에 의해 수행될 수 있다. 컴퓨터 시스템은 예를 들어, 캘리포니아, 쿠퍼티노에 위치하는 애플사에 의해 제조되는 엔티티 레벨 Mac miniTM 및 소비자 레벨 iMacTM 데스크탑 모델들, 워크스테이션 레벨 Mac ProTM 타워 및 MacBookTM 및 MacBook ProTM 랩탑 컴퓨터들일 수 있다. 소형 시스템들(예를 들어, 매우 앓은 랩탑 컴퓨터)은 여기에 설명되는 방법들로부터 이익을 얻을 수 있다. 하나의 기능만을 수행하도록 설계 또는 프로그래밍되는 특수 목적 컴퓨터들 또는 셀룰러 전화와 같은 소비자 전자 장치들도 여기에 설명되는 방법들을 수행할 수 있다.
도 1a는 강제 정지 상태를 제공하는 데 사용될 수 있는 통상적인 컴퓨터 시스템의 일례를 나타낸다. 도 1a는 컴퓨터 시스템의 다양한 컴포넌트를 도시하지만, 그러한 상세들은 본 발명과 밀접한 관계가 없으므로, 컴포넌트들을 상호접속하는 임의의 특정 아키텍처 또는 방식을 나타내는 것을 의도하지 않는다는 점에 유의한다. 또한, 더 적은 컴포넌트들 또는 아마도 더 많은 컴포넌트를 갖는 네트워크 컴퓨터들 또는 다른 데이터 처리 시스템들도 본 발명과 더불어 이용될 수 있다는 것을 알 것이다. 도 1a의 컴퓨터 시스템은 예를 들어 Apple Macintosh? 컴퓨터일 수 있다.
도 1a에 도시된 바와 같이, 일 형태의 데이터 처리 시스템인 컴퓨터 시스템(100)은 마이크로프로세서(103), ROM(107), 휘발성 RAM(105) 및 비휘발성 메모리(106)에 결합되는 버스(102)를 포함한다. 예를 들어, 모토롤라사 또는 IBM의 G3, G4 또는 G5 마이크로프로세서 또는 인텔의 마이크로프로세서일 수 있는 마이크로프로세서(103)는 도 1a의 예에 도시된 바와 같이 캐시 메모리(104)에 결합된다. 버스(102)는 이러한 다양한 컴포넌트들을 서로 상호접속하며, 또한, 이러한 컴포넌트들(103, 107, 105, 106)을 디스플레이 제어기 및 디스플레이 장치(108)에 그리고 마우스, 키보드, 모뎀, 네트워크 인터페이스, 프린터, 스캐너, 비디오 카메라 및 이 분야에 공지된 다른 장치들일 수 있는 입출력(I/O) 장치들과 같은 주변 장치들에 상호접속한다. 통상적으로, 입출력 장치들(110)은 입출력 제어기들(109)을 통해 시스템에 결합된다. 휘발성 RAM(105)은 통상적으로 메모리 내의 데이터를 리프레시 또는 유지하기 위해 전력을 계속 필요로 하는 동적 RAM(DRAM)으로서 구현된다. 비휘발성 메모리(106)는 통상적으로 자기 하드 드라이브 또는 자기 광 드라이브 또는 광 드라이브 또는 DVD RAM 또는 시스템으로부터 전력이 제거된 후에도 데이터를 유지하는 다른 타입의 메모리 시스템들이다. 통상적으로, 비휘발성 메모리는 또한, 이것이 필요한 것은 아니지만, 랜덤 액세스 메모리일 것이다. 도 1a는 비휘발성 메모리가 데이터 처리 시스템 내의 컴포넌트들의 나머지에 직접 결합되는 로컬 장치인 것으로 도시하지만, 본 발명은 모뎀 또는 이더넷 인터페이스와 같은 네트워크 인터페이스를 통해 데이터 처리 시스템에 결합되는 네트워크 저장 장치와 같은, 시스템으로부터 떨어진 비휘발성 메모리를 사용할 수 있다는 것을 알 것이다. 버스(102)는 이 분야에 공지된 바와 같이 다양한 브리지, 제어기 및/또는 어댑터를 통해 서로 접속되는 하나 이상의 버스를 포함할 수 있다. 일 실시예에서, I/O 제어기(109)는 유니버설 직렬 버스(USB) 주변 장치들을 제어하기 위한 USB 어댑터 및/또는 IEEE-1394 주변 장치들을 제어하기 위한 IEEE-1394 버스 어댑터를 포함한다.
본 발명의 일 실시예에서는, 성능과 전력 사용을 서로 교환하기 위해 컴포넌트들 중 적어도 일부가 능동적으로 억압될 수 있다. 예컨대, 마이크로프로세서(103)는 상이한 코어 전압 및 주파수 설정들을 가질 수 있다. 일 실시예에서, 시스템(100)은 억압되는 컴포넌트(들) 및 억압되지 않는 컴포넌트(들)를 포함한다. 억압되는 컴포넌트는, 컴포넌트가 기능은 하지만, 상이한 전력/성능 레벨들(동작 설정)에 있는 상이한 억압 설정들을 갖는다. 예를 들어, 프로세서는 상이한 코어 전압들 및 코어 주파수들에서 동작하도록 억압될 수 있고, 디스크 드라이브는 상이한 스핀 레이트로 동작하도록 억압될 수 있고, 버스는 상이한 주파수들로 억압될 수 있으며, 기타 등등이다. 컴포넌트가 성능과 전력 사용을 서로 교환하도록 억압되지 않는 경우, 그 컴포넌트는 억압되지 않는 컴포넌트로서 간주된다. 데이터 처리 시스템의 억압되는 컴포넌트 및 억압되지 않는 컴포넌트는 2005년 8월 25일자로 출원된 미국 특허 출원 제11/212,970호에 더 상세히 설명되어 있으며, 이는 본 명세서에 그 전체가 참고 문헌으로 포함된다.
본 발명의 일 실시예에서, 시스템(100)은 I/O 제어기(들)(109)에 결합되는 전력 사용 센서(들)(111)를 더 포함한다. 센서(들)(111)는 하나 이상의 하드웨어 및/또는 소프트웨어 컴포넌트를 포함할 수 있다. 일 실시예에서, 센서들은 하드웨어를 이용하여 구현된다. 대안으로, 센서들 중 적어도 일부는 소프트웨어를 이용하여 구현될 수 있다. 예를 들어, 본 명세서에 그 전체가 참고 문헌으로 포함되는, 2005년 8월 25일자로 출원된 미국 특허 출원 제11/212,970호, 2006년 1월 5일자로 출원된 미국 특허 출원 제11/327,685호, 2006년 1월 5일자로 출원된 미국 특허 출원 제11/327,275호, 및 2006년 1월 5일자로 출원된 미국 특허 출원 제11/327,238호에 더 상세히 설명된 바와 같이, 소프트웨어 모듈들을 이용하여, 동작 상태들 및 대응 기간들을 결정하여, 동작 상태들에 대한 소정의 전력 소비 레이트로부터 실제 전력 사용을 계산할 수 있다.
후술하는 바와 같이, 하나 이상의 센서를 이용하여, 시스템(100)의 하나 이상의 제한 파라미터를 모니터링할 수 있다. 제한 파라미터들은 예를 들어 시스템(100)에 결합될 수 있는 배터리(도시되지 않음)의 전력, 온도, 전류, 부하 또는 이들의 임의 조합일 수 있다. 시스템의 하나 이상의 제한 파라미터를 모니터링하여, CPU(예를 들어, 마이크로프로세서(103)) 및/또는 그래픽 처리 유닛(GPU)(예를 들어, 디스플레이 제어기(108)의 프로세서)의 전력 사용을 결정할 수 있다. 또한, 하나 이상의 센서는 CPU 및/또는 GPU(도시되지 않음)에 직접 결합될 수 있다.
일 실시예에서는, 실제 전력 사용들이 센서(들)(111)에 의해 모니터링된다. 예를 들어, 실제 전력 사용을 주기적으로 측정하여, 전력 사용의 이력을 결정할 수 있다. 전력 사용의 이력을 이용하여, 소정의 평균 방식으로 전력 사용을 결정할 수 있다. 일 실시예에서는, 본 명세서에 그 전체가 참고 문헌으로 포함되는, 2005년 8월 25일자로 출원된 미국 특허 출원 제11/212,970호에 더 상세히 설명된 바와 같이, 시스템은 과거의 전력 사용의 지식을 이용하여, 다음 기간 동안에 허용 가능한 전력 예산을 동적으로 결정할 수 있다.
본 발명의 일 실시예에서, 마이크로프로세서(103)는 캐시(104), ROM(107), RAM(105) 및/또는 비휘발성 메모리(106)에 저장된 명령어들에 따라, 아래에 더 상세히 설명하는 바와 같이, 전력 사용의 예산을 동적으로 설정하며, 시스템(100)을 정지 상태로 강제한다. 대안으로서, 시스템(100)은 아래에 더 상세히 설명되는 바와 같이 캐시(104), ROM(107), RAM(105), 비휘발성 메모리(106) 또는 이들의 임의 조합에 저장된 정보에 기초하여 전력 사용의 예산을 동적으로 설정하고, 시스템을 언제, 어떻게 강제 정지 상태에 들어가도록 강제할지를 결정하기 위한 마이크로컨트롤러(도시되지 않음)를 더 포함한다. 일 실시예에서, 데이터 처리 시스템(100)은 다수의 중앙 처리 유닛(CPU)/마이크로프로세서를 포함할 수 있다.
본 발명의 양태들은 적어도 부분적으로 소프트웨어로 구현될 수 있다는 것이 본 설명으로부터 명백할 것이다. 즉, 본 기술들은 컴퓨터 시스템 또는 다른 데이터 처리 시스템에서 마이크로프로세서 또는 마이크로컨트롤러와 같은 그의 프로세서가 ROM(107), 휘발성 RAM(105), 비휘발성 메모리(106), 캐시(104) 또는 다른 저장 장치들 또는 원격 저장 장치와 같은 메모리 내에 포함된 명령어들의 시퀀스들을 실행하는 것에 응답하여 수행될 수 있다. 다양한 실시예에서, 본 발명을 구현하기 위해 하드와이어드 회로가 소프트웨어 명령어들과 연계하여 사용될 수 있다. 따라서, 본 기술들은 하드웨어 회로 및 소프트웨어의 어떠한 특정 조합으로도, 데이터 처리 시스템에 의해 실행되는 명령어들에 대한 어떠한 특정 소스로도 한정되지 않는다. 게다가, 본 설명의 전반에서, 다양한 기능들 및 동작들은 설명의 간략화를 위해 소프트웨어 코드에 의해 수행되거나 유발되는 것으로서 설명된다. 그러나, 이 분야의 기술자들은 그러한 표현들이 의미하는 것이 그러한 기능들이 마이크로프로세서(103) 또는 마이크로컨트롤러와 같은 프로세서에 의한 코드의 실행으로부터 발생한다는 것이라는 것을 인식할 것이다.
기계 판독 가능 매체는, 데이터 처리 시스템에 의해 실행될 때, 시스템으로 하여금 본 발명의 다양한 방법을 수행하게 하는 소프트웨어 및 데이터를 저장하는 데 사용될 수 있다. 이러한 실행 가능 소프트웨어 및 데이터는 예를 들어 도 1a에 도시된 바와 같은 ROM(107), 휘발성 RAM(105), 비휘발성 메모리(106) 및/또는 캐시(104)를 포함하는 다양한 장소에 저장될 수 있다. 이러한 소프트웨어 및/또는 데이터의 부분들은 그러한 저장 장치들 중 어느 하나에 저장될 수 있다.
따라서, 기계 판독 가능 매체는 기계(예를 들어, 컴퓨터, 네트워크 장치, 개인용 휴대 단말기, 제조 도구, 하나 이상의 프로세서의 세트를 구비하는 임의의 장치 등)에 의해 액세스 가능한 형태로 정보를 제공하는(즉, 저장 및/또는 전송하는) 임의의 메커니즘을 포함한다. 예를 들어, 기계 판독 가능 매체는 기록 가능/기록 불가 매체들(예컨대, ROM, RAM, 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 장치 등)을 포함한다.
본 발명의 방법들은 기계 판독 가능 매체에 저장된 프로그램 명령어들의 제어하에 전용 하드웨어(예컨대, 필드 프로그래머블 게이트 어레이 또는 주문형 집적 회로) 또는 공유 회로(예컨대, 마이크로프로세서 또는 마이크로컨트롤러)를 이용하여 구현될 수 있다. 본 발명의 방법들은 또한 도 1a의 시스템(100)과 같은 데이터 처리 시스템 상에서 실행하기 위한 컴퓨터 명령어들로서 구현될 수 있다.
도 1b는 강제 정지 상태를 제공하기 위한 시스템(120)의 다른 실시예를 나타낸다. 시스템(120)은 복수의 서브시스템을 구비한다. 일 실시예에서, 복수의 서브시스템은 프로세서, 예를 들어 CPU, GPU, 마이크로컨트롤러 등을 포함한다. 도 1b에 도시된 바와 같이, 시스템(120)은 서브시스템(121), 예컨대 CPU, 서브시스템(122), 예컨대 디스플레이 장치에 결합될 수 있는 GPU, 및 하나 이상의 서브시스템(129), 예컨대 하나 이상의 I/O 장치에 결합되는 하나 이상의 I/O 제어기 및 버스(126)에 결합되는 마이크로컨트롤러(127)를 포함한다. 또한, 시스템(120)은 휘발성 RAM(124), 비휘발성 메모리(130), 예를 들어 하드 드라이브, ROM(123), 및 버스(126)에 결합되는 서브시스템(121)에 결합되는 캐시 메모리(125)를 포함한다.
서브시스템들 각각의 적어도 서브세트에 의해 사용되는 전력은 예를 들어 마이크로컨트롤러(127)와 같은 마이크로컨트롤러에 의해 제어되며, 서브시스템들 각각에 의해 사용되는 최대 전력은 본 명세서에 그 전체가 참고 문헌으로 포함되는, 2005년 8월 25일자로 출원된 미국 특허 출원 제11/212,970호에 더 상세히 설명된 바와 같이 평균 기간 동안의 전체 시스템의 동적 전력 이력에 의해 결정된다. 그러한 전력 제어는 적어도 소정 환경들에서 더 높은 성능의 동작을 가능하게 한다. 즉, 서브시스템들은 본 명세서에 그 전체가 참고 문헌으로 포함되는, 2005년 8월 25일자로 출원된 미국 특허 출원 제11/212,970호에 더 상세히 설명된 바와 같이 평균 기간 동안 상당한 저전력 동작, 예를 들어 정지 시간이 존재하는 경우에 상당히 높은 전력의 버스트들에서 동작할 수 있다.
일 실시예에서, 시스템의 전력은 본 명세서에 그 전체가 참고 문헌으로 포함되는, 2006년 1월 5일자로 출원된 미국 특허 출원 제11/327,685호, 2006년 1월 5일자로 출원된 미국 특허 출원 제11/327,275호 및 2006년 1월 5일자로 출원된 미국 특허 출원 제11/327,238호에 더 상세히 설명된 바와 같이 부하 프로파일에 기초하여 서브시스템들 사이에 재분배된다.
도 1b에 도시된 바와 같이, 하나 이상의 센서(128)가 서브시스템들(121, 122, 129) 및 마이크로컨트롤러(127)에 결합된다. 센서들은 전력, 온도, 전류, 배터리 부하 또는 이들의 임의 조합과 같은 하나 이상의 제한 파라미터를 모니터링, 측정 및/또는 추정하여, 소정 주파수 및 소정 전압에서 동작하는 서브시스템들 중 하나 이상에 의한 실제 전력 사용을 결정하는 데 사용될 수 있다. 이어서, 센서들(128)은 결정된 전력 사용 값들을 마이크로컨트롤러(127)에 제공할 수 있으며, 마이크로컨트롤러는 아래에 더 상세히 설명하는 바와 같이 하나 이상의 감지된 파라미터에 기초하여 시스템 및/또는 서브시스템을 정지 상태로 강제할 수 있다. 프로세서, 마이크로컨트롤러, 버스, I/O 제어기, I/O 장치, 메모리, 센서를 포함하는 시스템(120)의 컴포넌트들은 도 1a에 관련하여 위에서 상세히 설명되었다. 일 실시예에서, 아래에 더 상세히 설명하는 바와 같이, 시스템 및/또는 서브시스템을 언제, 어떻게 정지 상태로 강제할지에 대한 정보를 포함하는 하나 이상의 탐색 테이블이 메모리들(126, 124, 125) 중 어느 하나에 또는 마이크로컨트롤러(127) 내의 메모리에 저장된다. 일 실시예에서, 마이크로컨트롤러(127)는 도 4-19와 관련하여 후술하는 방법들을 수행한다. 다른 실시예에서는, 마이크로컨트롤러(127)가 아니라, 서브시스템(121)이 도 4-19와 관련하여 후술하는 방법들을 수행한다. 또 다른 실시예에서는, 서브시스템(121) 및 마이크로컨트롤러(127)가 함께 도 4-19와 관련하여 후술하는 방법들을 수행한다.
도 2는 강제 정지 상태를 제공하는 시스템의 일 실시예를 나타낸다. 도 2에 도시된 바와 같이, 시스템(200)은 서브시스템 A(201), 예를 들어 CPU, 서브시스템 B(202), 예를 들어 디스플레이 장치에 결합되는 GPU, 서브시스템 C(204), 예를 들어 메모리, 서브시스템 D(205), 예를 들어 마이크로프로세서, 및 하나 이상의 서브시스템 N(203), 예를 들어 하나 이상의 I/O 장치에 결합되는 하나 이상의 I/O 제어기, 전력 관리자(208), 예를 들어 마이크로컨트롤러, 상호접속부(206), 예를 들어 버스에 결합되는 시스템 관리 제어기("SMC")를 포함한다. 서브시스템 C(204)는 휘발성 RAM, 비휘발성 메모리, 예를 들어 하드 드라이브 및/또는 ROM일 수 있다. 도 2에 도시된 바와 같이, 하나 이상의 측정 장치(207), 예를 들어 도 1a 및 1b와 관련하여 전술한 바와 같은 하나 이상의 센서가 서브시스템들(201-205) 및 전력 관리자(208)에 결합된다. 도 4-19와 관련하여 후술하는 바와 같이, 어떻게, 언제 강제 정지 상태에 들어갈지에 대한 정보를 포함하는 하나 이상의 탐색 테이블을 포함할 수 있는 전력 탐색 테이블(209)이 도 2에 도시된 바와 같이 전력 관리자(208)에 결합된다. 프로세서, 마이크로컨트롤러, 버스, I/O 제어기, I/O 장치, 메모리, 센서를 포함하는 시스템(200)의 컴포넌트들은 도 1a 및 1b와 관련하여 위에서 상세히 설명되었다. 일 실시예에서, 컴퓨터 시스템의 다양한 성능 설정들에 대응하는 하나 이상의 전력 탐색 테이블이 서브시스템(201)에 의해 생성되고(또는 설계 및/또는 제조 프로세스에서 테스트 장비에 의해 생성되고), 메모리(204)에 그리고/또는 전력 관리자(208) 내에 위치하는 메모리에 저장될 수 있다. 컴퓨터 시스템의 다양한 성능 설정들을 포함하는 하나 이상의 전력 탐색 테이블은 본 명세서에 그 전체가 참고 문헌으로 포함되는, 2005년 8월 25일자로 출원된 미국 특허 출원 제11/212,970호, 2006년 1월 5일자로 출원된 미국 특허 출원 제11/327,685호, 2006년 1월 5일자로 출원된 미국 특허 출원 제11/327,275호, 및 2006년 1월 5일자로 출원된 미국 특허 출원 제11/327,238호에 더 상세히 설명된 바와 같이 사용될 수 있다. 일 실시예에서, 전력 관리자(208)는 도 4-19와 관련하여 후술하는 방법들을 수행한다. 다른 실시예에서, 서브시스템(201)은 도 4-19와 관련하여 후술하는 방법들을 수행한다.
도 3a는 데이터 처리 시스템의 전력 동작 포인트들의 일 실시예를 나타내는 도면이다. 예컨대, 데이터 처리 시스템은 도 1a, 1b 및 2에 도시된 바와 같은 임의의 데이터 처리 시스템일 수 있다. 도 3a에 도시된 바와 같이, 전력 동작 포인트들(301-304)과 같은 데이터 처리 시스템의 전력 동작 포인트는 데이터 처리 시스템의 동작 주파수 및 전압의 쌍에 대응한다. 동작 주파수 및 전압은 예를 들어 데이터 처리 시스템의 마이크로프로세서의 코어 전압 및 주파수일 수 있다. 도 3a에 도시된 바와 같이, 동작 포인트 PH(302)와 같은 최고 전력 동작 포인트는 데이터 처리 시스템에 의해 소비되는 최고 전력을 나타낸다. 데이터 처리 시스템에 의해 소비되는 최고 전력은 전력, 온도, 전류, 배터리 부하 등과 같은 하나 이상의 시스템 제한 파라미터에 기초하여 결정될 수 있다. 최고 전력 동작 포인트 PH(302)는 최고 동작 주파수(fH) 및 전압(VH)의 쌍에 대응할 수 있다. 도 3a에 도시된 바와 같이, 동작 포인트 PN(303)과 같은 중간 전력 동작 포인트들은 데이터 처리 시스템에 의해 소비되는 중간 전력을 나타낸다. 중간 전력 동작 포인트 PN(303)은 중간 동작 주파수(fN) 및 전압(VN)의 쌍에 대응한다. 통상적으로, 데이터 처리 시스템의 전력이 최소(최저) 동작 전압(VL)에 의해 정의되는 것의 아래인 전력 상태로 감소되는 것이 필요한 경우에, 데이터 처리 시스템의 동작 주파수가 감소될 수 있다. 데이터 처리 시스템의 동작 주파수(fN)는 비율 X에 의해 감소될 수 있으며, 여기서 X는 1보다 작다. 일례로, 회로의 동작 주파수(fN)가 그의 최저 전압에서 1GHz인 경우, X=20%에 의한 감소는 동작 주파수를 800MHz로 변경한다(제1 예). 이것은 동적 전력을 20% 줄이는 실제 효과를 갖지만, 누설 전력에는 영향을 미치지 않는다.
데이터 처리 시스템의 최소의 전력 효율적인 동작 포인트는 최저 전압, 및 데이터 처리 시스템이 최저 전압에서 동작할 때 설계된 대로 계속 거동하는 최고 주파수에 의해 결정된다. 최저(최소) 동작 전압(VL) 및 대응 최고(최대) 동작 주파수(FL)에 대응하는 동작 포인트 PL(301)과 같은 그러한 최소의 전력 효율적인 동작 포인트는 통상적으로 저주파 모드("LFM")로서 지칭된다. 통상적으로, 최저 동작 전압(VL)은 수백 밀리볼트보다 크지 않다. 통상적으로, 데이터 처리 시스템은 관리 가능한 전력을 PL(301)과 같은 최소 전력 동작 포인트까지만 줄일 수 있는데, 그 이유는 데이터 처리 시스템이 그 포인트 아래의 실제 동작 포인트를 갖지 않기 때문이며, 데이터 처리 시스템은 이미 최소 전압에 있으므로, 그의 유일한 대안은 동작 주파수를 낮추는 것인데, 이는 덜 효율적이고, 기능하지 못할 수도 있다.
통상적으로, 데이터 처리 시스템이 수행할 작업을 갖지 않을 때 전력을 절약하기 위하여, 데이터 처리 시스템은 클럭을 완전히 정지시킨다(0의 주파수). 이것은 동적 전력을 0으로 줄이는 효과를 갖는다. 클럭을 정지시키는 것에 더하여, 데이터 처리 시스템은 감소된 전력 레벨로 이동할 수 있다. 이것은 누설 전력(Pleak)과 전원 전압 사이의 관계를 나타내는 도 3b에 도시된 바와 같이 누설 전력을 기하급수적으로 줄이는 효과를 갖는다. 이러한 동작 포인트는 통상적으로 정지 상태로 지칭된다.
여기에 설명되는 적어도 소정의 실시예들은, 적어도 소정 실시예들에서 아래에 더 설명되는 도 18 및 19에 도시된 바와 같은 실제 정지 시간과 타겟 정지 시간 사이의 비교에 기초하여 (실행되기를 기다리는 소프트웨어 명령어들과 같이, 수행할 작업들이 존재하는 경우에도) 정지 상태를 강제하는 지능적으로 결정된 강제 정지를 이용함으로써 시스템이 (PL(301)과 같은) 최소 전력 동작 포인트 아래에서 동작하는 것을 가능하게 하며, 이러한 강제 정지가 지능적인 이유는 비교가 정지 상태가 (예를 들어, 이미 충분한 정지 시간이 있었던 경우에) 강제되지 않아야 한다는 것을 나타내는 시간들이 존재할 수 있기 때문이다.
일 실시예에서, 최소 전력 동작 포인트에서 데이터 처리 시스템의 동작을 계속함으로써, 그리고 동작 시간(예를 들어, 클럭의 주기)의 소정 백분율(예를 들어, 20%) 동안 데이터 처리 시스템을 정지 상태로 강제함으로써, 최소 전력 동작 포인트 아래의 추가적인 동작 포인트들이 생성된다. 20%의 강제 정지(시스템이 정지 상태로 강제되는 시간의 20%)를 갖는 최소 동작 포인트의 유효 전력은 최소 동작 포인트의 전력의 0.8배 + 정지 상태의 전력의 0.2배이다. 정지 상태의 전력은 매우 낮으므로, 지능적으로 결정된 강제 정지를 갖는 이러한 새로운 동작 포인트는 최소 동작 포인트보다 낮은 전력을 갖는 포인트를 나타낸다.
일 실시예에서, 강제 정지 상태는 데이터 처리 시스템의 임의의 전력 동작 포인트에서 제공된다. 예를 들어, 강제 정지 상태는 임의의 전력 동작 포인트(301, 302, 303)에서 제공될 수 있으며, 이러한 강제 정지 상태들은 소정 실시예들에서 유용할 수 있는 중간 포인트들을 생성한다.
강제 정지 스킴을 구현함에 있어서 많은 중요한 고려 사항들이 존재한다. 일부 소프트웨어 작업들(예를 들어, 다중 매체 재생)은 실시간 응답을 필요로 하며, 지연이 허용되지 않는다. 많은 하드웨어 장치들은 그들의 소프트웨어 드라이버가 일정한 레이턴시 내에서 그들에 응답할 것을 요구하거나, 부정확한 동작이 유발될 수 있다. 일부 소프트웨어 스레드들, 예를 들어 실시간 작업들, 인터럽트들은 강제 정지되어서는 안 된다. 강제 정지의 적절한 구현은 (구현되는 시스템의 요구에 의존하는 요구는 아니지만) 그러한 문제들을 고려하는 것이 필요하다. 일 실시예에서, 운영 체제(OS) 커널은 예를 들어 어느 스레드들이 연기될 수 있는지 그리고 강제 정지 설정에 관계없이 즉석 동작을 필요로 하는지에 대한 추적을 유지한다. 이러한 커널은 장기 평균 강제 정지 백분율이 실시간 스레드들의 존재하에 유지되는 것을 보증하는 것을 책임진다. 일 실시예에서, 커널 내의 스케쥴러는 데이터 처리 시스템 상에서 실행되는 모든 프로세스들/스레드들에 대해 강제 정지를 수행한다. 일 실시예에서, 운영 체제("OS") 스케쥴러 메커니즘들은 강제 정지를 제공하는 데 사용된다.
도 4는 본 발명의 일 실시예에 따라 데이터 처리 시스템이 계속 동작하는 동안에 시스템을 정지 상태로 강제하는 것을 나타내는 도면이다. 도 4에 도시된 바와 같이, 데이터 처리 시스템은 시간 T3(401)과 같은 동작 시간의 일부 T2(403)와 같은 제1 부분에 정지 상태 S2(406)에 들어가도록 강제되는 반면, 시간 T3(401)과 같은 동작 시간의 일부 T1(402)과 같은 제2 부분에 완전(예를 들어, 100%) 동작 상태 S1(407)로 계속 동작한다. 일 실시예에서, 데이터 처리 시스템은 대응하는 동작 전압에 대해 허가되는 임의의 동작 주파수에서 상태 S1(407)에서 계속 동작한다. 일 실시예에서, 데이터 처리 시스템은 최저 전압에서 허가되는 최대 주파수에서 동작 상태 S1(407)에서 계속 동작하는 동안 정지 상태에 들어가도록 강제된다. 도 4에 도시된 바와 같이, 데이터 처리 시스템은 시간들 t1, t2, t3 및 t4에서 정지 상태에 들어가도록 강제된다.
도 5a는 본 발명의 일 실시예에 따라 데이터 처리 시스템이 계속 동작하는 동안에 시스템을 정지 상태로 강제하는 것을 나타내는 도면이다. 도 5a에 도시된 바와 같이, 시스템은 시간 T1(506)의 일부(504)와 같은 시간의 일부 동안에 정지 상태로 강제되는 반면, 하나 이상의 제한 파라미터에 기초하는 소정의 동작 주파수 및 전압에서 시간 T1의 일부(502)와 같은 시간의 다른 부분 동안에 계속 동작한다. 일 실시예에서, 시간 T1은 데이터 처리 시스템의 클럭 주기(예를 들어, T~1/f)이다. 일 실시예에서, 정지 상태는 시스템이 명령어들을 실행하는 것을 방지한다. 일 실시예에서, 클럭은 시스템이 정지 상태에 있을 때 정지된다(동작 주파수는 0이다). 도 5a에 도시된 바와 같이, 시스템을 정지 상태로 강제하기 위한 변조의 레이트는 일정하게 유지되며, 따라서 시스템이 정지 상태에서 소비하는 시간의 부분 및 시스템이 완전 동작 상태에서 소비하는 시간의 부분은 실질적으로 동일하게 유지된다.
도 5b는 본 발명의 다른 실시예에 따라 데이터 처리 시스템이 계속 동작하는 동안에 시스템을 정지 상태로 강제하는 것을 나타내는 도면이다. 도 5b에 도시된 바와 같이, 시스템이 강제 정지 상태에 있는 동안, 시간 t1에 인터럽트 1(508)이 수신된다. 시스템은 도 5b에 도시된 바와 같이 인터럽트 1에 응답하여 소정 주파수 및 전압에서 완전(예를 들어, 100%) 동작 상태로 동작하도록 다시 스위칭된다. 일 실시예에서, 인터럽트에 응답하여 정지 상태에서 완전 동작 상태로 스위칭하는 것은 아래에 더 상세히 설명되는 바와 같이 실제 정지 시간 및 타겟 정지 시간에 기초하여 수행된다. 인터럽트 1을 서빙한 후에, 시스템은 강제 정지 상태로 다시 스위칭된다. 도 5b에 도시된 바와 같이, 시스템은 정지 시간(512) 동안 강제 정지 상태로 유지될 수 있다. 일 실시예에서, 정지 시간(512)은 시스템 제한 파라미터들에 기초하여 그리고 시스템이 인터럽트 1(시간 510)을 서빙하는 완전 동작 상태에서 얼마나 많은 시간을 소비했는지에 기초하여 결정될 수 있다. 도 5b에 도시된 바와 같이, 시스템이 정지 상태에 있는 동안, 시간 t2에 인터럽트 2가 수신된다. 시스템은 인터럽트 2에 응답하여 완전(예컨대, 100%) 동작 상태로 동작하도록 다시 스위칭된다. 시스템은 도 5b에 도시된 바와 같이 시간(518) 동안 완전 동작 상태로 유지될 수 있다. 일 실시예에서, 시간(518)은 시스템 제한 파라미터들 및 누적 정지 시간의 양에 기초하여 결정된다. 일 실시예에서, 누적 정지 시간은 데이터 처리 시스템의 하나 이상의 클럭 주기에 걸쳐 결정된다. 도 5b에 도시된 바와 같이, 인터럽트를 서빙한 후에, 시스템은 시간(520) 동안 정지 상태로 다시 강제되며, 이어서 후술하는 바와 같이 시스템 제한 파라미터들 및 누적 정지 시간에 의해 결정될 수 있는 시간(522) 동안 완전 동작 상태로 동작하도록 스위칭된다. 즉, 시스템은 시스템의 응답성에 매우 중요한 열/전력 제한들에 기초하여 강제 정지 상태 동안 임의 시간에 높은 우선 순위의 작업들을 수행하기 위해 인터럽트를 서빙하는 것이 허가된다.
또 하나의 중요한 고려 사항은 강제 정지의 변조 레이트, 및 데이터 처리 시스템이 연속적인 강제 정지 상태에서 소비할 수 있는 최대 시간이다. (예를 들어, 계산을 수행하기 위한) 명령어들의 실행을 인에이블 및 디스에이블하기 위한 변조의 레이트가 너무 빠른 경우, 상당한 전력 및 계산 에너지가 강제 정지 루프의 부담을 관리하는 데 소비될 것이다. 명령어들의 실행을 인에이블 및 디스에이블하기 위한 변조의 레이트가 너무 느린 경우, 더 높은 정지 백분율은 상당히 긴 강제 정지 기간을 유발할 것이다. 일 실시예에서는, 아래에 더 상세히 설명되는 바와 같이, 더 낮은 백분율의 강제 정지 기간들 모두가 실질적으로 동일한 레이트로 발생하게 하는 제어가 제공된다. 일 실시예에서, 아래에 더 상세히 설명되는 바와 같이, 강제 정지 백분율이 정지 시간이 원하는 최대가 되는 임계치에 도달할 때, 정지 레이트가 증가하기 시작하며, 따라서 최대 정지 시간이 결코 초과되지 않는다.
도 7은 데이터 처리 시스템을 정지 상태로 강제하기 위한 방법(700)의 일 실시예의 흐름도이다. 방법은 제1 주파수 및 제1 전압에서 동작하는 데이터 처리 시스템의 제한 파라미터를 모니터링하는 것을 포함하는 동작(701)에서 시작된다. 제한 파라미터는 데이터 처리 시스템에 의해 소비되는 전력, 데이터 처리 시스템의 온도, 데이더 처리 시스템에 공급되는 전류, 데이터 처리 시스템에 전력을 공급하도록 결합되는 배터리의 부하 등일 수 있다. 제한 파라미터는 전술한 바와 같이 하나 이상의 센서를 이용하여 모니터링되고 측정될 수 있다. 방법(700)은 제한 파라미터에 기초하여, 시스템이 제2 주파수 및 제1 전압과 다른(예를 들어, 더 낮은) 제2 전압에서 계속 동작하는 동안에 시스템을 정지 상태로 강제하는 것을 포함하는 동작(702)으로 계속된다. 일 실시예에서, 데이터 처리 시스템을 정지 상태로 강제하는 것은 명령어들이 시스템에 의해 실행되는 것을 방지하는 것을 포함한다. 일 실시예에서, 시스템이 정지 상태에 있는 기간들은 시스템이 더 높은 성능 레벨로 동작하는 기간들과 산재 및/또는 인터리빙되며, 따라서 시스템에 의해 소비되는 평균 전력은 시스템의 전력 및/또는 열 제한들로부터 결정되는 최대 평균 전력을 초과하지 않는다. 즉, 아래에 더 상세히 설명하는 바와 같이, 사용자들이 그들의 기계에서 무엇이 발생하고 있는지를 알 필요가 없도록 하는 레이트로 강제 정지 상태의 듀티 사이클링이 수행될 수 있다. 일 실시예에서, 강제 정지 상태의 듀티 사이클링은 완전히 주파수 도메인에서 수행된다. 강제 정지 메커니즘은 데이터 처리 시스템의 전력 관리를 도 3a에 도시된 PL(301)과 같은 최소 전력 동작 포인트를 훨씬 넘도록 연장한다.
도 8은 데이터 처리 시스템을 정지 상태로 강제하기 위한 방법(800)의 일 실시예의 흐름도이다. 방법은 제1 주파수 및 제1 전압에서 동작하는 데이터 처리 시스템의 제한 파라미터(예를 들어, 실제 전력, 온도, 전류, 배터리 부하, 유사한 제한 파라미터들 또는 이들의 임의 조합)를 모니터링하는 것을 포함하는 동작(801)에서 시작된다. 방법은 제한 파라미터가 제1 제한 파라미터 임계치보다 큰지를 결정하는 것을 포함하는 동작(802)으로 계속된다. 제한 파라미터 임계치는 데이터 처리 시스템의 사양 전력, 온도, 배터리 부하, 전류와 연관될 수 있다. 제한 파라미터 임계치는 도 1b 및 2에 도시된 서브시스템들과 같은 데이터 처리 시스템의 복수의 서브시스템에 대해 유효한 최악 값일 수 있다. 일 실시예에서, 제한 파라미터 임계치는 예를 들어 다수의 측정된 샘플들의 통계 분포 곡선으로부터 결정되는 최악의 전력, 온도, 전류 또는 배터리 부하 값일 수 있다. 일 실시예에서, 실제 측정된 전력, 온도, 전류, 배터리 부하 또는 이들의 조합과 같은 측정된 제한 파라미터를 제한 파라미터 임계치와 비교하여, 측정된 제한 파라미터가 제1 제한 파라미터 임계치 이상인지를 결정한다. 제한 파라미터가 제1 제한 파라미터 임계치 이상이 아닌 경우, 동작 803에서 제한 파라미터가 제2 제한 파라미터 임계치보다 작은지를 결정한다. 제2 제한 파라미터 임계치는 제1 제한 파라미터 임계치에서 히스테리시스를 뺌으로써 결정될 수 있다. 제한 파라미터가 제2 제한 파라미터 임계치보다 작은 경우, 동작 804에서 동작 포인트(예를 들어, 주파수, 전압)가 증가될 수 있으며, 이어서 방법(800)은 동작 801로 복귀한다. 제한 파라미터가 제2 제한 파라미터 임계치보다 작지 않은 경우, 방법은 동작 801로 복귀한다. 제한 파라미터가 제1 제한 파라미터 임계치 이상인 경우, 동작 806에서 데이터 처리 시스템의 제1 동작 전압 및/또는 제1 동작 주파수가 더 감소될 수 있는지를 결정한다. 이어서, 제1 동작 전압 및/또는 제1 동작 주파수가 감소될 수 있는 것으로 결정되는 경우, 동작 805에서 동작 전력 포인트(예를 들어, 주파수 및/또는 전압)가 감소되며, 이어서 방법(800)은 동작 801로 복귀한다. 예컨대, 도 3a에 도시된 바와 같이, 제1 동작 전압이 VN과 같은 중간 동작 전압에 대응하고, 그리고/또는 제1 동작 주파수가 fN과 같은 중간 동작 주파수에 대응하는 경우, 예를 들어 전압 및/또는 주파수를 최저 동작 주파수 fL 및/또는 전압 VL로 감소시킴으로써 동작 전력 포인트가 아래로 이동될 수 있다. 제1 동작 주파수 및/또는 제1 동작 전압이 감소될 수 없는 것으로 결정되는 경우, 동작 807에서, 제1 동작 주파수 및 제1 동작 전압에서 데이터 처리 시스템의 동작을 계속하는 동안, 데이터 처리 시스템을 정지 상태로 강제하는 것을 수행한다. 일 실시예에서는, 제1 동작 전압이 최소 동작 전압인지를 결정한다. 일 실시예에서, 제1 동작 전압이 최소 전압이고, 모니터링된 실제 제한 파라미터가 제한 파라미터 임계치보다 큰 경우에, 시스템이 정지 상태로 강제된다. 일 실시예에서, 데이터 처리 시스템을 정지 상태로 강제하는 것은 명령어들이 데이터 처리 시스템에 의해 실행되는 것을 방지하는 것을 포함한다. 일 실시예에서, 시스템이 최소 전압에서 동작하지 않고, 모니터링된 실제 제한 파라미터가 제한 파라미터 임계치보다 큰 경우에, 시스템의 동작 포인트(예를 들어, 주파수 및/또는 전압)가 감소된다.
일 실시예에서, 제1 주파수 및 제1 전압에서 동작하는 시스템에 대한 정지 상태의 백분율이 제한 파라미터에 기초하여 결정된다. 예를 들어, 정지 상태의 백분율은 제한 파라미터에 기초하여 감소 또는 증가될 수 있다.
도 9는 제한 파라미터에 기초하여 데이터 처리 시스템을 정지 상태로 강제하는 방법(900)의 일 실시예의 흐름도이다. 방법(900)은 전술한 바와 같이 데이터 처리 시스템의 제한 파라미터(예를 들어, 실제 사용된 전력, 실제 온도, 전류, 배터리 부하 또는 이들의 조합)를 모니터링하는 것을 포함하는 동작(901)에서 시작된다. 동작 902에서, 전술한 바와 같이, 제한 파라미터가 제한 파라미터 임계치 이상인지를 결정한다. 제한 파라미터가 제한 파라미터 임계치 이상인 것으로 결정되는 경우, 동작 904에서, 전체 동작 시간에 대한 강제 정지 상태의 백분율(부분)이 증가된다. 제한 파라미터가 제한 파라미터 임계치 이상이 아닌 것으로 결정되는 경우, 동작 903에서, 강제 정지 상태의 백분율이 옵션으로서 증가될 수 있다.
도 4를 다시 참조하면, 제한 파라미터에 기초하여, 정지 상태의 부분(T2)은 T2 1(405)로 증가되며, 완전 동작 상태의 부분(T1)은 T1 1(404)로 감소된다.
도 6은 정지 상태에 대한 정보를 포함하는 테이블(600)의 일 실시예를 나타낸다. 도 6에 도시된 바와 같이, 테이블(600)은 다음의 열들, 즉 정지 비율, 정지 레이트 및 정지 시간을 포함한다. 일 실시예에서, 더 낮은 백분율(예를 들어, 30%까지)의 강제 정지 기간들 모두는 동일 레이트로 수행된다. 강제 정지 백분율이 정지 상태에서 소비된 시간(정지 시간)이 원하는 최대가 되는 임계치에 도달할 때, 정지 레이트는 증가하기 시작하며, 따라서 최대 정지 시간이 초과되지 않는다. 도 6에 도시된 바와 같이, 정지 비율이 30 이하일 때, 정지 레이트는 상수 값 30000 밀리초로 유지될 수 있으며, 정지 시간은 정지 비율이 증가함에 따라 증가한다. 도 6에 도시된 바와 같이, 정지 비율이 30보다 커지는 경우, 정지 레이트는 증가하는 반면, 정지 시간은 10000 밀리초의 상수 값으로 유지될 수 있다.
도 12는 데이터 처리 시스템의 전력을 타겟 전력으로 관리하기 위한 방법(1220)의 일 실시예의 흐름도이다. 방법(1220)은 1200에서 시작된다. 1201에서, 적분 에러가 0으로 설정되는 초기화가 수행된다("적분 에러 = 0"). 일 실시예에서, 적분 에러는 데이터 처리 시스템의 측정된 전력과 타겟 전력 간의 차이로서 정의된다. 동작 1202에서, 방법(1220)은 데이터 처리 시스템의 전력을 측정하기 위해 다음 샘플 간격을 기다린다. 동작 1203에서, 데이터 처리 시스템의 타겟 전력 및 측정된 전력이 수신된다. 일 실시예에서, 전력은 전술한 바와 같이 하나 이상의 센서를 이용하여 샘플 시간 간격 동안에 측정된다. 데이터 처리 시스템의 타겟 전력은 전술한 바와 같이 데이터 처리 시스템의 하나 이상의 시스템 제한 파라미터 및 원하는 성능에 기초하여 계산된다. 동작 1204에서, 샘플 간격 동안 측정된 전력과 데이터 처리 시스템의 타겟 전력 사이의 차이("에러")가 결정된다. 동작 1205에서, 누적 에러("적분 에러")가 결정된다. 일 실시예에서는, 샘플 간격들에 걸쳐 누적된 적분 에러가 결정된다. 일 실시예에서는, 데이터 처리 시스템의 하나 이상의 클럭 주기에 걸쳐 누적된 적분 에러가 결정된다. 동작 1206에서, 시간(예를 들어, 하나 이상의 클럭 주기 및/또는 데이터 처리 시스템의 샘플 간격들)에 따른 적분 전력("PI")이 결정된다. 일 실시예에서, PI는 아래의 식을 이용하여 에러 및 적분 에러에 제어 시스템 이득 "G 항"을 적용함으로써 계산된다.
[수학식 1]
PI = Gp*에러 + Gi 적분*에러
여기서, Gp는 샘플 간격에 대해 결정된 에러에 대한 가중 팩터와 관련될 수 있으며, Gi는 적분 에러에 대한 가중 팩터와 관련된다. 동작 1207에서, 적분 전력(PI)이 상위 임계치("+임계치")보다 큰지를 결정한다. PI가 상위 임계치보다 큰 경우, 동작 1209에서 동작 전력 포인트가 감소된다. PI가 상위 임계치보다 크지 않은 경우, 동작 1208에서 PI가 하위 임계치보다 작은지를 결정한다. PI가 하위 임계치보다 작은 경우, 동작 1210에서 동작 전력 포인트가 증가된다.
도 15는 강제 정지 없이 동작 전력 포인트를 감소(1501)시키기 위한 방법(1500)의 일 실시예의 흐름도이다. 동작 1502에서, 주파수 및/또는 전압이 최저(최소) 레벨에 있는지를 결정한다. 주파수 및/또는 전압이 최저 레벨에 있지 않은 경우, 동작 1503에서 주파수 및/또는 전압이 감소된다. 주파수 및/또는 전압이 최저 레벨에 있는 경우, 방법(1500)은 1504에서 종료된다. 그러나, 많은 상황에서, 이러한 최저 레벨은 충분하지 않을 수 있으며, 이러한 최저 레벨에서 더 양호한 성능을 얻기 위해 지능적인 강제 정지가 이용될 수 있다.
도 16은 강제 정지를 포함하는 동작 전력 포인트를 감소(1601)시키기 위한 방법(1600)의 일 실시예의 흐름도이다. 동작 1602에서, 주파수 및/또는 전압이 최저 레벨에 있는지를 결정한다. 주파수 및/또는 전압이 최저 레벨에 있지 않은 경우, 동작 1603에서 주파수 및/또는 전압이 감소된다. 주파수 및/또는 전압이 최저 레벨에 있는 경우, 동작 1604에서 강제 정지 백분율이 최대 정지 백분율 레벨에 있는지를 결정한다. 강제 정지 백분율이 최대 정지 백분율 레벨에 있지 않은 경우, 동작 1605에서 강제 정지 백분율이 증가된다. 방법(1600)은 1606에서 종료된다.
도 13은 강제 정지 없이 동작 전력 포인트를 증가(1301)시키기 위한 방법(1300)의 일 실시예의 흐름도이다. 동작 1302에서, 주파수 및/또는 전압이 최고(최대) 레벨에 있는지를 결정한다. 데이터 처리 시스템의 주파수 및/또는 전압이 최대 레벨에 있지 않은 경우, 방법은 데이터 처리 시스템의 주파수 및/또는 전압을 증가시키는 것을 포함하는 동작 1303에서 계속된다. 주파수 및/또는 전압이 최고 레벨에 있는 경우, 방법(1300)은 종료된다.
도 14는 강제 정지를 포함하는 동작 전력 포인트를 증가(1401)시키기 위한 방법(1400)의 일 실시예의 흐름도이다. 동작 1402에서, 강제 정지 백분율이 0%인지를 결정한다. 강제 정지 백분율이 0%가 아닌 경우, 동작 1403에서 강제 정지 백분율이 감소된다. 강제 정지 백분율이 0%인 경우, 동작 1404에서 주파수 및/또는 전압이 최고 레벨에 있는지를 결정한다. 주파수 및/또는 전압이 최고 레벨에 있지 않은 경우, 동작 1405에서 주파수 및/또는 전압이 증가된다. 방법은 1406에서 종료된다.
도 17은 데이터 처리 시스템에 대한 강제 정지 상태를 제공하기 위한 방법(1700)의 일 실시예의 흐름도이다. 도 17에 도시된 바와 같이, 방법(1700)은 전술한 바와 같이 데이터 처리 시스템의 하나 이상의 제한 파라미터를 모니터링하는 것을 포함하는 동작 1701에서 시작된다. 방법은 하나 이상의 제한 파라미터에 기초하여, 시간의 제1 부분 동안 데이터 처리 시스템을 정지 상태로 강제하는 반면, 시간의 제2 부분 동안 시스템이 동작하는 것을 허가하는 것을 포함하는 동작 1702로 계속된다. 이러한 강제는 타겟 정지 시간과 실제 정지 시간 사이의 비교에 응답하는 것이다.
도 18은 강제 정지 상태로부터 스위칭하기 위한 방법(1800)의 일 실시예의 흐름도이다. 방법(1800)은 데이터 처리 시스템의 하나 이상의 제한 파라미터에 기초하여 타겟 강제 정지 시간을 결정하는 것을 포함하는 동작 1801에서 시작된다. 예를 들어, 타겟 강제 정지 시간은 동작 기간(예를 들어, 데이터 처리 시스템의 클럭 주기)과 정지 비율을 곱함으로써 결정될 수 있다. 일 실시예에서, 정지 비율은 전술한 바와 같이 전체 동작 시간에 대한 정지 시간의 부분과 연관된다. 일 실시예에서, 정지 비율은 시스템 전력/열 제한들 및 시스템 성능에 기초하여 결정된다. 방법은 데이터 처리 시스템이 정지 상태에서 소비한 실제 시간(실제 정지 시간)을 모니터링하는 것을 포함하는 동작 1802로 계속된다. 일 실시예에서, 실제 정지 시간은 하나 이상의 센서에 의해 측정되고, 시스템의 메모리에 저장되어, 시스템의 하나 이상의 클럭 주기에 걸쳐 누적된 정지 시간을 제공한다. 일 실시예에서, 누적된 정지 시간은 시스템의 하나 이상의 클럭 주기에 걸쳐 결정된다.
동작 1803에서, 실제 정지 시간에 기초하여 누적 정지 시간이 결정된다. 동작 1804에서, 누적 정지 시간이 타겟 정지 시간 이상인지를 결정한다. 누적 정지 시간이 타겟 정지 시간 이상인 경우, 동작 1805에서, 시스템은 타겟 정지 시간 및 누적 정지 시간에 기초하여 시간의 일부 동안 정지 상태에서 완전 동작 상태로 스위칭하는 것이 허가된다. 일 실시예에서, 시스템은 동작 시간의 일부 동안 동작을 계속하도록 정지 상태로부터 스위칭된다. 일 실시예에서, 정지 상태는 데이터 처리 시스템이 실행을 위해 대기중인 소프트웨어 명령어들을 실행하는 것을 방지한다. 일 실시예에서, 데이터 처리 시스템의 메모리는 하나 이상의 제한 파라미터와 연관된 타겟 정지 시간을 포함하는 하나 이상의 탐색 테이블을 저장한다.
도 19는 강제 정지 상태를 제공하기 위한 방법(1900)의 일 실시예의 흐름도이다. 방법(1900)은 강제 정지 상태를 개시하는 것을 포함하는 1901에서 시작된다. 동작 1902에서, 데이터 처리 시스템이 동작하도록 허가되는 시간과 강제 정지 시간 사이의 비율(동작 비율)이 100보다 작은지를 결정한다. 동작 비율이 100보다 작은 경우, 동작 1903에서 아래의 식을 이용하여 정지 백분율(부분)이 결정된다.
[수학식 2]
max_idle = ((100-동작 비율)*주기)/100
여기서, 주기는 시스템의 클럭 주기 T=1/f를 나타내고, f는 시스템의 주파수이다.
이어서, 동작 1905에서 정지 백분율이 최종 정지("last_idle")보다 큰지를 결정한다. 일 실시예에서, 최종 정지는 이전 시간, 예컨대 시스템의 클럭 주기로부터 결정된다. max_idle이 last_idle보다 큰 경우, 동작 1907에서 아래 식에 따라 최종 정지를 고려함으로써 누적 정지가 계산된다.
[수학식 3]
max_idle = max_idle - last_idle
max_idle이 last_idle보다 크지 않은 경우, 동작 1906에서 max_idle은 0으로 설정된다. 이어서, 방법(1900)은 다음 식에 따라 데이터 처리 시스템이 동작하는 것을 허가하기 위한 기간의 끝을 결정하는 것을 포함하는 동작 1908로 계속된다.
[수학식 4]
period_end = 현재 + 주기
여기서, "현재"는 현재 시간이고, "주기"는 클럭 주기이다.
이어서, 동작 1909에서, 다음 식에 따라 동작 1909에서 타겟 정지 시간("idle_goal")이 결정된다.
[수학식 5]
idle_goal = accumulated_idle + maximum idle
여기서, "accumulated_idle"은 하나 이상의 이전 시간(예를 들어, 클럭 주기)으로부터 누적된 정지 시간의 전체 양이고, "maximum idle"은 가장 최근의 정지 시간이다.
또한, 동작 1910에서, 누적 정지 시간이 idle_goal보다 작은지를 결정한다. 누적 정지 시간이 idle_goal보다 작은 경우, 동작 1914에서 높은 우선 순위의 스레드들만이 실행되는 것이 허가된다. 동작 1915에서, 데이터 처리 시스템(예를 들어, CPU)은 최대 max_idle 시간 동안 정지 상태로 강제된다. 일 실시예에서, 인터럽트들은 시스템이 정지 상태로부터 벗어나게 한다. 누적 정지는 인터럽트들을 고려하여 데이터 처리 시스템이 강제 정지 상태에서 소비하고 있는 시간의 양으로 갱신된다. 이어서, 방법(1900)은 동작 1910으로 복귀한다. 누적 정지가 idle_goal보다 작지 않은 경우, 동작 1911에서 정지 시작 시간이 accumulated_idle로 설정된다. 방법(1900)은 동작 1908에서 결정된 period_end까지 임의의 스레드가 실행되는 것을 허가하는 것을 포함하는 동작 1912로 계속된다. 동작 1913에서, 다음 식에 따라 last_idle가 결정된다.
[수학식 6]
last_idle = accumulated_idle - idle_start
이어서, 방법(1900)은 동작 1902로 복귀한다.
도 18 및 19에 도시된 지능적 강제 정지는 2005년 8월 25일자로 출원된 미국 출원 제11/212,970호 및/또는 2006년 1월 5일자로 출원된 미국 특허 제11/327,685호에 설명된 전력 및/또는 열 관리 기술들 중 하나 이상과 관련하여 수행될 수 있다. 예를 들어, 지능적 강제 정지는 미래의 시간 간격 동안에 허용 가능한 전력 예산의 동적 결정을 가능하게 하기 위해 전력 사용의 평균화와 더불어 이용될 수 있으며, 도 10 및 11은 미국 출원 제11/212,970호로부터 나온 것이고, 전력 사용의 평균화를 이용하는 실시예들과 관련되며, 이러한 실시예들 및 도면들은 본 출원에서 더 설명되어 있다.
위의 명세서에서, 본 발명의 실시예들은 그의 특정 실시예들과 관련하여 설명되었다. 본 발명의 더 넓은 사상 및 범위로부터 벗어나지 않고 그들에 대한 다양한 변경이 이루어질 수 있음이 명백할 것이다. 따라서, 명세서 및 도면들은 제한적이 아니라 예시적인 것으로 간주되어야 한다.

Claims (25)

  1. 기계에 의해 구현되는 방법으로서,
    제1 주파수 및 제1 전압에서 동작하는 시스템의 제한 파라미터(constraint parameter)를 모니터링하는 단계;
    상기 제한 파라미터의 모니터링에 기초하여, 상기 제1 전압을, 상기 제1 전압 이하의 미리 정해진 최소 동작 전압(a predetermined minimum operating voltage)보다 더 낮은 전압으로 감소시킴으로써, 상기 제1 전압의 감소에 응답하여 명령어들이 실행될 수 없는 상태로 상기 시스템을 강제하는 단계
    를 포함하는, 기계 구현 방법.
  2. 제1항에 있어서, 상기 시스템은, 상기 시스템이 상기 제1 주파수보다 낮은 제2 주파수에서 계속하여 동작하는 상기 상태로 강제되는, 기계 구현 방법.
  3. 제1항에 있어서, 상기 시스템을 상기 상태로 강제하는 레이트를 결정하는 단계를 더 포함하는 기계 구현 방법.
  4. 제1항에 있어서,
    상기 제한 파라미터가 제한 파라미터 임계치보다 큰 지를 결정하는 단계;
    상기 제1 전압이 상기 최소 동작 전압인지를 결정하는 단계; 및
    상기 제1 전압이 상기 최소 동작 전압이고 또한 상기 제한 파라미터가 상기 제한 파라미터 임계치보다 큰 경우에 상기 시스템을 상기 상태로 강제하는 단계
    를 더 포함하는 기계 구현 방법.
  5. 제4항에 있어서, 상기 시스템이 상기 최소 동작 전압에서 동작하고 있지 않고 또한 상기 제한 파라미터가 상기 제한 파라미터 임계치보다 큰 경우에 상기 시스템의 동작 포인트를 감소시키는 단계를 더 포함하는 기계 구현 방법.
  6. 제1항에 있어서, 상기 제한 파라미터는 전력, 온도, 전류, 배터리 부하 또는 이들의 임의 조합이고, 상기 시스템은, 상기 시스템이 0보다 크고 상기 제1 주파수보다 작은 제2 주파수에서 계속하여 동작하는 상기 상태로 강제되며, 상기 최소 동작 전압은 0보다 큰, 기계 구현 방법.
  7. 제1항에 있어서, 상기 제한 파라미터에 기초하여 상기 제1 주파수 및 상기 제1 전압에서 동작하는 상기 시스템에 대한 상기 상태의 백분율을 결정하는 단계를 더 포함하고, 상기 시스템의 적어도 일부에 대해 상기 제1 전압이 0으로 감소되고 상기 제1 주파수가 0으로 감소되는, 기계 구현 방법.
  8. 데이터 처리 시스템으로서,
    프로세서;
    상기 프로세서에 결합된 메모리;
    상기 프로세서에 결합되어, 제1 주파수 및 제1 전압에서 동작하는 시스템의 제한 파라미터를 모니터링하는 하나 또는 그 이상의 센서들
    을 포함하고,
    상기 프로세서는, 상기 제한 파라미터의 모니터링에 기초하여, 상기 제1 전압을, 상기 제1 전압 이하의 미리 정해진 최소 동작 전압보다 더 낮은 전압으로 감소시킴으로써, 상기 제1 전압의 감소에 응답하여 명령어들이 실행될 수 없는 상태가 되도록 상기 시스템을 강제하는, 데이터 처리 시스템.
  9. 제8항에 있어서, 상기 시스템은, 상기 시스템이 상기 제1 주파수보다 낮은 제2 주파수에서 계속하여 동작하는 상기 상태로 강제되는, 데이터 처리 시스템.
  10. 제8항에 있어서, 상기 프로세서는 상기 시스템을 상기 상태로 강제하는 레이트를 결정하도록 또한 구성되는 데이터 처리 시스템.
  11. 제8항에 있어서,
    상기 프로세서는, 상기 제한 파라미터가 제한 파라미터 임계치보다 큰 지를 결정하고, 상기 제1 전압이 상기 최소 동작 전압인지를 결정하고, 상기 제1 전압이 상기 최소 동작 전압이고 또한 상기 제한 파라미터가 상기 제한 파라미터 임계치보다 큰 경우에 상기 시스템을 상기 상태로 강제하도록 또한 구성된, 데이터 처리 시스템.
  12. 제11항에 있어서, 상기 프로세서는 상기 시스템이 상기 최소 동작 전압에서 동작하고 있지 않고 또한 상기 제한 파라미터가 상기 제한 파라미터 임계치보다 큰 경우에 상기 시스템의 동작 포인트를 감소시키도록 또한 구성된, 데이터 처리 시스템.
  13. 제8항에 있어서, 상기 프로세서는 상기 제한 파라미터에 기초하여 상기 제1 주파수 및 상기 제1 전압에서 동작하는 상기 시스템에 대한 상기 상태의 백분율을 결정하도록 또한 구성되고, 상기 프로세서의 적어도 일부에 대해 상기 제1 전압이 0으로 감소되고 상기 제1 주파수가 0으로 감소되는, 데이터 처리 시스템.
  14. 제8항에 있어서, 상기 메모리는 상기 시스템을 언제 및 어떻게 상기 상태로 강제할지에 대한 정보를 저장하는, 데이터 처리 시스템.
  15. 제8항에 있어서, 상기 제한 파라미터는 전력, 온도, 전류, 배터리 부하 또는 이들의 임의 조합이고, 상기 시스템은, 상기 시스템이 0보다 크고 상기 제1 주파수보다 작은 제2 주파수에서 계속하여 동작하도록 하는 상기 상태로 강제되며, 상기 최소 동작 전압은 0보다 큰, 데이터 처리 시스템.
  16. 데이터 처리 시스템으로 하여금 제1항 내지 제7항 중 어느 한 항에서와 같은 방법을 수행하게 하는 실행 가능한 프로그램 명령어들을 저장한 기계 판독 가능 저장 매체.
  17. 데이터 처리 시스템으로서,
    제1 주파수 및 제1 전압에서 동작하는 시스템의 제한 파라미터를 모니터링하기 위한 수단;
    상기 제한 파라미터의 모니터링에 기초하여, 상기 제1 전압을, 상기 제1 전압 이하의 미리 정해진 최소 동작 전압보다 더 낮은 전압으로 감소시킴으로써, 상기 제1 전압의 감소에 응답하여 명령어들이 실행될 수 없는 상태가 되도록 상기 시스템을 강제하기 위한 수단을 포함하는, 데이터 처리 시스템.
  18. 제17항에 있어서,
    상기 제한 파라미터가 제한 파라미터 임계치보다 큰 지를 결정하기 위한 수단;
    상기 제1 전압이 상기 최소 동작 전압인지를 결정하기 위한 수단; 및
    상기 제1 전압이 상기 최소 동작 전압이고 또한 상기 제한 파라미터가 상기 제한 파라미터 임계치보다 큰 경우에 상기 시스템을 상기 상태로 강제하기 위한 수단
    을 더 포함하는 데이터 처리 시스템.
  19. 제17항에 있어서, 상기 제한 파라미터에 기초하여 상기 제1 주파수 및 상기 제1 전압에서 동작하는 상기 시스템에 대한 상기 상태의 백분율을 결정하기 위한 수단을 더 포함하고, 상기 시스템은, 상기 시스템이 0보다 크고 상기 제1 주파수보다 낮은 제2 주파수에서 계속하여 동작하도록 하는 상기 상태로 강제되며, 상기 최소 동작 전압은 0보다 큰, 데이터 처리 시스템.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
KR1020107017579A 2008-01-07 2008-12-22 데이터 처리 시스템의 강제 정지 KR101233434B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/970,476 US7949888B2 (en) 2008-01-07 2008-01-07 Forced idle of a data processing system
US11/970,476 2008-01-07
PCT/US2008/013975 WO2009088445A1 (en) 2008-01-07 2008-12-22 Forced idle of a data processing system

Publications (2)

Publication Number Publication Date
KR20100113554A KR20100113554A (ko) 2010-10-21
KR101233434B1 true KR101233434B1 (ko) 2013-02-15

Family

ID=40404108

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107017579A KR101233434B1 (ko) 2008-01-07 2008-12-22 데이터 처리 시스템의 강제 정지

Country Status (5)

Country Link
US (1) US7949888B2 (ko)
EP (1) EP2250542B1 (ko)
KR (1) KR101233434B1 (ko)
CN (2) CN101910975B (ko)
WO (1) WO2009088445A1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101520745B (zh) * 2008-02-27 2012-03-28 联想(北京)有限公司 数据处理设备及其状态切换方法
CN101965547B (zh) * 2008-03-03 2013-08-21 惠普开发有限公司 基于软件的功率封顶
US8315746B2 (en) 2008-05-30 2012-11-20 Apple Inc. Thermal management techniques in an electronic device
CN101655735B (zh) * 2008-08-20 2011-06-22 鸿富锦精密工业(深圳)有限公司 负荷侦测系统及方法
US8306772B2 (en) 2008-10-13 2012-11-06 Apple Inc. Method for estimating temperature at a critical point
US8127160B2 (en) * 2008-10-13 2012-02-28 International Business Machines Corporation Dynamic frequency and voltage scaling for a computer processor
US20100094572A1 (en) * 2008-10-15 2010-04-15 International Business Machines Corporation Dynamic Frequency And Voltage Scaling For A Computer Processor
US8291421B2 (en) * 2008-11-19 2012-10-16 Sharp Laboratories Of America, Inc. Idle task monitor
US8370665B2 (en) * 2010-01-11 2013-02-05 Qualcomm Incorporated System and method of sampling data within a central processing unit
US8667308B2 (en) 2010-06-18 2014-03-04 Apple Inc. Dynamic voltage dithering
US8364999B1 (en) * 2010-06-23 2013-01-29 Nvdia Corporation System and method for processor workload metering
US8555095B2 (en) 2010-07-26 2013-10-08 Apple Inc. Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
US8855969B2 (en) 2011-06-27 2014-10-07 International Business Machines Corporation Frequency guard band validation of processors
US20130038422A1 (en) * 2011-08-11 2013-02-14 Ralink Technology Corporation Method and system of reducing the temperature of an integrated circuit and a digital communication system using same
US8595525B2 (en) * 2011-09-22 2013-11-26 Qualcomm Incorporated On-chip thermal management techniques using inter-processor time dependent power density data for indentification of thermal aggressors
US9122464B2 (en) * 2011-12-22 2015-09-01 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including energy efficient processor thermal throttling using deep power down mode
JP2013218672A (ja) * 2012-03-14 2013-10-24 Toshiba Corp 状態制御装置、情報処理装置、プログラム、および半導体装置
CN103369124A (zh) * 2012-04-10 2013-10-23 腾讯科技(深圳)有限公司 电池管理方法及装置
SG11201406477UA (en) 2012-04-10 2014-11-27 Tencent Tech Shenzhen Co Ltd Method for monitoring and manging battery charge level and apparatus for performing the same
US9395785B2 (en) 2012-07-19 2016-07-19 Tencent Technology (Shenzhen) Company Limited Method and device for controlling terminal and terminal thereof
CN102799489B (zh) * 2012-07-19 2014-04-16 腾讯科技(深圳)有限公司 对终端进行控制的方法、装置及终端
US10223156B2 (en) 2013-06-09 2019-03-05 Apple Inc. Initiating background updates based on user activity
JP6162329B2 (ja) * 2013-06-28 2017-07-12 インテル コーポレイション マルチコンポーネントプラットフォームにおけるアクティビティ管理のための技術およびシステム
US10466763B2 (en) * 2013-12-02 2019-11-05 Nvidia Corporation Dynamic voltage-frequency scaling to limit power transients
US10117600B2 (en) * 2014-04-15 2018-11-06 Apple Inc. Pacing activity data of a user
US9432796B2 (en) 2014-05-30 2016-08-30 Apple Inc. Dynamic adjustment of mobile device based on peer event data
US9813990B2 (en) 2014-05-30 2017-11-07 Apple Inc. Dynamic adjustment of mobile device based on voter feedback
US9760158B2 (en) 2014-06-06 2017-09-12 Intel Corporation Forcing a processor into a low power state
KR102218699B1 (ko) * 2014-09-15 2021-02-22 삼성전자주식회사 스마트 카드의 동작 방법 및 이를 포함하는 스마트 카드 시스템의 동작 방법
CN104409097B (zh) * 2014-10-10 2017-10-13 北京航空航天大学 一种利用电源检测实现非易失性异步逻辑电路的低功耗控制方法
US10594835B2 (en) 2015-06-05 2020-03-17 Apple Inc. Efficient context monitoring
US10324519B2 (en) * 2016-06-23 2019-06-18 Intel Corporation Controlling forced idle state operation in a processor
US10216256B2 (en) * 2016-10-03 2019-02-26 Microsoft Technology Licensing, Llc Power conservation of computing components using forced idle state

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627412A (en) * 1994-11-07 1997-05-06 Norand Corporation Dynamically switchable power supply
US5825674A (en) * 1995-09-29 1998-10-20 Intel Corporation Power control for mobile electronics using no-operation instructions
US20040064745A1 (en) * 2002-09-26 2004-04-01 Sudarshan Kadambi Method and apparatus for controlling the rate at which instructions are executed by a microprocessor system

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5167024A (en) * 1989-09-08 1992-11-24 Apple Computer, Inc. Power management for a laptop computer with slow and sleep modes
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
US5532935A (en) * 1991-10-02 1996-07-02 Kabushiki Kaisha Toshiba Electronic device capable of automatically controlling power assumption of components employed in accordance with operating time period by user
US5483656A (en) * 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
EP0632360A1 (en) 1993-06-29 1995-01-04 Xerox Corporation Reducing computer power consumption by dynamic voltage and frequency variation
DE69535577T2 (de) * 1994-12-22 2008-03-06 Intel Corp., Santa Clara Leistungsverwaltung mit charakteristischem leistungsverbrauch einer vorrichtung
US5833365A (en) * 1995-03-24 1998-11-10 Interuniversitair Micro-Electronika Centrum Vzw Method for local temperature sensing for use in performing high resolution in-situ parameter measurements
US5520153A (en) * 1995-04-28 1996-05-28 Saturn Corporation Internal combustion engine control
US5963424A (en) * 1995-11-07 1999-10-05 Sun Microsystems, Inc. Pulsar desk top system that will produce 500 watts of heat
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
JP3637181B2 (ja) * 1997-05-09 2005-04-13 株式会社東芝 コンピュータシステムおよびそのクーリング制御方法
US6122758A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for mapping environmental resources to memory for program access
US6415388B1 (en) * 1998-10-30 2002-07-02 Intel Corporation Method and apparatus for power throttling in a microprocessor using a closed loop feedback system
US6789037B2 (en) * 1999-03-30 2004-09-07 Intel Corporation Methods and apparatus for thermal management of an integrated circuit die
US6270252B1 (en) * 1999-05-18 2001-08-07 Alaris Medical Systems, Inc. Predictive temperature measurement system
US6477156B1 (en) * 1999-06-29 2002-11-05 Nokia Corporation Apparatus, and associated method, for selectably operating radio device in alternate operating mode
US6594771B1 (en) * 2000-04-13 2003-07-15 Hewlett-Packard Development Company, L.P. Method and apparatus for managing power in an electronic device
JP2002006991A (ja) * 2000-06-16 2002-01-11 Toshiba Corp コンピュータシステム及び冷却ファンの回転数制御方法
DE10141626B4 (de) * 2000-09-06 2007-08-09 International Business Machines Corp. Dynamische Angleichung von Leistungsvermögen und Strombedarf
US6718474B1 (en) * 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
US7389293B2 (en) * 2000-12-20 2008-06-17 Oracle International Corporation Remastering for asymmetric clusters in high-load scenarios
US7000130B2 (en) * 2000-12-26 2006-02-14 Intel Corporation Method and apparatus for thermal throttling of clocks using localized measures of activity
JP2002222031A (ja) * 2001-01-25 2002-08-09 Toshiba Corp 情報処理装置および同装置の消費電力制御方法
US6701272B2 (en) * 2001-03-30 2004-03-02 Intel Corporation Method and apparatus for optimizing thermal solutions
US7058824B2 (en) * 2001-06-15 2006-06-06 Microsoft Corporation Method and system for using idle threads to adaptively throttle a computer
US6904968B2 (en) * 2001-09-14 2005-06-14 Hewlett-Packard Development Company, L.P. Method and apparatus for individually cooling components of electronic systems
US7111178B2 (en) * 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US7171570B2 (en) * 2001-11-16 2007-01-30 Apple Computer, Inc. Method and apparatus for selectively increasing the operating speed of an electronic circuit
US6925573B2 (en) * 2002-01-02 2005-08-02 Intel Corporation Method and apparatus to manage use of system power within a given specification
US7096145B2 (en) 2002-01-02 2006-08-22 Intel Corporation Deterministic power-estimation for thermal control
JP3692089B2 (ja) * 2002-04-02 2005-09-07 株式会社東芝 消費電力制御方法及び情報処理装置
US20040003301A1 (en) * 2002-06-28 2004-01-01 Nguyen Don J. Methods and apparatus to control processor performance to regulate heat generation
US6986069B2 (en) * 2002-07-01 2006-01-10 Newisys, Inc. Methods and apparatus for static and dynamic power management of computer systems
US7243243B2 (en) * 2002-08-29 2007-07-10 Intel Corporatio Apparatus and method for measuring and controlling power consumption of a computer system
US7865744B2 (en) * 2002-09-04 2011-01-04 Broadcom Corporation System and method for optimizing power consumption in a mobile environment
JP4006634B2 (ja) * 2002-10-10 2007-11-14 ソニー株式会社 情報処理装置および方法、並びにプログラム
US7036027B2 (en) * 2002-10-21 2006-04-25 Sun Microsystems, Inc. Computer system layout and cooling configuration
DE10256623A1 (de) * 2002-12-03 2004-06-24 Krohne Meßtechnik GmbH & Co KG Elektrisches Gerät und Verfahren zum Betreiben eines elektrischen Geräts
US8086884B2 (en) 2002-12-16 2011-12-27 Hewlett-Packard Development Company, L.P. System and method for implementing an integrated circuit having dynamically variable power limit
US7085945B2 (en) 2003-01-24 2006-08-01 Intel Corporation Using multiple thermal points to enable component level power and thermal management
US20040148258A1 (en) * 2003-01-29 2004-07-29 Tillett Wiley S. Electronic check settlement method
US20040159240A1 (en) * 2003-02-14 2004-08-19 Lyall Lucian H. Beverage brewing apparatus and method
US7210048B2 (en) * 2003-02-14 2007-04-24 Intel Corporation Enterprise power and thermal management
US7139920B2 (en) * 2003-03-13 2006-11-21 Sun Microsystems, Inc. Method and apparatus for supplying power in electronic equipment
US7454643B2 (en) * 2003-04-30 2008-11-18 Marvell World Trade Ltd. Pre-emptive power supply control system and method
US6745117B1 (en) * 2003-05-16 2004-06-01 Deere & Company Power-limiting control method and system for a work vehicle
CN1795428B (zh) * 2003-05-27 2010-09-01 Nxp股份有限公司 监测和控制功耗
US20050210304A1 (en) * 2003-06-26 2005-09-22 Copan Systems Method and apparatus for power-efficient high-capacity scalable storage system
US7272732B2 (en) * 2003-06-30 2007-09-18 Hewlett-Packard Development Company, L.P. Controlling power consumption of at least one computer system
US7543306B2 (en) * 2003-07-02 2009-06-02 Intel Corporation Method, system, and program for handling device interrupts in a multi-processor environment
US7451332B2 (en) 2003-08-15 2008-11-11 Apple Inc. Methods and apparatuses for controlling the temperature of a data processing system
US7146519B2 (en) 2003-08-22 2006-12-05 Hewlett-Packard Development Company, L.P. Bus clock frequency management based on device bandwidth characteristics
US7127625B2 (en) * 2003-09-04 2006-10-24 Hewlett-Packard Development Company, L.P. Application management based on power consumption
US7134029B2 (en) * 2003-11-06 2006-11-07 International Business Machines Corporation Computer-component power-consumption monitoring and control
US7203849B2 (en) * 2003-12-12 2007-04-10 Hewlett-Packard Development Company, L.P. Method and system for distributing power to networked devices
US7580905B2 (en) * 2003-12-15 2009-08-25 Intel Corporation Adaptive configuration of platform
US20050138440A1 (en) * 2003-12-18 2005-06-23 Barr Andrew H. Equipment rack load modulation system and method
US7177728B2 (en) * 2003-12-30 2007-02-13 Jay Warren Gardner System and methods for maintaining power usage within a set allocation
US7228448B2 (en) * 2004-02-13 2007-06-05 Microsoft Corporation Method for making power supplies smaller and more efficient for high-power PCs
US7366921B2 (en) * 2004-04-23 2008-04-29 Hewlett-Packard Development Company, L.P. Selecting input/output devices to control power consumption of a computer system
US20060047983A1 (en) * 2004-05-19 2006-03-02 Zeev Aleyraz Multiple source/multiple device connector
US7519837B2 (en) * 2004-06-15 2009-04-14 Hewlett-Packard Development Company, L.P. Power controller
US7295949B2 (en) * 2004-06-28 2007-11-13 Broadcom Corporation Energy efficient achievement of integrated circuit performance goals
US7281146B2 (en) * 2004-06-30 2007-10-09 Intel Corporation Dynamic power requirement budget manager
US7739527B2 (en) * 2004-08-11 2010-06-15 Intel Corporation System and method to enable processor management policy in a multi-processor environment
US7877621B2 (en) * 2004-09-03 2011-01-25 Virginia Tech Intellectual Properties, Inc. Detecting software attacks by monitoring electric power consumption patterns
US7343499B2 (en) * 2005-01-27 2008-03-11 International Business Machines Corporation Method and apparatus to generate circuit energy models with multiple clock gating inputs
US7421598B2 (en) * 2005-02-09 2008-09-02 International Business Machines Corporation Dynamic power management via DIMM read operation limiter
US7383451B2 (en) * 2005-02-18 2008-06-03 Lenovo (Singapore) Pte. Ltd. Controlling power usage of computing device components in holistic manner
US7444526B2 (en) * 2005-06-16 2008-10-28 International Business Machines Corporation Performance conserving method for reducing power consumption in a server system
US7484108B2 (en) * 2005-06-23 2009-01-27 Intel Corporation Enhancing power delivery with transient running average power limits
US7386750B2 (en) * 2005-07-15 2008-06-10 Hewlett-Packard Development Company, L.P. Reduced bus turnaround time in a multiprocessor architecture
US8374730B2 (en) 2005-08-25 2013-02-12 Apple Inc. Methods and apparatuses for dynamic thermal control
JP4764696B2 (ja) * 2005-10-07 2011-09-07 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US7616568B2 (en) * 2006-11-06 2009-11-10 Ixia Generic packet generation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627412A (en) * 1994-11-07 1997-05-06 Norand Corporation Dynamically switchable power supply
US5825674A (en) * 1995-09-29 1998-10-20 Intel Corporation Power control for mobile electronics using no-operation instructions
US20040064745A1 (en) * 2002-09-26 2004-04-01 Sudarshan Kadambi Method and apparatus for controlling the rate at which instructions are executed by a microprocessor system

Also Published As

Publication number Publication date
CN103593041A (zh) 2014-02-19
EP2250542A1 (en) 2010-11-17
US7949888B2 (en) 2011-05-24
CN101910975A (zh) 2010-12-08
CN101910975B (zh) 2015-07-15
EP2250542B1 (en) 2017-01-25
US20090177422A1 (en) 2009-07-09
WO2009088445A1 (en) 2009-07-16
CN103593041B (zh) 2016-06-29
KR20100113554A (ko) 2010-10-21

Similar Documents

Publication Publication Date Title
KR101233434B1 (ko) 데이터 처리 시스템의 강제 정지
KR101148642B1 (ko) 데이터 처리 시스템의 강제 정지
US8578189B2 (en) Methods and apparatuses for dynamic power control
US7529948B2 (en) Methods and apparatuses for dynamic power estimation
KR100974972B1 (ko) 저전력 디바이스의 대기 전력 제어를 위한 방법, 장치 및 시스템
US8443209B2 (en) Throttling computational units according to performance sensitivity
US8458498B2 (en) Method and apparatus of power management of processor
US7017060B2 (en) Power management system that changes processor level if processor utilization crosses threshold over a period that is different for switching up or down
US8799687B2 (en) Method, apparatus, and system for energy efficiency and energy conservation including optimizing C-state selection under variable wakeup rates
CN101965547B (zh) 基于软件的功率封顶
US20100058078A1 (en) Protocol for Power State Determination and Demotion
EP2607987A1 (en) Computing apparatus and system for remote control of operating states
CN112470100A (zh) 动态热控制
EP4439233A1 (en) Apparatus and method to control temperature ramp rates including temperature spike detection and control

Legal Events

Date Code Title Description
A201 Request for examination
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: 20160119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 7