KR20080011692A - 유휴-엘리먼트 예측 회로 및 스레싱-방지 로직 - Google Patents

유휴-엘리먼트 예측 회로 및 스레싱-방지 로직 Download PDF

Info

Publication number
KR20080011692A
KR20080011692A KR1020077028874A KR20077028874A KR20080011692A KR 20080011692 A KR20080011692 A KR 20080011692A KR 1020077028874 A KR1020077028874 A KR 1020077028874A KR 20077028874 A KR20077028874 A KR 20077028874A KR 20080011692 A KR20080011692 A KR 20080011692A
Authority
KR
South Korea
Prior art keywords
threshold
functional unit
time
call
power
Prior art date
Application number
KR1020077028874A
Other languages
English (en)
Other versions
KR100922090B1 (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 KR20080011692A publication Critical patent/KR20080011692A/ko
Application granted granted Critical
Publication of KR100922090B1 publication Critical patent/KR100922090B1/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
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)
  • Executing Machine-Instructions (AREA)
  • Facsimiles In General (AREA)

Abstract

제어 로직은 프로그램가능 프로세서에서 특정 기능 엘리먼트 (예를 들어, 제산기 또는 승산기 등) 의 사용을 모니터링하고, 그 제어 로직은 그 유닛이 특정된 시간 주기 동안 사용되지 않는 경우 그 유닛을 파워 다운한다. 카운터 (로컬 또는 중앙) 및 시간 임계값은 그 주기가 그 엘리먼트의 사용없이 경과하는 때를 결정한다. 또한, 제어 로직은, 전력 제어가 스레싱을 야기하는지의 여부를 판정하기 위해, 기능 유닛이 얼마나 신속하게 다시 기상되는지를 모니터링한다. 그러한 스레싱의 판정시에, 유닛은 스레싱을 최소화하기 위해 그 유닛의 임계 주기를 자동적으로 조정한다. 로직의 일 예에서, 로직이 너무 보존적이라고 그 로직이 결정하는 경우, 그 로직은 임계값을 낮춘다. 모드 비트는, 그 로직을 항상 파워-업 또는 항상 파워-다운으로 유지시키기 위해, 프로그래머가 파워-다운 로직을 오버라이딩하게 할 수도 있다.
유휴 엘리먼트, 전력 소비, 스레싱

Description

유휴-엘리먼트 예측 회로 및 스레싱-방지 로직{IDLE-ELEMENT PREDICTION CIRCUITRY AND ANTI-THRASHING LOGIC}
기술분야
본 발명의 교시는, 프로세싱 기능이 풀 (full) 프로세싱 능력 미만을 요구할 경우 감소된 전력 소비를 컴플렉스 프로세싱 로직에 효율적으로 제공하는 기술 및 프로세서 구조에 관한 것이다.
배경기술
많은 디바이스들은, 마이크로프로세서 및 디지털 신호 프로세서와 같이, 프로그램 명령들에 따라 데이터 프로세싱 기능들을 수행하기 위한 로직의 컴플렉스 배열을 갖는 통합된 프로세서들을 이용한다. 예를 들어, 배터리 전원을 갖는 휴대용 디바이스에서, 이러한 프로세서들의 많은 애플리케이션들은 통상적으로 배터리 전원에서의 충전 수명을 연장시키기 위해 전력 소비의 주의깊은 제어를 보증한다. 프로세서의 많은 기능들 또는 애플리케이션들은 프로세서 디바이스의 풀 프로세싱 능력을 요구하지 않거나, 매우 제한된 시간 동안에만 풀 프로세싱 능력을 요구한다. 그러나, 계속적으로 풀하게 전력 공급되면, 미사용 로직은 불필요하게 전력을 소비하게 된다.
통상적으로, 상보적 산화 금속 반도체 (CMOS) 로직 게이트는, 회로가 활성적으로 스위칭되는 경우 유휴 엘리먼트들이 다이내믹 전력 (dynamic power) 만을 소 비하므로, 그 유휴 엘리먼트들에 의해 소비되는 전력을 최소화하는데 매우 양호하다. 그러나, 그 유휴 엘리먼트들은 또한 그들의 전력 소비에 대해 정적 (static) 또는 누설 컴포넌트를 갖는다. 일반적으로, 다이내믹 컴포넌트는 정적 컴포넌트보다 상당히 뛰어나다. 그러나, 더 신규한 딥-서브미크론 (deep-submicron) 기술에서, 정적 컴포넌트는 전체 전력 소비에 대해 상당한 양의 원인이 되기 시작하고 있다. 전력 효율을 위해, 현대의 디바이스들은 소산된 정적 전력의 양을 능동적으로 제한할 필요가 있을 수도 있다.
셀 전화기와 같은 배터리-전원 구현된 애플리케이션에 있어서, 전력 감소를 달성하기 위해, 로직의 미사용 부분을 파워 다운 (power down) 하는 시도가 행해지며, 그에 의해, 누설 전력 손실을 제거시킨다. 미사용 로직 컴포넌트들을 턴 오프 (turn off) 하기 위해, 일부는 소프트웨어 제어에 의존한다. 이러한 목적을 위해, 프로그램에서의 명령들은, 일정 프로세서 엘리먼트들을 필요로 할 경우 턴 온 (turn on) 하고, 필요하지 않을 경우 턴 오프한다. 이는 전력 절약을 초래하지만, 부가적인 오버헤드를 소프트웨어에 부과하고, 다양한 프로세서 기능들을 능동적으로 제어하도록 프로그래머에게 요구한다.
자동화된 시스템이 시간의 소정량 이후 미사용 컴포넌트를 셧 다운 (shut down) 하기 위해 사용될 수도 있다. 그러나, 로직 엘리먼트의 시간-기반 파워 다운이 잠재적으로 문제가 되는 경우가 발생한다. 컴포넌트를 기상 또는 파워-업 (power-up) 하는 것은 부가적인 전력 소비를 초래할 수 있다. 일부 경우, 일부 짧은 주기의 시간 동안 엘리먼트를 온 (on) 으로 단지 유지하는 것보다 그 엘 리먼트를 파워-업하는 것은 더 많은 시간이 걸린다. 또한, 컴포넌트 백업 (back up) 에 전력을 공급하는 것은 시간이 걸린다. 컴포넌트를 재시작할 시의 결과적인 딜레이 또는 레이턴시는 성능을 열화시키는 프로세서 스톨 (stall) 을 초래할 수도 있다.
따라서, 컴포넌트가, 단지 나중의 짧은 기간 동안 파워 업되기 위해 반복적으로 파워 다운되지 않는다는 것을 보장하는 것이 바람직하다. 반복된 파워-다운 및 파워-업은 "스레싱 (thrashing)" 으로 지칭될 수도 있다. 과도한 스레싱을 회피하면서 전력 소비를 효과적으로 감소시키기 위해, 프로세서의 엘리먼트에 대한 전력을 선택적으로 제어하는 기술에 대한 필요성이 존재한다.
요약
일 양태에서, 본 발명의 교시는 프로그램가능 프로세서의 전력 소비를 감소시키는 방법에 관한 것이다. 그 방법은, 프로그램가능 프로세서의 기능 유닛들 중 하나의 유닛의 동작에 대한 최근의 콜 이후의 시간을 모니터링하는 단계를 포함한다. 또한, 유닛의 최근의 이전 셧 다운 (last prior shut down) 이후의 시간이 모니터링된다. 최근의 콜 이후의 시간이 현재의 임계값을 초과하는 경우, 이러한 방법은, 일 기능 유닛에 의해 소비되는 전력을 감소시키기 위해, 그 일 기능 유닛을 셧 다운한다. 그 유닛은, 그 일 기능 유닛의 동작에 대한 이후의 콜에 응답하여 재활성화된다. 또한, 그 방법은 그 임계값을 조정하는 단계를 포함한다. 그 일 기능 유닛을 재활성화하는 시간에서, 셧 다운 이후의 시간이 설정값 미만이면, 그 방법은 그 현재의 임계값을 신규한 더 높은 임계값으로 증가시 킨다.
예를 들어, 그 설정값은 임계값으로서 사용되는 현재의 간격값과 동일할 수도 있다. 셧 다운으로부터 다음의 콜까지의 시간이 짧으면, 예를 들어, 과거의 임계값 미만이면, 임계값에서의 증가는 장래의 스레싱을 감소시키는데 도움을 준다. 또한, 임계값은, 최근의 이전 콜 이후의 간격에 응답하여, 통상적으로 시간 임계값에서의 감소로서 증분적으로 조정될 수도 있다. 증분적 감소는 전력 보존을 최적화시키는데 도움을 준다.
본 교시의 다른 양태는 전력 제어 및/또는 임계값 조정에 의한 전력 제어를 사용하는 프로세서에 관한 것이다.
전력 제어는, 일 기능 유닛을 선택적으로 활성화 및 셧 다운하기 위해, 기능 유닛들 중 하나의 유닛에 연결된 회로를 포함할 수도 있다. 그 제어는 시간을 모니터링하는 수단을 포함한다. 상세하게, 일 기능 유닛의 동작에 대한 최근의 이전 콜 이후의 시간 및 그 유닛의 최근의 이전 셧 다운 이후의 시간 양자가 모니터링된다. 제어 수단은, 기능 유닛의 동작에 대한 최근의 콜 이후의 시간이 임계값의 현재값을 초과하면, 그 일 기능 유닛을 셧 다운한다. 또한, 설정값 미만의 최근의 이전 셧 다운 이후의 시간에서 일 기능 유닛에 대한 콜이 발생하면, 그 제어 수단은 임계값의 현재값 이상으로 그 임계값을 증가시키도록 서빙한다.
본 발명의 교시의 프로세서 양태는, 일 기능 유닛을 선택적으로 활성화 및 셧 다운하기 위해, 명령들에 따라 데이터를 프로세싱하는 기능 유닛들 및 그 유닛들 중 하나의 유닛에 연결된 회로를 포함할 수도 있다. 전력 제어기 모니터는, 명령들의 프로세싱 동안 일 기능 유닛의 동작을 호출하고, 그 유닛을 셧 다운하기 위해 회로를 제어한다. 제어기는, 조정가능한 임계값과 동일한, 콜들 중 최근의 이전 콜 이후의 시간 간격의 각각의 경과시에 일 기능 유닛을 셧 다운한다. 또한, 제어기는 셧 다운에 후속하는 일 기능 유닛의 동작에 대한 각각의 신규한 콜에 응답하여 그 기능 유닛을 재활성화한다. 또한, 그 임계값을 조정하는 수단이 제공된다.
개시된 예는, 특정 기능 엘리먼트 (예를 들어, 제산기, 승산기 등) 의 사용을 모니터링하고, 특정된 시간 주기 동안 사용되지 않는 경우 그 유닛을 파워 다운하는 제어 로직을 포함한다. 유닛 동작에 대한 콜이 존재하는 각각의 시간에서 시간 스탬프 (stamp) 가 저장된다. 그 로직은, 설정된 주기가 엘리먼트의 사용없이 경과할 때를 결정하기 위해 카운터 (로컬 또는 중앙) 를 이용한다. 또한, 그 로직은 각각의 셧 다운에 대한 시간 스탬프를 저장하고, 전력 제어가 스레싱을 야기하고 있는지의 여부를 판정하기 위해 얼마나 신속하게 로직이 다시 기상되는지를 모니터링한다. 그러한 스레싱의 결정시에, 유닛은 스레싱을 최소화하기 위해 그의 임계 주기를 자동적으로 조정한다. 유사하게, 로직이 너무 보존적이라고 결정할 경우, 임계값을 증분적으로 낮춘다. 그 로직을 항상 파워-업 또는 항상 파워-다운으로 유지하기 위해 프로그래머가 파워-다운 로직을 오버라이딩 (override) 하게 하기 위한 모드 비트들이 존재한다.
따라서, 예시적인 기술은, 하드웨어가 특정 기능 유닛의 활성도의 타이밍에 기초하여 누설-기반 전력 소비를 다이내믹하게 감소시키게 한다. 스레싱-방지 로직은, 전력을 감소시키는 노력이 과도한 리-사이클링 (re-cycling) 으로 인한 과도한 전력 소비 또는 프로세서 스톨을 야기하지 않는 것을 보장한다. 그러나, 스레싱하지 않는 경우, 증분적인 조정이 전력 보존을 최적화하는데 도움을 준다.
부가적인 이점들 및 신규한 특성들은 다음의 상세한 설명에서 부분적으로 설명될 것이고, 다음의 및 첨부한 도면의 검토 시에 당업자에게는 명백할 것이며, 또는, 예들의 생산 또는 동작에 의해 습득될 수도 있다. 본 교시의 이점은, 첨부된 청구항에서 특히 지적된 방법들, 수단들, 및 조합들의 실행 또는 사용에 의해 실현 및 획득될 수도 있다.
도면의 간단한 설명
도면은 본 발명의 개념에 따라 제한이 아닌 예로서 하나 이상의 구현을 나타낸다. 도면에서, 유사한 참조 부호는 동일 또는 유사한 엘리먼트들을 지칭한다.
도 1은, 파이프라인화된 프로세서의 기능 유닛의 조정가능한 제어를 갖는 파이프라인화된 프로세서의 간략화된 블록도이다.
도 2는, 조정가능한 시간 임계값에 기초하여 제산기의 활성도를 제어하는 전력 제어의 일 예의 기능적 블록도이다.
도 3은 프로세서의 기능 유닛의 활성도에 관한 타이밍 및 조정가능한 시간 임계값에 기초하여, 그 유닛을 활성화 및 비활성화하기 위한 프로세싱의 간단한 예의 흐름도이다.
도 4는, 스레싱을 제어하면서 전력 보존을 최적화하기 위해 임계값을 조정하 는데 사용될 수도 있는 프로세싱의 일 예의 흐름도이다.
상세한 설명
다음의 상세한 설명에서, 관련 교시의 완전한 이해를 제공하기 위해 많은 특정 세부사항들이 예로서 설명된다. 그러나, 본 발명의 교시가 그러한 세부사항들 없이도 실행될 수도 있다는 것이 당업자에게는 명백할 것이다. 다른 예시에서, 주지된 방법들, 절차들, 컴포넌트들, 및 회로는, 본 발명의 교시의 양태들을 불필요하게 불명료하게 하는 것을 피하기 위해, 세부사항없이 비교적 높은-레벨로 설명될 것이다.
후술될 프로세서 구조 및 프로세싱 흐름의 다양한 예들은, 예를 들어, 특정 기능 유닛이 일부 주기 동안 사용되지 않는 경우 (예를 들어, 신규한 콜이 존재하지 않는 경우) 그 기능 유닛을 파워 다운하기 위해, 특정 기능 유닛의 동작에 대한 모니터링된 콜에 기초하여 그 특정 기능 유닛 (예를 들어, 제산기, 또는 승산기 등) 의 동작을 제어한다. 그러나, 주기 또는 임계 시간 설정은 엘리먼트의 사용에 기초하여 조정된다. 제어된 엘리먼트가 덜 빈번하게 사용될 때, 임계값 조정은, 전력 소비를 추가적으로 개선시키기 위해 임계값을 서서히 감소시킬 수 있다. 스레싱을 방지하기 위해, 명령이 셧 다운에 후속하는 짧은 주기, 예를 들어, 설정한 현재의 임계값 미만의 주기에서 유닛을 재호출하면, 프로세서는 후속 컷-오프 (cut-off) 이전에 유휴 주기를 증가시키도록 임계값을 조정한다.
다음으로, 첨부한 도면에서 도시된 예들에 대한 참조가 상세히 행해지며, 아래에서 설명된다. 여기에서 설명된 전력 제어 원리는 다양한 서로 다른 프로세 서 구조에 적용가능하다. 그러나, 이해를 용이하게 하기 위해, 일 예로서 파이프라인화된 프로세서를 고려하는 것이 도움이 될 수도 있다. 도 1은 파이프라인화된 프로세서 (10) 의 간략화된 블록도이다. 프로세서 (10) 는, 예를 들어, 배터리 전력을 이용하는 이동 전화국 또는 다른 휴대용 전자 디바이스에서의 저-전력 애플리케이션에 대해 의도된다. 그러한 애플리케이션에서, 기술은, 멀티미디어 프로세싱을 위한 단일 명령-다중 데이터 (SIMD) 프로세서와 같은 메인 프로세서 또는 수치 코프로세서 (numeric coprocessor) 에 적용가능하다.
설명의 용이함을 위해, 파이프라인의 일 예 (10) 는 스칼라 설계이며, 본질적으로 단일 파이프라인을 구현한다. 그러나, 당업자는 여기에서 설명된 프로세싱이 다중의 파이프라인을 구현하는 슈퍼스칼라 설계들 및 다른 구조들에 또한 적용가능하다는 것을 알 수 있다. 또한, 파이프라인의 깊이 (depth) (예를 들어, 스테이지들의 수) 는 단지 예시적일 뿐이다. 일 예에서, 실제 파이프라인은 더 적은 스테이지들 또는 파이프라인 (10) 보다 더 많은 스테이지들을 가질 수도 있다.
간략화된 파이프라인 (10) 은 파이프라인 프로세싱 스테이지의 5개의 주요한 카테고리, 즉, 페치 (11), 디코딩 (13), 판독 (15), 실행 (17) 및 후-기록 (19) 을 포함한다. 다이어그램에서의 화살표는 물리 접속이 아닌 로지컬 데이터 흐름을 나타낸다. 당업자는, 임의의 이러한 스테이지들이 관련 기능의 일부를 수행하는 다중의 스테이지들로 분할될 수도 있거나, 파이프라인이 부가적인 기능을 제공하기 위해 부가적인 스테이지들을 포함할 수도 있다는 것을 알 수 있다. 도 1 에서 분리하여 도시되지는 않지만, 통상적으로 파이프라인 (10) 의 각각의 스테이지는 관련 로직 기능을 구현하는 상태 머신 등, 및 명령 및/또는 임의의 프로세싱 결과들을 다음의 스테이지 또는 다른 프로세서 리소스에 전달하기 위한 관련 레지스터를 포함한다.
예시적인 파이프라인 (10) 에서, 제 1 스테이지는 명령 페치 스테이지 (11) 이다. 페치 스테이지 (11) 는 이후의 스테이지들에 의한 프로세싱용 명령들을 획득한다. 페치 스테이지 (11) 는, 통상적으로 명령 또는 레벨 1 (L1) 캐시, 레벨 2 (L2) 캐시 및 메인 메모리를 포함하는 메모리 (미도시) 의 계층으로부터 명령들을 획득한다. 페치 스테이지 (11) 는 각각의 명령을 디코딩 스테이지 (13) 에 공급한다. 명령 디코딩 스테이지 (13) 의 로직은 수신된 명령 바이트들을 디코딩하고 그 결과를 파이프라인의 다음 스테이지에 공급한다.
스테이지들의 다음의 주요한 카테고리는 데이터 액세스 또는 판독을 제공한다. 판독 스테이지 (15) 의 로직은 범용 레지스터 또는 "GPR" 파일 (미도시) 에서의 특정 레지스터들에서 오퍼랜드 (operand) 데이터에 액세스한다. 각각의 명령 및 그것의 요구되는 오퍼랜드 데이터는 실행 기능을 제공하는 하나 이상의 스테이지들 (17) 에 전달된다. 본질적으로, 실행 스테이지(들) (17) 는 검색된 오퍼랜드 데이터에 관해 각각의 명령의 특정 기능을 실행하고 결과를 생성한다. 실행 기능을 제공하는 스테이지 또는 스테이지들 (17) 은, 예를 들어, 산술 로직 유닛 (ALU) 을 구현할 수도 있다. 실행 스테이지 (17) 는 각각의 명령의 실행 결과 또는 결과들을 후-기록 스테이지 (19) 에 공급한다. 스테이지 (19) 는 레 지스터 또는 메모리에 그 결과들을 역으로 기록한다.
프로세서 (10) 의 엘리먼트들은, 그 엘리먼트들이 스위칭하지 않는 경우라도 전력을 소모한다. 예를 들어, 배터리 전원을 사용하는 많은 애플리케이션에서, 전원의 수명은 제한된다. 프로세서 (10) 의 일부 엘리먼트들은 지속적으로 사용되지 않는다. 그 예에서, 실행 스테이지 (17) 에서의 일부 기능 유닛들은 시간의 실질적인 주기 동안 필요하지 않을 수도 있다. 전력 소비를 감소시키기 위해, 각각의 그러한 기능 유닛은, 필요하지 않을 경우 셧 다운될 수 있다. 설명의 목적을 위해, 전력 제어의 주제 (subject) 인 기능 유닛은 제산기 (21) 이지만, 당업자는, 유사한 제어가 승산기, 또는 실행 스테이지 (17) 또는 프로세서 (10) 에서의 다른 곳의 임의의 다양한 리소스들 또는 다른 기능 엘리먼트들에 적용될 수도 있다는 것을 알 수 있다.
예는, 콜들 및 특정 기능 유닛 (예를 들어, 제산기 (21)) 의 동작을 모니터링하는 전력 제어 (23) 를 포함한다. 유닛이 레지스터 (25) 에서 조정가능한 임계값에 의해 정의된 시간의 주기 동안 호출되지 않는 경우, 제어 (23) 는 그 유닛을 파워 다운한다. 전력 제어 (23) 는, 설정된 주기가 제산기 (21) 의 사용에 대한 호출없이 경과한 때, 즉, 엘리먼트 (21) 의 비활성도의 주기가 임계값 (25) 을 충족 또는 초과할 때를 결정한다. 이후에 설명될 바와 같이, 또한 전력 제어 (23) 는, 전력 제어가 스레싱을 야기하는지의 여부를 판정하기 위해, 기능 유닛, 이러한 경우에서는 제산기 (21) 가 각각의 파워-다운 이후 다시 파워 업되는 지를 모니터링한다. 그러한 스레싱의 결정시에, 전력 제어 (23) 는 스레싱을 최소화하기 위해 그것의 임계값 주기를 더 크게 자동적으로 조정한다. 유사하게, 전력 제어 (23) 가 그것이 너무 보존적이라고 결정할 경우, 임계값 (25) 을 낮춘다. 유닛을 항상 파워-업 또는 항상 파워-다운으로 유지하기 위해 프로그래머가 파워-다운 로직을 오버라이딩하게 하기 위한 모드 비트들이 존재한다.
제어된 기능 유닛, 즉, 도 1의 예에서의 제산기 (21) 의 활성 상태는 임의의 다양한 공지된 방식으로 전력 제어 (23) 로부터의 선택 신호에 응답하여 제어될 수 있다. 일반적인 설명의 목적을 위해, 도 1은, 제산기 (21) 의 동작을 위해 필요한 신호 (S), 및 전력 제어 (23) 로부터의 전력 제어 신호들에 응답하여 신호를 제산기에 선택적으로 연결시키는 일반적인 게이트 회로 (27) 를 도시한다. 도 1의 도면 부호 (27) 에서 일반적으로 도시된 회로는, 로직 게이트, 스위치, 이들의 결합, 또는 제어 (23) 로부터의 적절한 선택 신호에 응답하여 적절한 타입의 신호를 기능 유닛에 공급하도록 구성된 임의의 다른 회로일 수도 있다. 신호 S를 유닛 (21) 에 공급하는 것은 그 유닛을 활성화 또는 파워-업하지만, 신호 S를 인터럽트 또는 제거하는 것은 유닛 (21) 을 셧 다운한다.
예를 들어, 제산기 (21) 는 제산기 (21) 로의 전력의 공급의 제어된 게이팅 (gating) 에 의해 선택적으로 인에이블 및 디스에이블될 수 있으므로, 게이트 (27) 의 동작이 이용에 대한 콜에 따라 전력을 턴 온 및 턴 오프한다. 그러한 일 구현에서, 신호 S는 전원 단자들 또는 전압들 중 하나를 나타낼 것이다. 전력 제어 (23) 가 제산기 (21) 를 디스에이블하는 경우, 제어 (23) 는, 제산기 (21) 의 회로에 관해 전력 단자 (S; 예를 들어, 공급 또는 그라운드) 들 중 하나의 단자로 의 접속을 컷 오프시키기 위해 게이트 (27) 를 트리거링한다. 컷-오프는 그러한 기능 유닛의 회로를 통한 다이내믹 전력 소비 및 누설을 제거한다.
도 1의 예는 단일 기능 유닛의 사용에 대한 콜에 기초하여 제어된 그 단일 기능 유닛, 즉, 제산기 (21) 를 도시한다. 당업자는, 소정의 프로세서가 실질적인 전력을 제거하는 다수의 엘리먼트들에 대한 수개의 유사한 제어들을 포함할 수도 있지만, 상당한 시간의 주기 동안 비활성화 상태일 수도 있다는 것을 알 수 있다.
도 2는, 레지스터 (25) 에서의 조정가능한 임계값에 기초하여 제산기 (21) 의 활성도를 제어하기 위한 전력 제어 (23) 의 일 구현의 기능적 블록도이다. 이러한 예에서, 전력 제어 (23) 는 클록 신호에 응답하는 카운터 (31) 를 포함한다. 카운터 (31) 는 시스템 클록 또는 프로세서 (10) 에서 또는 프로세서 (10) 에 대해 생성된 또 다른 클록 신호를 이용할 수도 있다. 카운터 (31) 는 수개의 기능 유닛들 사이에서 공유되거나 당해 기능 유닛에 전용될 수 있다. 카운트는 기능 유닛에 합당한 시간의 단위이다. 그 카운트는 사이클들로부터 초들 (또는 이상) 까지의 범위일 수 있다. 또한, 전력 제어 (23) 는 2개의 시간 스탬프 (TS) 레지스터 (33 및 35) 를 포함한다. 활성화된 경우, 레지스터 (33 또는 35) 는, 현재의 시간에 관련된 측정치 또는 값을 나타내는 카운터 (31) 로부터의 현재의 카운트를 저장한다.
레지스터 (33) 는, 기능 유닛 (상기 예에서는 제산기 (21)) 이 파이프라인화된 프로세서 (10) 를 흐르는 명령에 의해 호출되는 각각의 시간에서, 카운터 (31) 로부터의 현재 시간 카운트 값을 저장하기 위해 활성화된다. 레지스터 (33) 는, 그 유닛이 다시 호출될 때까지 그 카운트를 보유한다. 이러한 방식으로, 레지스터 (33) 에서의 값 TS (LC) 는 제산기 (21) 의 동작에 대한 최근의 (가장 최근의) 콜에 대한 시간 스탬프를 나타낸다.
레지스터 (35) 는, 기능 유닛 (상기 예에서는 제산기 (21)) 이 파워 다운되는 각각의 시간에서, 카운터 (31) 로부터의 현재 시간 카운트 값을 저장하기 위해 활성화된다. 레지스터는, 그 유닛이 다시 셧 오프될 때까지 그 카운트를 보유한다. 이러한 방식으로, 레지스터 (33) 에서의 값 TS (LPD) 은 제산기 (21) 의 최근의 파워 다운 (가장 최근의 비활성화) 에 대한 시간 스탬프를 나타낸다.
또한, 카운터 (31) 는 구동 시간에 관한 카운트를 2개의 감산 회로들 (37 및 39) 에 공급한다. 동작되는 경우, 감산 회로 (37) 는 또한 레지스터 (33) 로부터 최근의 콜 시간 스탬프 값 TS(LC) 를 수신한다. (현재의 시간에 관한) 카운터와 저장된 카운트 값 TS(LC) 사이의 차이 IC는, 제산기 (21) 에 대한 최근의 이전 콜 이후의 인터딜레이 (interdelay) 간격을 나타낸다. 비교기 (41) 는, 최근의 콜 이후의 인터딜레이 간격 IC를 조정가능한 임계값 (25) 의 현재 값과 비교한다. 이러한 방식으로, 카운터 값은 레지스터 (33) 에서의 데이터로부터 감산되고 도면 부호 (25) 에 등록된 바와 같은 현재 임계값과 비교된다. 다른 방법으로, 이는, 레지스터 (33) 에서의 과거의 시간 스탬프 및 임계값 (25) 을 카운터 (31) 의 현재 값으로부터 감산함으로써 수행될 수 있으며, 이 경우, 0 또는 네거티브 결 과들은 제산기 (21) 에 대한 최근의 콜 이후에 경과된 임계값과 동일한 주기를 의미한다.
IC가 임계값 (25) 의 현재 값에 도달하면(즉, 충족 또는 초과하면), 제어 로직 (45) 은 제산기 (21) 를 컷-오프하기 위해 게이트 (27) 를 디스에이블시킨다. 제어 로직이 제산기 (21) 를 비활성화시킬 경우, 그 제어 로직은 레지스터 (35) 로 하여금 카운터 (31) 로부터의 신규한 카운트를 최근의 파워 다운 시간 스탬프 값 TS(LPD) 로서 저장하게 한다. 제어 로직은 제산기 (21) 에 대한 이후의 콜에 응답하여 제산기 (21) 를 파워 업한다.
제 2 감산 회로 (39) 는 최근의 파워 다운 시간 스탬프 값 TS(LPD) 을 레지스터 (35) 로부터 수신한다. (현재의 시간과 관련된) 카운터 (31) 에서의 값과 저장된 카운트 값 TS(LPD) 사이의 차이 IP는, 제산기 (21) 가 최근에 파워 다운되었던 이후의 인터딜레이 간격을 나타낸다. 비교기 (43) 는, 최근의 파워 다운 이후의 간격 IP를 설정값, 즉, 이러한 예에서는 조정가능한 임계값 (25) 의 현재값과 비교하고, 그 결과를 제어 로직 (45) 에 공급한다. 제어 로직 (45) 은 스레싱을 회피하도록 임계값 (25) 을 조정하기 위해 내부 알고리즘에서 이러한 비교 결과를 사용한다. 다른 방법으로, 이러한 비교는 레지스터 (35) 에서의 과거의 시간 스탬프 및 임계값 (25) 을 카운터 (31) 의 현재값으로부터 감산함으로써 수행될 수 있으며, 이 경우, 포지티브한 결과는, 임계값 미만의 주기가 최근의 파워-다운 이후에 경과한다는 것을 의미한다. 감산 회로 (37) 및 비교기 (41) 는, 제산기 가 임계값 (25) 을 조정하기 위한 프로세싱의 일부로서 호출되거나 파워-업되는 경우, 트리거링된다.
이용에 기초하여 셧 다운을 위해 사용된 주기를 조정하도록 제어 로직 (45) 에 의해 구현된 알고리즘은, 전력 소비를 최적화하지만 스레싱을 최소화하도록 의도된다. 예를 들어, 제어 (23) 가 최근의 시간에 제산기 (21) 를 셧 다운하기 전에 충분히 길게 대기하지 않으면, 로직 (45) 은 특정 기능 유닛에 관한 장래의 전력 사이클 동안 비활성화의 주기의 측정치로서 사용되는 임계값을 연장시킨다. 그러나, 알고리즘은, 예를 들어, 알고리즘이 기능을 호출하는 각각의 시간에서 비트 단위로 임계값을 또한 감소 (미세조정 (tweaking)) 시키며, 여기서, 인터콜 딜레이가 임계값보다 더 긴 딜레이였다.
먼저, 전력 소비를 추가적으로 감소시키기 위해, 임계값을 하향 미세조정할 시에 수반될 수도 있는 동작들을 고려한다.
최소 셧다운 임계값은 하드와이어드 (hardwired) 되거나 소프트웨어에 의해 최소 임계값 레지스터 (47) 에 로딩된다. 레지스터 (47) 에서의 초기 임계값 (즉, Th0) 은 레지스터 (25) 로부터 판독된 최소값이다. 통상적으로, 최소 임계값은 셧오프 전력 절약 (누설) 이 파워-업 비용과 동일한 값으로 설정되지만, 최소값은 이러한 값보다 더 낮게 설정될 수도 있다. 또한, 제어된 기능 유닛의 개시를 위해 대기하는 명령 흐름에서 유도된 딜레이 (예를 들어, 스톨, 플러쉬 (flush) 및 재-페치) 의 비용을 고려하기 위해, 그 최소 임계값은 더 크게 설정될 수 있다.
기능 유닛 (예를 들어, 제산기 (21)) 이 호출되거나 파워 다운되는 경우, 카운터 (31) 의 현재 값에서의 값은 적절한 레지스터 (33 또는 35) 에서 시간 스탬프로서 캡쳐 (capture) 된다. 또한, 기능 유닛이 호출되거나 그 유닛이 다시 파워 업되면, 카운터 (31) 의 현재값은, 후술될 감산 회로들 및 비교기들을 사용하여 적절한 레지스터에서의 데이터로부터 감산되고, 현재의 임계값과 비교된다. 다른 방법으로, 이는, 각각의 시간 스탬프 및 임계값을 현재의 카운터 값으로부터 감산함으로써 수행될 수 있으며, 네거티브 값은 최근의 이벤트로부터 이격된 임계 간격보다 더 신속하게 발생된 이벤트를 의미한다.
본질적으로, 전력 제어 (23) 가 기능 유닛에 대한 신규한 콜을 검출하는 각각의 시간에서, 전력 제어는 레지스터 (25) 에서의 임계값을 조정하기 위해 2개의 알고리즘을 구동한다. 하나의 알고리즘은, 제어 (23) 에 의해 전력 보존을 최적화시키기 위해, 작은 조정 또는 미세조정을 제공한다. 다른 알고리즘은 스레싱을 최소화하기 위해 더 큰 조정을 제공한다.
미세조정에 있어서, 유닛의 기능, 예를 들어, 유닛 (21) 에 의한 제산에 대한 콜이 존재할 때마다, 콜들에 대한 시간 스탬프들 (카운터 출력) 을 비교함으로써 최근의 콜 이후에 얼마나 길게 존재할지를 결정한다. 콜들 사이의 인터딜레이에 대한 이러한 값 IC는 과거의 임계값 Thn으로부터 감산되고, 차이 (△) 는, 본질적으로, 대응하는 2의 거듭제곱에 의해 제산하는 것처럼 상수, 예를 들어, 3 자 리만큼 우측으로 시프트된다. 이러한 결과는 과거의 임계값 Thn으로부터 감산되어 신규한 임계값 Thn+1을 생성한다. 임계값을 조정하기 위한 그러한 수학식의 일 예는 다음과 같다.
Figure 112007088742358-PCT00001
그러한 계산에 기초하여, 제어 로직 (45) 은 레지스터 (25) 에서의 임계값을 조정한다. 콜들 사이의 간격에 응답하는 이러한 프로세싱은 임계값의 점진적인 조정을 생성한다. 매우 큰 인터딜레이 IC가 임계값에서의 큰 변화를 초래할 수 있기 때문에, 차이 (△) 가 최대값 (예를 들어, 이전의 임계값 Thn) 으로 포화될 수 있으므로, 단일 판독이 임계값에 과도하게 영향을 주지 않을 수 있다. 따라서, 예를 들어, 신규한 임계값은,
Figure 112007088742358-PCT00002
의 범위내에서 항상 유지될 수 있다. IC의 매우 큰 값이 전력 절약에 공헌하므로, 실제로, 임계값은 그러한 경우들에서
Figure 112007088742358-PCT00003
만큼 (증가되는 것보다는) 감소될 수 있고, 즉, 이러한 예의 목적에 있어서, IC의 매우 큰 값은 >Thn2x로 정의될 수 있다. 또한, 최소 임계값은 임계값의 감소에 관한 제한으로서 사용될 수 있다.
기능 유닛이 온이었고, 또 다른 콜이 수신된 경우 최근의 콜 이후의 시간이 현재 임계값 Thn을 경과하지 않는 것을 제 1 예로서 가정한다. 이러한 예에서, 제어 로직 (45) 은 기능 유닛 (21) 을 파워-온으로 유지한다. 그 유닛에 대한 신규한 콜이 수신된 경우, 인터딜레이 IC는 현재의 임계값 Thn 미만이다. Thn과 IC 사이의 차이는 포지티브 △ 값이 될 것이다. 그러나, 신규한 임계값 Thn+1은, (2x에 의해 제산된) x 자리만큼 시프트된 △의 양만큼 과거의 임계값 Thn보다 더 작거나 감소될 것이다. 또 다른 방식을 나타내면, 전력 제어는 충분히 적극적이지 않으므로, 장래에 그 유닛을 더 일찍 컷오프 (전력을 절약) 하기 위한 노력으로 그 전력 제어는 임계값을 증분적으로 감소시킨다.
최근의 콜 이후의 시간이 현재의 임계값을 경과하고 제어 로직 (45) 이 기능 유닛 (21) 을 턴-오프하는 것을 제 2 예로서 고려한다. 유닛이 다음에 호출되는 경우, 인터딜레이 IC는 현재의 임계값 Thn보다 더 크다. 스레싱이 존재하지 않으면, IP는 Thn 이상이므로, IC는 현재의 임계값 Thn에 적어도 2배이다. 차이는 네거티브 △ 값일 것이다. 따라서, 수학식 (1) 에서의 신규한 임계값 Thn+1은, (2x에 의해 제산된) x 자리만큼 시프트된 △의 양만큼 과거의 임계값 Thn보다 더 크거나 증가될 것이다. 그러나, 인터레이어 IC가 특히 크다면, 전력 제어는 Thn+1로부터 Thn(1-1/2x) 까지의 예에서 신규한 임계값을 감소시킬 것이다.
또한, 제어 로직 (45) 은 스레싱을 최소화하기 위해 레지스터 (25) 에서의 임계값을 조정한다. 파워 다운 이후에 신규한 콜이 기능 유닛의 동작에 대해 너무 신속하게 도달하면, 예를 들어, 파워-업이 파워 다운에 의해 절약되었던 것보다 더 많은 전력을 소비하고 및/또는 파워 업 딜레이로 인해 부가된 스톨이 성능에 현저하게 영향을 주므로, 스레싱이 발생한다. 당해 유닛의 기능이 파워 오프되면, 그 유닛이 다시 호출되고 역으로 파워 업되는 경우, 인에이블먼트 시간은 파워-오프 시간 스탬프 TS(LPD) 와 비교된다.
도 2의 예에서, 제어 로직 (45) 이 제산기 (21) 의 동작에 대한 신규한 콜에 응답하여 그 제산기 (21) 를 파워 업하는 경우, 그 로직은, 레지스터 (35) 에서의 시간 스탬프와 레지스터 (25) 에서의 임계값과의 결합과 카운터 (31) 에서의 카운트 값의 비교를 판독한다. 동일한 임계값이 편의를 위해 여기에서 사용되지만, 상이한 설정값이 이러한 조정 알고리즘에서 사용될 수 있다. 최근의 파워 다운 이후의 측정된 시간 간격이 너무 작으면 (예를 들어, 파워 다운과 파워 업 사이의 딜레이의 주기가 임계값 이하이면), 임계값은 스레싱에 대한 장래의 잠재성을 감소시키기 위해 의도된 방식으로 조정된다. 이러한 조정은 장래의 사용을 위한 임계값을, 예를 들어, 과거의 임계값에 2배로 증가시킨다. 따라서, 스레싱-방지 컴포넌트는 임계값에 관한 더 많은 직접적인 효과를 갖지만, 미세조정 컴포넌트는 더 워터-다운된 (watered-down) 효과를 갖는다.
비활성도에 기초하여 프로세서의 기능 엘리먼트의 활성도 및 비활성도를 제어하고, 비활성도 시간 임계값을 조정하는 프로세싱이 다양한 방식으로 구현될 수 도 있다. 그러나, 상술된 동작들에 따라 프로세싱의 로지컬 흐름의 일 예를 고려하는 것이 도움이 될 수도 있다. 도 3은 전력 제어 (23) 에 의해 구현될 수도 있는 프로세스 흐름의 일 예를 도시한 흐름도이다.
제산기 (21) 가 항상 전력 공급되는 경우 (단계 S1), 제산기 (21) 의 동작에 대한 최근의 이전 콜 이후의 인터-콜 딜레이 IC가 단계 S2에서 계산된다. 예를 들어, 레지스터 (33) 및 감산 회로 (37) 를 사용하여, 단계 S2는 IC=Count-TS(LC) 를 계산한다. 단계 S3는 (예를 들어, 비교기 (41) 에서와 같이) 현재의 임계값 Thn에 대한 비교를 포함한다. 제어 로직 (45) 이 최근의 콜 IC 이후의 비활성 딜레이가 현재의 임계값 Thn을 충족하지 않거나 초과한다는 것을 결정하면, 단계 S3에서의 프로세싱은 단계 S4로 흐른다.
단계 S4에서, 제어 로직 (45) 은 제산기 (21) 의 동작에 대한 콜을 체크한다. 콜이 존재하지 않으면, 단계 S4에서의 프로세싱은 단계 S5로 흐른다. 단계 S5에서, 카운터가 증분되고 프로세싱이 단계 S2로 복귀하여, 최근의 콜 이후의 인터딜레이에 대한 값을 업데이트하고, S3에서의 현재의 임계값에 대해 그 딜레이를 다시 체크한다.
이러한 관점에서 설명의 목적을 위해, 전력 제어가 제산기 (21) 의 동작에 대한 콜을 검출할 때까지 단계 S2 내지 단계 S5를 통한 루프가 지속한다고 가정한다. 따라서, 단계 S4에서, 제어 로직 (45) 은 제산기 (21) 에 대한 콜을 검출하고 프로세서는 단계 S4로부터 단계 S6으로 흐른다. 단계 S6에서, 후술될 바 와 같이, 제어 로직은 루틴을 구현하여 도 4의 흐름도에 관해 임계값을 조정한다. 주의할 점은, 유닛이 파워 다운되지 않으므로, 이 예에서의 이러한 관점에서 조정이 장래의 사용에 대한 임계값을 증분적으로 감소시킨다는 것이다. 임계값의 조정 이후, 프로세싱은, 제어 (23) 가 제산기 (21) 에 대한 콜을 수신 또는 검출하였던 사이클에서 레지스터 (33) 에서의 시간 스탬프 TS(LC) 를 카운터 (31) 에서의 현재값으로 업데이트하는 단계 (단계 S7) 를 포함한다. 단계 S5는 다시 카운터를 증분시키고, 프로세싱은 단계 S2로 복귀하여, 제산기 (21) 의 기능에 대한 최근의 콜 이후의 인터딜레이 IC에 기초하여 분석을 재개한다.
단계 S2 내지 S7을 통한 루프는, 임계값의 현재값 Thn 이상인 제산기 (21) 의 기능에 대한 최근의 콜 이후의 인터딜레이 IC의 주기의 만료 이전에, 제어 로직 (45) 이 제산기 (21) 의 기능에 대한 신규한 콜을 수신하는 한 지속할 것이다. 그러나, 이제, 최근의 콜 이후의 딜레이가 현재의 임계값에 도달한다고 가정한다. 따라서, 단계 S3에서, 제어 로직 (45) 은 IC≥Thn이라는 것을 검출하고, 프로세싱으로 하여금 단계 S3로부터 S8로 흐르게 한다. 단계 S8에서, 제어 로직 (45) 은, 예를 들어, 상술된 바와 같이 제산기 (21) 로의 전력을 중단시키므로써 제산기 (21) 를 디스에이블한다. 그 후, 제어 로직 (45) 은 레지스터 (35) 를 활성화하여, 제산기 (21) 의 최근의 파워 다운에 대한 신규한 시간 스탬프 값 TS(LPD) 로서 현재의 카운트 값을 캡쳐한다.
단계 S10에서, 제어 로직은, 그 제어 로직이 제산기 (21) 의 기능에 대한 신 규한 콜을 수신 또는 검출하는지의 여부를 확인한다. 그렇지 않다면, 프로세싱은, 카운터가 증분되는 단계 S11로 흐르고, 프로세싱은 역으로 단계 S10으로 흐른다. 단계 S10 및 단계 S11은, 제어 로직 (45) 이 제산기 (21) 의 기능에 대한 신규한 콜을 검출할 때까지 반복한다. 신규한 콜이 검출될 때까지, 제산기 (21) 는 디스에이블된 상태를 유지하고, 따라서, 전력을 소비하지 않는다.
그러나, 제어 로직 (45) 이 제산기 (21) 의 기능에 대한 신규한 콜을 검출할 경우, 프로세싱은 S10으로부터 S12로 흐른다. S12에서, 제어 로직 (45) 은 기능 유닛, 즉, 이러한 예에서는 제산기 (21) 을 파워 업하는 절차를 개시한다. 그 후, 프로세싱은, 콜들 사이의 시간의 길이에 의존하여, 스레싱을 회피하기 위하여 임계값을 증가시키거나 임계값을 미세조정하기 위해 임계값을 조정하는 단계 S6으로 흐른다. 단계 S7에서, 로직 (45) 은 최근의 콜 TS(LC) 에 대한 시간 스탬프를 카운터 (31) 에서의 현재값으로 설정한다. 그 후, 프로세싱은 단계 S5 내지 단계 S2을 통해 역으로 흘러 상술된 프로세싱을 재개한다.
이전의 패러그래프에서 도 3 및 도 3의 설명에 의해 나타낸 바와 같이, 기능 유닛의 동작에 대한 콜이 존재하는 각각의 시간에서, 제어 로직 (45) 은 임계값을 조정하기 위해 단계 S6에서의 절차를 개시할 것이다. 상술된 원칙에 따라 임계값을 조정하기 위한 S6에서의 프로세싱은 다양한 방식으로 구현될 수도 있다. 그러나, 도 4의 흐름도에 관하여, 상술된 동작들에 따른 프로세싱의 로지컬 흐름의 일 예를 고려하는 것이 도움이 될 수도 있다.
단계 S61에서, 제산기 (21) 의 최근의 파워 다운 이후의 간격 IP가 계산된다. 예를 들어, 레지스터 (35) 및 감산 회로 (39) 를 사용하여, 단계 S61은 IP=Count-TS(LPD) 를 계산한다. 단계 S62에서, 로직 (45) 는 이러한 조정 동작이 제산기 (21) 의 파워-업에 후속되는지의 여부를 판정한다. 후속했다면, 프로세싱은 S62로부터 S63으로 흐른다. S63은, (예를 들어, 비교기 (43) 에서와 같이) 스레싱을 측정하기 위해 사용된 설정값, 예를 들어, 과거의 임계값 Thn에 대한 비교를 포함한다. 최근의 파워 다운 이후의 간격 IP가 과거의 임계값 Thn 미만이라는 것을 제어 로직 (45) 이 결정하면, 스레싱 이슈가 존재하므로, 단계 S63에서의 프로세싱은 단계 S64로 흐른다.
단계 S64에서, 임계값은 스레싱을 감소시키기 위해 증가된다. S64에서의 이러한 조정은, 예를 들어, 2배의 과거 임계값 (Thn+1=2(Thn)) 과 동일한 증가된 임계값을 생성할 수 있다. 따라서, 스레싱 조건을 검출할 시에, 파워 다운 임계값은 장래의 사이클에서 제산기의 이른 파워 다운을 방지하기 위해 2배가 될 수도 있다.
단계 S62로 복귀하여, 기능 유닛이 신규한 콜에 응답하여 파워 업되지 않았다면 (최근의 이전 콜 이후의 임계 간격이 만료하지 않았다면), 프로세싱은 S65로 흐를것이다. 또한, 신규한 콜에 응답하는 파워-업이 존재하지만 최근의 파워 다운 이후의 간격 IP가 과거의 임계값 이상이었다면, 프로세싱은 S65에 도달할 수 도 있다. 이것은, (최근의 이전 콜이 최근의 이전 파워 다운에 선행하므로) 최근의 이전 콜 이후의 주기가 또한 임계값보다 더 크고, 도 3의 프로세스 흐름을 통한 이러한 경과시에 기능 유닛이 단계 S12에서 파워 업되었다는 것을 의미한다. 어느 경우에서든, 스레싱 이슈는 존재하지 않지만, 임계값은 전력 보전을 최적화하기 위해 미세조정될 필요가 있을 수도 있다.
나타낸 바와 같이, IC의 매우 큰 값들은 전력 절약에 공헌한다. 이러한 예에서, IC의 매우 큰 값은 >Thn2x로서 정의되며, 로직은 단계 S65에서의 그 정의한 값에 대해 인터딜레이를 체크한다. 인터레이어가 IC>Thn2x이면, 프로세싱은 임계값이
Figure 112007088742358-PCT00004
만큼 (x 자리만큼, 예를 들어, 1, 2, 3 또는 그 이상의 자리만큼 왼쪽으로 시프트된 과거의 바이너리 값) 감소되는 단계 S66으로 흐른다. 다음으로, 최소 임계값에 대해 감소된 임계값을 체크하기 위해 프로세싱은 단계 S67로 흐른다. 계산된 신규한 임계값 Thn+1이 최소 임계값 Thmin 미만이면, 단계 S68은 신규한 임계값을 최소값에 설정하도록 서빙한다. 그렇지 않으면, 프로세싱은, 단계 S66에서 계산된 값에 설정된 신규한 임계값을 갖는 조정 루틴 S6에서 퇴장한다.
다음으로, 인터딜레이 간격 IC가 비교적 컸었는지의 여부가 판정되는 단계 S65의 고려사항으로 복귀한다. 그렇지 않다면, 프로세싱은 단계 S69로 흐른다. 그 곳에서, 제산기 유닛 (21) 의 동작에 대한 콜들 사이의 인터딜레이에 대한 현재값 IC는 과거의 임계값 Thn로부터 감산되고, 그 차이는, 본질적으로, 대응하는 2의 거듭제곱에 의해 제산하는 것처럼 상수, 예를 들어, 3 자리 (x=3) 만큼 우측으로 시프트된다. 이러한 결과는, 신규한 임계값 Thn+1을 생성하기 위해 과거의 임계값 Thn으로부터 감산된다. 상술된 바와 같이, 임계값을 조정하기 위한 이러한 수학식의 일 예는 다음의 수학식 1과 같을 것이다.
Figure 112007088742358-PCT00005
매우 큰 인터딜레이 IC가 임계값에서의 큰 변화를 초래할 수 있기 때문에, 그 임계값과 그 인터딜레이 사이의 차이 (△) 가 최대값 (예를 들어, 이전의 임계값 Thn) 으로 포화될 수 있으므로, 단일 판독이 임계값에 과도하게 영향을 주지 않을 수 있다. 따라서, 예를 들어, 신규한 임계값은, 제한 단계 S70 및 S71에 의해 나타낸 바와 같이
Figure 112007088742358-PCT00006
의 범위내에서 항상 유지될 수 있다.
단계 S66은 신규한 임계값을 2배의 과거 임계값과 비교한다. 단계 S64에서 계산된 신규한 임계값이 2배의 과거 임계값보다 더 크면, 프로세싱은 그 신규한 임계값을 2배의 과거 임계값에 설정하도록 단계 S64로 흐른다. 단계 S65에서 계산된 신규한 임계값이 2배의 과거 임계값 이하이면 (크지 않다면), 프로세싱은 미세조정된 임계값을 최소 임계값에 대해 체크하도록 단계 S67로 흐른다. 계산된 신규한 임계값 Thn+1이 최소 임계값 Thmin 미만이면, 단계 S68은 그 신규한 임계값을 최소값으로 설정하도록 서빙한다. 그렇지 않으면, 프로세싱은, 단계 S69 내지 S70에서 계산된 값에 설정된 신규한 임계값을 갖는 조정 루틴 S6에서 퇴장한다.
도 3의 프로세싱 흐름 및 도 4의 조정 루틴은 단지 예로서 제공된다. 당업자는, 다른 루틴들 및/또는 다른 알고리즘들이 과도한 스레싱을 회피하면서 전력 보존을 위해 본 발명의 교시를 구현하는데 사용될 수 있다는 것을 알 수 있다.
상술한 것은 최상의 모드 및/또는 다른 예들로 고려되는 것을 설명하였지만, 다양한 변형들이 여기에 행해질 수도 있고, 여기에서 개시된 사항이 다양한 형태 및 예로 구현될 수도 있으며, 본 발명의 교시가, 그들 중 일부만이 여기에서 설명된 많은 애플리케이션들에서 적용될 수도 있다는 것을 알 수 있다. 본 발명의 교시는, 본 발명의 교시의 실제 범위내에 있는 임의의 및 모든 애플리케이션들, 변형들 및 변화들을 청구하는 다음의 청구항에 의해 의도된다.

Claims (20)

  1. 프로그램가능 프로세서의 전력 소비를 감소시키는 방법으로서,
    상기 프로그램가능 프로세서의 복수의 기능 유닛들 중 하나의 기능 유닛의 동작에 대한 최근의 콜 이후의 시간을 모니터링하는 단계;
    상기 하나의 기능 유닛의 최근의 이전 셧 다운 (last prior shut down) 이후의 시간을 모니터링하는 단계;
    상기 최근의 콜 이후의 시간이 현재의 임계값을 초과하는 경우, 상기 하나의 기능 유닛에 의해 소비된 전력을 감소시키기 위해, 상기 하나의 기능 유닛을 셧 다운시키는 단계;
    상기 하나의 기능 유닛의 동작에 대한 이후의 콜에 응답하여 상기 하나의 기능 유닛을 재활성화시키는 단계; 및
    상기 하나의 기능 유닛을 재활성화시키는 시간에서 상기 셧 다운 이후의 시간이 설정값 미만이면, 상기 현재의 임계값을 더 높은 신규한 임계값으로 증가시키는 단계를 포함하는, 전력 소비 감소 방법.
  2. 제 1 항에 있어서,
    상기 설정값은 상기 임계값의 현재값과 동일한, 전력 소비 감소 방법.
  3. 제 1 항에 있어서,
    상기 더 높은 신규한 임계값은 상기 현재의 임계값의 2배인, 전력 소비 감소 방법.
  4. 제 1 항에 있어서,
    상기 하나의 기능 유닛을 셧 다운시킬 시에, 상기 하나의 기능 유닛의 동작에 대한 상기 최근의 콜 이후의 시간에 기초하여, 전력 감소를 최적화하도록 상기 현재의 임계값을 조정하는 단계를 더 포함하는, 전력 소비 감소 방법.
  5. 제 4 항에 있어서,
    상기 전력 감소를 최적화하도록 상기 현재의 임계값을 조정하는 단계는,
    차이를 획득하기 위해 상기 현재의 임계값으로부터 상기 최근의 콜 이후의 시간을 감산하는 단계;
    하나 이상의 비트 자리만큼 상기 차이를 시프트하는 단계; 및
    조정된 임계값을 획득하기 위해 상기 현재의 임계값으로부터 상기 시프트된 차이를 감산하는 단계를 포함하는 단계들을 수행함으로써 상기 조정된 임계값을 계산하는 단계를 포함하는, 전력 소비 감소 방법.
  6. 제 5 항에 있어서,
    상기 조정된 임계값을 계산하는 단계는, 상기 차이를 상기 현재의 임계값 이하로 포화시키는 단계, 및 상기 조정된 임계값을 설정 최소 임계값 이상으로 제한 시키는 단계를 더 포함하는, 전력 소비 감소 방법.
  7. 제 1 항에 있어서,
    상기 기능 유닛은 산술 기능 실행용의 로직 엘리먼트를 포함하는, 전력 소비 감소 방법.
  8. 제 7 항에 있어서,
    상기 산술 기능은 승산 기능 또는 제산 기능을 포함하는, 전력 소비 감소 방법.
  9. 프로그램가능 프로세서의 전력 소비를 감소시키는 방법으로서,
    상기 프로그램가능 프로세서의 복수의 기능 유닛들 중 하나의 기능 유닛의 동작에 대한 콜들을 모니터링하는 단계;
    상기 콜들의 후속 콜 이전에 임계값의 현재값에 도달하는 상기 콜들의 최근의 선행 콜에 후속하는 시간의 각각의 검출에 응답하여 상기 하나의 기능 유닛을 셧 다운시키는 단계;
    상기 하나의 기능 유닛의 각각의 셧 다운에 후속하는 상기 하나의 기능 유닛의 동작에 대한 콜에 응답하여, 상기 하나의 기능 유닛을 활성화시키는 단계;
    상기 하나의 기능 유닛의 각각의 셧 다운과 상기 하나의 기능 유닛의 각각의 후속 활성화 사이의 시간을 모니터링하는 단계; 및
    설정 주기 미만인, 상기 하나의 기능 유닛의 셧 다운과 상기 하나의 기능 유닛의 후속 활성화 사이의 시간의 임의의 발생에 응답하여, 상기 임계값을 신규한 현재값으로 증가시키는 단계를 포함하는, 전력 소비 감소 방법.
  10. 제 9 항에 있어서,
    상기 설정 주기는 상기 임계값의 현재값과 동일한, 전력 소비 감소 방법.
  11. 복수의 기능 유닛들을 포함하는 프로그램가능 프로세서에 대한 전력 제어 장치로서,
    상기 기능 유닛들 중 하나의 기능 유닛에 연결되어, 상기 하나의 기능 유닛을 선택적으로 활성화 및 셧 다운시키는 회로;
    상기 하나의 기능 유닛의 동작에 대한 최근의 이전 콜 이후의 시간 및 상기 하나의 기능 유닛의 최근의 이전 셧 다운 이후의 시간을 모니터링하는 수단; 및
    임계값의 현재값을 초과하는, 상기 하나의 기능 유닛의 동작에 대한 최근의 콜 이후의 시간의 각각의 발생시에 상기 하나의 기능 유닛을 셧 다운시키도록, 상기 회로를 제어하며, 상기 하나의 기능 유닛에 대한 콜이 설정값 미만인 최근의 이전 셧 다운 이후의 시간에서 발생하면, 상기 임계값을 상기 임계값의 현재값 이상으로 증가시키는 수단을 포함하는, 전력 제어 장치.
  12. 제 12 항에 있어서,
    상기 설정값은 상기 임계값의 현재값과 동일한, 전력 제어 장치.
  13. 제 13 항에 있어서,
    상기 임계값을 증가시키는 것은 상기 임계값의 현재값의 2배와 동일한 신규한 임계값을 설정하는 것을 포함하는, 전력 제어 장치.
  14. 제 12 항에 있어서,
    상기 하나의 기능 유닛의 각각의 셧 다운 시에 하나의 기능 유닛에 대한 최근의 콜 이후의 시간의 함수로서 상기 임계값을 조정하는 수단을 더 포함하는, 전력 제어 장치.
  15. 명령들에 따라 데이터를 프로세싱하는 복수의 기능 유닛들;
    상기 기능 유닛들 중 하나의 기능 유닛에 연결되어, 상기 하나의 유닛을 선택적으로 활성화 및 셧 다운시키는 회로;
    상기 명령들의 프로세싱 동안 상기 하나의 기능 유닛의 동작에 대한 콜들을 모니터링하며, 조정가능한 임계값과 동일한 상기 콜들 중 최근의 이전 콜 이후의 시간 간격의 각각의 경과시에 상기 하나의 기능 유닛을 셧 다운시키고, 셧 다운에 후속하는 상기 하나의 기능 유닛의 동작에 대한 각각의 신규한 콜에 응답하여 상기 하나의 기능 유닛을 재활성화시키기 위해 상기 회로를 제어하는 전력 제어기; 및
    상기 임계값을 조정하는 수단을 포함하는, 프로그램가능 프로세서.
  16. 제 15 항에 있어서,
    상기 조정 수단은, 상기 하나의 기능 유닛의 셧 다운과 상기 하나의 기능 유닛의 동작에 대한 후속 콜 사이의 시간의 함수로서 상기 임계값의 증가를 제어하는, 프로그램가능 프로세서.
  17. 제 15 항에 있어서,
    상기 조정 수단은, 상기 하나의 기능 유닛의 동작에 대한 후속 콜에 응답하여, 상기 하나의 기능 유닛의 동작에 대한 최근의 콜 이후의 시간의 함수로서 상기 임계값의 감소를 제어하는, 프로그램가능 프로세서.
  18. 제 15 항에 있어서,
    상기 하나의 기능 유닛의 셧 다운과 상기 하나의 기능 유닛의 동작에 대한 후속 콜 사이의 시간이 설정값 미만이면, 상기 조정 수단은 상기 임계값을 증가시키고,
    그렇지 않으면, 상기 조정 수단은 상기 하나의 기능 유닛의 동작에 대한 최근의 콜 이후의 시간의 함수로서 상기 임계값을 조정하는, 프로그램가능 프로세서.
  19. 제 15 항에 있어서,
    상기 기능 유닛들은 파이프라인의 복수의 프로세싱 스테이지들을 형성하고, 상기 스테이지들은 실행 스테이지를 포함하며, 상기 하나의 기능 유닛은 상기 실행 스테이지의 엘리먼트를 포함하는, 프로그램가능 프로세서.
  20. 제 19 항에 있어서,
    상기 실행 스테이지의 엘리먼트는 제산기 또는 승산기를 포함하는, 프로그램가능 프로세서.
KR1020077028874A 2005-05-10 2006-05-08 유휴-엘리먼트 예측 회로 및 스레싱-방지 로직 KR100922090B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/126,442 2005-05-10
US11/126,442 US7386747B2 (en) 2005-05-10 2005-05-10 Method and system for reducing power consumption of a programmable processor

Publications (2)

Publication Number Publication Date
KR20080011692A true KR20080011692A (ko) 2008-02-05
KR100922090B1 KR100922090B1 (ko) 2009-10-16

Family

ID=37397229

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077028874A KR100922090B1 (ko) 2005-05-10 2006-05-08 유휴-엘리먼트 예측 회로 및 스레싱-방지 로직

Country Status (10)

Country Link
US (1) US7386747B2 (ko)
EP (2) EP2930590B1 (ko)
JP (1) JP4897796B2 (ko)
KR (1) KR100922090B1 (ko)
CN (1) CN101288039B (ko)
ES (1) ES2547377T3 (ko)
IL (1) IL187136A0 (ko)
MX (1) MX2007014111A (ko)
TW (1) TWI318748B (ko)
WO (1) WO2006122102A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9625972B2 (en) 2011-03-17 2017-04-18 Samsung Electronics Co., Ltd. Method of reducing power consumption of system software using query scheduling of application and apparatus for reducing power consumption using the method

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7724979B2 (en) * 2004-11-02 2010-05-25 Broadcom Corporation Video preprocessing temporal and spatial filter
US8266464B2 (en) * 2006-10-24 2012-09-11 Texas Instruments Incorporated Power controller, a method of operating the power controller and a semiconductor memory system employing the same
US7895456B2 (en) * 2006-11-12 2011-02-22 Microsemi Corp. - Analog Mixed Signal Group Ltd Reduced guard band for power over Ethernet
US7685409B2 (en) 2007-02-21 2010-03-23 Qualcomm Incorporated On-demand multi-thread multimedia processor
US7865753B2 (en) * 2007-03-28 2011-01-04 Intel Corporation Resource power controller to return a resource to an up state based on an estimate of a size of a gap in data traffic
US20080307240A1 (en) * 2007-06-08 2008-12-11 Texas Instruments Incorporated Power management electronic circuits, systems, and methods and processes of manufacture
JP2008312048A (ja) * 2007-06-15 2008-12-25 Ripplex Inc 情報端末の認証方法
US7903493B2 (en) * 2008-04-25 2011-03-08 International Business Machines Corporation Design structure for estimating and/or predicting power cycle length, method of estimating and/or predicting power cycle length and circuit thereof
KR100936765B1 (ko) 2008-06-02 2010-01-15 엘지전자 주식회사 동적 전력관리 프로세서의 소음저감장치 및 방법
US8607075B2 (en) * 2008-12-31 2013-12-10 Intel Corporation Idle duration reporting for power management
US8190939B2 (en) * 2009-06-26 2012-05-29 Microsoft Corporation Reducing power consumption of computing devices by forecasting computing performance needs
US8219834B2 (en) * 2009-08-12 2012-07-10 International Business Machines Corporation Predictive power gating with optional guard mechanism
US8219833B2 (en) * 2009-08-12 2012-07-10 International Business Machines Corporation Two-level guarded predictive power gating
US8504855B2 (en) 2010-01-11 2013-08-06 Qualcomm Incorporated Domain specific language, compiler and JIT for dynamic power management
US9235251B2 (en) * 2010-01-11 2016-01-12 Qualcomm Incorporated Dynamic low power mode implementation for computing devices
US8527994B2 (en) 2011-02-10 2013-09-03 International Business Machines Corporation Guarded, multi-metric resource control for safe and efficient microprocessor management
US20150234449A1 (en) * 2014-02-14 2015-08-20 Qualcomm Incorporated Fast power gating of vector processors
US10042416B2 (en) * 2015-07-20 2018-08-07 Sandisk Technologies Llc Memory system and method for adaptive auto-sleep and background operations
US10102131B2 (en) * 2015-09-30 2018-10-16 Apple Inc. Proactive power management for data storage devices to reduce access latency
US20170139716A1 (en) * 2015-11-18 2017-05-18 Arm Limited Handling stalling event for multiple thread pipeline, and triggering action based on information access delay
US10635335B2 (en) 2017-03-21 2020-04-28 Western Digital Technologies, Inc. Storage system and method for efficient pipeline gap utilization for background operations
US11269764B2 (en) 2017-03-21 2022-03-08 Western Digital Technologies, Inc. Storage system and method for adaptive scheduling of background operations
US11188456B2 (en) 2017-03-21 2021-11-30 Western Digital Technologies Inc. Storage system and method for predictive block allocation for efficient garbage collection
CN106849041B (zh) * 2017-03-27 2018-12-18 上海华力微电子有限公司 一种浪涌电流控制模块及其方法
US10705843B2 (en) 2017-12-21 2020-07-07 International Business Machines Corporation Method and system for detection of thread stall
US11934493B2 (en) * 2021-06-17 2024-03-19 EMC IP Holding Company LLC Anti-piracy protection service-based software license management system to prevent usage of unlicensed software after the trial period

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5775335A (en) * 1980-10-27 1982-05-11 Hitachi Ltd Data processor
US5452401A (en) * 1992-03-31 1995-09-19 Seiko Epson Corporation Selective power-down for high performance CPU/system
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
JP2872057B2 (ja) * 1994-11-24 1999-03-17 日本電気株式会社 無線選択呼出受信機
JPH08272495A (ja) * 1995-03-31 1996-10-18 Mitsubishi Electric Corp 電力制御装置及び電力制御方法
JP3213208B2 (ja) * 1995-06-22 2001-10-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置及びその制御方法
US5781783A (en) * 1996-06-28 1998-07-14 Intel Corporation Method and apparatus for dynamically adjusting the power consumption of a circuit block within an integrated circuit
US6347377B2 (en) * 1998-11-04 2002-02-12 Phoenix Technologies Ltd. Method and apparatus for providing intelligent power management
US6345362B1 (en) * 1999-04-06 2002-02-05 International Business Machines Corporation Managing Vt for reduced power using a status table
GB9925289D0 (en) * 1999-10-27 1999-12-29 Ibm Method and means for adjusting the timing of user-activity-dependent changes of operational state of an apparatus
US6625740B1 (en) * 2000-01-13 2003-09-23 Cirrus Logic, Inc. Dynamically activating and deactivating selected circuit blocks of a data processing integrated circuit during execution of instructions according to power code bits appended to selected instructions
JP4681096B2 (ja) * 2000-02-28 2011-05-11 パナソニック電工電路株式会社 記憶装置
US6845445B2 (en) 2000-05-12 2005-01-18 Pts Corporation Methods and apparatus for power control in a scalable array of processor elements
US6625737B1 (en) * 2000-09-20 2003-09-23 Mips Technologies Inc. System for prediction and control of power consumption in digital system
JP2003091430A (ja) * 2001-09-18 2003-03-28 Mitsubishi Electric Corp 故障個所解析装置及びその方法
US6965763B2 (en) * 2002-02-11 2005-11-15 Motorola, Inc. Event coordination in an electronic device to reduce current drain
US7093141B2 (en) * 2002-12-18 2006-08-15 International Business Machines Corporation Power aware adaptive polling
US6885974B2 (en) * 2003-01-31 2005-04-26 Microsoft Corporation Dynamic power control apparatus, systems and methods
US20060123422A1 (en) * 2004-12-02 2006-06-08 International Business Machines Corporation Processor packing in an SMP server to conserve energy

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9625972B2 (en) 2011-03-17 2017-04-18 Samsung Electronics Co., Ltd. Method of reducing power consumption of system software using query scheduling of application and apparatus for reducing power consumption using the method

Also Published As

Publication number Publication date
WO2006122102A2 (en) 2006-11-16
JP4897796B2 (ja) 2012-03-14
EP1889140A2 (en) 2008-02-20
WO2006122102A3 (en) 2007-12-21
EP2930590B1 (en) 2017-12-06
CN101288039A (zh) 2008-10-15
US20060259791A1 (en) 2006-11-16
EP2930590A1 (en) 2015-10-14
US7386747B2 (en) 2008-06-10
CN101288039B (zh) 2011-06-08
KR100922090B1 (ko) 2009-10-16
EP1889140B1 (en) 2015-06-17
EP1889140A4 (en) 2011-05-25
MX2007014111A (es) 2008-02-05
TW200710726A (en) 2007-03-16
IL187136A0 (en) 2008-02-09
ES2547377T3 (es) 2015-10-05
TWI318748B (en) 2009-12-21
JP2008541274A (ja) 2008-11-20

Similar Documents

Publication Publication Date Title
KR100922090B1 (ko) 유휴-엘리먼트 예측 회로 및 스레싱-방지 로직
US5878264A (en) Power sequence controller with wakeup logic for enabling a wakeup interrupt handler procedure
JP3845642B2 (ja) ユニット電力調整機構を備えた集積回路装置
US7197654B2 (en) Method and apparatus for managing low power processor states
US7979725B2 (en) Computer power conservation apparatus and method that controls speculative execution by adjusting branch confidence threshold based on processor load
KR102023146B1 (ko) 인스턴트 온을 갖는 제로 전력 하이버네이션 모드
US8181051B2 (en) Electronic apparatus and method of conserving energy
JP5074389B2 (ja) Simd並列処理の自動選択を備えたマイクロプロセッサ
US8452999B2 (en) Performance estimation for adjusting processor parameter to execute a task taking account of resource available task inactive period
US7689849B2 (en) Reduction of power consumption by throttling processor requests
US20050204179A1 (en) Method for controlling power consumption associated with a processor
AU2011336388B2 (en) Modular gating of microprocessor low-power mode
US20070157041A1 (en) Conserving power by reducing voltage supplied to an instruction-processing portion of a processor
Kondo et al. Design and evaluation of fine-grained power-gating for embedded microprocessors
KR20140026308A (ko) 멀티 코어 시스템의 전력 관리 장치 및 방법
US10228752B2 (en) Voltage scaling system with sleep mode
US20020104032A1 (en) Method for reducing power consumption using variable frequency clocks
KR20050065394A (ko) 모바일 장치에서의 메모리 전류 누설을 줄이기 위한 방법및 장치
Pereira et al. PASA: A software architecture for building power aware embedded systems
KR100950679B1 (ko) 듀티 사이클에 따른 적응형 전원관리 시스템 및 방법
Zeng et al. Power optimization for embedded system idle time in the presence of periodic interrupt services
Jenkins Decrease power consumption using a programmable logic device
Zeng et al. SYSTEM IDLE TIME IN THE PRESENCE OF PERIODIC INTERRUPT SERVICES

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: 20120927

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 11