KR20020062986A - 디지털 전력 스로틀을 갖는 마이크로프로세서 - Google Patents

디지털 전력 스로틀을 갖는 마이크로프로세서 Download PDF

Info

Publication number
KR20020062986A
KR20020062986A KR1020027008122A KR20027008122A KR20020062986A KR 20020062986 A KR20020062986 A KR 20020062986A KR 1020027008122 A KR1020027008122 A KR 1020027008122A KR 20027008122 A KR20027008122 A KR 20027008122A KR 20020062986 A KR20020062986 A KR 20020062986A
Authority
KR
South Korea
Prior art keywords
processor
power consumption
power
functional unit
level
Prior art date
Application number
KR1020027008122A
Other languages
English (en)
Other versions
KR100511110B1 (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 KR20020062986A publication Critical patent/KR20020062986A/ko
Application granted granted Critical
Publication of KR100511110B1 publication Critical patent/KR100511110B1/ko

Links

Classifications

    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)
  • Control Of Stepping Motors (AREA)

Abstract

본 발명은 프로세서내의 전력 소비를 조정하기 위한 디지털-기반 메커니즘을 제공한다. 프로세서는 하나 또는 그 이상의 기능 유닛, 및 프로세서의 전력 소비를 추정하기 위해 상기 프로세서의 기능 유닛의 액티비티 상태를 모니터링하는 디지털 스로틀을 포함한다. 디지털 스로틀의 일실시예는 하나 또는 그 이상의 게이트 유닛, 모니터 회로 및 스로틀 회로를 포함한다. 각각의 게이트 유닛은 프로세서의 기능 유닛으로의 전력 전달을 제어하고, 연관된 기능 유닛의 액티비티 상태를 표시하는 신호를 제공한다. 모니터 회로는 신호로부터 추정된 전력 소비 레벨을 판정하고, 추정된 전력 소비 레벨을 임계 전력 레벨과 비교한다. 스로틀 회로는 추정된 전력 소비 레벨이 임계 전력 레벨을 초과하는 경우, 프로세서내의 명령어 플로우를 조정한다.

Description

디지털 전력 스로틀을 갖는 마이크로프로세서{MICROPROCESSOR WITH DIGITAL POWER THROTTLE}
최근의 프로세서는 다수의 명령어를 동시에 처리하도록 지원하는 광범위한 실행 자원을 포함한다. 프로세서는 통상적으로 정수, 부동 소수점, 분기 및 명령어 로딩/저장을 각각 구현하기 위해, 하나 또는 그 이상의 정수, 부동 소수점, 분기 및 메모리 실행 유닛을 포함한다. 또한, 정수 및 부동 소수점 유닛은 통상적으로 프로세서 코어에 비교적 근접한 데이터를 저장하기 위한 레지스터 파일을 포함한다. 광범위한 실행 자원을 갖는 프로세서를 제공하는 것의 하나의 단점은 그것을 실행하는데 상당한 양의 전력이 요구된다는 점이다. 상이한 실행 유닛들이 그것의 크기와 구현하는 기능에 따라 다소의 전력을 소비하지만, 비교적 작은 프로세서 칩에 많은 로직을 패킹하는 결과는 상당한 전력 소비 문제에 대한 가능성을 발생시키는 것이다.
상당한 간격에 대해 전범위의 프로세서 실행 자원을 필요로 하는 프로그램은 거의 없다. 프로그램 실행에 소비되는 전력은 그것의 구성 명령어의 특성과 병렬로 실행되기 위한 가능성에 의존한다. 프로그램은 통상적으로 여러 가지 명령어 종류를 포함하지만, 올바른 종류의 충분한 명령어가 상당한 시간 주기동안에 프로세서의 실행 자원 모두가 사용중(busy)인 상태가 되도록 이용가능한 경우는 드물다. 이러한 이유 때문에, 대부분의 프로세서는 그것이 사용되지 않을 때에 실행 자원으로 전달되는 클럭을 차단하는 클럭 게이팅 메커니즘(clock gating mechanism)을 채택하여, 이로써 전력을 감소시킨다. 또한, 실행 자원의 상이한 구성요소는 그 구성요소에 의해 서비스되는 파이프 스테이지를 입/퇴장시키는 명령어로서 턴온 및 턴오프될 수 있다. 따라서, 평균의 프로그램은 비교적 관리하기 쉬운 전력 레벨을 소비할 수 있다.
그러나, 일부 프로그램들은 비교적 긴 시간 간격에 대해 많은 프로세서의 실행 자원을 활성화시키고, 이에 따라, 평균의 프로그램보다 상당히 큰 전력을 소비한다. 프로세서의 전력 소비를 제한하기 위한 메커니즘이 제공되지 않는 경우, 프로세서는 일반적으로 최고 전력을 소비하는 프로그램을 처리하도록 설계된다. 이것은, 평균의 프로그램을 실행하는데 필요한 전력에 관계없이, 모든 프로그램에 대해 그것의 최고의 성능 레벨 이하에서 프로세서의 실행을 필요로 할 수 있다.
전력 스로틀링(throttling)은 고성능 프로세서에 의해 생성되는 전력 소비 문제를 처리하도록 제안된 방법이다. 전력 스로틀링은 그것의 전력 소비가 너무 높아지면 프로세서의 성능을 감소시킨다. 이것은, 전력 소비가 안전한 레벨로 감소될때까지 프로세서가 명령어를 실행하는 속도를 일시적으로 감소시킴으로써 수행될 수 있다. 전력 스로틀링은 프로세서가 평균의 프로그램이 실행되는 전력 레벨로 설계될 수 있게 한다. 자원-요구(resource-hungry) 프로그램이 실행되면, 프로세서는 자신의 전력 소비를 소정의 한계치 내에서 유지하도록 명령어 실행 속도를 감소시킨다.
제안된 전력-스로틀링 메커니즘은 프로세서에 의해 소비되는 전력을 모니터링하는데 아날로그 파라미터에 의존한다. 예를 들면, 열 스로틀링 메커니즘은 프로세서 칩의 온도를 모니터링하여, 온도가 임계값을 초과하면 프로세서의 실행 속도를 감소시킨다. 다른 스로틀링 스킴은 프로세서에 의해 소비되는 전류 또는 스위칭 레귤레이터에서의 펄스폭 변조기의 듀티 사이클(duty cycle)을 모니터링하도록 제안하였다.
이들 전력-스로틀링 메커니즘은 많은 단점을 가진다. 이들은 우세한 디지털 환경, 즉 프로세서에 부가적인 아날로그 회로를 도입한다. 또한, 프로세서의 환경(온도, 전압, 구성)에서의 변화에 의해 변경되기 쉽다. 그리고, 프로세서의 전력 레벨에서 낮은 주파수 변화를 생성할 수 있다. 또한, 프로세서에 의해 소비되는 전력을 직접 제한하지 않으며 결정적이지 않다. 즉, 그 동작이 클럭마다 예측될 수 없다.
본 발명은 이용가능한 전력 스로틀링 메커니즘의 이러한 문제들을 해결하기 위한 것이다.
본 발명은 마이크로프로세서에 관한 것으로, 특히, 마이크로프로세서에서의 전력 소비를 제어하기 위한 메커니즘에 관한 것이다.
본 발명은 첨부된 도면을 참조하여 이해될 수 있고, 여기서, 동일한 구성요소는 동일한 번호로 나타내었다. 이 도면들은 본 발명의 선택된 실시예를 설명하기 위해 제공되며, 본 발명의 범위를 제한하도록 의도된 것은 아니다.
도1은 본 발명이 구현될 수 있는 컴퓨터 시스템의 일실시예를 도시한 블록도.
도2는 본 발명에 따른 디지털 전력 스로틀을 구현한 프로세서의 일실시예를 도시한 블록도.
도3은 도2의 프로세서에 의해 구현되는 디지털 전력 스로틀의 일실시예를 도시한 블록도.
도4는 도3의 스로틀 회로의 일실시예를 도시한 구조도.
도5는 프로세서의 전력 소비를 조정하기 위한 본 발명에 따른 방법을 도시한 순서도.
도6a 및 도6b는 본 발명에 따른 디지털 스로틀을 구현하는 다수의 실행 코어 프로세서의 실시예들을 도시한 블록도.
발명의 요약
본 발명은 마이크로프로세서의 전력 소비를 제어하기 위한 디지털 스로틀을 제공한다.
본 발명에 따르면, 프로세서는 하나 또는 그 이상의 기능 유닛 및 디지털 스로틀을 포함한다. 디지털 스로틀은 프로세서의 전력 소비를 추정하기 위해 프로세서의 기능 유닛의 액티비티(activity) 상태를 모니터링한다.
본 발명의 일실시예에서, 디지털 스로틀은 하나 또는 그 이상의 게이트 유닛, 모니터 회로 및 스로틀 회로를 포함한다. 각 게이트 유닛은 프로세서의 기능 유닛으로의 전력 전달을 제어하고, 그와 연관된 기능 유닛의 액티비티 상태를 표시하는 신호를 제공한다. 모니터 회로는 신호들로부터 프로세서에 대해 추정된 전력 소비 레벨을 판정하고, 추정된 전력 소비 레벨을 임계 전력 레벨과 비교한다. 스로틀 회로는, 추정된 전력 소비 레벨이 임계 전력 레벨을 초과하는 경우, 프로세서내의 명령어 플로우를 조정한다.
다음의 설명에서는 본 발명의 완전한 이해를 제공하기 위해 여러 가지 특정한 세부사항들이 제시된다. 그러나, 이 기술분야의 통상의 지식을 가진 자는 이러한 특정 세부사항없이 본 발명이 실시될 수 있다는 것을 이해할 것이다. 또한, 여러 가지 주지된 방법, 절차, 구성요소 및 회로들은 본 발명의 특징에 대해 초점을 맞추기 위해 상세히 기술되지 않았다.
본 발명은 명령어 시퀀스에 응답하여 프로세서의 기능 유닛의 액티비티를 모니터링함으로써 프로세서의 전력 소비를 제어하기 위한 메커니즘을 제공한다. 예를 들면, 현재 프로세스에서 명령어에 의해 활성화된 기능 유닛의 액티비티는 대응하는 기능 유닛이 온 또는 오프인지를 나타내는 2진 신호에 의해 나타낼 수 있다. 프로세서에 의해 소비되는 전력의 추정은 현재 "온"상태인 각 기능 유닛에 연관된 전력 가중치(power weight)를 합산함으로써 제공된다. 기능 유닛에 대한 전력 가중치는 그것이 활성화될 때에 기능 유닛이 소비하는 전력의 양을 나타낸다. 추정된 전력이 임계 레벨을 초과하는 경우, 스로틀 메커니즘은 프로세서를 통해 명령어 플로우를 조정하여 기능 유닛의 동작을 감소시킨다.
각 기능 유닛에 대한 전력 가중치는 교정(calibration) 프로세스를 통해 판정될 수 있다. 예를 들면, 디지털 스로틀은 설계 프로세서의 일부로서 교정될 수 있거나 또는 자가-교정(self-calibrating)될 수 있다. 후자의 경우에, 디지털 스로틀은 각 기능 유닛에 대한 전력 가중치를 주기적으로 조정하기 위해 전류 모니터링 회로 및 교정 알고리즘을 채택할 수 있다.
본 발명의 일실시예에 있어서, 게이트 유닛은 각 기능 유닛과 제휴하여, 현재 프로세스내의 명령어에 응답하여 기능 유닛으로의 전력 전달을 제어한다. 파이프라인 제어 회로는 각 게이트 유닛에 자신과 연관된 기능 유닛의 온/오프 상태를 나타낸다. 각 게이트 유닛으로부터의 신호는 모니터 회로에 그것과 연관된 기능 유닛에 대한 온/오프 상태를 표시한다. 모니터 회로는 표시된 상태에 따라 프로세서의 현재 전력 소비의 추정에 대응하는 전력 가중치를 포함하거나 또는 무시한다. 대안적으로, 각 게이트 유닛 신호는, 기능 유닛이 "온" 상태일 때에 연관된 기능 유닛의 전력 가중치를 모니터 회로에 전달할 수 있다. 본 발명의 다른 실시예는 추정된 전력에서 고려될 수 있는 전력 가중치를 표시하기 위해 다른 메커니즘을 채택할 수 있다.
모니터 회로는 액티브 기능 유닛에 대한 전력 가중치를 합산하고, 그것을 임계값과 비교하여 클럭별 프로세서의 전력 소비의 추정치를 제공한다. 디지털 스로틀의 일실시예에 있어서, 이들 추정치는 다수의 클럭 사이클에 걸쳐 누산되어, 프로세서의 전력 소비에서의 클럭별 변동을 고르게 하는 누산 전력값을 제공한다. 스로틀 회로는, 명령어가 누산 전력값에 따라 처리되는 속도를 조정한다. 예를 들면, 스로틀 회로는 프로세서의 명령어 실행 파이프라인에 "버블"을 삽입하여 성능을 감소시키거나, 또는 프로세서 클럭이 동작하는 주파수를 감소시킬 수 있다.
따라서, 제시된 메커니즘은 전력 소비를 추정하는데 프로세서 로직에서의 디지털 이벤트(액티비티 상태)에 의존하고, 명령어가 처리되는 속도를 통해 직접 이들 이벤트의 속도를 조정한다. 이것은 프로세서의 전력 소비를 제어하기 위한 빠르고 직접적이며 결정적인 메커니즘을 제공하고, 프로세서에 아날로그 회로의 도입없이 이것을 수행한다.
도1은 본 발명이 구현될 수 있는 컴퓨터 시스템(100)의 일실시예를 도시한 블록도이다. 컴퓨터 시스템(100)은 하나 또는 그 이상의 프로세서(110), 메인 메모리(140), 비휘발성 메모리(150), 여러 주변 장치(160) 및 시스템 로직(170)을 포함한다. 시스템 로직(170)은 프로세서(110), 메인 메모리(140), 비휘발성 메모리(150) 및 주변 장치(160)들 사이의 데이터 전송을 제어한다. 컴퓨터 시스템(100)은 본 발명의 여러 특징들을 설명하기 위해 제공된다. 도시된 특정 구성이 본 발명을 구현하는데 반드시 필요한 것은 아니다.
프로세서(110)는 명령어 실행 파이프라인(120)을 형성하는 다수의 기능 유닛(124)을 포함한다. 명령어는 메인 메모리(140) 및 비휘발성 메모리(150)로부터 프로세서(110)로 제공된다. 디지털 스로틀(130)은 처리된 명령어에 응답하여 여러 기능 유닛(124)에서의 전력 소비를 모니터링하고, 이에 따라 파이프라인(120)을 통해 명령어의 플로우를 조정한다.
명령어가 파이프라인(120)으로 진행함에 따라, 명령어를 구현하는 하나 또는 그 이상의 동작을 수행하기 위해 여러 기능 유닛(124)을 관리한다. 예를 들면, 부동-소수점 곱셈-누산 명령어(FMAC)는 표시된 자원에서 다음의 동작들이 발생하도록 야기할 수 있다: 부동 소수점 레지스터 파일이 3개의 오퍼랜드를 판독한다; FMAC 실행 유닛이 오퍼랜드 중 2개를 곱하고, 그 곱을 제3 오퍼랜드에 더한다; 예외 유닛은 그 곱과 합에 에러를 체크한다; 회수 유닛은 에러가 검출되지 않은 경우 부동 소수점 레지스터 파일에 그 결과를 기록한다.
특정한 프로세서 구현예에 따라, 이들 자원 또는 구성요소들은, 명령어가 파이프라인으로 진행함에 따라 턴온 및 턴오프되는 하나 또는 그 이상의 기능 유닛으로 그룹화될 수 있다. 각 기능 유닛은, 그것이 명령어에 의해 활성화됨에 따라, 임의의 양의 전력을 소비한다.
본 발명의 일실시예에 있어서, 기능 유닛(124)에 의해 소비되는 전력은 연관된 전력 가중치로 나타난다. 기능 유닛이 명령어에 의해 활성화되면, 디지털 스로틀(130)은 그것의 액티비티 상태를 검출하고, 그와 연관된 전력 가중치를 프로세서의 총 전력 소비 추정치에 가산한다. 디지털 스로틀(130)은 선택된 간격을 통해 이동작들을 구현하고, 현재 실행중인 명령어 시퀀스에 의해 소비되는 전력의 추정치를 생성하고, 추정된 전력 소비량이 특정 임계 레벨을 초과하는 경우, 파이프라인(120)을 통해 명령어 플로우를 조정한다.
도2는 프로세서(110)의 일실시예를 보다 상세히 나타낸다. 프로세서(11)의 제시된 실시예에 대해, 파이프라인(120)은 인출(FET), 확장(EXP), 레지스터(REG), 실행(EXE), 검출(DET) 및 회수(RET) 스테이지로 각각 나타나고, 각 스테이지에 대응하는 실행 자원이 나타나 있다. 본 발명은 프로세서(110)를 특정 세트의 파이프라인 스테이지로 반드시 분할할 필요는 없다. 예를 들면, 제시된 스테이지는 2개 또는 그 이상의 스테이지로 세부 분할되어, 타이밍 발행을 취하거나 보다 높은 프로세서 클럭 속도를 도모할 수 있다. 대안적으로, 2개 또는 그 이상의 스테이지가 하나의 단계로 결합될 수 있다. 다른 실시예는 비순차적(out-of-order) 명령어 처리를 위한 하드웨어를 포함할 수 있다. 제시된 파이프라인은 본 발명을 구현하는 프로세서에서 동작들이 어떻게 분할될 수 있는지의 일례를 제공한 것이다.
파이프라인(120)의 프런트 엔드는 인출 유닛(210), 발행 유닛(220)을 포함하는데, 이것은 실행을 위패 파이프라인(120)의 백 엔드내의 실행 유닛에 명령어를 제공한다. 인출 유닛(210)은 메모리(140)로부터 직접 또는 로컬 캐시(미도시)를 통해 명령어를 검색하고, 인출된 명령어를 발행 유닛(220)에 제공한다. 발행 유닛(220)은 명령어를 디코딩하고, 이것을 파이프라인(120)의 백 엔드내의 실행 유닛에 발행한다.
이 논의를 통하여, 용어 "명령어"는 일반적으로 명령어, 마크로-명령어, 명령어 묶음(bundles) 또는 프로세서 동작을 인코딩하는데 사용되는 많은 다른 메커니즘을 말하는데 사용된다. 예를 들면, 디코딩 동작은 마크로-명령어를 하나 또는 그 이상의 마이크로-명령어(μops)로 변환하거나, 명령어 묶음을 하나 또는 그 이상의 명령어 마디(syllables)로 분해하거나, 또는 명령어에 연관된 마이크로-코드 시퀀스를 검색할 수 있다.
파이프라인(120)의 백 엔드는 레지스터 유닛(230), 실행 유닛(250), 예외 유닛(160) 및 회수 유닛(270)을 포함한다. 레지스터 유닛(230)은 각각 명령어내에 특정된 레지스터를 식별하고, 식별된 레지스터로부터 데이터를 액세스하기 위한 레지스터 리네임 유닛 및 여러 레지스터 파일(미도시)을 포함한다. 실행 유닛(250)은 분기, 정수, 로딩/저장 및 부동 소수점 명령어를 처리하기 위한 하나 또는 그 이상의 분기 실행 유닛(BRU)(252), 정수 실행 유닛(IEU)(254), 로딩/저장 유닛(LSU)(256) 및 부동 소수점 실행 유닛(FPU)(258)을 포함한다. 예외 유닛(260)은 실행 유닛(250)에 의해 생성된 결과를 체크하고, 예외적인 조건에 직면한 경우, 제어 플로우를 조정한다. 예외적인 조건이 검출되지 않은 경우에는, 회수 유닛(270)이 그 결과를 이용하여 프로세서(110)의 구조적 상태를 갱신한다.
상이한 명령어에 의해 활성화된 기능 유닛은 파이프라인(120)에 대해 나타난 실행 자원의 서브세트 및 다양한 조합에 대응한다. 디지털 스로틀(130)은 이들 기능 유닛에 대한 액티비티 상태를 모니터링하고, 이에 따라, 명령어가 파이프라인(120)을 통해 처리되는 속도를 조정한다. 예를 들면, 하나의 기능 유닛은 부동-소수점 레지스터(레지스터 유닛 230)를 포함할 수 있고, FPU(258)는 2개또는 그 이상의 기능 유닛내에 구성요소를 가질 수 있다. 대체로, 기능 유닛은 함께 활성화되고 비활성화되는 여러 가지 실행 자원(레지스터 파일, 실행 유닛, 추적 로직)을 포함한다. 본 발명은 도2에 도시된 실행 자원과 기능 유닛 사이의 상세한 매핑에 의존하지 않는다.
도3은 디지털 스로틀(130) 및 파이프라인(120)의 기능 유닛(124)과의 상호동작의 일실시예를 도시한 블록도이다. 제시된 디지털 스로틀(130)의 실시예는 게이트 유닛(310(1)-310(n))(포괄적으로, 게이트 유닛(130)), 모니터 회로(320) 및 스로틀 회로(330)를 포함한다. 각 게이트 유닛(310)은 기능 유닛으로의 전력 전달을 제어하기 위해 파이프라인(120)내의 기능 유닛(124)과 연결된다. 예를 들면, 게이트 유닛(310)은 기능 유닛이 동작하는 현재의 파이프 스테이지에서 명령어를 구현하기 위해 기능 유닛(124)의 서비스가 필요한지의 여부에 따라, 클럭 신호를 기능 유닛(124)에 연결 또는 연결해제하는 클럭 게이팅 회로일 수 있다. 또한, 도3에 도시된 파이프라인 제어 회로(350)는 기능 유닛이 현재의 실행 명령어에 대해 액티브라는 것을 게이트 유닛(310)에 표시한다.
제시된 디지털 스로틀(130)의 실시예에 있어서, 각 게이트 유닛(130)은 전력이 기능 유닛(124)에 전달중이라는 것을 표시하기 위해 모니터 회로(320)로 신호를 제공한다. 예를 들면, 신호는 기능 유닛(124)이 턴온되면 표명되는 기능 유닛(124)의 액티비티 상태일 수 있다. 신호가 표명되면, 즉, 게이트 유닛(130)이 기능 유닛(124)에 전력을 제공하면, 기능 유닛에 대한 전력 가중치는 프로세서(110)에 대해 추정된 전력 소비량에 더해진다. 신호가 표명되지 않으면, 즉, 게이트유닛(130)이 기능 유닛(124)으로의 전력을 차단하면, 연관된 전력 가중치는 추정된 전력 소비량에 더해지지 않는다. 전형적인 프로세서는 10-20개의 기능 유닛(124)으로의 전력 전달을 제어하기 위해 10-20개의 게이트 유닛(310)을 포함할 수 있다.
모니터 회로(320)는 게이트 유닛(130)으로부터 신호를 수집하고, 그 수집된 신호로부터 프로세서(110)에 대한 현재 추정된 전력 소비 레벨을 판단한다. 제시된 디지털 스로틀(130)의 실시예에 있어서, 모니터 회로(320)는 가중(weight) 유닛(314(1)-314(n))(포괄적으로, 가중 유닛(314)), 가산기(324), 포화 회로(326) 및 누산기(328)를 포함한다. 본 발명의 일실시예에 있어서, 각 가중 유닛(314)은 대응하는 게이트 유닛(310)을 통해 기능 유닛(124) 중 하나와 연결된다. 가중 유닛(314)은, 게이트 유닛(310)으로부터 액티비티 상태 신호가 표명되면, 전력 레벨을 가산기(324)에 제공한다. 액티비티 상태 신호가 표명되지 않으면, 가중 유닛(314)은 0을 출력한다.
가산기(324)는 가중 유닛(134)에 의해 지시된 전력 가중치를 합산하고, 그 합으로부터 임계 레벨을 감산한다. 가산기(324)의 출력은 포화 회로(326)를 통해 누산기(328)로 전달된다. 포화 회로(326)는, 가산기(324)에 의해 전달된 값이 넘치는 경우에 순환(wraparound)을 방지하도록 포함된다. 누산기(328)는 전달된 값을 스로틀 회로(330)에 제공하고, 또한, 프로세서의 후속 액티비티 상태에 따라 갱신되도록 카피를 가산기(324)로 다시 제공한다.
선택된 간격으로, 누산기(328)의 컨텐츠("누산된 전력")가 스로틀 회로(330)에 제공된다. 스로틀 회로(330)의 일실시예는, 누산된 전력이 양의 값, 즉, 특정한간격에 걸쳐 누산된 전력 소비 추정치가 임계 전력 레벨을 초과하는 경우, 파이프라인(120)을 통해 명령어의 플로우를 감소시킨다. 스로틀 회로(330)는 파이프라인(120)의 백 엔드에 제공된 명령어 스트림으로 "버블"을 삽입하도록 인출 유닛(210)에 신호한다. 사실상, 스로틀 회로(330)는 특정 간격 동안에 추정된 전력 소비 레벨이 임계 레벨을 초과할 때에 프로세서의 듀티 사이클을 조정한다.
표1은 특정 간격이 128 클럭 사이클인 경우에 대한 듀티 사이클 조정 세트를 도시하고 있다.
표1에 도시된 실시예에 있어서, 전력 가중치는, 활성화되었을 때에 기능 유닛에 의해 소비된 전력에 비례하는 8-16 비트 고정-소수점 수일 수 있다. X의 상위 8비트는 프로세서 클럭의 듀티 사이클을 조정하는데 사용될 수 있다. 이들 비트는 스로틀 회로(330)에 의해 지시된 명령어 플로우 변화를 감소시켜, 보다 천천히 변화한다. 샘플링 간격이 128 클럭 사이클인 상기의 예에 대하여, 디지털스로틀(130)은 128 레벨의 스로틀링을 제공한다. 이 레벨들은 추정된 전력 소비량이 임계 전력 소비량을 초과하는 양에 비례하는 미세-동조된(fine-tuned) 스로틀 제어를 제공한다. 바람직하게는, 스로틀 회로(350)는 샘플링 간격을 통해 추정된 전력 소비량에 의해 지시된 온/오프 주기를 분배한다. 이 분배는 일정하거나, 임의적이거나, 일부 다른 패턴에 의해 제어될 수 있다. 이러한 하나의 분배의 예가 아래에 보다 상세히 논의된다.
도4는 스로틀 회로(330)의 일실시예를 도시한 구조도이다. 제시된 스로틀 회로(330)의 실시예는 메모리 장치(410), 제어 유닛(420) 및 카운터(430)를 포함한다. 누산된 전력이 저장되는 누산기(338)의 레지스터가 역시 도시되어 있다. 메모리 장치(410)는, 예를 들면, ROM(read only memory)일 수 있고, 그것의 엔트리는 카운터(420)로부터의 타이밍 지시 및 누산기(328)로부터의 누산된 전력 레벨에 응답하여 제어 유닛(420)을 통해 액세스된다.
제시된 스로틀 회로(330)의 실시예에 있어서, 카운터(430)는 모듈로-128 카운터이다. 카운터(430)의 출력은 제어 유닛(420)내의 칼럼 인덱스를 연속된 클럭 사이클에 대해 0-127로 증가시키고, 127에 도달하면 다시 0으로 된다. 유사하게, 누산기(328)의 출력은 제어 유닛(420)의 로우 인덱스를 누산된 전력의 현재값에 따라 조정한다. 제시된 실시예에서, 로우 인덱스는 X <= 0, 72 및 124일 때에 각각 0, 71 및 123이다. 제어 유닛(420)은 메모리 장치(410)로부터 대응하는 엔트리를 판독하기 위해 이 인덱스를 이용한다. 엔트리의 값은 버블이 프로세서(110)의 명령어 실행 파이프라인에 삽입되어야 하는지의 여부를 나타낸다. 예를 들면, 출력이 0인 경우, 버블이 삽입되고, 출력이 1이면 버블이 삽입되지 않는다.
메모리 장치(410)의 일실시예에 있어서, 각 로우는 로우에 매핑된 X값과 0의 수를 스케일링함으로써, 상이한 수의 1과 0으로 나타난다. 예를 들면, 로우_0은 모두 1을 포함하여, 누산된 전력 레벨(X)이 0을 초과하지 않을 때에, 즉, 실행중인 전력 추정치가 임계 레벨을 초과하지 않을 때에, 명령어 실행 파이프라인에 버블이 삽입되지 않는다. 전력 스펙트럼의 다른 측에서, 로우_127은 1을 포함되지 않아서, 누산된 전력 레벨이 특정한 양을 초과하는 한, 각 클럭 사이클에 대해 명령어 실행 파이프라인에 버블이 삽입된다. 제시된 예에 있어서, 이 양은 포화 회로(328)에 의해 127, 즉 X=>127로 결정된다. 로우_0과 로우_127 사이의 로우들은 X의 값에 비례하여 0이 포함될 수 있다. 예를 들면, 로우_67은 상이한 칼럼에 분배된 68개의 0을 포함하고, 로우_111은 그 칼럼에 교차하여 분배된 112개의 0을 포함하며, 로우_17은 그 칼럼에 교차하여 분배된 18개의 0을 포함한다. 본 발명의 일실시예에 있어서, 0은 임의의 방식으로 지명된 로우의 칼럼에 교차하여 분배될 수 있다.
제시된 디지털 스로틀(130)의 실시예는 피드백 루프를 포함한다. 스로틀링의 양은 기능 유닛의 액티비티 상태에 의존하여, 이것은 다음에 스로틀링의 양에 의해 영향받는다. 누산기(328)는, 이 피드백 루프에 90도 늦은 위상 시프트를 도입하는, 시간에 걸쳐 통합을 수행한다. 안정화를 위해, 피드백 루프내의 다른 지연, 즉, 위상 시프트를 최소화하는 것이 중요하다. 디지털 피드백 루프에 대한 안정성 기준은 명령어 실행 파이프라인(파이프라인 간격)을 통과하는데 필요한 클럭 사이클 수에 대응하는 간격 동안에 얼마나 많은 프로세서의 전력 소비가 조정되는지에 의존할수 있다. 예를 들면, 전력 가중치는 파이프라인 간격 동안에 전력 소비량에서 비교적 적은 변화를 보장하도록 선택되어야 한다.
디지털 스로틀(130)의 응답 시간은 피드백 루프에 의해 제어된다. 디지털 스로틀은 로직내의 이산 신호보다는 프로세서의 구성요소의 집합적인 동작에 의해 결정되는 거시적인 현상(온도, 전류)에 응답하여 동작하기 때문에, 그것의 응답 시간은 마이크로초 정도이다. 스로틀 메커니즘에 기반한 열에 대한 응답 시간은 수초 정도이다. 디지털 스로틀(130)은 이 응답 시간보다 짧은 기간에서의 전력 소비량의 피크를 제어할 수 없다. 예로, 삽입된 버블에 의해 표현된 성능 손실을 최소화하기 위해, 디지털 스로틀(130)은 전력 전달 시스템에 의해 허용되는 한 느리게 응답한다. 이것은 전력 전달 시스템이, 응답 시간보다 짧은 간격 동안에 임계 레벨 이상인 프로세서의 전력 소비량에서의 피크를 조정할 수 있어야 한다는 것을 의미한다. 이 피크에 대하여, 프로세서의 전력 공급 커패시터로부터 에너지가 제공될 수 있다.
프로세서의 전력 소비 이상을 가지는 점점 큰 정도를 제어할수록 디지털 스로틀(130)은 보다 효과적일 것이다. 프로세서(130)가 프로세서의 기능 유닛의 큰 부분을 커버하는 게이팅 메커니즘을 구현하는 경우에 디지털 스로틀(130)이 가장 효과적이다. 광범위한 게이팅 제어는 디지털 스로틀(130)이 임계 레벨이 초과될 때에 빠르고 현저히 전력 소비 레벨을 조정할 수 있다는 의미이다. 유사하게, 기능 유닛을 통해 보다 미세한 제어를 제공하는 것은 디지털 스로틀(130)의 효과를 증가시킨다. 예를 들면, 프로세서의 실행 장원을 보다 많은 수의 기능 유닛(124)으로분할하는 것과, 이 기능 유닛을 제어하기 위해 추가적인 게이팅 유닛을 제공하는 것은 스로틀(130)에 프로세서의 전력 소비 이상의 보다 큰 제어를 제공한다.
도5는 본 발명에 따른 프로세서에서 전력을 스로틀링하기 위한 방법(500)을 도시한 순서도이다. 방법(500)은 먼저 프로세서내의 어떤 기능 유닛이 액티브인지를 판단한다. 기능 유닛의 상태(액티브/인액티브)는, 예를 들면, 전력을 기능 유닛으로 제공하는 클럭 게이팅 회로로부터의 신호에 의해 나타낼 수 있다. 예를 들면, 게이팅 회로는 전력이 기능 유닛으로 제공되는 경우(액티브 상태)에는 신호를 표명하고, 현재 전력이 기능 유닛에 제공되지 않는 경우(인액티브 상태)에는 신호를 표명하지 않을 수 있다.
액티브 기능 유닛이 판단되고 나면(510), 프로세서에 대한 전력 레벨이 추정된다(520). 이것은 각 게이팅 유닛에 의해 제공된 신호와 전력 가중치를 연관시켜, 표명된 각 신호에 연관된 전력 가중치에 의해 추정된 전력 레벨을 증가시킴으로써 수행될 수 있다. 표명해제된 신호와 연관된 가중 전력은 현재 추정된 전력 레벨에 제공되지 않는다.
현재 추정된 전력 레벨이 임계 전력 레벨과 비교된다(530). 임계 전력 레벨은, 예를 들면, 프로세서가 연장된 시간 주기 동안에 동작되지 않아야 하는 것 이상의 전력 레벨을 나타낼 수 있다. 일실시예에 있어서, 임계 레벨은 현재 추정된 전력 레벨로부터 감산되고, 그 결과가 프로세서의 상대적인 전력 레벨의 실행 추정치, 즉, 누산된 전력에 가산된다. 누산된 전력이 양의 값인 경우(추정 전력 레벨>임계 레벨), 명령어 처리속도가 조정된다(540). 누산된 전력이 음의 값인 경우(추정 전력 레벨< 임계 레벨), 명령어 처리속도에 대한 조정이 이루어지지 않는다.
프로세서의 명령어 처리속도는 많은 메커니즘을 통해 감소될 수 있다. 방법(500)의 일실시예에 있어서, 프로세서의 기능 유닛이 액티브인 동안의 클럭 사이클의 비율을 감소시키기 위해, 버블이 명령어 실행 파이프라인에 삽입될 수 있다. 버블은, 예를 들면, 프로세서의 선택된 사이클에 대해서만 명령어를 발행하기 위해 발행 유닛을 트리거링함으로써 도입될 수 있다. 본 발명의 또 다른 실시예에 있어서, 프로세서 클럭이 동작하는 주파수가 감소될 수 있다.
본 발명의 하나의 장점은 프로세서 파이프라인의 실행 자원이 파이프라인의 기능 유닛에서의 액티비티의 레벨에 따라 조정된다는 것이다. 전력 소비를 추정하기 위한 열 또는 전류 기반의 기술과는 달리, 디지털 스로틀에 의해 모니터링되는 기능 유닛의 액티비티는 프로세서내의 개별적인 파이프라인의 특성이다. 특정한 유닛에 대한 전력 소비량 및 액티비티 부여시의 특이성은 단일 프로세서 칩상에 다수의 실행 코어를 구현하는 프로세서에서 특히 유용하다. 여기서, "실행 코어"는 완전한 프로세서에 연관된 실행 자원을 말하며, 다중-실행 코어 프로세서는 단일 칩상에서 다수의 프로세서를 효과적으로 구현한다. 본 발명의 디지털 스로틀은, 총 전력 소비 레벨이 임계 레벨을 초과하지 않는 한, 전력-요구 코드 세그먼트를 처리하는 실행 코어가 다른 실행 코어로부터 전력을 효과적으로 차용하도록 할 수 있다. 대안적으로, 각 실행 코어가 명령어 실행 파이프라인에서의 액티비티에 따라 스로틀링될 수 있다.
도6a는 본 발명이 구현된 다수의 실행 코어 프로세서(610)의 일실시예를 도시한 블록도이다. 프로세서(610)는 실행 코어(620(a)-620(n))(포괄적으로, 실행 코어(630))를 포함한다. 각 실행 코어(620)는 실행 파이프라인(640)을 형성하는 기능 유닛(630)을 포함한다. 공유된 디지털 스로틀(650)은 모든 파이프라인(640)의 기능 유닛(630)에서의 액티비티를 모니터링 및 조정한다. 프로세서(110)의 이 실시예는, 총 전력 임계가 초과되지 않는 한, 각 실행 코어(620)가 나머지 실행 코어로부터 전력을 차용할 수 있도록 한다.
도6b는 본 발명이 구현된 다수의 실행 코어 프로세서(660)의 일실시예를 도시한 블록도이다. 프로세서(660)는 실행 코어(620(a)-620(n))(포괄적으로, 실행 코어(630))를 포함한다. 각 실행 코어(620)는 실행 파이프라인(640)을 형성하는 기능 유닛(630)을 포함한다. 또한, 각 실행 코어(630)는 기능 유닛(630)에서의 액티비티를 모니터링 및 조정하는 디지털 스로틀(650)을 포함한다. 프로세서(110)의 이 실시예는, 각 실행 코어(620)가 연관된 디지털 스로틀(630)에 의해 개별적으로 스로틀링되도록 한다.
이에 따라, 프로세서의 기능 유닛의 액티비티 상태에 따라 프로세서내의 전력 소비량을 제어하는 디지털 스로틀이 제공된다. 액티비티 상태가 명령어 실행 동안에 모니터링되고, 액티비티 상태로부터 추정된 전력 소비 레벨에 따라 실행 속도가 조정된다. 전력 소비량은 추정된 전력 소비량에 응답하여 "버블" 또는 NOP를 명령어 실행 스트림에 삽입함으로써 제어될 수 있다.
본 발명의 일실시예에 있어서, 전력 가중치가 각 기능 유닛에 할당되고, 액티브인 각 기능 유닛에 대한 전력 가중치를 합산함으로써 프로세서의 전력 소비량이 추정된다. 추정된 전력 소비량이 임계값을 초과할 때에, 디지털 스로틀은 프로세서가 명령어를 실행하는 속도를 감소시킨다. 여러 기능 유닛에 대한 전력 가중치는 프로세서 설계 또는 테스트 단계 동안에 교정 절차에 의해 결정될 수 있다. 또한, 디지털 스로틀은 자가 교정 절차를 구현하기 위한 회로를 포함할 수 있다.
이상에서, 제시된 실시예들은 본 발명의 여러 가지 특징을 설명하기 위해 제공되었다. 이 기술 분야의 통상의 지식을 가진 자는, 첨부된 청구항의 사상 및 범위에서 벗어나지 않는 한, 제시된 실시예의 변형 및 수정이 가능하다는 것을 이해할 것이다.

Claims (20)

  1. 기능 유닛;
    상기 기능 유닛으로의 전력 전달을 제어하고, 상기 기능 유닛으로 전달되는 전력 레벨을 표시하는 신호를 제공하기 위한 게이팅 회로;
    상기 표시된 전력 레벨을 임계 전력 레벨과 비교하기 위한 모니터 회로; 및
    상기 표시된 전력 레벨이 상기 임계 전력 레벨을 초과하는 경우, 프로세서 내의 명령어 플로우를 조정하기 위한 스로틀 회로
    를 포함하는 프로세서.
  2. 제1항에 있어서,
    상기 기능 유닛은 상기 프로세서에 대한 명령어 실행 파이프라인을 형성하는 다수의 기능 유닛을 포함하는
    프로세서.
  3. 제2항에 있어서,
    상기 게이팅 회로는 다수의 게이팅 회로를 포함하고, 상기 각각의 게이팅 회로는 상기 다수의 기능 유닛 중 대응하는 기능 유닛으로의 전력 전달을 제어하는
    프로세서.
  4. 제3항에 있어서,
    상기 스로틀 회로는 상기 프로세서내의 명령어 플로우를 조정하기 위해 상기 프로세서 파이프라인에 버블(bubbles)을 삽입하는
    프로세서.
  5. 제1항에 있어서,
    상기 신호에 의해 표시된 상기 전력 레벨은 상기 기능 유닛이 동작중일 때에 그것의 전력 소비 레벨을 나타내는
    프로세서.
  6. 제1항에 있어서,
    상기 스로틀 회로는, 상기 프로세서를 통한 상기 명령어 플로우를 조정하기 위해, 상기 게이팅 회로에 의해 제공되는 클럭의 듀티 사이클(duty cycle)을 감소시키는
    프로세서.
  7. 프로세서내의 전력 소비를 제어하기 위한 방법에 있어서,
    상기 프로세서내의 게이팅 회로로부터 전력 신호를 수집하는 단계;
    상기 수집된 전력 신호에 따라 추정된 전력 소비 레벨을 조정하는 단계;
    상기 추정된 전력 소비 레벨을 임계 전력 소비 레벨과 비교하는 단계; 및
    상기 추정된 전력 소비 레벨이 상기 임계 전력 소비 레벨을 초과하는 경우, 상기 프로세서에 의한 명령어 실행 속도를 조정하는 단계
    를 포함하는 방법.
  8. 제7항에 있어서,
    상기 명령어 실행 속도를 조정하는 단계 이전에, 선택된 주기 동안에 상기 추정된 전력 소비 레벨을 누산하는 단계
    를 더 포함하는 방법.
  9. 제7항에 있어서,
    상기 수집 전력 신호는 상기 게이팅 회로에 연관된 기능 유닛으로 현재 전달되는 전력 레벨을 표시하는 신호를 포함하는
    방법.
  10. 제7항에 있어서,
    상기 각각의 게이팅 회로는 그것과 연관된 기능 유닛에 제공되는 클럭 신호를 제어하는
    방법.
  11. 제10항에 있어서,
    상기 명령어 실행 속도를 조정하는 단계는 상기 게이팅 회로에 의해 제공되는 상기 클럭 신호를 특징짓는 듀티 사이클을 조정하는 단계를 포함하는
    방법.
  12. 제8항에 있어서,
    상기 추정된 전력 소비 레벨을 누산하는 단계는 프로세서 클럭의 선택된 수의 사이클 동안에 상기 추정된 전력 소비 레벨을 누산하는 단계를 포함하는
    방법.
  13. 실행을 위한 명령어를 저장하기 위한 메모리 시스템;
    상기 명령어를 실행하기 위해 다수의 기능 유닛을 포함하는 명령어 실행 파이프라인;
    상기 메모리 시스템으로부터의 상기 명령어를 상기 명령어 실행 파이프라인에 특정 속도로 제공하기 위한 명령어 전달 시스템;
    다수의 제어 회로 - 상기 각각의 제어 회로는 상기 다수의 기능 유닛 중 하나에 전달되는 전력을 제어하고, 전달중인 전력을 나타내는 신호를 제공함 -; 및
    상기 제어 회로에 의해 제공된 상기 신호로부터 전력 소비 레벨을 추정하고, 상기 추정된 전력 소비 레벨에 따라 상기 명령어 전달 시스템의 상기 특정 속도를 조정하기 위한 스로틀 회로
    를 포함하는 컴퓨터 시스템.
  14. 제13항에 있어서,
    상기 다수의 제어 회로의 각각에 의해 제공되는 상기 신호는 상기 제어 회로에 연관된 상기 기능 유닛에 대한 전력 소비 레벨을 표시하도록 교정(calibrate)되는
    컴퓨터 시스템.
  15. 제14항에 있어서,
    상기 명령어 전달 시스템은 프로세서 클럭에 의해 제어되는 속도로 상기 명령어 실행 파이프라인에 의한 처리를 위한 명령어를 발행하는 발행 유닛을 포함하는
    컴퓨터 시스템.
  16. 하나 또는 그 이상의 기능 유닛; 및
    상기 프로세서에 대한 전력 소비 레벨을 추정하기 위해 상기 하나 또는 그 이상의 기능 유닛의 액티비티 상태를 모니터링하기 위한 디지털 스로틀
    을 포함하는 프로세서.
  17. 제16항에 있어서,
    상기 디지털 스로틀은,
    각각이 상기 기능 유닛 중 연관된 기능 유닛으로의 전력 전달을 제어하고, 상기 연관된 기능 유닛에 대한 액티비티 상태를 표시하기 위한 하나 또는 그 이상의 게이트 유닛; 및
    상기 하나 또는 그 이상의 기능 유닛의 상기 표시된 액티비티 상태로부터 상기 프로세서의 전력 소비 레벨의 추정치를 판정하기 위한 모니터 회로를 포함하는
    프로세서.
  18. 제17항에 있어서,
    상기 모니터 회로는 상기 추정된 전력 소비 레벨을 임계값과 비교하고, 상기 비교 표시를 제공하는
    프로세서.
  19. 제16항에 있어서,
    상기 기능 유닛은 명령어 실행 파이프라인을 형성하고,
    상기 명령어 실행 파이프라인내의 명령어의 종류에 따라 상기 하나 또는 그 이상의 기능 유닛에 대한 액티비티 상태를 표시하기 위한 파이프라인 제어 모듈
    을 더 포함하는 프로세서.
  20. 제19항에 있어서,
    상기 디지털 스로틀은 상기 하나 또는 그 이상의 기능 유닛의 액티비티 상태를 이용하여, 상기 프로세서의 전력 소비 레벨을 추정하기 위한 모니터 회로를 더 포함하는
    프로세서.
KR10-2002-7008122A 1999-12-23 2000-11-21 디지털 전력 스로틀을 갖는 마이크로프로세서 KR100511110B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/471,795 US6564328B1 (en) 1999-12-23 1999-12-23 Microprocessor with digital power throttle
US09/471,795 1999-12-23

Publications (2)

Publication Number Publication Date
KR20020062986A true KR20020062986A (ko) 2002-07-31
KR100511110B1 KR100511110B1 (ko) 2005-08-31

Family

ID=23873030

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-7008122A KR100511110B1 (ko) 1999-12-23 2000-11-21 디지털 전력 스로틀을 갖는 마이크로프로세서

Country Status (12)

Country Link
US (1) US6564328B1 (ko)
EP (1) EP1259870B1 (ko)
JP (3) JP5073903B2 (ko)
KR (1) KR100511110B1 (ko)
CN (2) CN100492252C (ko)
AT (1) ATE460698T1 (ko)
AU (1) AU1626601A (ko)
DE (1) DE60043996D1 (ko)
GB (1) GB2373896C (ko)
HK (1) HK1046561B (ko)
TW (1) TW512261B (ko)
WO (1) WO2001048584A1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7688666B2 (en) 2006-08-30 2010-03-30 Samsung Electronics Co., Ltd. Memory system for controlling power and method thereof
KR101290047B1 (ko) * 2009-12-18 2013-07-30 인텔 코오퍼레이션 타임 인터리빙된 전압 변조를 이용한 전력 프로파일 셰이핑을 위한 방법 및 장치
KR101421346B1 (ko) * 2011-10-31 2014-07-18 애플 인크. 프로세서 명령어 발행 스로틀링
KR101493018B1 (ko) * 2008-04-11 2015-02-12 어드밴스드 마이크로 디바이시즈, 인코포레이티드 실시간 전력 추정을 위한 샘플링 칩 동작
US9069555B2 (en) 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
US9671844B2 (en) 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip
US9703351B2 (en) 2010-01-28 2017-07-11 Cavium, Inc. Method and apparatus for power control
US10303238B2 (en) 2013-06-21 2019-05-28 Apple Inc. Dynamic voltage and frequency management based on active processors
US10955893B2 (en) 2014-03-07 2021-03-23 Apple Inc. Dynamic voltage margin recovery

Families Citing this family (183)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100361340B1 (ko) * 2000-05-15 2002-12-05 엘지전자 주식회사 씨피유 클럭 제어 방법
US6968469B1 (en) 2000-06-16 2005-11-22 Transmeta Corporation System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored
KR100613201B1 (ko) * 2000-08-28 2006-08-18 마이크로코넥트 엘엘씨 씨피유 사용량 측정 방법
KR100487543B1 (ko) * 2000-09-01 2005-05-03 엘지전자 주식회사 시피유 스케쥴링 방법
US6625737B1 (en) * 2000-09-20 2003-09-23 Mips Technologies Inc. System for prediction and control of power consumption in digital system
US7620832B2 (en) * 2000-09-20 2009-11-17 Mips Technologies, Inc. Method and apparatus for masking a microprocessor execution signature
US6704876B1 (en) * 2000-09-26 2004-03-09 Sun Microsystems, Inc. Microprocessor speed control mechanism using power dissipation estimation based on the instruction data path
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
US6895520B1 (en) * 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
US7231500B2 (en) * 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US7516334B2 (en) * 2001-03-22 2009-04-07 Sony Computer Entertainment Inc. Power management for processing modules
JP2002366351A (ja) * 2001-06-06 2002-12-20 Nec Corp スーパースカラ・プロセッサ
US7000138B1 (en) * 2001-06-07 2006-02-14 Cirrus Logic, Inc Circuits and methods for power management in a processor-based system and systems using the same
US6907534B2 (en) * 2001-06-29 2005-06-14 Hewlett-Packard Development Company, L.P. Minimizing power consumption in pipelined circuit by shutting down pipelined circuit in response to predetermined period of time having expired
KR100390645B1 (ko) * 2001-07-27 2003-07-07 삼성전자주식회사 이동통신단말기 시스템에서 소모전류를 줄이기 위한 방법
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
US6859886B1 (en) 2001-10-02 2005-02-22 Lsi Logic Corporation IO based embedded processor clock speed control
US6834353B2 (en) * 2001-10-22 2004-12-21 International Business Machines Corporation Method and apparatus for reducing power consumption of a processing integrated circuit
US6892312B1 (en) * 2001-10-30 2005-05-10 Lsi Logic Corporation Power monitoring and reduction for embedded IO processors
GB2366891B (en) 2001-12-06 2002-11-20 Appsense Ltd Improvements in and relating to computer apparatus terminal server apparatus & performance management methods therefor
US7035785B2 (en) * 2001-12-28 2006-04-25 Intel Corporation Mechanism for estimating and controlling di/dt-induced power supply voltage variations
GB2412972B (en) * 2001-12-28 2006-01-04 Intel Corp Mechanism for estimating and controlling di/dt-induced power supply voltage variations
US7096145B2 (en) * 2002-01-02 2006-08-22 Intel Corporation Deterministic power-estimation for thermal control
US7137013B2 (en) * 2002-01-07 2006-11-14 International Business Machines Corporation Method and apparatus for dynamic power management in an execution unit using pipeline wave flow control
US7191350B2 (en) * 2002-01-30 2007-03-13 Matsushita Electric Industrial Co., Ltd. Instruction conversion apparatus and instruction conversion method providing power control information, program and circuit for implementing the instruction conversion, and microprocessor for executing the converted instruction
TW567408B (en) * 2002-03-29 2003-12-21 Uniwill Comp Corp Apparatus and method for controlling power and clock speed of electronic system
DE10221529A1 (de) * 2002-05-14 2003-12-04 Systemonic Ag Verfahren zum gesteuerten Abschalten von Datenverarbeitungseinheiten
US6908227B2 (en) * 2002-08-23 2005-06-21 Intel Corporation Apparatus for thermal management of multiple core microprocessors
US7062394B2 (en) * 2002-09-20 2006-06-13 Intel Corporation Performance characterization using effective processor frequency
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
US7152169B2 (en) * 2002-11-29 2006-12-19 Intel Corporation Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state
US7219241B2 (en) * 2002-11-30 2007-05-15 Intel Corporation Method for managing virtual and actual performance states of logical processors in a multithreaded processor using system management mode
US7120804B2 (en) 2002-12-23 2006-10-10 Intel Corporation Method and apparatus for reducing power consumption through dynamic control of supply voltage and body bias including maintaining a substantially constant operating frequency
US7278040B2 (en) * 2003-03-21 2007-10-02 Via Technologies, Inc. Mechanism for providing measured power management transitions in a microprocessor
US7457971B2 (en) * 2003-05-27 2008-11-25 Nxp B.V. Monitoring and controlling power consumption in a sequential logic circuit
US7251737B2 (en) * 2003-10-31 2007-07-31 Sandbridge Technologies, Inc. Convergence device with dynamic program throttling that replaces noncritical programs with alternate capacity programs based on power indicator
US7034556B1 (en) * 2003-11-05 2006-04-25 Lockheed Martin Corporation Pulsed thermal monitor
US7287173B2 (en) * 2003-12-19 2007-10-23 Intel Corporation Method for computing power consumption levels of instruction and recompiling the program to reduce the excess power consumption
TWI276950B (en) * 2004-02-12 2007-03-21 Intervideo Digital Technology Computer power management architecture and method thereof
US20050228967A1 (en) * 2004-03-16 2005-10-13 Sony Computer Entertainment Inc. Methods and apparatus for reducing power dissipation in a multi-processor system
US8224639B2 (en) 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
JP3830491B2 (ja) * 2004-03-29 2006-10-04 株式会社ソニー・コンピュータエンタテインメント プロセッサ、マルチプロセッサシステム、プロセッサシステム、情報処理装置および温度制御方法
US7360102B2 (en) * 2004-03-29 2008-04-15 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processor manipulation
US7185178B1 (en) 2004-06-30 2007-02-27 Sun Microsystems, Inc. Fetch speculation in a multithreaded processor
US7383403B1 (en) 2004-06-30 2008-06-03 Sun Microsystems, Inc. Concurrent bypass to instruction buffers in a fine grain multithreaded processor
US7178005B1 (en) 2004-06-30 2007-02-13 Sun Microsystems, Inc. Efficient implementation of timers in a multithreaded processor
US8225034B1 (en) 2004-06-30 2012-07-17 Oracle America, Inc. Hybrid instruction buffer
US7890734B2 (en) * 2004-06-30 2011-02-15 Open Computing Trust I & II Mechanism for selecting instructions for execution in a multithreaded processor
US7533248B1 (en) 2004-06-30 2009-05-12 Sun Microsystems, Inc. Multithreaded processor including a functional unit shared between multiple requestors and arbitration therefor
US7401206B2 (en) * 2004-06-30 2008-07-15 Sun Microsystems, Inc. Apparatus and method for fine-grained multithreading in a multipipelined processor core
US7216216B1 (en) 2004-06-30 2007-05-08 Sun Microsystems, Inc. Register window management using first pipeline to change current window and second pipeline to read operand from old window and write operand to new window
US7434000B1 (en) 2004-06-30 2008-10-07 Sun Microsystems, Inc. Handling duplicate cache misses in a multithreaded/multi-core processor
US7861063B1 (en) 2004-06-30 2010-12-28 Oracle America, Inc. Delay slot handling in a processor
US7478225B1 (en) 2004-06-30 2009-01-13 Sun Microsystems, Inc. Apparatus and method to support pipelining of differing-latency instructions in a multithreaded processor
US7676655B2 (en) * 2004-06-30 2010-03-09 Sun Microsystems, Inc. Single bit control of threads in a multithreaded multicore processor
US7426630B1 (en) 2004-06-30 2008-09-16 Sun Microsystems, Inc. Arbitration of window swap operations
US7437538B1 (en) 2004-06-30 2008-10-14 Sun Microsystems, Inc. Apparatus and method for reducing execution latency of floating point operations having special case operands
US7353364B1 (en) 2004-06-30 2008-04-01 Sun Microsystems, Inc. Apparatus and method for sharing a functional unit execution resource among a plurality of functional units
US8095778B1 (en) 2004-06-30 2012-01-10 Open Computing Trust I & II Method and system for sharing functional units of a multithreaded processor
US7523330B2 (en) * 2004-06-30 2009-04-21 Sun Microsystems, Inc. Thread-based clock enabling in a multi-threaded processor
US7702887B1 (en) 2004-06-30 2010-04-20 Sun Microsystems, Inc. Performance instrumentation in a fine grain multithreaded multicore processor
US7747771B1 (en) 2004-06-30 2010-06-29 Oracle America, Inc. Register access protocol in a multihreaded multi-core processor
US7330988B2 (en) * 2004-06-30 2008-02-12 Sun Microsystems, Inc. Method and apparatus for power throttling in a multi-thread processor
US7370243B1 (en) 2004-06-30 2008-05-06 Sun Microsystems, Inc. Precise error handling in a fine grain multithreaded multicore processor
US7373489B1 (en) 2004-06-30 2008-05-13 Sun Microsystems, Inc. Apparatus and method for floating-point exception prediction and recovery
US7343474B1 (en) 2004-06-30 2008-03-11 Sun Microsystems, Inc. Minimal address state in a fine grain multithreaded processor
US7941642B1 (en) 2004-06-30 2011-05-10 Oracle America, Inc. Method for selecting between divide instructions associated with respective threads in a multi-threaded processor
US7774393B1 (en) 2004-06-30 2010-08-10 Oracle America, Inc. Apparatus and method for integer to floating-point format conversion
US8190863B2 (en) * 2004-07-02 2012-05-29 Intel Corporation Apparatus and method for heterogeneous chip multiprocessors via resource allocation and restriction
US7966511B2 (en) * 2004-07-27 2011-06-21 Intel Corporation Power management coordination in multi-core processors
JP2006059068A (ja) * 2004-08-19 2006-03-02 Matsushita Electric Ind Co Ltd プロセッサ装置
US7437581B2 (en) * 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US7430672B2 (en) * 2004-10-27 2008-09-30 Intel Corporation Method and apparatus to monitor power consumption of processor
US8037250B1 (en) 2004-12-09 2011-10-11 Oracle America, Inc. Arbitrating cache misses in a multithreaded/multi-core processor
US7466316B1 (en) 2004-12-14 2008-12-16 Nvidia Corporation Apparatus, system, and method for distributing work to integrated heterogeneous processors
US7898545B1 (en) * 2004-12-14 2011-03-01 Nvidia Corporation Apparatus, system, and method for integrated heterogeneous processors
US8074057B2 (en) 2005-03-08 2011-12-06 Hewlett-Packard Development Company, L.P. Systems and methods for controlling instruction throughput
US7600135B2 (en) * 2005-04-14 2009-10-06 Mips Technologies, Inc. Apparatus and method for software specified power management performance using low power virtual threads
US20060248355A1 (en) * 2005-04-27 2006-11-02 Thayer Larry J Power throttling system and method for a memory controller
US7386743B2 (en) * 2005-06-09 2008-06-10 International Business Machines Corporation Power-managed server and method for managing power consumption
US7467311B2 (en) * 2005-06-09 2008-12-16 International Business Machines Corporation Distributed system and method for managing power usage among server data processing systems
US7421599B2 (en) * 2005-06-09 2008-09-02 International Business Machines Corporation Power management server and method for managing power consumption
US7509506B2 (en) 2005-06-09 2009-03-24 International Business Machines Corporation Hierarchical system and method for managing power usage among server data processing systems
US7664968B2 (en) * 2005-06-09 2010-02-16 International Business Machines Corporation System and method for managing power usage of a data processing system subsystem
US7444526B2 (en) * 2005-06-16 2008-10-28 International Business Machines Corporation Performance conserving method for reducing power consumption in a server system
US20070005152A1 (en) * 2005-06-30 2007-01-04 Ben Karr Method and apparatus for monitoring power in integrated circuits
US7472292B2 (en) * 2005-10-03 2008-12-30 Hewlett-Packard Development Company, L.P. System and method for throttling memory power consumption based on status of cover switch of a computer system
US7159082B1 (en) 2005-10-03 2007-01-02 Hewlett-Packard Development Company, L.P. System and method for throttling memory accesses
US20070085583A1 (en) * 2005-10-18 2007-04-19 Envision Technology, Inc. System for and method of automatically reducing power to a semiconductor device
US7480586B2 (en) * 2005-11-29 2009-01-20 International Business Machines Corporation Thermal interrupt generation
US7386414B2 (en) * 2005-11-29 2008-06-10 International Business Machines Corporation Generation of hardware thermal profiles for a set of processors
US7681053B2 (en) 2005-11-29 2010-03-16 International Business Machines Corporation Thermal throttle control with minimal impact to interrupt latency
US7512513B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Thermal throttling control for testing of real-time software
US7460932B2 (en) * 2005-11-29 2008-12-02 International Business Machines Corporation Support of deep power savings mode and partial good in a thermal management system
US7395174B2 (en) * 2005-11-29 2008-07-01 International Business Machines Corporation Generation of software thermal profiles executed on a set of processors using thermal sampling
US7848901B2 (en) * 2005-11-29 2010-12-07 International Business Machines Corporation Tracing thermal data via performance monitoring
US7512530B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Generation of software thermal profiles for applications in a simulated environment
US7721128B2 (en) * 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
US20070124618A1 (en) * 2005-11-29 2007-05-31 Aguilar Maximino Jr Optimizing power and performance using software and hardware thermal profiles
US7376532B2 (en) * 2005-11-29 2008-05-20 International Business Machines Corporation Maximal temperature logging
US7698089B2 (en) * 2005-11-29 2010-04-13 International Business Machines Corporation Generation of software thermal profiles executed on a set of processors using processor activity
US7490017B2 (en) * 2005-11-29 2009-02-10 International Business Machines Corporation Analytical generation of software thermal profiles
US7603576B2 (en) * 2005-11-29 2009-10-13 International Business Machines Corporation Hysteresis in thermal throttling
US7650517B2 (en) * 2005-12-19 2010-01-19 International Business Machines Corporation Throttle management for blade system
US8108863B2 (en) 2005-12-30 2012-01-31 Intel Corporation Load balancing for multi-threaded applications via asymmetric power throttling
US7349828B1 (en) * 2006-02-15 2008-03-25 Hewlett-Packard Development Company, L.P. Estimating an electronic device condition
US8037893B2 (en) * 2006-05-03 2011-10-18 International Business Machines Corporation Optimizing thermal performance using thermal flow analysis
US7552346B2 (en) * 2006-05-03 2009-06-23 International Business Machines Corporation Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index
US7596430B2 (en) * 2006-05-03 2009-09-29 International Business Machines Corporation Selection of processor cores for optimal thermal performance
US7669071B2 (en) 2006-05-05 2010-02-23 Dell Products L.P. Power allocation management in an information handling system
US7617403B2 (en) * 2006-07-26 2009-11-10 International Business Machines Corporation Method and apparatus for controlling heat generation in a multi-core processor
US7584369B2 (en) * 2006-07-26 2009-09-01 International Business Machines Corporation Method and apparatus for monitoring and controlling heat generation in a multi-core processor
US8214660B2 (en) * 2006-07-26 2012-07-03 International Business Machines Corporation Structure for an apparatus for monitoring and controlling heat generation in a multi-core processor
US8060765B1 (en) * 2006-11-02 2011-11-15 Nvidia Corporation Power estimation based on block activity
US7757103B2 (en) * 2006-12-20 2010-07-13 Intel Corporation Method and apparatus to estimate energy consumed by central processing unit core
US7793125B2 (en) * 2007-01-10 2010-09-07 International Business Machines Corporation Method and apparatus for power throttling a processor in an information handling system
US7779276B2 (en) * 2007-03-05 2010-08-17 International Business Machines Corporation Power management in a power-constrained processing system
NZ553984A (en) * 2007-03-19 2009-07-31 Lanzatech New Zealand Ltd Alcohol production process
US7627742B2 (en) * 2007-04-10 2009-12-01 International Business Machines Corporation Method and apparatus for conserving power by throttling instruction fetching when a processor encounters low confidence branches in an information handling system
US8069354B2 (en) 2007-08-14 2011-11-29 Mips Technologies, Inc. Power management for system having one or more integrated circuits
US8027798B2 (en) * 2007-11-08 2011-09-27 International Business Machines Corporation Digital thermal sensor test implementation without using main core voltage supply
US7551508B2 (en) * 2007-11-16 2009-06-23 International Business Machines Corporation Energy efficient storage device using per-element selectable power supply voltages
JP2009130036A (ja) * 2007-11-21 2009-06-11 Toshiba Corp 半導体装置
US8006070B2 (en) * 2007-12-05 2011-08-23 International Business Machines Corporation Method and apparatus for inhibiting fetch throttling when a processor encounters a low confidence branch instruction in an information handling system
US7925853B2 (en) * 2008-01-04 2011-04-12 International Business Machines Corporation Method and apparatus for controlling memory array gating when a processor executes a low confidence branch instruction in an information handling system
US8255669B2 (en) * 2008-01-30 2012-08-28 International Business Machines Corporation Method and apparatus for thread priority control in a multi-threaded processor based upon branch issue information including branch confidence information
CN102067064B (zh) * 2008-02-25 2014-02-19 意法爱立信有限公司 具有可调节的性能水平的数据处理装置及其操作方法
GB2461292B (en) * 2008-06-26 2012-02-08 Tantallon Systems Ltd Systems and methods for energy management
US7884499B2 (en) 2008-06-30 2011-02-08 Intel Corporation Intervention of independent self-regulation of power consumption devices
US20100115494A1 (en) * 2008-11-03 2010-05-06 Gorton Jr Richard C System for dynamic program profiling
US8024719B2 (en) 2008-11-03 2011-09-20 Advanced Micro Devices, Inc. Bounded hash table sorting in a dynamic program profiling system
US8478948B2 (en) * 2008-12-04 2013-07-02 Oracle America, Inc. Method and system for efficient tracing and profiling of memory accesses during program execution
US8219831B2 (en) * 2009-01-28 2012-07-10 Oracle America, Inc. Reducing temperature and power by instruction throttling at decode stage of processor pipeline in time constant duration steps
WO2011074059A1 (ja) * 2009-12-14 2011-06-23 富士通株式会社 演算処理装置、情報処理装置及びその制御方法
US8805590B2 (en) * 2009-12-24 2014-08-12 International Business Machines Corporation Fan speed control of rack devices where sum of device airflows is greater than maximum airflow of rack
US8429441B2 (en) 2010-04-19 2013-04-23 International Business Machines Corporation Operating processor below maximum turbo mode frequency by sending higher than actual current amount signal to monitor
US8442786B2 (en) 2010-06-02 2013-05-14 Advanced Micro Devices, Inc. Flexible power reporting in a computing system
US8484593B2 (en) 2010-07-19 2013-07-09 Advanced Micro Devices Method of determining event based energy weights for digital power estimation
US9092219B2 (en) 2010-11-02 2015-07-28 Advanced Micro Devices, Inc. Method and system of sampling to automatically scale digital power estimates with frequency
US8756442B2 (en) 2010-12-16 2014-06-17 Advanced Micro Devices, Inc. System for processor power limit management
US9047067B2 (en) * 2011-04-22 2015-06-02 Qualcomm Incorporated Sensorless detection and management of thermal loading in a multi-processor wireless device
CN102347767B (zh) * 2011-06-09 2014-01-08 东南大学 数模混合模式时钟占空比校准电路
US8862924B2 (en) * 2011-11-15 2014-10-14 Advanced Micro Devices, Inc. Processor with power control via instruction issuance
CN102411492B (zh) * 2011-11-25 2014-04-23 北京创毅视讯科技有限公司 一种数据处理的方法和装置
US9134788B2 (en) * 2011-12-29 2015-09-15 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including detecting and controlling current ramps in processing circuit
WO2013147801A1 (en) * 2012-03-29 2013-10-03 Intel Corporation Dynamic power limit sharing in a platform
CN104204825B (zh) * 2012-03-30 2017-06-27 英特尔公司 动态测量处理器中的功耗
US8984307B2 (en) * 2012-05-21 2015-03-17 Qualcomm Incorporated System and method for dynamic battery current load management in a portable computing device
US9229524B2 (en) * 2012-06-27 2016-01-05 Intel Corporation Performing local power gating in a processor
US9846463B2 (en) * 2012-09-28 2017-12-19 Intel Corporation Computing system and processor with fast power surge detection and instruction throttle down to provide for low cost power supply unit
US9195291B2 (en) * 2013-06-21 2015-11-24 Apple Inc. Digital power estimator to control processor power consumption
EP2849024A1 (en) 2013-09-16 2015-03-18 ST-Ericsson SA Power consumption management system and method
WO2015040654A1 (ja) * 2013-09-20 2015-03-26 富士通株式会社 情報処理システム、管理装置、情報処理方法及びプログラム
US9696999B2 (en) * 2013-12-17 2017-07-04 Intel Corporation Local closed loop efficiency control using IP metrics
US10108454B2 (en) * 2014-03-21 2018-10-23 Intel Corporation Managing dynamic capacitance using code scheduling
US9507405B2 (en) * 2014-06-18 2016-11-29 Oracle International Corporation System and method for managing power in a chip multiprocessor using a proportional feedback mechanism
GB2530782A (en) * 2014-10-02 2016-04-06 Ibm Voltage droop reduction in a processor
CN104317557B (zh) * 2014-10-27 2017-01-18 杭州中天微系统有限公司 基于流水线轮动的低峰值功耗嵌入式处理器
US9658634B2 (en) * 2015-03-30 2017-05-23 Apple Inc. Under voltage detection and performance throttling
US10073659B2 (en) * 2015-06-26 2018-09-11 Intel Corporation Power management circuit with per activity weighting and multiple throttle down thresholds
US9779058B2 (en) * 2015-07-13 2017-10-03 Google Inc. Modulating processsor core operations
US10255231B1 (en) * 2015-07-31 2019-04-09 Marvell International Ltd. Apparatus and methods for managing aggregate integrated circuit (IC) current demand
GB2544721B (en) * 2015-10-15 2019-03-06 Arm Ip Ltd Detecting undesired energy consumption in electronic devices
US9874917B2 (en) 2016-01-04 2018-01-23 International Business Machines Corporation Adaptive power capping in a chip
US9971390B1 (en) 2016-01-05 2018-05-15 Apple Inc. Processor energy consumption rate limiting system
US10706101B2 (en) 2016-04-14 2020-07-07 Advanced Micro Devices, Inc. Bucketized hash tables with remap entries
US10255462B2 (en) 2016-06-17 2019-04-09 Arm Limited Apparatus and method for obfuscating power consumption of a processor
US10496409B2 (en) 2016-11-22 2019-12-03 The Arizona Board Of Regents Method and system for managing control of instruction and process execution in a programmable computing system
US10969858B2 (en) * 2019-01-03 2021-04-06 Apple Inc. Operation processing controlled according to difference in current consumption
US10955906B2 (en) * 2019-02-07 2021-03-23 International Business Machines Corporation Multi-layered processor throttle controller
US11054882B2 (en) 2019-02-21 2021-07-06 Apple Inc. Externally-triggered throttling
US10948957B1 (en) 2019-09-26 2021-03-16 Apple Inc. Adaptive on-chip digital power estimator
US11586272B2 (en) * 2019-09-27 2023-02-21 Qualcomm Incorporated Power control based on performance modification through pulse modulation
US11057727B2 (en) * 2019-10-18 2021-07-06 Cirrus Logic, Inc. Dynamic power/current allocation among groups of audio amplifiers and/or haptic drivers
CN114730263A (zh) * 2019-12-11 2022-07-08 华为技术有限公司 一种处理器及降低功耗的方法
US11181967B2 (en) * 2020-02-07 2021-11-23 Marvell Asia Pte Ltd Power management and transitioning cores within a multicore system from idle mode to operational mode over a period of time
US11556342B1 (en) * 2020-09-24 2023-01-17 Amazon Technologies, Inc. Configurable delay insertion in compiled instructions
US11836031B2 (en) 2020-11-10 2023-12-05 Advanced Micro Devices, Inc. Application override of power estimation mechanism
GB2604981B (en) * 2020-12-18 2023-03-22 Advanced Risc Mach Ltd Balancing high energy events
US11698671B2 (en) * 2021-09-22 2023-07-11 Apple Inc. Peak power management for processing units
US11989077B2 (en) * 2021-12-06 2024-05-21 Mediatek Inc. Maximum current suppression for power management in a multi-core system

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6145354A (ja) * 1984-08-10 1986-03-05 Nec Corp マイクロプロセツサ
IL85749A0 (en) * 1987-03-16 1988-08-31 Stern Donald S Selective power gating device
JPH02171812A (ja) * 1988-12-23 1990-07-03 Komatsu Ltd ウエイトステイト機能を持たないプロセッサの高速化回路
JPH0387909A (ja) * 1989-05-10 1991-04-12 Seiko Epson Corp 情報処理装置およびマイクロプロセッサ
US5287292A (en) * 1992-10-16 1994-02-15 Picopower Technology, Inc. Heat regulator for integrated circuits
US5392437A (en) * 1992-11-06 1995-02-21 Intel Corporation Method and apparatus for independently stopping and restarting functional units
EP0651314A1 (en) 1993-10-27 1995-05-03 International Business Machines Corporation An apparatus and method for thermally protecting a processing device
JP3302828B2 (ja) * 1994-05-31 2002-07-15 株式会社東芝 1チップコントローラを備えた電子機器
US5798667A (en) * 1994-05-16 1998-08-25 At&T Global Information Solutions Company Method and apparatus for regulation of power dissipation
US6192479B1 (en) * 1995-01-19 2001-02-20 Texas Instruments Incorporated Data processing with progressive, adaptive, CPU-driven power management
US5719800A (en) 1995-06-30 1998-02-17 Intel Corporation Performance throttling to reduce IC power consumption
US5996083A (en) * 1995-08-11 1999-11-30 Hewlett-Packard Company Microprocessor having software controllable power consumption
US5815724A (en) * 1996-03-29 1998-09-29 Intel Corporation Method and apparatus for controlling power consumption in a microprocessor
US5983356A (en) * 1996-06-18 1999-11-09 National Semiconductor Corporation Power conservation method and apparatus activated by detecting shadowed interrupt signals indicative of system inactivity and excluding prefetched signals
JPH1020959A (ja) * 1996-07-01 1998-01-23 Matsushita Electric Ind Co Ltd 低消費電力マイクロプロセッサ
US6000036A (en) * 1996-07-17 1999-12-07 International Business Machines Corp. Logical steering to avoid hot spots on integrated circuits
US6029006A (en) * 1996-12-23 2000-02-22 Motorola, Inc. Data processor with circuit for regulating instruction throughput while powered and method of operation
JPH10326129A (ja) * 1997-05-23 1998-12-08 Mitsubishi Electric Corp 半導体装置
JP3004968B2 (ja) * 1997-09-03 2000-01-31 松下電器産業株式会社 プロセッサ
US6219796B1 (en) * 1997-12-23 2001-04-17 Texas Instruments Incorporated Power reduction for processors by software control of functional units
JP2000047872A (ja) * 1998-08-03 2000-02-18 Hitachi Ltd 低消費電力動作機能を備えたマイクロプロセッサ
US6367023B2 (en) * 1998-12-23 2002-04-02 Intel Corporation Method and apparatus of measuring current, voltage, or duty cycle of a power supply to manage power consumption in a computer system
JP5557551B2 (ja) * 2010-02-19 2014-07-23 東邦レオ株式会社 緑化用パネル

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7688666B2 (en) 2006-08-30 2010-03-30 Samsung Electronics Co., Ltd. Memory system for controlling power and method thereof
KR101493018B1 (ko) * 2008-04-11 2015-02-12 어드밴스드 마이크로 디바이시즈, 인코포레이티드 실시간 전력 추정을 위한 샘플링 칩 동작
KR101290047B1 (ko) * 2009-12-18 2013-07-30 인텔 코오퍼레이션 타임 인터리빙된 전압 변조를 이용한 전력 프로파일 셰이핑을 위한 방법 및 장치
US9703351B2 (en) 2010-01-28 2017-07-11 Cavium, Inc. Method and apparatus for power control
US9075614B2 (en) 2011-03-21 2015-07-07 Intel Corporation Managing power consumption in a multi-core processor
US9069555B2 (en) 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
US9009451B2 (en) 2011-10-31 2015-04-14 Apple Inc. Instruction type issue throttling upon reaching threshold by adjusting counter increment amount for issued cycle and decrement amount for not issued cycle
KR101421346B1 (ko) * 2011-10-31 2014-07-18 애플 인크. 프로세서 명령어 발행 스로틀링
US10303238B2 (en) 2013-06-21 2019-05-28 Apple Inc. Dynamic voltage and frequency management based on active processors
US11003233B2 (en) 2013-06-21 2021-05-11 Apple Inc. Dynamic voltage and frequency management based on active processors
US9671844B2 (en) 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip
US10152102B2 (en) 2013-09-26 2018-12-11 Cavium, Llc Method and apparatus for managing global chip power on a multicore system on chip
US10732684B2 (en) 2013-09-26 2020-08-04 Marvell Asia Pte, Ltd. Method and apparatus for managing global chip power on a multicore system on chip
US10983576B2 (en) 2013-09-26 2021-04-20 Marvell Asia Pte, Ltd. Method and apparatus for managing global chip power on a multicore system on chip
US11709534B2 (en) 2013-09-26 2023-07-25 Marvell Asia Pte, Ltd. Method and apparatus for managing global chip power on a multicore system on chip
US10955893B2 (en) 2014-03-07 2021-03-23 Apple Inc. Dynamic voltage margin recovery
US11740676B2 (en) 2014-03-07 2023-08-29 Apple Inc. Dynamic voltage margin recovery

Also Published As

Publication number Publication date
DE60043996D1 (de) 2010-04-22
JP2014112399A (ja) 2014-06-19
GB0214785D0 (en) 2002-08-07
CN101520725B (zh) 2012-02-15
JP6042830B2 (ja) 2016-12-14
AU1626601A (en) 2001-07-09
EP1259870B1 (en) 2010-03-10
KR100511110B1 (ko) 2005-08-31
JP5650689B2 (ja) 2015-01-07
CN1434934A (zh) 2003-08-06
CN100492252C (zh) 2009-05-27
JP2003523563A (ja) 2003-08-05
HK1046561A1 (en) 2003-01-17
JP2012198922A (ja) 2012-10-18
WO2001048584A1 (en) 2001-07-05
GB2373896B (en) 2004-11-03
ATE460698T1 (de) 2010-03-15
EP1259870A1 (en) 2002-11-27
GB2373896C (en) 2013-02-13
TW512261B (en) 2002-12-01
US6564328B1 (en) 2003-05-13
HK1046561B (zh) 2005-06-03
CN101520725A (zh) 2009-09-02
GB2373896A (en) 2002-10-02
JP5073903B2 (ja) 2012-11-14

Similar Documents

Publication Publication Date Title
KR100511110B1 (ko) 디지털 전력 스로틀을 갖는 마이크로프로세서
US7281140B2 (en) Digital throttle for multiple operating points
US6636976B1 (en) Mechanism to control di/dt for a microprocessor
US6931559B2 (en) Multiple mode power throttle mechanism
EP1023656B1 (en) Localized performance throttling to reduce ic power consumption
TWI528168B (zh) 微處理器、操作微處理器的方法以及電腦程式產品
US8176347B1 (en) Microprocessor that performs adaptive power throttling
JP5688462B2 (ja) 処理ノードの動的パフォーマンス制御
JP5735638B2 (ja) キャッシュ制御のための方法および装置
US8745419B2 (en) Logical power throttling of instruction decode rate for successive time periods
US20050044434A1 (en) Power throttling method and apparatus
US6704876B1 (en) Microprocessor speed control mechanism using power dissipation estimation based on the instruction data path
US5784627A (en) Integrated timer for power management and watchdog functions
US11281473B2 (en) Dual wakeup interrupt controllers
KR20040101344A (ko) 마이크로프로세서, 인스트럭션 시퀀스 발생 방법 및 이를구현한 프로그램 디바이스

Legal Events

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

Payment date: 20121102

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130801

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160727

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee