KR101442180B1 - 프로세싱 노드에서 전력 소비를 제어하기 위한 메커니즘 - Google Patents

프로세싱 노드에서 전력 소비를 제어하기 위한 메커니즘 Download PDF

Info

Publication number
KR101442180B1
KR101442180B1 KR1020137009585A KR20137009585A KR101442180B1 KR 101442180 B1 KR101442180 B1 KR 101442180B1 KR 1020137009585 A KR1020137009585 A KR 1020137009585A KR 20137009585 A KR20137009585 A KR 20137009585A KR 101442180 B1 KR101442180 B1 KR 101442180B1
Authority
KR
South Korea
Prior art keywords
thermal power
processor cores
power limit
management unit
new
Prior art date
Application number
KR1020137009585A
Other languages
English (en)
Other versions
KR20130097208A (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 KR20130097208A publication Critical patent/KR20130097208A/ko
Application granted granted Critical
Publication of KR101442180B1 publication Critical patent/KR101442180B1/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/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • 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
    • 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

Abstract

시스템은 복수의 프로세서 코어들 및 전력 관리 유닛을 포함한다. 상기 전력 관리 유닛은 프로세서 코어들의 각각의 동작 상태 및 각각의 다른 프로세서 코어에 대한 각각의 프로세서 코어의 상대적인 물리적 근접성에 의존하여 복수의 프로세서 코어들의 각각에 대한 각각의 열 전력 한계를 선택함으로써 프로세서 코어들의 성능을 독립적으로 제어하도록 구성될 수 있다. 전력 관리 유닛이, 주어진 프로세서 코어가 상기 각각의 열 전력 한계를 넘어 동작함을 감지하는 것에 응답하여, 상기 전력 관리 유닛은 주어진 프로세서 코어의 성능을 감소시킬 수 있으며, 그에 의해 상기 코어에 의해 소비된 전력을 감소시킨다.

Description

프로세싱 노드에서 전력 소비를 제어하기 위한 메커니즘{MECHANISM FOR CONTROLLING POWER CONSUMPTION IN A PROCESSING NODE}
본 개시는 집적 회로들에 관한 것으로, 보다 상세하게는 동작 동안 집적 회로들 상에 구성요소들의 전력 관리에 관한 것이다.
많은 현대의 프로세서들은 다량의 전력을 소비할 수 있으며 그렇게 해서 상당한 양의 열을 발생시킬 수 있다. 체크되지 않으면, 이러한 열은 상기 프로세서에 대한 파국적 손상을 야기할 수 있다. 따라서, 전력 관리 시스템들이 상기 프로세서가 소비하는 전력 및 그에 따라 발생된 열을 제한하기 위해 발전되어왔다. 많은 전력 관리 시스템들에서, 전체 칩에 대한 열 설계 전력(thermal design power; TDP)은 보통 전력을 제어하고 열 한계들이 초과되지 않음을 보장하기 위해 사용되는 1차 메트릭(metric)이다. 통상적으로, 상기 열 한계들이 도달되거나, 또는 상기 열 전력이 특정 임계값에 도달한다면, 상기 전력 관리 시스템은 성능을 감소시킴으로써 프로세서를 조절(throttle)할 수 있다. 반대로, 전력 소비가 주어진 애플리케이션을 구동하면서 정확히 측정될 수 있다면, 사용된 전력이 플랫폼의 TDP 능력보다 작다면, 성능은 상기 프로세서가 동작 전압, 동작 주파수, 또는 둘 모두를 증가시킴으로써 TDP에서의 이용가능한 헤드룸(headroom)을 소비하도록 허용함으로써 증가될 수 있다. 그러나, 종래의 열 측정 메커니즘들의 능력들은 많은 경우들에서 허용가능한 세분화(granularity) 및 반복성(repeatability)보다 낮기 때문에, 개개의 구성요소들의 열 및/또는 전력 한계들에 기반된 조절 활동은 어려워지게 된다.
프로세싱 노드의 전력 소비를 제어하기 위한 메커니즘의 다양한 실시예들이 개시된다. 집적 회로 디바이스 상에서 전력 소비를 조절하는 것은 과거에 부정확한 노력이었다. 그러나, 디지털 전력 추정 기술들의 출현으로, 구성요소 단위의 추정된 전력의 세분화 및 정밀도가 상당히 향상되었다. 따라서, 예를 들면, 프로세싱 노드에서의 다양한 프로세서 코어들 및 다른 구성요소들에 의해 소비된 전력을 모니터링함으로써, 및 각각의 구성요소의 동작 상태들을 추적함으로써, 상기 프로세싱 노드 내에서의 전력 관리 유닛은 예를 들면, 동작 상태, 외부 주위 온도, 및 각각의 다른 구성요소에 대한 각각의 구성요소의 물리적 근접성에 기초하여 각각의 구성요소에 대한 열 설계 전력 한계들을 동적으로 조작함으로써 성능 및 그에 따라 주어진 코어 또는 다른 구성요소에 의해 소비된 전력을 제어하도록 구성될 수 있다.
일 실시예에서, 시스템은 복수의 프로세서 코어들 및 전력 관리 유닛을 포함한다. 상기 전력 관리 유닛은 상기 프로세서 코어들의 각각의 동작 상태 및 각각의 다른 프로세서 코어에 대한 각각의 프로세서 코어의 상대적인 물리적 근접성에 의존하여 상기 복수의 프로세서 코어들의 각각에 대한 각각의 열 전력 한계를 선택함으로써 상기 프로세서 코어들의 성능을 독립적으로 제어하도록 구성될 수 있다. 상기 전력 관리 유닛이 주어진 프로세서 코어가 상기 각각의 열 전력 한계(thermal power limit)를 넘어 동작함을 감지하는 것에 응답하여, 상기 전력 관리 유닛은 주어진 프로세서 코어의 성능을 감소시키고, 그에 의해 상기 코어에 의해 소비된 전력을 감소시킬 수 있다.
하나의 특정 구현예에서, 상기 프로세서 코어들의 동작 상태를 추가적인 프로세서 코어들이 활성이 될 새로운 동작 상태로 변경하기 위한 요청에 응답하여, 상기 전력 관리 유닛은 상기 프로세서 코어들의 각각에 대한 현재의 열 전력 한계보다 낮은 값을 가진 새로운 열 전력 한계를 선택하고, 현재의 열 전력 한계를 새로운 열 전력 한계로 변경하도록 구성된다.
또 다른 특정 구현예에서, 상기 프로세서 코어들의 동작 상태를 보다 적은 프로세서 코어들이 활성이 될 새로운 동작 상태로 변경하기 위한 요청에 응답하여, 상기 전력 관리 유닛은 상기 프로세서 코어들의 각각에 대한 현재의 열 전력 한계보다 높은 값을 가진 새로운 열 전력 한계를 선택하고 미리 결정된 양의 시간을 대기한 다음에 현재의 열 전력 한계를 새로운 열 전력 한계로 변경하도록 구성된다.
도 1은 디지털 전력 모니터들을 가진 프로세서 코어들을 갖는 프로세싱 노드의 일 실시예의 블록도이다.
도 2는 도 1의 프로세싱 노드의 일 실시예의 구성요소 레이아웃을 묘사한 아키텍처도이다.
도 3a는 도 1의 프로세싱 노드의 일 실시예에 대한 대표적인 전력 밀도 배율기(multiplier) 값들을 묘사한 테이블이다.
도 3b는 도 1의 프로세싱 노드의 또 다른 실시예에 대한 대표적인 전력 밀도 배율기 값들을 묘사한 테이블이다.
도 4는 도 1의 프로세싱 노드의 실시예를 묘사한 일 실시예의 동작 양상들을 설명한 흐름도이다.
도 5는 도 1의 프로세싱 노드를 대표하는 데이터베이스를 포함한 컴퓨터 액세스 가능한 저장 매체의 블록도이다.
특정 실시예들이 도면들에서 예로서 도시되며 본 출원에서 상세히 설명된다. 그러나, 단지 단일 실시예가 특정한 특징에 대하여 설명될지라도 도면들 및 상세한 설명은 청구항들을 개시된 특정 실시예들에 제한하도록 의도되지 않는다는 것이 이해되어야 한다. 반대로, 본 개시의 장점을 가진 이 기술분야에서의 숙련자에게 명백할 모든 변경들, 등가물들 및 대안들을 포함하는 것이 의도이다. 본 개시에 제공된 특징들의 예들은 달리 서술되지 않는다면 제한적이기보다는 예시적이도록 의도된다.
본 출원 전체에 걸쳐 사용된 바와 같이, 단어 "일 수 있다(may)"는 의무적인 의미(즉, 해야 함(must)을 의미하는)보다는, 허용의 의미(즉, ~에 대한 가능성을 가짐을 의미하는)로 사용된다. 유사하게는, 단어들("포함하다", "포함하는", 및 "포함시키다")은 이에 제한되지 않지만, 포함함을 의미한다.
다양한 유닛들, 회로들, 또는 다른 구성요소들은 태스크 또는 태스크들을 수행하도록 "구성되는(configured to)" 것으로서 설명될 수 있다. 이러한 문맥들에서, "하도록 구성된"은 일반적으로 동작 동안 태스크 또는 태스크들을 수행하는 "회로부(circuitry)를 가짐"을 의미하는 구조의 광범위한 설명이다. 이와 같이, 유닛/회로/구성요소는 상기 유닛/회로/구성요소가 현재 가능하지 않을 때조차 태스크를 수행하도록 구성될 수 있다. 일반적으로, "하도록 구성된"에 대응하는 구조를 형성하는 회로부는 하드웨어 회로들을 포함할 수 있다. 유사하게는, 다양한 유닛들/회로들/구성요소들은 설명의 편의를 위해, 태스크 또는 태스크들을 수행하는 것으로서 설명될 수 있다. 이러한 설명은 구절("하도록 구성된")을 포함하는 것으로서 해석되어야 한다. 하나 이상의 태스크들을 수행하도록 구성되는 유닛/회로/구성요소를 나열하는 것은 35 U.S.C. § 112, 단락 6, 상기 유닛/회로/구성요소에 대한 해석을 적용하지 않도록 명확히 의도된다.
이제 도 1로 가서, 프로세싱 노드의 일 실시예의 간소화된 블록도가 도시된다. 예시된 실시예에서, 프로세싱 노드(12)는 퓨즈들(60) 및 환경 유닛(70)에 결합되는, 노드 제어기(20)에 결합된 프로세서 코어들(15A, 15B)을 포함한다. 노드 제어기(20)는 또한 그래픽스 프로세서 유닛(GPU : graphics processor unit)(40)에 결합된다. 일 실시예에서, 노드(12)는 도 1에 도시된 회로부를 포함한 단일 집적 회로 칩일 수 있다. 즉, 노드(12)는 칩 다중프로세서(chip multiprocessor; CMP)일 수 있다. 다른 실시예들은 원하다면, 둘 이상의 별개의 집적 회로들로서 노드(12)를 구현할 수 있다. 임의의 레벨의 통합 또는 이산 구성요소들이 사용될 수 있다. 기준 지정자(reference designator)로서 숫자 및 문자를 가진 구성요소들이 단지 적절한 곳에서 숫자에 의해 언급될 수 있다는 것이 주의된다. 프로세서 코어들(15A, 15B)은 임의의 유형의 프로세싱 요소일 수 있으며 서로 동일하지 않고 심지어 유사하지 않을 수 있다. 예를 들면, 프로세서 코어(15A 또는 15B)는 중앙 프로세싱 유닛(CPU) 코어, 그래픽스 프로세싱 유닛(GPU) 코어, 디지털 신호 프로세싱(DSP) 코어, 애플리케이션 프로세서(AP) 코어 또는 임의의 다른 코어일 수 있다. 부가적으로, 프로세서 코어들(15A, 15B)은 그것의 임의의 조합들일 수 있다.
노드(12)와 같은 프로세싱 노드는 다양한 실시예들에서, 임의의 수의 프로세서 코어들을 포함할 수 있다는 것이 또한 주목된다. 프로세서 노드(12)는 단순함을 위해 여기에서 생략된 많은 다른 구성요소들을 포함할 수 있다는 것이 또한 주목된다. 예를 들면, 다양한 실시예들에서, 프로세싱 노드(12)는 필수적인 메모리 제어기 및 다른 노드들과 통신하기 위한 다양한 통신 인터페이스들, 및 I/O 디바이스들을 포함할 수 있다.
일 실시예에서, 노드 제어기(20)는 서로에, 다른 노드들에, 및 시스템 메모리(도시되지 않음)에 프로세서 코어들(15A, 15B)을 상호연결하기 위한 다양한 상호연결 회로들(도시되지 않음)을 포함할 수 있다. 도시된 바와 같이, 노드 제어기(20)는 각각의 프로세서 코어(15)에 의해 소비된 전력을 양, 및 그래서 발생된 열의 양을 제어하기 위해 구성될 수 있는 전력 관리 유닛(power management unit)(21)을 포함한다. 상기 전력 관리 유닛(21)은 주파수 식별자 신호들 및 전압 식별자 신호들(둘 모두 도시되지 않음)을 사용하여 각각의 코어에 대한 동작 주파수 및/또는 각각의 코어 및/또는 노드에 대한 전원 전압들을 제어하도록 구성될 수 있다. 또한, 이하에 추가로 설명된 바와 같이, 일 실시예에서, 상기 전력 관리 유닛(21)은 각각의 코어에 의해 소비된 전력 및 그에 따라 프로세서 코어들(15) 내에서의 전력 모니터들(17)에 의해 제공된 전력 추정치들에 기초하여, 및 프로세서 코어들(15)의 각각 및 GPU(40)의 동작 상태들에 기초한 동작 포인트를 제어하도록 구성될 수 있다. 상기 전력 관리 유닛(21)은 도 1에서의 노드 제어기(20)의 일부로서 도시된다는 것이 주의된다. 일 실시예에서, 도 1에 도시된 노드 제어기(20)의 상기 전력 관리 유닛(21) 기능은 프로세싱 노드(12)의 노스브리지(Northbridge)의 일부일 수 있다. 그러나, 다른 실시예들에서, 노드 제어기(20)의 상기 전력 관리 유닛(21) 기능은 프로세싱 노드(12) 내에서의 별개의 내장된 마이크로제어기 유닛(도시되지 않음)의 일부일 수 있다는 것이 고려된다.
일반적으로, 프로세서 코어(예로서, 15A 내지 15D)는 주어진 명령 세트 아키텍처로 제공된 명령들을 실행하도록 설계되는 회로부를 포함할 수 있다. 즉, 프로세서 코어 회로부는 명령 세트 아키텍처에 정의된 명령들의 결과들을 페치(fetch), 디코딩, 실행, 및 저장하도록 구성될 수 있다. 예를 들면, 일 실시예에서, 프로세서 코어들(15A 내지 15D)은 x86 아키텍처를 구현할 수 있다. 상기 프로세서 코어들(15A 내지 15D)은 슈퍼파이프라인드(superpipelined), 슈퍼스칼라(superscalar), 또는 그것의 조합들을 포함하여, 임의의 원하는 구성들을 포함할 수 있다. 다른 구성들은 스칼라, 파이프라인드, 비-파이프라인드 등을 포함할 수 있다. 다양한 실시예들이 비순차적 예측 실행 또는 순차적 실행을 이용할 수 있다.
예시된 실시예에서, 프로세서 코어(15A)는 전력 모니터(power monitor)(17A)를 포함한다. 마찬가지로, 프로세서 코어(15B)는 전력 모니터(17B)를 포함하며, 프로세서 코어들(15C, 15D)은 각각의 전력 모니터(17C, 17D)를 포함한다. 일 실시예에서, 상기 전력 모니터들(17)의 각각은 일 실시예에서, 각각의 프로세서 코어(15) 내에서의 디지털 신호 활동을 고려하는 디지털 기술들을 사용하여 각각 각자의 프로세서 코어(15)에 의해 소비된 전력을 결정하도록 구성될 수 있다. 보다 상세하게는, 상기 전력 모니터들(17)은 소비된 전력에 해당하는 에너지 값들을 전력 관리 유닛(21)에 제공할 수 있다.
또한, 상기 전력 모니터들(17)에 의해 제공된 에너지 값들에 응답하여, 전력 관리 유닛(21)은 프로세서 코어들(15) 중 하나 이상의 주파수를 증가 또는 감소시키고, 코어들의 동작 전압들을 증가 또는 감소시키거나, 또는 그렇지 않다면 프로세싱 노드(12)의 열 예산(thermal budget) 내에 있으면서 성능을 최적화시키기 위한 노력으로 상기 코어들의 동작 상태 및 성능을 제어할 수 있다.
상기 프로세싱 노드(12)는 여러 개의 동작 상태들 중 하나로 동작할 수 있다. 보다 상세하게는, 개선된 구성 및 전력 인터페이스(advanced configuration and power interface; ACPI) 규격은 컴퓨팅 플랫폼들, 프로세서들, 및 디바이스들을 위한 다수의 동작 상태들을 정의한다. C-상태들(예로서, C0, C1, C2, C3 등)로서 불리우는 프로세서 전력 상태들은 상기 프로세싱 노드(12)가 동작 중인지, 또는 하나 이상의 정지 또는 절전 상태들에 있는지 여부를 결정한다. C0 상태는 동작 상태인 반면, C1은 정지 상태이며, C3은 절전 상태이다. P-상태들(예로서, P0, P1, P2, ... Pn 등)로서 불리우는 프로세서 성능 상태들은 프로세싱 노드(12)가 동작하는 주파수 및 전압 조합들의 미리 정의된 세트이다. C1, C2 등과 같은, 다른 ACPI 정의된 전력 상태들과 달리, 프로세서는 실제로 C0의 서브-상태들인 모든 P-상태들에서 명령들을 실행한다. P0은 최대 성능/최고 전력 소비 상태로서 정의되는 반면, P1 내지 Pn은 보다 낮은 성능 상태들이며 따라서 통상적으로 각각의 상태에 대한 보다 낮은 전압/주파수 조합을 가진다.
통상적으로, 보다 높은 주파수들에서 동작 노드(12)를 동작시키는 것은 보다 높은 성능을 허용하지만, 보다 높은 주파수 동작을 달성하기 위해, 동작 전압이 또한 보다 높을 필요가 있으며, 이것은 프로세싱 노드(12)가 보다 많은 전력을 소비하게 한다. 일 실시예에서, 동작 시스템 또는 임의의 다른 고-레벨 SW 또는 펌웨어는 예를 들면, 전력 관리 유닛(21) 내에서의 하나 이상의 프로세싱 노드 동작 상태 레지스터들(24)을 사용하여 전력 및 성능 간에 트레이드 오프하기 위해 동작 동안 성능 상태를 동적으로 변경할 수 있다.
실리콘과 같은 반도체 재료는 일반적으로 좋은 열 전도체(thermal conductor)이며, 집적 회로 다이 상에서의 각각의 구성요소(예로서, 프로세서 코어(15A))의 온도는 그 이웃들의 전력 소비에 의해 영향을 받는다. 구체적으로, 최대로 활성인 이웃들보다 적은 다이 상에서의 구성요소들은 보다 많은 전력을 소비하도록 허용될 수 있으며 따라서 단일의 최악의 전력 한계에서 그것들이 그렇지 않은 것보다 증가된 성능을 제공할 수 있다.
도 2를 참조하면, 도 1의 프로세싱 노드의 일 실시예의 대표적인 구성요소 레이아웃(layout)을 묘사한 아키텍처 도가 도시된다. 보다 구체적으로, 보다 차가워진 구성요소들은 각각의 다른 구성요소에 대한 각각의 구성요소의 상대적인 근접성, 냉각액 등과 같은 이러한 인자들에 의존하여 보다 따뜻한 구성요소들에 대하여 열 싱크(thermal sink)와 같이 동작할 수 있다. 따라서, 도 2에 도시된 바와 같이, 인접한 측면을 갖는 동작 구성요소들을 가진 비-동작 구성요소들은 구성요소가 대각선으로 위치된다면 그것보다 양호한 열 싱크들일 수 있다. 예를 들면, 단지 코어(0)가 동작 상태라면, 코어(2) 및 그 후 코어(1)가 코어들의 배열로 인해 코어(3)보다 양호한 열 싱크를 제공할 수 있다. 따라서, (상기 언급된 바와 같이, 한계들이 초과된다면 활동을 조절하기 위해 사용되는) 각각의 구성요소에 대한 열 전력 한계 또는 TDP 한계를 수립할 때, 전력 소비, 주어진 구성요소의 이웃들의 동작 상태, 및 구성요소 동작 상태들의 다양한 조합들의 열 전달 특성들에 대한 정보가 사용될 수 있다. 다양한 실시예들에서, 상기 열 특성들은 디바이스 특성화(characterization) 동안, 뿐만 아니라 디바이스 모델링 및 시뮬레이션을 통해 획득될 수 있다.
이러한 정보는 임의의 수의 전력 밀도 배율기들(Power Density Multipliers; PDM들)을 생성하기 위해 사용될 수 있다. 전력 밀도 배율기는 최저 전력 한계가 집적 회로 다이 상에서의 모든 구성요소들이 완전히 활성(예로서, C0 상태)인 종래의 최악 분석에 의해 결정되며 상기 설명된 인자들에 의존하여 한계를 증가시킬 수 있는 구성요소에 대한 최저 전력 한계에 적용될 수 있다. 보다 구체적으로, 일 실시예에서, 전력 관리 유닛(21)은 상이한 구성요소들의 PDM들 또는 새로운 TDP 코어 한계들 중 하나 및 동작 상태들을 포함하는 하나 이상의 테이블들을 유지할 수 있다. 일 실시예에서, N개의 프로세서 코어들(N은 임의의 수일 수 있다)이 존재한다면, N개의 TDP 코어 한계 값들이 존재할 수 있으며, 여기서 각각의 TDP 코어 한계 값은 프로세서 코어들(15)의 동작 상태들의 특정한 조합에 대한 전력 레벨에 해당한다. 또 다른 실시예에서, 그것의 열 용량(thermal mass)으로 인해, GPU(40)의 동작 상태는 추가의 TDP 코어 한계 값들을 제공하기 위해 사용될 수 있다. 따라서, 이러한 실시예에서, N개의 코어들이 존재한다면, 2N개의 TDP 코어 한계 값들이 존재할 수 있다. 대표적인 PDM 테이블들이 도 3a 및 도 3b에 도시된다.
도 3a로 가면, 대표적인 PDM 테이블(330)이 도 1의 프로세싱 노드의 일 실시예에 대해 도시된다. 테이블(330)에서, GPU(40)는 활성이며 그것의 전체 등급 부하 전류까지 드로잉(drawing)하는 것으로 고려된다. 따라서, GPU(40)는 프로세서 코어들 중 임의의 것에 대한 열 싱크로서 고려되지 않을 수 있다. 테이블(330)에 열거된 PDM들은 서브-테이블 표제들(heading)(외부 주위 온도 1 및 외부 주위 온도 2)로 표시된 바와 같이 두 개의 상이한 외부 주위 온도들을 고려한다. 테이블(330)의 행(row)들은 상이한 수들의 코어들이 활성일 때(예로서, C0 상태에 있을 때) TDP 코어 한계 값들에 해당하는 엔트리들을 포함한다. 보다 구체적으로는, 제 1 행은 4개의 코어들이 활성일 때 TDP 코어 한계 값들에 해당하며, 제 2 행은 3개의 코어들이 활성일 때 TDP 코어 한계 값들에 해당하고, 제 3 행은 2개의 코어들이 활성일 때 TDP 코어 한계 값들에 해당하며, 제 4 행은 1개의 코어가 활성일 때 TDP 코어 한계 값들에 해당한다.
외부 주위 온도 1 표제 하에서의 컬럼(column)들을 참조하면, 4개의 코어들이 활성일 때, PDM은 1.00이며 코어 당 최대 전력은 6.2W이다. 이러한 특별한 TDP 코어 한계 값은 디폴트 또는 "퓨즈된(fused)" 값을 나타내며, 이것은 최악의 동작 상태를 나타낼 수 있다. 이와 같이, 각각의 코어는 전력 관리 유닛(21)이 발생된 열을 감소시키기 위한 조치를 취할 필요가 있기 전에 최대 6.2W를 소비할 수 있다. 그러나, 제 3 로우(row)에서, 2개의 코어들이 활성이며 따라서 PDM은 1.5이다. 이것은 코어 당 9.3W의 새로운 TDP 코어 한계에 해당한다. 보다 많은 코어들이 비-활성 상태들에 들어갈수록, 각각의 상태에 대한 PDM은 보다 큰 수일 수 있으며, 그에 의해 상기 동작 상태에 대한 TDP 코어 한계를 증가시킨다. 유사한 상황이, 이 예에서 온도 1보다 낮은 온도인, 외부 주위 온도 2 표제 하에서의 컬럼(column)들에서 존재한다. 보다 구체적으로, 주위 온도가 더 낮기 때문에, 프로세서 코어(12)에 대한 냉각액은 발생된 열 중 많은 부분을 소멸시킬 수 있어야 하며, 따라서 각각의 코어는 보다 많은 전력을 소비할 수 있어야 한다. 이와 같이, 외부 주위 온도 2와 연관된 PDM 값들(및 그에 따른 TDP 코어 한계 값들)은 각각의 동작 상태에 대한 보다 높은 주위 온도 컬럼(column)들에서의 것들보다 높다.
도 3b를 참조하면, 대표적인 PDM 테이블(380)이 도 1의 프로세싱 노드의 또 다른 실시예에 대해 도시된다. 몇몇 실시예들에서, GPU(40)는 프로세서 코어들(15)과 유사하게, 하나 이상의 비활성 또는 저 전력 상태들에 위치될 수 있다. 따라서, 도 3b의 테이블(380)은 GPU(40)가 "전력-게이트(power-gated)" 또는 비활성 상태 또는 활성 상태 중 하나에 위치될 수 있는 하나의 이러한 실시예를 나타낸다. 테이블(380)에서, GPU(40)는 비활성 상태에 있는 것으로 고려되며, 따라서 낮은 전력을 소비하는 것으로 고려되며 프로세서 코어들(15) 중 하나 이상에 대한 열 싱크일 수 있다. 따라서, 상기 코어 동작 상태들의 각각에 대해(예로서, 4개의 활성 코어들, 3개의 활성 코어들 등), PDM 값들 및 그에 따른 TDP 코어 한계 값들은 도 3a의 테이블(330)에 도시된 것들보다 높다. 예를 들면, 외부 주위 온도 1 표제 하에서, 4개의 코어들이 활성일 때, PDM은 1.00 대신에 1.3이다. 따라서, 상기 경우에 대한 TDP 코어 한계는 GPU(40)가 활성일 때의 6.2W와 비교하여 8.06W이다.
도 3a 및 도 3b에 도시된 테이블들은 단지 대표적인 테이블들이며 논의 목적들을 위한 것으로 의도된다는 것이 주목된다. 또한, 두 개의 주위 온도들에 대해 주어진 값들이 존재하지만, 임의의 수의 온도 그룹핑들이 다른 실시예들에 유지될 수 있다는 것이 고려된다. 마찬가지로, 다른 실시예들에서, 임의의 수의 동작 상태들이 원하는 대로, TDP 코어 한계 값들에서 보다 미세하거나 또는 보다 거친 세분화를 제공하기 위해 제공될 수 있다. 예를 들면, 활성 및 비활성 대신에, 각각의 프로세서 코어(15)의 C0 상태에 해당될 수 있는 임의의 수의 성능 상태들에 대한 동작 상태들이 존재할 수 있다. 유사하게, 다른 실시예들에서, 변화하는 수들의 GPU 동작 상태들에 대한 보다 많은 테이블들 및/또는 엔트리들이 존재할 수 있다. 따라서, TDP 코어 한계 값들의 수는 테이블들(330, 380)에 도시된 것들보다 더 크거나 또는 더 작을 수 있다.
도 4에서, 도 1의 프로세싱 노드의 동작 양상들을 설명하는 흐름도가 도시된다. 이제 도 1, 도 3a, 도 3b, 및 도 4를 총괄하여 참조하고 도 4의 블록(401)에서 시작하는, 일 실시예에서, 전력 관리 유닛(21)은 시스템 퓨즈들(60)로부터의 프로세서 코어들(15)에 대한 디폴트 또는 퓨즈 TDP 코어 한계 값들 및/또는 디폴트 PDM 값을 수신한다. 디폴트 값들은 최악 한계들일 수 있으며, 디폴트 동작 상태는 모든 코어들이 활성일 수 있다(예로서, C0). 전력 관리 유닛(21)은 또한 환경 파라미터들 유닛(70)으로부터의 외부 주위 온도에 해당하는 신호들을 수신할 수 있다. 전력 관리 유닛(21)은 레지스터들(24) 내에 각각의 코어에 대한 동작 상태 및 TDP 코어 한계 값들을 저장한다. 프로세싱 노드(12)는 그 후 OS 및 애플리케이션 요건들에 따라 동작할 수 있다(블록(403)). 프로세싱 노드(12)의 동작 동안, 일 실시예에서, 전력 관리 유닛(21)은 각각의 코어에 대한 TDP 코어 한계 값에 프로세서 코어들(15)의 각각에 의해 소비된 전력을 비교할 수 있다. 전력 관리 유닛(21)이 주어진 코어가 TDP 코어 한계를 넘어 동작함을 감지한다면, 전력 관리 유닛(21)은 프로세싱 노드(12)에 의해 발생된 열을 감소시키기 위해 상기 프로세서 코어(15)의 성능을 감소시킬 수 있다.
일 실시예에서, 전력 관리 유닛(21)은 OS로부터의 동작 상태 요청들을 수신할 수 있다. 이들 요청들은 전력 관리 유닛(21)에 의해 유지되는 동작 상태 정보에 대한 판독 요청일 수 있거나, 또는 상기 요청들은 상기 프로세서 코어들(15) 중 하나 이상에 대한 동작 상태를 변경하기 위한 기록 요청들일 수 있다. 다른 실시예들에서, 상기 요청은 초과되는 열 또는 전력 세트 포인트들에 응답하여, 전력 관리 유닛(21)의 내부에 있는 소스들로부터 들어올 수 있다. 이 예에서, 상기 요청들은 동작 상태를 변경하기 위한 기록 요청들이다. 동작 상태 변경 요청에 응답하여(블록(405)), 전력 관리 유닛(21)은 예를 들면, 저장소(23) 내에 테이블(330 또는 380)과 같은 하나 이상의 룩업 테이블들에서 PDM 또는 TDP 코어 한계 룩업을 수행할 수 있다(블록(407)). 보다 구체적으로, 상기 설명된 바와 같이, 전력 관리 유닛(21)은 각각의 프로세서 코어(15)의 동작 상태, GPU(40)의 동작 상태, 외부 주위 온도 등에 기초하여 어떤 엔트리(entry)를 테이블들에서 사용할지 결정할 수 있다.
전력 관리 유닛(21)이 새로운 TDP 코어 한계 값을 선택한다면, 전력 관리 유닛(21)은 동작 상태 변경 요청의 결과로서 보다 많은 또는 보다 적은 프로세서 코어들이 활성이 될지를 결정할 수 있다. 동작 상태 변경 요청이 보다 적은 프로세서 코어들(15)이 활성이 되어 보다 적은 열 발생을 초래한다면(블록(409)), 전력 관리 유닛(21)은 영향을 받은 프로세서 코어들(15)의 동작 상태(주파수 및/또는 전압)를 변경함으로써 요청을 시행할 수 있다. 전력 관리 유닛(21)은 보다 높은 PDM 값 및 그에 따라 각각의 프로세서 코어(15)에 대한 보다 높은 TDP 코어 한계 값들을 선택하며, 비활성이 되는 프로세서 코어들(15)이 여전히 활성인 주변 프로세서 코어들(15)에 대한 열 싱크가 되기에 충분히 냉각되도록 허용하기 위해 미리 결정된 양의 시간을 대기한다(블록(411)).
전력 관리 유닛(21)은 레지스터(24)에 새로운 보다 높은 TDP 코어 한계 값들을 저장하며, 그에 의해 현재 TDP 코어 한계 값을 새로운 TDP 코어 한계 값으로 교체한다(블록(413)). 일단 새로운 TDP 코어 한계 값들이 저장된다면, 전력 관리 유닛(21)은 새로운 TDP 코어 한계 값들이 적용되도록 허용할 수 있다. 프로세싱 노드(12)는 그 후 OS 및 애플리케이션 요건들에 따라 동작할 수 있다(블록(403)). 일 실시예에서, 새로운 TDP 코어 한계 값은 프로세서 코어들(15)의 성능(예로서, 전압 및/또는 주파수)을 조절하기 위해 전력 관리 유닛(21)에 의해 사용될 수 있다.
블록(409)을 다시 참조하면, 동작 상태 변경 요청이 보다 많은 프로세서 코어들(15)로 하여금 활성이 되게 하여 보다 많은 열 발생을 초래한다면, 전력 관리 유닛(21)은 대기 없이 각각의 프로세서 코어(15)에 대한 보다 낮은 PDM 값 및 그에 따른 보다 낮은 TDP 코어 한계 값들을 선택 및 저장할 수 있다. 상기 전력 관리 유닛(21)은 새로운 TDP 코어 한계 값들을 획득하고 레지스터(24)에 새로운 TDP 코어 한계 값들을 저장하기 위해 저장소(23)를 액세스하며, 그에 의해 새로운 TDP 코어 한계 값들이 적용되도록 허용한다(블록(415)). 프로세싱 노드(12)는 그 후 OS 및 애플리케이션 요건들에 따라 동작할 수 있다(블록(403)).
도 5로 가서, 도 1의 프로세싱 노드(12)를 대표하는 데이터베이스(505)를 포함한 컴퓨터 액세스 가능한 저장 매체(500)의 블록도가 도시된다. 일반적으로 말하면, 컴퓨터 액세스 가능한 저장 매체(500)는 컴퓨터에 명령들 및/또는 데이터를 제공하기 위해 사용 동안 컴퓨터에 의해 액세스 가능한 임의의 비-일시적 저장 미디어를 포함할 수 있다. 예를 들면, 컴퓨터 액세스 가능한 저장 매체(500)는 자기 또는 광 미디어, 예로서, 디스크(고정되거나 또는 착탈 가능한), 테이프, CD-ROM, 또는 DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW, 또는 블루-레이와 같은 저장 미디어를 포함할 수 있다. 저장 미디어는 RAM(예로서, 동기식 동적 RAM(SDRAM), 더블 데이터 레이트(DDR, DDR2, DDR3 등) SDRAM, 저-전력 DDR(LPDDR2 등) SDRAM, 램버스 DRAM(RDRAM), 정적 RAM(SRAM) 등), ROM, 플래시 메모리, 범용 직렬 버스(USB) 인터페이스와 같은 주변 인터페이스를 통해 액세스 가능한 비-휘발성 메모리(예로서, 플래시 메모리) 등과 같은 휘발성 또는 비-휘발성 메모리 미디어를 더 포함할 수 있다. 저장 미디어는 마이크로전기기계 시스템들(MEMS), 뿐만 아니라 네트워크 및/또는 무선 링크와 같은 통신 매체를 통해 액세스 가능한 저장 미디어를 포함할 수 있다.
일반적으로, 컴퓨터 액세스 가능한 저장 매체(500) 상에서 전달된 프로세싱 노드(12)의 데이터베이스(505)는 프로세싱 노드(12)를 포함한 하드웨어를 제조하기 위해 프로그램에 의해 판독되고 직접 또는 간접적으로 사용될 수 있는 데이터베이스 또는 다른 데이터 구조일 수 있다. 예를 들면, 상기 데이터베이스(505)는 베릴로그(Verilog) 또는 VHDL과 같은 고 레벨 설계 언어(HDL)로 하드웨어 기능의 행동-레벨 디스크립션(behavioral-level description) 또는 레지스터-전달 레벨(RTL) 디스크립션일 수 있다. 상기 설명은 합성 라이브러리로부터 게이트들의 리스트를 포함한 넷리스트(netlist)를 생성하기 위해 상기 디스크립션을 합성할 수 있는 합성 툴에 의해 판독될 수 있다. 상기 넷리스트는 또한 프로세싱 노드(12)를 포함한 하드웨어의 기능을 나타내는 게이트들의 세트를 포함한다. 상기 넷리스트는 그 후 마스크들에 적용될 기하학적 형상들을 기술한 데이터 세트를 생성하기 위해 위치되고 라우팅될 수 있다. 상기 마스크들은 그 후 프로세싱 노드(12)에 해당하는 반도체 회로 또는 회로들을 생성하기 위해 다양한 반도체 제조 단게들에서 사용될 수 있다. 대안적으로, 컴퓨터 액세스 가능한 저장 매체(400) 상에서의 데이터베이스(505)는 원하는 대로 넷리스트(합성 라이브러리를 갖거나 또는 없는) 또는 데이터 세트일 수 있다.
컴퓨터 액세스 가능한 저장 매체(500)가 프로세싱 노드(12)의 표현을 운반하지만, 다른 실시예들은 원하는 대로 상기 프로세싱 노드(12)의 임의의 부분에 대한 표현을 운반할 수 있다.
비록 상기 실시예들이 상당히 상세히 설명되었지만, 다수의 변형들 및 변경들이 상기 개시가 완전히 이해된다면 이 기술분야의 숙련자들에게 명백할 것이다. 다음의 청구항들은 모든 이러한 변형들 및 변경들을 포괄하는 것으로 해석되도록 의도된다.

Claims (20)

  1. 시스템에 있어서,
    복수의 프로세서 코어(processor core)들; 및
    상기 복수의 프로세서 코어들에 결합되고, 상기 프로세서 코어들의 각각의 동작 상태 및 각각의 다른 프로세서 코어에 대한 각각의 프로세서 코어의 상대적인 물리적 근접성(physical proximity)에 의존하여 상기 복수의 프로세서 코어들의 각각에 대한 각각의 열 전력 한계를 선택함으로써 상기 프로세서 코어들의 성능을 독립적으로 제어하도록 구성된 전력 관리 유닛(power management unit)을 포함하며,
    상기 전력 관리 유닛이 주어진 프로세서 코어가 상기 각각의 열 전력 한계를 넘어 동작함을 감지하는 것에 응답하여, 상기 전력 관리 유닛은 상기 주어진 프로세서 코어의 성능을 감소시키도록 구성되는, 시스템.
  2. 제 1 항에 있어서,
    상기 프로세서 코어들의 상기 동작 상태를 추가적인 프로세서 코어들이 활성이 될 새로운 동작 상태로 변경하기 위한 요청에 응답하여, 상기 전력 관리 유닛은 상기 복수의 프로세서 코어들의 각각에 대한 현재의 열 전력 한계보다 낮은 값을 가진 새로운 열 전력 한계를 선택하고, 상기 현재의 열 전력 한계를 상기 새로운 열 전력 한계로 변경하도록 구성되는, 시스템.
  3. 제 1 항에 있어서,
    상기 프로세서 코어들의 상기 동작 상태를 보다 적은 프로세서 코어들이 활성이 될 새로운 동작 상태로 변경하기 위한 요청에 응답하여, 상기 전력 관리 유닛은 상기 복수의 프로세서 코어들의 각각에 대한 상기 현재의 열 전력 한계보다 높은 값을 가진 새로운 열 전력 한계를 선택하고, 미리 결정된 양의 시간을 대기한 다음에 상기 현재의 열 전력 한계를 상기 새로운 열 전력 한계로 변경하도록 구성되는, 시스템.
  4. 제 2 항에 있어서,
    상기 프로세서 코어들 중 주어진 하나상에서 실행하는 동작 시스템이 상기 새로운 동작 상태로의 변경을 요청하도록 구성되는, 시스템.
  5. 제 1 항에 있어서,
    상기 복수의 프로세서 코어들은 복수의 동작 상태들에서 동작하도록 구성되며, 주어진 동작 상태는 상기 복수의 프로세서 코어들의 각각의 성능 상태 및 전력 상태의 조합에 해당하는, 시스템.
  6. 제 1 항에 있어서,
    상기 전력 관리 유닛에 결합되고 활성 동작 상태 및 비활성 동작 상태로 동작하도록 구성된 그래픽스 프로세싱 유닛을 더 포함하며, 상기 그래픽스 프로세싱 유닛이 비활성 상태로 전이하는 것에 응답하여, 상기 전력 관리 유닛은 상기 복수의 프로세서 코어들의 각각에 대한 상기 현재의 열 전력 한계보다 큰 값을 가진 새로운 열 전력 한계를 선택하고 상기 현재의 열 전력 한계를 상기 새로운 열 전력 한계로 변경하도록 구성되는, 시스템.
  7. 제 6 항에 있어서,
    상기 그래픽스 프로세싱 유닛이 활성 상태로 전이하는 것에 응답하여, 상기 전력 관리 유닛은 상기 복수의 프로세서 코어들의 각각에 대한 상기 현재의 열 전력 한계보다 작은 값을 가진 새로운 열 전력 한계를 선택하고 상기 현재의 열 전력 한계를 상기 새로운 열 전력 한계로 변경하도록 구성되는, 시스템.
  8. 제 1 항에 있어서,
    상기 전력 관리 유닛은 외부 주위 온도(external ambient temperature)에 의존하여 상기 복수의 프로세서 코어들의 각각에 대한 각각의 열 전력 한계를 선택하도록 구성되며, 상기 외부 주위 온도가 미리 결정된 온도 아래에 있음을 감지하는 것에 응답하여, 상기 전력 관리 유닛은 상기 복수의 프로세서 코어들의 각각에 대한 상기 현재의 열 전력 한계보다 큰 값을 가진 새로운 열 전력 한계를 선택하고 상기 현재의 열 전력 한계를 상기 새로운 열 전력 한계로 변경하도록 추가로 구성되는, 시스템.
  9. 방법에 있어서,
    전력 관리 유닛이 복수의 프로세서 코어들의 각각의 동작 상태 및 각각의 다른 프로세서 코어에 대한 각각의 프로세서 코어의 상대적인 물리적 근접성에 의존하여 상기 복수의 프로세서 코어들의 각각에 대한 각각의 열 전력 한계를 선택함으로써 상기 복수의 프로세서 코어들의 성능을 독립적으로 제어하는 단계를 포함하며,
    상기 전력 관리 유닛이 주어진 프로세서 코어가 상기 각각의 열 전력 한계를 넘어 동작함을 감지하는 것에 응답하여, 상기 전력 관리 유닛은 상기 주어진 프로세서 코어의 상기 성능을 감소시키는, 방법.
  10. 제 9 항에 있어서,
    각각의 동작 상태에 대해, 상기 전력 관리 유닛은 각각의 열 전력 한계를 선택하는, 방법.
  11. 제 9 항에 있어서,
    상기 프로세서 코어들의 동작 상태를 추가적인 프로세서 코어들이 활성이 될 새로운 동작 상태로 변경하기 위한 요청에 응답하여, 상기 전력 관리 유닛은 상기 복수의 프로세서 코어들의 각각에 대한 현재의 열 전력 한계보다 낮은 값을 가진 새로운 열 전력 한계를 선택하고 상기 현재의 열 전력 한계를 상기 새로운 열 전력 한계로 변경하는, 방법.
  12. 제 9 항에 있어서,
    상기 프로세서 코어들의 상기 동작 상태를 보다 적은 프로세서 코어들이 활성이 될 새로운 동작 상태로 변경하기 위한 요청에 응답하여, 상기 전력 관리 유닛은 상기 복수의 프로세서 코어들의 각각에 대한 상기 현재의 열 전력 한계보다 높은 값을 가진 새로운 열 전력 한계를 선택하는 단계, 및 미리 결정된 양의 시간을 대기한 다음에 상기 현재의 열 전력 한계를 상기 새로운 열 전력 한계로 변경하는 단계를 더 포함하는, 방법.
  13. 제 9 항에 있어서,
    상기 복수의 프로세서 코어들을 복수의 동작 상태들에서 동작시키는 단계를 더 포함하며, 주어진 동작 상태는 상기 복수의 프로세서 코어들의 각각의 성능 상태 및 전력 상태의 조합에 해당하는, 방법.
  14. 제 9 항에 있어서,
    그래픽스 프로세싱 유닛(graphics processing unit)이 활성 동작 상태 및 비활성 동작 상태로 동작하는 단계를 더 포함하며, 상기 그래픽스 프로세싱 유닛이 비활성 상태로 전이하는 것에 응답하여, 상기 전력 관리 유닛은 상기 복수의 프로세서 코어들의 각각에 대한 상기 현재의 열 전력 한계보다 큰 값을 가진 새로운 열 전력 한계를 선택하고 상기 현재의 열 전력 한계를 상기 새로운 열 전력 한계로 변경하는, 방법.
  15. 제 14 항에 있어서,
    상기 그래픽스 프로세싱 유닛이 활성 상태로 전이하는 것에 응답하여, 상기 전력 관리 유닛이 상기 복수의 프로세서 코어들의 각각에 대한 상기 현재의 열 전력 한계보다 작은 값을 가진 새로운 열 전력 한계를 선택하는 단계 및 상기 현재의 열 전력 한계를 상기 새로운 열 전력 한계로 변경하는 단계를 더 포함하는, 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020137009585A 2010-09-14 2011-09-02 프로세싱 노드에서 전력 소비를 제어하기 위한 메커니즘 KR101442180B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/881,307 2010-09-14
US12/881,307 US8495395B2 (en) 2010-09-14 2010-09-14 Mechanism for controlling power consumption in a processing node
PCT/US2011/050275 WO2012036918A1 (en) 2010-09-14 2011-09-02 Mechanism for controlling power consumption in a processing node

Publications (2)

Publication Number Publication Date
KR20130097208A KR20130097208A (ko) 2013-09-02
KR101442180B1 true KR101442180B1 (ko) 2014-09-18

Family

ID=44658840

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137009585A KR101442180B1 (ko) 2010-09-14 2011-09-02 프로세싱 노드에서 전력 소비를 제어하기 위한 메커니즘

Country Status (6)

Country Link
US (1) US8495395B2 (ko)
EP (1) EP2616900A1 (ko)
JP (1) JP5427981B2 (ko)
KR (1) KR101442180B1 (ko)
CN (1) CN103201703B (ko)
WO (1) WO2012036918A1 (ko)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8484498B2 (en) * 2010-08-26 2013-07-09 Advanced Micro Devices Method and apparatus for demand-based control of processing node performance
US8943334B2 (en) 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US8793512B2 (en) * 2010-10-29 2014-07-29 Advanced Micro Devices, Inc. Method and apparatus for thermal control of processing nodes
US8984305B2 (en) 2010-12-21 2015-03-17 Intel Corporation Method and apparatus to configure thermal design power in a microprocessor
US8769316B2 (en) 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
US8954770B2 (en) 2011-09-28 2015-02-10 Intel Corporation Controlling temperature of multiple domains of a multi-domain processor using a cross domain margin
US9074947B2 (en) 2011-09-28 2015-07-07 Intel Corporation Estimating temperature of a processor core in a low power state without thermal sensor information
US8832478B2 (en) 2011-10-27 2014-09-09 Intel Corporation Enabling a non-core domain to control memory bandwidth in a processor
US9026815B2 (en) 2011-10-27 2015-05-05 Intel Corporation Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor
US9158693B2 (en) 2011-10-31 2015-10-13 Intel Corporation Dynamically controlling cache size to maximize energy efficiency
US8943340B2 (en) 2011-10-31 2015-01-27 Intel Corporation Controlling a turbo mode frequency of a processor
WO2013077890A1 (en) * 2011-11-22 2013-05-30 Intel Corporation Collaborative processor and system performance and power management
US8862909B2 (en) 2011-12-02 2014-10-14 Advanced Micro Devices, Inc. System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller
US8924758B2 (en) 2011-12-13 2014-12-30 Advanced Micro Devices, Inc. Method for SOC performance and power optimization
US9804656B2 (en) * 2012-09-29 2017-10-31 Intel Corporation Micro-architectural energy monitor event-assisted temperature sensing
CN103810141A (zh) * 2012-11-09 2014-05-21 辉达公司 处理器和包括其的电路板
DE102012112672A1 (de) * 2012-12-19 2014-06-26 Endress + Hauser Gmbh + Co. Kg Verfahren zur Stabilisierung der Taktfrequenz eines Microcontrollers
US9335803B2 (en) * 2013-02-15 2016-05-10 Intel Corporation Calculating a dynamically changeable maximum operating voltage value for a processor based on a different polynomial equation using a set of coefficient values and a number of current active cores
US9360906B2 (en) 2013-05-01 2016-06-07 Advanced Micro Devices, Inc. Power management for multiple compute units
US9292293B2 (en) * 2013-08-08 2016-03-22 Qualcomm Incorporated Intelligent multicore control for optimal performance per watt
EP2849024A1 (en) * 2013-09-16 2015-03-18 ST-Ericsson SA Power consumption management system and method
US20150095667A1 (en) * 2013-09-27 2015-04-02 Gregory A. Nielsen Managing component performance
US9342135B2 (en) * 2013-10-11 2016-05-17 Qualcomm Incorporated Accelerated thermal mitigation for multi-core processors
KR20150050135A (ko) 2013-10-31 2015-05-08 삼성전자주식회사 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법
US9342136B2 (en) 2013-12-28 2016-05-17 Samsung Electronics Co., Ltd. Dynamic thermal budget allocation for multi-processor systems
US9665143B2 (en) 2014-01-06 2017-05-30 Intel Corporation Contextual platform power management
US10261882B2 (en) 2014-01-31 2019-04-16 Hewlett Packard Enterprise Development Lp Functional unit promotion to management unit
US9671767B2 (en) 2014-05-14 2017-06-06 Advanced Micro Devices, Inc. Hybrid system and method for determining performance levels based on thermal conditions within a processor
US9439043B2 (en) 2014-05-16 2016-09-06 Google Inc. Running location provider processes
US9652019B2 (en) 2014-06-02 2017-05-16 Advanced Micro Devices, Inc. System and method for adjusting processor performance based on platform and ambient thermal conditions
KR102210770B1 (ko) * 2014-09-02 2021-02-02 삼성전자주식회사 반도체 장치, 반도체 시스템 및 그 제어 방법
WO2016041509A1 (en) * 2014-09-17 2016-03-24 Mediatek Inc. Dynamic frequency scaling in multi-processor systems
US9690340B2 (en) 2014-09-25 2017-06-27 Intel Corporation System and method for adaptive thermal and performance management in electronic devices
US9811142B2 (en) * 2014-09-29 2017-11-07 Apple Inc. Low energy processor for controlling operating states of a computer system
US9903764B2 (en) * 2014-09-30 2018-02-27 Samsung Electronics Co., Ltd. Integrated circuit for estimating power of at least one node using temperature and a system including the same
US20160147545A1 (en) * 2014-11-20 2016-05-26 Stmicroelectronics International N.V. Real-Time Optimization of Many-Core Systems
DE102015207323A1 (de) * 2015-04-22 2016-10-27 Robert Bosch Gmbh Verfahren und Vorrichtung zur Synthese eines Schaltungslayouts
GB2539037B (en) 2015-06-05 2020-11-04 Advanced Risc Mach Ltd Apparatus having processing pipeline with first and second execution circuitry, and method
EP3115859B1 (de) * 2015-07-08 2021-08-25 Siemens Aktiengesellschaft Verfahren und konfigurationssystem zum konfigurieren von hardware-baugruppen in einem automatisierungssystem
US9746898B2 (en) * 2015-08-26 2017-08-29 Dell Products Lp Systems and methods for controlling processing device power consumption
US9990024B2 (en) * 2015-09-09 2018-06-05 Qualcomm Incorporated Circuits and methods providing voltage adjustment as processor cores become active based on an observed number of ring oscillator clock ticks
KR101719074B1 (ko) * 2015-12-09 2017-04-05 성균관대학교산학협력단 동적 열적 마진을 이용하는 반도체 프로세서 장치를 위한 열 관리 방법 및 장치
US10613611B2 (en) 2016-06-15 2020-04-07 Intel Corporation Current control for a multicore processor
US10359833B2 (en) * 2016-06-20 2019-07-23 Qualcomm Incorporated Active-core-based performance boost
US10120430B2 (en) * 2016-09-07 2018-11-06 Advanced Micro Devices, Inc. Dynamic reliability quality monitoring
US10775859B2 (en) * 2016-09-23 2020-09-15 Hewlett Packard Enterprise Development Lp Assignment of core identifier
US10884464B2 (en) * 2017-06-30 2021-01-05 Dell Products L.P. Systems and methods for thermal throttling via processor core count reduction and thermal load line shift
US10565079B2 (en) 2017-09-28 2020-02-18 Intel Corporation Determination of idle power state
US20220253124A1 (en) * 2019-08-20 2022-08-11 Intel Corporation Apparatus and method to improve switchable graphics system performance and energy consumption based applications and real-time system power/thermal budgets

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050050310A1 (en) 2003-07-15 2005-03-03 Bailey Daniel W. Method, system, and apparatus for improving multi-core processor performance
US7467059B2 (en) * 2004-06-28 2008-12-16 Intel Corporation Extended thermal management
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
US7549177B2 (en) * 2005-03-28 2009-06-16 Intel Corporation Advanced thermal management using an average power controller over an adjustable time window
WO2006117950A1 (ja) * 2005-04-27 2006-11-09 Matsushita Electric Industrial Co., Ltd. 情報処理装置における電力制御装置
US20070005152A1 (en) * 2005-06-30 2007-01-04 Ben Karr Method and apparatus for monitoring power in integrated circuits
US7412353B2 (en) * 2005-09-28 2008-08-12 Intel Corporation Reliable computing with a many-core processor
US7596430B2 (en) * 2006-05-03 2009-09-29 International Business Machines Corporation Selection of processor cores for optimal thermal performance
US8037893B2 (en) 2006-05-03 2011-10-18 International Business Machines Corporation Optimizing thermal performance using thermal flow analysis
US8044697B2 (en) * 2006-06-29 2011-10-25 Intel Corporation Per die temperature programming for thermally efficient integrated circuit (IC) operation
JP2008097280A (ja) * 2006-10-11 2008-04-24 Denso Corp 移動体用マルチコアcpuの制御装置、移動体用マイクロコンピュータ及び移動体操縦支援装置
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
US8032772B2 (en) * 2007-11-15 2011-10-04 Intel Corporation Method, apparatus, and system for optimizing frequency and performance in a multi-die microprocessor
JP2010039802A (ja) * 2008-08-06 2010-02-18 Nec Corp マルチプロセッサシステム、スケジューリング方法およびそのプログラム
US9032223B2 (en) 2008-09-05 2015-05-12 Intel Corporation Techniques to manage operational parameters for a processor
US8402290B2 (en) * 2008-10-31 2013-03-19 Intel Corporation Power management for multiple processor cores

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHANGYUN ZHU ET AL,‘Three-Dimensional Chip-Multiprocessor Run-Time Thermal Management’, IEEE TRANSACTIONS ON COMPUTER AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 27, NO. 8, 2008.8 1479-1492쪽*
CHANGYUN ZHU ET AL,'Three-Dimensional Chip-Multiprocessor Run-Time Thermal Management', IEEE TRANSACTIONS ON COMPUTER AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 27, NO. 8, 2008.8 1479-1492쪽 *

Also Published As

Publication number Publication date
CN103201703B (zh) 2016-02-03
US8495395B2 (en) 2013-07-23
KR20130097208A (ko) 2013-09-02
US20120066535A1 (en) 2012-03-15
EP2616900A1 (en) 2013-07-24
CN103201703A (zh) 2013-07-10
JP5427981B2 (ja) 2014-02-26
JP2013542492A (ja) 2013-11-21
WO2012036918A1 (en) 2012-03-22

Similar Documents

Publication Publication Date Title
KR101442180B1 (ko) 프로세싱 노드에서 전력 소비를 제어하기 위한 메커니즘
KR101845504B1 (ko) 처리 노드의 열 제어를 위한 방법 및 장치
US8942932B2 (en) Determining transistor leakage for an integrated circuit
US9652019B2 (en) System and method for adjusting processor performance based on platform and ambient thermal conditions
US8924758B2 (en) Method for SOC performance and power optimization
US8510582B2 (en) Managing current and power in a computing system
US9317082B2 (en) Controlling operation of temperature sensors
US9727435B2 (en) Method and system of sampling to automatically scale digital power estimates with frequency
US8463973B2 (en) Mechanism for voltage regulator load line compensation using multiple voltage settings per operating state
US8862909B2 (en) System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller
US8504854B2 (en) Managing multiple operating points for stable virtual frequencies
US20130246820A1 (en) Method for adaptive performance optimization of the soc
WO2009114141A1 (en) Automatic processor overclocking
JP2010522403A (ja) 動的な電力の低減
US9671767B2 (en) Hybrid system and method for determining performance levels based on thermal conditions within a processor
EP3293609B1 (en) Dynamic reliability quality monitoring
EP2959356A1 (en) System and method for temperature driven selection of voltage modes in a portable computing device

Legal Events

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 5