KR101526051B1 - 열적 제어 장치 및 방법론 - Google Patents

열적 제어 장치 및 방법론 Download PDF

Info

Publication number
KR101526051B1
KR101526051B1 KR1020130071805A KR20130071805A KR101526051B1 KR 101526051 B1 KR101526051 B1 KR 101526051B1 KR 1020130071805 A KR1020130071805 A KR 1020130071805A KR 20130071805 A KR20130071805 A KR 20130071805A KR 101526051 B1 KR101526051 B1 KR 101526051B1
Authority
KR
South Korea
Prior art keywords
temperature
thermal
circuit
thresholds
threshold
Prior art date
Application number
KR1020130071805A
Other languages
English (en)
Other versions
KR20130143529A (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 KR20130143529A publication Critical patent/KR20130143529A/ko
Application granted granted Critical
Publication of KR101526051B1 publication Critical patent/KR101526051B1/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/00369Modifications for compensating variations of temperature, supply voltage or other physical parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

열적 제어 방법 및 장치의 다양한 실시예들이 개시된다. 일 실시예에서, 집적 회로는 하나 이상의 열 센서들, 비교 회로 및 제어 회로를 포함한다. 비교 회로는 하나 이상의 열 센서들로부터의 온도 측정값들을 수신하도록 구성된다. 제어 회로는, 비교 회로가 하나 이상의 열 센서들로부터의 적어도 하나의 온도 측정값이 하나 이상의 임계 값들 중 하나를 초과한다고 결정하는 것에 응답하여 하나 이상의 제어된 서브시스템들의 성능 레벨을 감소시키도록 구성된다. 소프트웨어-기반 열적 제어 메커니즘이 또한 장치와 동시에 실행할 수 있다.

Description

열적 제어 장치 및 방법론{THERMAL CONTROL APPARATUS AND METHODOLOGY}
이 개시내용은 전자 시스템들에 관한 것이고, 더 구체적으로는 전자 시스템들의 열적 제어에 관한 것이다.
집적 회로(IC)들을 구현하는 트랜지스터들의 수가 증가함에 따라, 온도에 관련된 이슈들의 관리의 중요성이 커졌다. 많은 IC들에서, 동시에 동작하는 다수의 트랜지스터들은 상당한 양의 열을 생성할 수 있다. 체크되지 않은 채 남아 있는 경우, IC의 트랜지스터들의 동작에 의해 생성된 열의 양은 오류적 동작 또는 영구 손상을 야기할 수 있다.
온도 센서들은 많은 상이한 타입들의 IC들 상에서 구현된다. 하나 이상의 온도 센서들이 IC 다이 상에 배치될 수 있고, 개별 위치에서 온도를 결정하기 위해 사용될 수 있다. 온도 센서들은 하나 이상의 레지스터들과 같은 다른 회로에 온도 정보를 측정 및 보고할 수 있다. 다양한 타입들의 프로세서들 및 시스템 온 칩(SOC)들과 같은 일부 IC들에서, 레지스터들을 모니터링하는 소프트웨어가 실행될 수 있다. 미리 정의된 임계치를 초과하는 온도가 검출되는 경우, 소프트웨어는 IC의 하나 이상의 부분들을 셧다운 시키기 위한 액션들을 개시할 수 있다.
열적 제어 방법론 및 장치의 다양한 실시예들이 개시된다. 일 실시예에서, 집적 회로는 하나 이상의 열 센서들, 비교 회로 및 제어 회로를 포함한다. 비교 회로는 하나 이상의 열 센서들로부터의 온도 측정값들을 수신하도록 구성된다. 제어 회로는 비교 회로가 적어도 하나 이상의 열 센서들로부터의 적어도 하나의 온도 측정값이 하나 이상의 임계 값들 중 하나를 초과한다고 결정하는 것에 응답하여 하나 이상의 제어된 서브시스템들의 성능 레벨을 감소시키도록 구성된다.
일 실시예에서, 비교 회로 및 제어 회로는 프로세서 상에서 실행되는 소프트웨어 온도 제어 루틴과 병렬로 동작할 수 있다. 따라서, 이들 시스템은 하드웨어 및 소프트웨어 열적 모니터링 및 제어 메커니즘 모두를 포함할 수 있다. 하드웨어 메커니즘(예를 들어, 비교 회로를 포함하는)은 소프트웨어 메커니즘보다 더 빈번하게 하나 이상의 온도 센서들로부터 수신되는 온도 측정값들을 모니터링할 수 있다. 하드웨어 메커니즘이 온도 측정값이 온도 임계치를 초과한다고 결정하는 경우, 하드웨어 메커니즘은 IC의 적어도 대응하는 기능 유닛에 대응하는 성능 레벨 감소를 야기할 수 있다. 성능 레벨에서의 이러한 감소는 보고 센서에서의 온도가 소프트웨어 메커니즘에 의해 체크되기 전에 온도 임계치 미만에 들도록 허용할 수 있다.
일 실시예에서, 다수의 온도 임계치들이 사용될 수 있다. 예를 들어, 제어 회로는 대응하는 온도 값이 제1 임계치를 초과하였다고 결정하는 것에 응답하여 제1 양만큼, 또는 대응하는 온도 값이 제2 임계치를 초과하였다고 결정하는 것에 응답하여 제2 양만큼 제어된 서브시스템의 성능을 감소시킬 수 있다. 제2 임계치는 제1 임계치보다 더 클 수 있다. 소프트웨어 메커니즘은 대응하는 온도 측정값이 제2 임계치를 초과하는 경우 제어된 서브시스템(및 일부 실시예들에서 집적 회로의 다른 부분들)을 셧다운시킬 수 있다. 일부 실시예들에서, 소프트웨어 메커니즘은 온도 측정값이 제1 임계치를 초과한다고 결정할 시에 어떠한 액션도 취하지 않을 수 있다. 따라서, 하드웨어 메커니즘은 완전한 셧다운을 수행해야 할 필요 없이 안전한 한계들 내에서 집적 회로의 다양한 서브시스템들의 온도를 유지할 기회가 허용될 수 있다. 소프트웨어 메커니즘은 하드웨어 메커니즘이 안전한 한계들 내에서 개별 온도들을 더 이상 유지할 수 없는 이후에만 하나 이상의 제어된 서브시스템들의 셧다운을 수행할 수 있다.
다양한 타입들의 성능 감소들이 하드웨어 메커니즘의 상이한 실시예들에서의 제어 회로에 의해 수행될 수 있다. 예를 들어, 제어된 서브시스템에 제공된 클록 신호의 주파수는 일 실시예에서 임계치를 초과하는 온도 측정값에 응답하여 감소될 수 있다. 다른 타입들의 성능 감소들은 동작 전압 감소들, 대역폭 제한들, 또다른 서브시스템에 대한 워크로드의 재할당(예를 들어, 하나의 프로세서 코어로부터 또다른 프로세서 코어로) 등을 포함할 수 있다.
후속하는 상세한 설명은 이제 간략하게 기술되는 첨부 도면들을 참조한다.
도 1은 집적 회로의 일 실시예의 블록도이다.
도 2는 하드웨어-기반 열적 제어 장치의 일 실시예의 블록도이다.
도 3a 및 3b는 하드웨어-기반 열적 제어 장치의 일 실시예의 동작에서의 히스테리시스를 예시하는 타이밍도이다.
도 4는 소프트웨어-기반 열적 제어 메커니즘의 일 실시예와 함께 하드웨어-기반 열적 제어 메커니즘의 일 실시예의 결합된 동작을 예시하는 흐름도이다.
도 5는 시스템의 일 실시예의 블록도이다.
본 발명이 다양한 수정들 및 대안 형태들을 허용할 수 있지만, 이들의 특정 실시예들이 도면들에서 예시로서 도시되고, 여기에 상세하게 기술될 것이다. 그러나, 도면들 및 이에 대한 상세한 설명이 개시된 특정 형태로 발명을 제한하도록 의도되는 것이 아니라, 반대로, 그 의도는 첨부된 청구항들에 의해 정의된 바와 같은 본 발명의 사상 및 범위 내에 드는 모든 수정들, 등가물들 및 대안들을 커버할 것이라는 점이 이해되어야 한다. 여기서 사용되는 헤딩들은 오직 정렬의 목적을 위한 것이며, 본 발명의 범위를 제한하기 위해 사용되도록 의도되지 않는다. 이 출원 전반에 걸쳐 사용되는 바와 같이, 용어 "~ 할 수 있다"는, 의무의 의미(즉, ~해야 한다를 의미함)가 아니라, 허용의 의미로 사용된다(즉, ~ 에 대한 잠재력을 가짐을 의미함). 유사하게, 용어들 "포함하다" 및 "포함하는"은 제한되지 않고 포함하는 것을 의미한다.
다양한 유닛들, 회로들 또는 다른 컴포넌트들은 작업 또는 작업들을 수행하도록 "구성되는" 것과 같이 기술될 수 있다. 이러한 상황들에서, 일반적으로 동작 동안 작업 또는 작업들을 수행하는 "회로를 가지는 것"을 의미하는 구조의 넓은 이용이다. 따라서, 유닛/회로/컴포넌트는 유닛/회로/컴포넌트가 현재 온이 아닌 경우라 할지라도 작업을 수행하도록 구성될 수 있다. 일반적으로, "~하도록 구성되는" 것에 대응하는 구조를 형성하는 회로는 동작을 구현하기 위해 실행가능한 프로그램 명령어들을 저장하는 메모리 및/또는 하드웨어 회로를 포함할 수 있다. 메모리는 정적 또는 동적 랜덤 액세스 메모리와 같은 휘발성 메모리 및/또는 광학 또는 자기 디스크 저장소, 플래시 메모리, 프로그램가능 판독 전용 메모리들 등과 같은 비휘발성 메모리를 포함할 수 있다. 유사하게, 다양한 유닛들/회로들/컴포넌트들 등은 기재에서의 편의성을 위해 작업 또는 작업들을 수행하는 것으로서 기술된다. 이러한 기술들은 구문 "~ 하도록 구성되는"을 포함하는 것으로서 해석되어야 한다. 하나 이상의 작업들을 수행하도록 구성되는 유닛/회로/컴포넌트를 인용하는 것은 유닛/회로/컴포넌트에 대해 35 U.S.C.§112, 문단 6의 해석을 불러오지 않도록 명시적으로 의도된다.
이제 도 1을 참조하면, 집적 회로(IC)의 일 실시예의 블록도가 도시된다. 도시된 실시예에서, IC(10)는 프로세서 코어들(12 및 14), 그래픽 유닛(16) 및 온-칩 메모리(18)을 포함하는 시스템-온-칩(SoC)이다. 도시된 실시예에서의 메모리(18)는 판독 전용 메모리(ROM), 플래시 메모리, 랜덤 액세스 메모리, 또는 임의의 다른 적절한 메모리 타입일 수 있다. IC(10)는 또한 동작 동안 자신의 온도를 모니터링하고 조절하기 위한 다양한 열적 제어 메커니즘들을 포함한다. 이 예에서, 프로세서 코어들(12 및 14) 및 그래픽 유닛(16) 각각은 온도 센서(11)를 포함한다. 온도 센서들(11) 각각은 열 센서들 각각으로부터 수신되는 온도 측정값들을 하나 이상의 임계 값들에 비교하도록 구성되는 트립 포인트 회로(13)에 커플링된다. IC(10)는 또한 트립 포인트 회로(13)로부터 비교 정보를 수신하도록 커플링되는 열적 제어 회로(15)를 포함한다. 이러한 특정 실시예에서, 열적 제어 회로(15)는 개별적으로 수신된 클록 신호들의 주파수들을 변경함으로써 IC(10)의 다양한 기능 유닛들(또는 서브시스템들)의 성능 레벨들을 조정할 수 있다. 열적 제어 회로(15)가 개별 성능 레벨들을 조정하기 위해 다른 제어 액션들을 수행할 수 있는 실시예들이 또한 가능하며 참작된다. 이러한 액션은, 전압 조정들, 대역폭 조정들, 워크로드 할당/재할당 등을 포함할 수 있지만 이에 제한되지 않는다.
트립 포인트 회로(13) 및 열적 제어 회로(15)는 하드웨어-기반 열적 제어 메커니즘을 포함할 수 있다. 즉, 도시된 실시예에서의 하드웨어-기반 열적 제어 메커니즘은 IC(10)의 하드웨어 회로들을 사용하여 구현된다. 이 예에서의 IC(10)는 또한 하드웨어-기반 열적 제어 메커니즘과 병렬로 그리고 이와 상보적으로 실행할 수 있는 소프트웨어-기반 열적 제어 메커니즘을 구현하도록 구성된다. 더 구체적으로, 소프트웨어-기반 열적 제어 메커니즘(SWTCM)(19)을 구현하기 위한 명령어들은 이 실시예에서 메모리(18)에 저장된다. SWTCM(19)의 명령어들은 소프트웨어-기반 열적 제어 루틴을 수행하기 위한 명령어들을 실행할 수 있는 프로세서 코어(12)에 의해 액세스될 수 있다. SWTCM(19)의 명령어들의 실행 동안, 프로세서 코어(12)는 트립 포인트 회로(13)로부터의 온도 비교 결과들을 액세스할 수 있고, 이에 기초하여 열적 제어 액션들을 취할 수 있다.
위에 주지된 바와 같이, 트립 포인트 회로(13)는 수신된 온도 측정값들을 하나 이상의 온도 임계치들과 비교할 수 있다. 이들 임계치들은 프로그램가능할 수 있거나 트립 포인트 회로(13)로 하드와이어링될 수 있다. 어느 경우든, 열적 제어 회로(15)에 비교 결과들을 보고하는 것은 미리 정의된 간격들로 수행될 수 있다. 하드웨어-기반 열적 제어 메커니즘의 동작과 동시에, 프로세서(12)에 의해 실행되는 SWTCM(19)의 명령어들은 자신의 고유한 미리-정의된 간격들에서 트립 포인트 회로(13)로부터의 비교 결과들에 액세스할 수 있다. 도시된 실시예에서, 트립 포인트 회로(13)가 열적 제어 회로(15)에 비교 결과들을 보고하는 간격들은 SWTCM(19)이 트립 포인트 회로(13)로부터의 비교 정보에 액세스하는 간격들보다 지속기간에 있어서 더 짧을 수 있다. 따라서, 열적 제어 회로(15)는, 비교 정보가 프로세서 코어(12)에 의해 실행되는 SWTCM(19)의 명령어들에 의해 수신되는 것보다 더 빈번하게 업데이트된 비교 정보를 수신할 수 있다.
도시된 실시예에서의 열적 제어 회로(15)는 3개의 상이한 클록 신호들 CPU 1 Clk, CPU 2 Clk 및 그래픽 클록을 수신하도록 커플링된다. 대응하는 출력 클록 신호들 Clk1, Clk2 및 Clk3은 열적 제어 유닛(15)으로부터 각각 프로세서 코어(12), 프로세서 코어(14), 및 그래픽 유닛(16)에 제공된다. 입력 클록 신호들은 본질적으로 대응하는 출력 클록 신호들에 대한 전체 주파수 기준 클록 신호들로서의 역할을 할 수 있다. 이러한 특정 실시예에서 열적 제어 회로(15)는 감소한 주파수에서 개별 출력 클록 신호들을 생성하기 위해 입력 클록 신호들을 분할함으로써 프로세서 코어들(12 및 14) 및 그래픽 유닛(16) 중 임의의 것의 성능을 감소시킬 수 있다. 이러한 실시예에서, 클록 신호들은 일부 유닛들이 감소된 성능 모드에서 동작할 수 있는 반면 다른 유닛들은 전체(정상) 성능 모드에서 동작할 수 있도록, 서로에 대해 독립적으로 분할될 수 있다.
하드웨어-기반 열적 제어 메커니즘이 소프트웨어-기반 열적 제어 메커니즘보다 더 빈번한 간격들에서 업데이트하므로, 하드웨어-기반 메커니즘은 IC(10)에 대한 더욱 미립의 열적 제어 기능성을 제공할 수 있다. 따라서, 위에 주지된 바와 같이, 하드웨어-기반 열적 제어 메커니즘은 특정 비교 결과들에 응답하여 IC(10)에 대해 다양한 타입들의 성능 조정들을 수행할 수 있다. 예를 들어, 온도 측정값이 제1 온도 임계치를 초과하는 경우, 열적 제어 회로(15)는, 보고 온도 센서(11)와 연관된 기능 유닛의 성능을 제1 양만큼 감소시킬 수 있다. 온도 측정값이 제2 온도 임계치를 초과하는 경우, 열적 제어 회로는, 보고 온도 센서와 연관된 기능 유닛의 성능을 제2 양만큼 감소시킬 수 있다. 클록 주파수의 예를 사용하여, 열적 제어 회로(15)는 제1 온도 임계치가 초과되는 경우 제1 양만큼 대응하는 클록 신호의 주파수를 감소시킬 수 있고, 제2 온도 임계치가 초과되는 경우 제2 양만큼 대응하는 클록 신호의 주파수를 감소시킬 수 있다. 이러한 특정 예에서, 열적 제어 액션은 오직 보고 온도 센서와 연관된 기능 유닛에 대해서만 수행되었다. 그러나, 온도 측정값이 임계치들 중 하나를 초과하는 것에 응답하여 추가적인 기능 유닛들에 대한 성능 감소들이 수행될 수 있는 실시예들이 가능하고 참작된다. 온도 측정값이 임계 값들 중 하나 미만으로 떨어지는 것에 응답하여, 성능이, 이전에 감소되었던 값들로 복원될 수 있다는 점에 추가로 유의한다.
하드웨어 열적 제어 메커니즘은 자신의 동작에서의 히스테리시스를 포함할 수 있다. 열적 제어 회로(15)는 임계치를 초과하는 특정 온도 센서(11)로부터의 온도 측정값의 초기 표시에 응답하여 기능 유닛들 중 하나 이상의 성능 레벨을 즉시 감소시키지 않을 수 있다. 대신, 열적 제어 회로(15)는 미리 결정된 시간을 대기할 수 있다. 미리 결정된 시간이 경과한 이후, 특정 온도 센서(11)로부터의 온도 측정값이 여전히 임계치를 초과하는 경우, 열적 제어 회로(15)는 적어도 대응하는 기능 유닛에 대해 클록 주파수의 감소와 같은 열적 제어 액션을 수행할 수 있다. 반면, 특정 온도 센서(11)로부터의 온도 측정값이 미리 결정된 시간이 경과하기 전에 임계 전압 미만으로 다시 떨어지는 경우, 열적 제어 회로(15)는 자신의 현재 레벨에서 대응하는 기능 유닛의 성능 레벨을 유지할 수 있다.
히스테리시스는 또한 온도가 온도 임계 미만으로 떨어지는 경우 부스팅 성능 레벨들에서 사용될 수 있다. 도시된 실시예에서, 열적 제어 유닛(15)은 대응하는 온도 측정값이 주어진 임계치 미만으로 떨어진 이후 기능 유닛의 성능을 높이기 위해 또다른 미리 결정된 시간을 대기할 수 있다. 미리 결정된 시간이 경과하고, 온도가 임계치 미만으로 유지되는 경우, 열적 제어 회로(15)는 예를 들어, 자신의 클록 주파수를 증가시킴으로써 대응하는 기능 유닛의 성능을 높일 수 있다. 반면, 온도가 미리 결정된 시간의 지속기간 동안 임계치 미만으로 유지되지 않는 경우, 열적 제어 유닛(15)은 감소한 성능 레벨에서 대응하는 기능 유닛을 유지할 수 있다. (온도가 임계치 미만으로 떨어지는 경우) 성능을 증가시키고, (온도가 임계치를 초과하는 경우) 성능을 감소시키기 위해 요구되는 미리 결정된 시간들이 서로 상이할 수 있다는 점에 유의한다. 또한 이들 미리 결정된 시간들은 프로그램가능할 수 있다.
이전에 주지된 바와 같이, 자신의 대응하는 명령어들이 프로세서 코어(12) 상에서 실행되는 경우, SWTCM(19)은 하드웨어-기반 열적 제어 메커니즘보다 덜 빈번한 간격들에서 온도 비교 결과들을 액세스할 수 있다. 또한, SWTCM(19)은 온도 측정값들이 임계치를 초과하는 것에 응답하여 상이한 액션들을 취할 수 있다. 이러한 특정 실시예에서, 특정 온도 센서(11)로부터의 온도 측정값이 최대 온도 임계치를 초과하는 것에 응답하여, 프로세서 코어(12)는 SWTCM(19)이 적어도 대응하는 기능 유닛을 셧다운시키기 위한 명령어들을 실행할 수 있다. 통상적으로, 하드웨어-기반 열적 제어 메커니즘이 더 빈번하게 업데이트하므로, 이는 종종 규정된 한계들 내에서 온도들을 유지할 수 있다. 온도가 최대 임계치를 초과한다는 SWTCM(19)에 의한 결정은 하드웨어-기반 열적 제어 메커니즘이 규정된 제한들 내에서 온도를 유지하는 데에 있어서 비성공적임을 표시할 수 있고, 따라서, IC(10)의 회로에 대한 잠재적 손상을 방지하기 위해 셧다운이 수행될 수 있다. 셧다운의 범위는 특정 환경들에 기초하여 달라질 수 있다. 예를 들어, 오직 하나의 기능 유닛과 연관된 열 센서가 최대 임계치보다 더 큰 온도를 보고하는 경우, 오직 해당 기능 유닛만이 셧다운될 수 있다. 또다른 예에서, 다수의 기능 유닛들과 연관된 열 센서들이 최대 임계치를 초과하는 온도들을 보고하는 경우, IC(10)의 전체가 셧다운될 수 있다. 또한, 프로세서 코어(12)가 도시된 실시예에서 셧다운될 경우, 프로세서 코어(14)가 SWTCM(19)에 대한 명령어들을 실행하는 역할을 가정할 수 있다는 점에 유의한다.
최대 온도 임계치에 추가하여, 트립 포인트 회로는 수신된 온도 측정값들을 다른 임계 값들과 비교할 수 있다. 최댓값 미만인 추가적인 임계 값들을 구현함으로써, IC(10)의 열적 출력(및 따라서 온도) 및 그것의 각각의 기능 유닛은 한계들 내에서 유지될 수 있는 동시에 SWTCM(19)에 의한 셧다운을 잠재적으로 방지할 수 있다.
이제 도 2를 참조하면, 하드웨어-기반 열적 제어 장치의 일 실시예의 블록도가 도시된다. 더 구체적으로, 도 2는 일 실시예에 대한 트립 포인트 회로(13) 및 열적 제어 회로(15) 각각의 상세항목들을 예시한다. 이러한 예시적인 실시예에서, 하드웨어-기반 열적 제어 장치는 2개의 상이한 기능 유닛들(이 경우 프로세서 코어 및 그래픽 유닛)에 대해, 2개의 상이한 임계치들에 기반하여 2개의 온도 센서들(11)을 모니터링하도록 구성된다. 그러나, 2개 초과의 온도 센서들(11)에 의해 보고되는 온도들이 2개 초과의 기능 유닛들에 대해 모니터링되는 (도 1에 예시된 실시예들을 포함하는) 실시예들이 가능하며 참작된다. 추가적으로, 이 예에서 2개의 상이한 임계치들에 대한 비교들이 이루어지지만, 2개 초과의 임계치들에 대한 비교들이 또한 다양한 실시예들에 대해 가능하며 참작된다. 오직 단일 기능 유닛을 제어하기 위한 그리고/또는 오직 단일 온도 임계치에 대한, 오직 단일 온도 센서(11)를 모니터링하도록 구성되는 실시예들이 또한 가능하며 참작된다.
도시된 실시예에서, 트립 포인트 회로(13)는 4개의 별도의 비교기들(21A-21D)을 포함한다. 비교기들 각각은 온도 센서들(11A 또는 11B) 중 하나로부터의 온도 측정값들을 수신하도록 커플링된다. 트립 포인트 회로(13)는 또한, 각각 제1 및 제2 온도 임계 값들을 저장하도록 구성되는 임계 레지스터들(22 및 23)을 포함한다. 도시된 실시예에서, 온도 임계 값들은 프로그램가능하다. 레지스터들 대신에, 온도 임계치들을 저장할 수 있는 다른 저장 디바이스들이 다른 실시예들에서 구현가능하다.
비교기들(21A 및 21C)은 도시된 실시예에서 임계 레지스터(22)에 커플링되는 반면, 비교기들(21B 및 21D)은 임계 레지스터들(23)에 커플링된다. 비교기들(21A 및 21B)은 온도 센서(11A)로부터의 온도 측정값들을 수신하기 위해 커플링되는 반면, 비교기들(21C 및 21D)은 온도 센서(11B)로부터 온도 측정값들을 수신하기 위해 커플링된다. 도시된 실시예에서의 비교기들(21A 및 21C)은 온도 측정값들을 임계 레지스터(22)에 저장된 온도 임계 값과 비교하도록 구성된다. 유사하게, 도시된 실시예에서의 비교기들(21B 및 21D)은 온도 측정값들을 임계 레지스터(23)에 저장된 온도 임계 값과 비교하도록 구성된다.
도시된 실시예에서의 OR 게이트(27A)는 비교기들(21B 및 21D)로부터의 비교 결과들을 수신하기 위해 커플링된다. 비교기들 중 어느 하나(21B 또는 21D)로부터의 비교 결과가 대응적으로 수신된 온도 측정값이 임계 레지스터(23)에 저장된 온도 임계치를 초과함을 표시하는 경우, OR 게이트(27A)는 논리 1을 출력할 수 있다. 그렇지 않고, 비교기들 중 어느 것도(21B 또는 21D) 개별적으로 수신된 온도 측정값들이 임계 레지스터(23)에 저장된 온도 임계치를 초과함을 표시하지 않는 경우, OR 게이트(27B)는 논리 0을 출력할 수 있다. 도시된 실시예에서의 OR 게이트(27B)는 비교기들(21A 및 21C)로부터의 비교 결과들을 수신하기 위해 커플링된다. 비교기들 중 어느 하나(21A 또는 21C)가 수신된 온도 측정값이 임계 레지스터(22) 내에 저장된 온도 임계치를 초과함을 표시하는 경우, OR 게이트(27A)는 논리 1을 출력할 수 있다. 비교기들 중 어느 것도(21A 또는 21C) 수신된 온도 측정값이 임계 레지스터(22)에 저장된 온도 임계치를 초과함을 표시하지 않는 경우, OR 게이트(27A)는 논리 0을 출력할 수 있다.
도시된 실시예에서의 카운터/선택기(24A)는 OR 게이트(27A)의 출력에 커플링된다. 유사하게, 카운터/선택기(24B)는 OR 게이트(27B)의 출력에 커플링된다. 도시된 실시예에서의 카운터/선택기들 각각은 자신의 개별적으로 커플링된 OR 게이트의 출력의 트랜지션에 응답하여 카운트를 개시할 수 있다. 추가적으로, 각각의 카운터/선택기는 또한 주어진 기능 유닛에 대한 성능 레벨을 설정하기 위해 사용되는 선택 코드들을 생성할 수 있다. 도 2에 명시적으로 도시되지 않았지만, 각각의 카운터/선택기는 또한 온도 센서들(11A 및/또는 11B) 중 어느 것이 온도 임계 값들 중 하나를 초과하는 온도들을 보고하는지를 결정하기 위해 비교기들(21A-21D) 각각으로부터 정보를 수신하기 위해 커플링될 수 있다. 이는 차례로, 열적 제어 회로(15)가 서로로부터 독립적으로 대응적으로 커플링되는 기능 유닛들의 개별 성능 레벨들을 제어하게 할 수 있다.
도시된 실시예에서, 카운터/선택기 유닛(24A)은 수신된 온도 측정값들과 임계 레지스터(23)에 저장된 온도 임계치와의 비교들에 기초하여 동작하도록 구성된다. (예를 들어, 하나의 또는 두 비교기들 모두가, 온도 측정값이 임계 레지스터(23)에 저장된 임계치를 초과함을 표시함으로 인한) OR 게이트(27A)의 출력의 상태의 변경에 응답하여, 카운터/선택기(24A)는 카운트를 개시할 수 있다. 카운트는, 무엇이 먼저 발생하든 간에, 미리 정의된 카운트 값이 도달될 때까지 또는 OR 게이트(27A)의 출력이 다시 상태들을 변경시킬 때까지 계속될 수 있다. 미리 정의된 카운트 값은 미리 결정된 시간에 대응할 수 있다. 따라서, 미리 정의된 카운트가 도달되는 경우, 카운터/선택기(24A)는 하나 이상의 기능 유닛들의 성능 레벨에 대한 변경을 야기하기 위해 출력 코드를 변경할 수 있다. 미리 정의된 카운트가 OR 게이트(27A)의 출력이 다시 상태를 변경시키기 전에 도달되지 않는 경우, 카운터/선택기(24A)는 자신의 현재 출력 코드(들)를 유지할 수 있고, 이에 의해 IC(10)의 기능 유닛들이 이들의 현재 성능 레벨들을 유지할 수 있게 한다. 카운터/선택기(24B)는 OR 게이트(27B)에 대해서와 유사한 방식으로 동작할 수 있다. 성능 레벨들을 변경시키는 것은 (예를 들어, 개별적으로 수신된 클록 신호의 주파수를 감소시킴으로써) 성능 레벨을 감소시키는 것 또는 (예를 들어, 개별적으로 수신된 클록 신호의 주파수를 증가시킴으로써) 성능 레벨을 증가시키는 것을 포함할 수 있다. 성능 레벨 감소들은 온도 측정값이 임계 값들 중 하나를 초과한다고 결정하는 것에 응답하여 발생할 수 있다. 성능 레벨 증가들은 온도 측정값이 이전에 초과된 온도 임계 값 미만으로 떨어졌다고 결정하는 것에 응답하여 발생할 수 있다.
카운터/선택기들(24A 및 24B)에 의해 제공되는 출력 코드들은 멀티플렉서들(31A 및 31B)에 의해 선택 입력들에서 수신될 수 있다. 일 실시예에서, 멀티플렉서들(31A 및 31B)이 독립적으로 제어될 수 있다. 다른 실시예들에서, 멀티플렉서들(31A 및 31B)은 서로 협력하여 동작할 수 있다. 멀티플렉서들(31A 및 31B) 각각은 입력으로서 나눔수 값들을 수신하기 위해 커플링된다. 멀티플렉서(31A)에 의해 선택되는 나눔수 값은 클록 분할기(32A)에 의해 수신될 수 있는 반면, 멀티플렉서(32B)에 의해 선택되는 나눔수는 클록 분할기(32B)에 의해 수신될 수 있다. 도시된 실시예에서의 멀티플렉서들(31A 및 31B) 각각은 3개의 분할기 입력들: 전체 주파수(즉, 1로 분할됨), 나눔수 1, 및 나눔수 2를 수신하기 위해 커플링된다. 후자의 2개 나눔수들은 분할기들(32A 및 32B) 중 수신측 분할기가 더 낮은 주파수를 가지는 출력 클록 신호를 생성하도록 개별적으로 수신된 입력 클록 신호를 분할하게 할 수 있다. 예를 들어, 나눔수 1 = 2인 경우, 분할기(32A)에 의해 수신될 때 Clk1 출력 신호는 입력 클록 신호인 CPU Clk1의 1/2인 주파수를 가질 것이다.
따라서, 이 특정 예에서의 열적 제어 회로(15)는 제공되는 클록 신호들의 주파수를 제어함으로써 그래픽 유닛 및 프로세서 코어의 성능 레벨을 제어할 수 있다. 전체 주파수로부터 나눔수 1로 스위칭하는 것은 클록 신호들 중 피분할 신호의 주파수를 제1 양만큼 감소시킬 수 있다. 나눔수 2로의 스위칭은 파분할 클록 신호의 주파수를 제2 양만큼 감소시킬 수 있다. 분할기들(32A 및 32B)에 의해 수신된 나눔수들을 변경시킴으로써, IC(10)의 기능 유닛들의 클록 주파수들 및 대응하는 성능 레벨들은 수신된 온도 측정값들에 따라 제어될 수 있다. 성능 레벨들이 도시된 실시예에서 클록 주파수들을 통해 제어되지만, 상이한 방법들을 사용하여 성능 레벨들을 제어하는 실시예들이 가능하며 참작된다는 점에 유의한다. 예를 들어, 공급 전압들, 워크로드들, 대역폭들 및 다른 파라미터들은 다양한 실시예들에서 성능을 제어하도록 변경될 수 있다. 또한, 다수의 파라미터들이 수신된 온도 측정값들에 따라 성능을 제어하기 위해 조정가능한 실시예들이 가능하며 참작된다.
도 3a 및 3b는 하드웨어-기반 열적 제어 장치의 일 실시예의 동작에서의 히스테리시스를 예시하는 타이밍도이다. 이들 실시예들이 오직 단일 임계치 및 2개의 성능 레벨들에 대해 주어지지만, 위에서 주지된 바와 같이, 다수의 성능 레벨들을 가지는 다수의 임계치들이 가능하며 참작될 수 있다는 점에 유의한다.
도 3a는 온도 측정값들이 온도 임계치를 교차하는 것에 응답하여 성능 레벨들의 변경에서의 히스테리시스를 예시한다. 도 3a에 도시된 예는 수신된 온도가 임계 값 미만인 것으로 시작한다. (A)에서, 온도 레벨이 임계치를 초과했다고 결정된다. 그 후 시간 T1 동안, 성능은 자신의 현재 레벨에서 유지된다. T1이(예를 들어, 도 2를 참조하여 위에서 논의된 것과 같은 카운터/선택기에 의해 표시되는 바와 같이) 경과했을 때, 온도는 임계치를 초과하여 유지되고, 기능 유닛들의 성능은 자신의 정상 레벨로부터 감소한 레벨로 드롭된다.
(B)에서, 온도가 임계 레벨 미만으로 다시 떨어졌다. 그 후 시간 T2 동안 기능 유닛의 성능 레벨은 감소 레벨에서 유지된다. T2가 경과했을 때, 온도는 임계치 미만으로 유지되고, 따라서, 기능 유닛의 성능 레벨은 정상 레벨로 복원된다. 이러한 특정 실시예에서, 시간들 T1 및 T2가 상이하다는 점에 유의해야 한다. 그러나, 이들 값들이 동일한 실시예들이 또한 가능하다. 또한, 이들 값들은 일부 실시예들에서 프로그램가능할 수 있다.
도 3b에서, 온도는 다시 임계치 미만인 레벨에서 시작한다. (C)에서, 온도는 임계치를 초과하는 것으로 결정된다. 그러면 카운터가 시간을 알리기(toll) 위해 카운팅을 시작한다. 그러나, 이러한 경우, 온도는 시간 T1이 경과하기 전에 임계치 미만으로 다시 떨어진다. T1이 경과한 이후 임계치가 더 이상 초과되지 않으므로, 따라서, 성능 레벨이 유지된다.
하드웨어-기반 열적 제어 메커니즘에서 히스테리시스를 사용함으로써, 열적 제어와 성능 간의 균형이 달성될 수 있다. 더 구체적으로, 하드웨어-기반 열적 제어 메커니즘의 동작에 대해 히스테리시스를 추가하는 것은 임계치를 초과하거나 임계치 미만으로 떨어지는 단기 온도 변경들에 대한 성능 레벨 변경들을 방지하면서 동시에 성능 레벨의 변경이 바람직한지의 여부를 결정하는 데 충분한 시간을 허용한다는 점에서 유용할 수 있다.
도 4는 소프트웨어-기반 열적 제어 메커니즘의 일 실시예와 함께 하드웨어-기반 열적 제어 메커니즘의 일 실시예의 결합된 동작을 예시하는 흐름도이다. 도시된 실시예의 방법(400)은 위에서 논의된 하드웨어 및 소프트웨어 실시예들의 다양한 결합들을 사용하여 수행될 수 있거나, 또는 여기서 명시적으로 논의되지 않은 다른 실시예들을 사용하여 구현될 수 있다. 여기서 설명된 방법은 단일 온도 센서에 대한 것이다. 그러나, 위에서 주지된 바와 같이, 방법은 하드웨어 및 소프트웨어-기반 열적 제어 메커니즘을 가지고 임의의 개수의 센서들에 대해 동시에 수행될 수 있다.
방법(400)은 시스템 내의 또는 IC 상의 온도 센서로부터 수신되는 온도 측정값의 모니터링으로 시작한다(블록 405). 모니터링은 하드웨어-기반 열적 제어 메커니즘 및 소프트웨어-기반 열적 제어 메커니즘 모두에 의해 동시에 수행될 수 있다. 하드웨어-기반 열적 제어 메커니즘은 제1 길이의 간격들에서 온도들을 모니터링할 수 있는 반면, 소프트웨어-기반 열적 제어 메커니즘은 제2 길이의 간격들에서 온도들을 모니터링할 수 있다. 하드웨어-기반 열적 제어 메커니즘은 소프트웨어-기반 열적 제어 메커니즘보다 더 빈번하게 온도 측정값들을 모니터링할 수 있다.
온도 센서들로부터의 온도 측정값들의 모니터링 동안, 온도 측정값과 제1 온도 임계치와의 비교들이 수행될 수 있다. 온도 측정값이 제1 임계치를 초과하지 않는 경우(블록 435, 아니오), 대응하는 기능 유닛 또는 다른 제어된 서브시스템의 동작은 정상(예를 들어, 전체) 성능 레벨에서 유지될 수 있다. 온도 측정값이 제1 온도 임계치를 초과하지만(블록 410, 예) 제2 온도 임계를 초과하지 않는 경우(블록 415, 아니오), 기능 유닛의 성능은 제1 감소 레벨로 설정될 수 있다(블록 420). 일 실시예에서, 제1 감소 레벨에서 동작하는 것은 정상 동작 모드 동안의 전체 주파수에 대한 클록 신호의 주파수의 감소를 포함할 수 있다. 둘 이상의 동작 파라미터들을 변경시키는 것을 포함하는, 기능 유닛의 성능의 감소의 다른 방법들이 가능하며 참작된다.
위에서 주지된 바와 같이, 온도 측정값들의 모니터링은 하드웨어 및 소프트웨어-기반 열적 제어 메커니즘 모두에 의해 수행될 수 있다. 이러한 실시예에서, 소프트웨어-기반 열적 제어 메커니즘은 온도 측정값들과 제1 임계치와의 비교들을 무시하고, 대신 온도 측정값들과 제2 임계치와의 비교에 집중할 수 있다. 이 실시예에서 제2 임계치는 제1 임계치보다 더 크다. 따라서, 비교가 온도 측정값이 제2 임계치보다 더 크다고 결정하는 경우(블록 415, 예), 수행되는 후속적인 액션들은 비교 정보가 하드웨어-기반 열적 제어 메커니즘에 의해 이용되는지 소프트웨어-기반 열적 제어 메커니즘에 의해 이용되는지에 의존한다. 하드웨어-기반 열적 제어 메커니즘이 온도 측정값이 제2 임계치를 초과한다고 결정하는 경우(블록 425, HW), 기능 유닛의 성능은 제2 감소 레벨로 설정될 수 있다.
소프트웨어-기반 열적 제어 메커니즘이 온도 측정값이 제2 임계를 초과한다고 결정하는 경우(블록 425, SW), 적어도 기능 유닛(그렇지 않은 경우 IC/시스템 자체)이 셧다운될 수 있다(블록 440). 하드웨어-기반 열적 제어 메커니즘이 소프트웨어-기반 열적 제어 메커니즘보다 더 빈번하게 온도 임계치들에 대한 온도 측정값들을 모니터링하므로, 후자에 의해 판독이 제2 임계치를 초과한다는 결정은 하드웨어 메커니즘이 기능 유닛(또는 IC/시스템 전체)의 온도를 통제 하에 둘 수 없음을 표시할 수 있다. 따라서, 셧다운은 시스템에 대한 손상의 가능성을 방지하기 위해 수행될 수 있다. 또한, 하드웨어-기반 메커니즘이 소프트웨어-기반 열적 제어 메커니즘보다 더 빈번하게 온도 임계들에 대한 온도 측정값들을 모니터링하므로, 온도 측정값이 제2 임계치를 초과할 확률이 감소하며, 이러한 결과가 소프트웨어-기반 메커니즘에 의해 검출될 확률도 감소된다.
감소된 성능 레벨들 중 하나에서 동작할 때, 하드웨어 기반 메커니즘은블록(405)에 따라 임계치들에 대한 온도 측정값들을 계속 모니터링할 수 있다. 제2 감소된 성능 레벨에서 동작할 때, 제2 임계치 미만으로 검출된 온도 측정값들은 결과적으로, 하드웨어-기반 메커니즘이 제1 감소된 성능 레벨로 다시 성능 레벨을 증가시키는 것을 초래할 것이다. 후속적인 온도 측정값들이 온도가 제1 임계치 미만으로 떨어졌다고 표시하는 경우, 하드웨어-기반 메커니즘은 정상 성능 레벨로 다시 성능 레벨을 추가로 증가시킬 수 있다. 성능 레벨들의 감소 및 증가 모두에서 히스테리시스가 사용될 수 있어서, 성능 레벨들이 그렇지 않은 경우 온도의 증가 또는 감소의 경향의 일부분이 아닌 간단한 온도 변경들로 인해 감소하거나 증가하지 않도록 한다. 이는 차례로, 온도 변경들의 전체 경향에 기초하여 성능 레벨의 더욱 장기간의 최적화를 허용할 수 있다.
다음으로 도 5를 참조하면, 시스템(150)의 일 실시예의 블록도가 도시된다. 예시된 실시예에서, 시스템(150)은 하나 이상의 주변장치들(154) 및 외부 메모리(158)에 커플링되는 IC(5)(즉, 도 1의 프로세서(10)를 구현하는)의 적어도 하나의 경우를 포함한다. IC(10)에 공급 전압들을 공급하고 메모리(158) 및/또는 주변 장치들(154)에 하나 이상의 공급 전압들을 공급하는 전원(156)이 제공된다. 일부 실시예들에서, IC(10)의 하나 초과의 경우가 포함될 수 있다(그리고 하나 초과의 외부 메모리(158)가 역시 포함될 수 있다).
주변장치들(154)은 시스템(150)의 타입에 따라, 임의의 원하는 회로를 포함할 수 있다. 예를 들어, 일 실시예에서, 시스템(150)은 모바일 디바이스(예를 들어, 개인 디지털 정보 단말(PDA), 스마트폰 등)일 수 있고, 주변 장치들(154)은 와이파이, 블루투스, 셀룰러, GPS(글로벌 포지셔닝 시스템) 등과 같은 다양한 타입들의 무선 통신을 위한 디바이스들을 포함할 수 있다. 주변장치들(154)은 또한 RAM 저장소, 고체 상태 저장소, 또는 디스크 저장소를 포함하는 추가적인 저장소를 포함할 수 있다. 주변 장치들(154)은 터치 디스플레이 스크린들 또는 멀티터치 디스플레이 스크린들, 키보드 또는 다른 입력 디바이스들, 마이크로폰들, 스피커들 등을 포함하는, 디스플레이 스크린과 같은 사용자 인터페이스 디바이스들을 포함할 수 있다. 다른 실시예들에서, 시스템(150)은 임의의 타입의 컴퓨팅 시스템(예를 들어, 데스크톱 개인용 컴퓨터, 랩톱, 워크스테이션, 넷톱 등)일 수 있다.
외부 메모리(158)는 임의의 타입의 메모리를 포함할 수 있다. 예를 들어, 외부 메모리(158)는 SRAM, 동적 RAM(DRAM), 예컨대, 동기식 DRAM(SDRAM), 더블 데이터 레이트(DDR, DDR2, DDR3, LPDDR1, LPDDR2 등) SDRAM, RAMBUS DRAM 등일 수 있다. 외부 메모리(158)는 메모리 디바이스가 탑재되는 하나 이상의 메모리 모듈들, 예를 들어, 단일 인라인 메모리 모듈(SIMM)들, 듀얼 인라인 메모리 모듈(DIMM)들 등을 포함할 수 있다.
위의 개시내용이 완전히 이해되면, 다수의 변경들 및 수정들이 당업자에게 명백해질 것이다. 후속하는 청구항들은 모든 이러한 변경들 및 수정들을 포함하는 것으로 해석되도록 의도된다.

Claims (20)

  1. 열적 제어 장치로서,
    하나 이상의 열 센서;
    소프트웨어 온도 제어 루틴의 소프트웨어 명령어들을 실행하도록 구성된 프로세서 - 상기 소프트웨어 온도 제어 루틴은 제1 지속기간의 간격들에서 상기 하나 이상의 열 센서로부터의 온도 측정값들을 획득하도록 구성됨 -;
    상기 하나 이상의 열 센서에 커플링되고, 상기 하나 이상의 열 센서의 개별 출력들에 의해 하나 이상의 열적 임계치가 초과되었음을 검출하도록 구성된 열적 트립 포인트 회로 - 상기 검출은 상기 제1 지속기간보다 더 작은 제2 지속기간의 간격들에서 상기 하나 이상의 열 센서로부터의 온도 측정값들을 획득하는 것을 포함함 -; 및
    상기 열적 제어 장치 내의 하나 이상의 제어된 서브시스템의 성능 레벨을 감소시킴으로써, 상기 열적 트립 포인트 회로가 하나 이상의 열적 임계치가 초과되었음을 표시하는 것에 응답하도록 구성된 열적 제어 회로
    를 포함하고,
    상기 소프트웨어 온도 제어 루틴은, 상기 프로세서에 의해 실행되는 경우, 온도 임계치 중 하나 이상을 초과하는 온도 측정값을 획득하는 것에 응답하여 상기 하나 이상의 제어된 서브시스템을 셧다운시키는 명령어들을 포함하는 열적 제어 장치.
  2. 제1항에 있어서,
    상기 열적 제어 회로는 상기 하나 이상의 제어된 서브시스템에 제공되는 클록 신호의 주파수를 감소시킴으로써 상기 열적 제어 장치 내의 상기 하나 이상의 제어된 서브시스템의 성능 레벨을 감소시키도록 구성되는 열적 제어 장치.
  3. 제1항에 있어서,
    상기 열적 제어 회로는 상기 하나 이상의 제어된 서브시스템에 제공되는 공급 전압을 감소시킴으로써 상기 열적 제어 장치 내의 상기 하나 이상의 제어된 서브시스템의 성능 레벨을 감소시키도록 구성되는 열적 제어 장치.
  4. 제1항에 있어서,
    상기 열적 제어 회로는, 상기 열적 트립 포인트 회로가 하나 이상의 열적 임계치가 초과되었음을 표시하는 것에 후속하여 미리 결정된 시간에서 상기 열적 트립 포인트 회로가 하나 이상의 열적 임계치가 초과되었음을 표시하는 것에 응답하도록 구성되는 열적 제어 장치.
  5. 제1항에 있어서,
    상기 열적 제어 회로는, 상기 열적 트립 포인트 회로가 상기 하나 이상의 열 센서의 출력에 의해 상기 열적 임계치들 중 하나 이상이 더 이상 초과되지 않음을 표시하는 것에 후속하여 미리 결정된 시간에서 상기 하나 이상의 제어된 서브시스템의 성능 감소를 중단하도록 구성되는 열적 제어 장치.
  6. 열적 제어 방법으로서,
    제1 지속기간의 간격들에서 하나 이상의 열 센서로부터 수신된 개별 출력들에 의해 하나 이상의 열적 임계치가 초과되었는지의 여부를 결정하는 소프트웨어 온도 제어 루틴의 명령어들을 프로세서 상에서 실행하는 단계;
    상기 제1 지속기간보다 더 작은 제2 지속기간의 간격들에서 상기 하나 이상의 열 센서로부터 수신된 개별 출력들에 의해 하나 이상의 열적 임계치가 초과되었는지의 여부를, 열적 트립 포인트 회로를 사용하여 결정하는 단계;
    상기 열적 트립 포인트 회로가 하나 이상의 열적 임계치가 초과되었음을 표시하는 것에 응답하여 집적 회로의 하나 이상의 제어된 서브시스템의 성능 레벨을 감소시키는 단계 - 상기 감소시키는 단계는 열적 제어 회로에 의해 수행됨 -; 및
    상기 소프트웨어 온도 제어 루틴이 하나 이상의 열적 임계치가 초과되었음을 결정하는 것에 응답하여 상기 집적 회로의 상기 하나 이상의 제어된 서브시스템의 적어도 하나의 셧다운을 개시하는 단계
    를 포함하는 열적 제어 방법.
  7. 제6항에 있어서,
    상기 성능 레벨을 감소시키는 단계는 상기 열적 제어 회로가 상기 하나 이상의 제어된 서브시스템 중 적어도 하나에 제공되는 클록 신호의 주파수를 감소시키는 단계를 포함하는 열적 제어 방법.
  8. 제6항에 있어서,
    상기 하나 이상의 열적 임계치가 적어도 상기 제1 지속기간 동안 초과되었다고 결정하는 것에 응답하여 상기 열적 제어 회로가 상기 제어된 서브시스템들 중 적어도 하나의 성능 레벨을 감소시키는 단계를 더 포함하는 열적 제어 방법.
  9. 제8항에 있어서,
    상기 제어된 서브시스템들 중 적어도 하나의 성능 레벨의 감소에 후속하여, 상기 열 센서들 중 적어도 하나로부터의 출력들이 적어도 제3 지속기간 동안 상기 열적 임계치들 중 적어도 하나 미만이라고 결정하는 것에 응답하여 상기 제어된 서브시스템들 중 적어도 하나의 성능 레벨을 증가시키는 단계를 더 포함하는 열적 제어 방법.
  10. 삭제
  11. 집적 회로로서,
    적어도 하나의 프로세서 코어를 포함하는 복수의 기능 유닛;
    각각이 상기 복수의 기능 유닛의 개별 유닛과 연관된 복수의 온도 센서;
    상기 온도 센서들 중 임의의 것으로부터 수신된 온도 측정값(temperature reading)들이 하나 이상의 온도 임계치 중 적어도 하나를 초과하는지의 여부를 결정하도록 구성된 비교기 회로; 및
    상기 비교기 회로가 온도 측정값이 상기 온도 임계치들 중 적어도 하나를 초과한다고 결정하는 것에 응답하여 상기 복수의 기능 유닛 중 하나 이상에 제공되는 클록 주파수를 감소시키도록 구성된 제어 회로
    를 포함하고, 상기 적어도 하나의 프로세서 코어는 온도 제어 루틴의 명령어들을 실행하도록 구성되고, 상기 온도 제어 루틴은, 상기 적어도 하나의 프로세서 코어에 의해 실행되는 경우, 상기 복수의 온도 센서로부터의 온도 측정값들을 모니터링하고, 상기 모니터링된 온도 측정값이 상기 온도 임계치들 중 적어도 하나를 초과한다고 결정하는 것에 응답하여 상기 복수의 기능 유닛들 중 적어도 하나를 셧다운시키는 명령어들을 포함하고,
    상기 적어도 하나의 프로세서 코어는 제1 주기수(periodicity)에서 상기 복수의 온도 센서에 대해 모니터링된 온도 측정값들을 비교하기 위한 상기 온도 제어 루틴의 명령어들을 실행하도록 구성되고, 상기 비교기 회로는 상기 제1 주기수보다 더 작은 제2 주기수에서 상기 복수의 온도 센서로부터의 온도 측정값들을 상기 하나 이상의 온도 임계치와 비교하도록 구성되는 집적 회로.
  12. 삭제
  13. 제11항에 있어서,
    상기 제어 회로는, 상기 복수의 온도 센서로부터의 적어도 하나의 온도 측정값이 제1 임계치를 초과한다고 결정하는 것에 응답하여 제1 양만큼 상기 클록 주파수를 감소시키도록 구성되고, 상기 복수의 온도 센서로부터의 적어도 하나의 온도 측정값이 제2 온도 임계치를 초과한다고 결정하는 것에 응답하여 제2 양만큼 상기 클록 주파수를 감소시키도록 더 구성되며, 상기 제2 온도 임계치는 상기 제1 온도 임계치보다 더 큰 집적 회로.
  14. 제13항에 있어서,
    상기 온도 제어 루틴은, 상기 적어도 하나의 프로세서 코어에 의해 실행되는 경우, 대응하는 온도 측정값이 상기 제2 임계치를 초과한다고 결정하는 것에 응답하여 상기 복수의 기능 유닛 중 적어도 하나를 셧다운시키는 명령어들을 포함하는 집적 회로.
  15. 제13항에 있어서,
    상기 제어 회로는, 상기 비교기 회로가 제1 및 제2 온도 센서들부터의 온도 측정값들이 미리 결정된 지속기간 동안 상기 제1 임계치 미만이었다고 결정하는 것에 후속하여 클록 신호의 주파수를 증가시키도록 구성되는 집적 회로.
  16. 열적 제어 방법으로서,
    집적 회로 상에서 구현되는 프로세서 상에서 소프트웨어 온도 제어 루틴의 명령어들을 실행하는 단계 - 상기 실행은 제1 지속기간의 간격들에서 적어도 하나의 열 센서로부터의 온도 측정값들을 획득하는 것을 포함함 -;
    온도 비교 회로가 제2 지속기간의 간격들에서 상기 적어도 하나의 열 센서로부터의 온도 측정값들을 획득하는 단계 - 상기 제2 지속기간은 상기 제1 지속기간보다 더 작음 -;
    상기 온도 비교 회로가 하나 이상의 온도 임계치 중 하나를 초과하는 온도 측정값을 획득하는 것에 응답하여 온도 제어 회로가 상기 집적 회로의 하나 이상의 기능 유닛의 성능 메트릭을 감소시키는 단계; 및
    하나 이상의 온도 임계치 중 하나를 초과하는 온도 측정값을 획득하는 것에 응답하여 상기 하나 이상의 기능 유닛 중 적어도 하나를 셧다운시키기 위한 상기 소프트웨어 온도 제어 루틴의 명령어들을 상기 프로세서가 실행하는 단계
    를 포함하는 열적 제어 방법.
  17. 제16항에 있어서,
    상기 온도 측정값이 제1 온도 임계치를 초과하는 것에 응답하여 상기 하나 이상의 기능 유닛 중 적어도 하나를 셧다운시키기 위한 명령어들을 상기 프로세서가 실행하는 단계; 및
    상기 온도 비교 회로가 제2 온도 임계치를 초과하는 온도 측정값을 획득하는 것에 응답하여 상기 집적 회로의 하나 이상의 기능 유닛의 성능 메트릭을 상기 온도 제어 회로가 감소시키는 단계
    를 더 포함하고, 상기 제2 온도 임계치는 상기 제1 온도 임계치보다 더 작은 열적 제어 방법.
  18. 제17항에 있어서,
    상기 온도 비교 회로가 상기 제2 온도 임계치를 초과하는 온도 측정값을 획득하는 것에 응답하여 상기 온도 제어 회로가 상기 하나 이상의 기능 유닛에 제공되는 클록 신호의 주파수를 제1 양만큼 감소시키는 단계를 더 포함하는 열적 제어 방법.
  19. 제18항에 있어서,
    상기 온도 비교 회로가 상기 제1 온도 임계치를 초과하는 온도 측정값을 획득하는 것에 응답하여 상기 온도 제어 회로가 상기 클록 신호의 주파수를 제2 양만큼 감소시키는 단계를 더 포함하는 열적 제어 방법.
  20. 제16항에 있어서,
    상기 온도 비교 회로가 제1 미리 결정된 시간 동안 하나 이상의 온도 임계치 중 하나를 초과하는 온도 측정값들을 획득하는 것에 응답하여, 상기 온도 제어 회로가 상기 집적 회로의 하나 이상의 기능 유닛의 성능 메트릭을 감소시키는 단계; 및
    상기 온도 비교 회로가 제2 미리 결정된 시간 동안 하나 이상의 온도 임계치 중 하나 미만인 온도 측정값들을 획득하는 것에 응답하여 상기 온도 제어 회로가 상기 집적 회로의 하나 이상의 기능 유닛의 성능 메트릭을 증가시키는 단계를 더 포함하는 열적 제어 방법.
KR1020130071805A 2012-06-21 2013-06-21 열적 제어 장치 및 방법론 KR101526051B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/529,202 US9383789B2 (en) 2012-06-21 2012-06-21 Thermal control apparatus and methodology
US13/529,202 2012-06-21

Publications (2)

Publication Number Publication Date
KR20130143529A KR20130143529A (ko) 2013-12-31
KR101526051B1 true KR101526051B1 (ko) 2015-06-04

Family

ID=48628311

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130071805A KR101526051B1 (ko) 2012-06-21 2013-06-21 열적 제어 장치 및 방법론

Country Status (8)

Country Link
US (1) US9383789B2 (ko)
EP (1) EP2685632B1 (ko)
JP (1) JP5638110B2 (ko)
KR (1) KR101526051B1 (ko)
CN (1) CN103514011B (ko)
BR (1) BR102013015444B1 (ko)
TW (1) TWI594115B (ko)
WO (1) WO2013191816A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9063727B2 (en) * 2012-08-31 2015-06-23 Intel Corporation Performing cross-domain thermal control in a processor
KR20140062766A (ko) * 2012-11-15 2014-05-26 삼성전자주식회사 모바일 장치 및 모바일 장치의 반도체 집적 회로의 데이터 통신 방법
US9785209B2 (en) * 2015-03-31 2017-10-10 Qualcomm Incorporated Thermal management in a computing device based on workload detection
WO2017011030A1 (en) * 2015-07-15 2017-01-19 Adamson Adrian Improved apparatus for temperature measurement and control using two wires per thermal zone and methods of use
EP3417353A1 (en) * 2016-02-15 2018-12-26 Politecnico di Milano Electronic device to control temperature and computing performance of at least one processing unit and system and method thereof
CN106055237B (zh) 2016-05-31 2017-11-17 广东欧珀移动通信有限公司 一种滑动加速响应方法、及设备
US10216249B2 (en) * 2016-09-27 2019-02-26 Cisco Technology, Inc. Electrical power control and fault protection
US9753773B1 (en) 2016-10-19 2017-09-05 International Business Machines Corporation Performance-based multi-mode task dispatching in a multi-processor core system for extreme temperature avoidance
US9747139B1 (en) * 2016-10-19 2017-08-29 International Business Machines Corporation Performance-based multi-mode task dispatching in a multi-processor core system for high temperature avoidance
US11016545B2 (en) * 2017-03-29 2021-05-25 Western Digital Technologies, Inc. Thermal throttling for memory devices
CN107395148B (zh) * 2017-07-31 2020-06-09 中国电子科技集团公司第二十九研究所 一种tr组件的温补均衡电路
EP3547076A1 (en) * 2018-03-28 2019-10-02 Advanced Digital Broadcast S.A. System and method for adjusting performance of components of a multi-component system
US10928870B2 (en) * 2018-05-29 2021-02-23 Marvell Asia Pte, Ltd. Apparatus and methods for temperature-based memory management
US11545418B2 (en) * 2018-10-24 2023-01-03 Texas Instruments Incorporated Thermal capacity control for relative temperature-based thermal shutdown
CN109739279A (zh) * 2018-12-26 2019-05-10 深圳云天励飞技术有限公司 温度控制方法、装置、电子设备及存储介质
CN112034902B (zh) * 2019-06-03 2024-03-19 阿里巴巴集团控股有限公司 调整芯片性能的方法及装置
US11231731B2 (en) 2019-06-28 2022-01-25 Intel Corporation System, apparatus and method for sensor-driven and heuristic-based minimum energy point tracking in a processor
US11347198B2 (en) 2020-09-04 2022-05-31 Apple Inc. Adaptive thermal control system
CN112650128A (zh) * 2020-12-29 2021-04-13 无锡众星微系统技术有限公司 芯片过热自动保护方法和装置
CN114489235A (zh) * 2022-01-18 2022-05-13 上海天数智芯半导体有限公司 一种用于异常温度处理的芯片频率动态调节方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050080822A (ko) * 2004-02-11 2005-08-18 이삼주 컴퓨터용 수냉식 냉각 장치 및 그것의 냉각 제어 방법
JP2005293364A (ja) * 2004-04-01 2005-10-20 Toshiba Corp 情報処理装置
JP2007109085A (ja) * 2005-10-14 2007-04-26 Sony Computer Entertainment Inc 発熱制御方法、装置およびシステム
JP2008026948A (ja) * 2006-07-18 2008-02-07 Renesas Technology Corp 半導体集積回路

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5451892A (en) * 1994-10-03 1995-09-19 Advanced Micro Devices Clock control technique and system for a microprocessor including a thermal sensor
DE19531706A1 (de) 1995-08-28 1997-03-06 Helmut Roppelt Verfahren und Vorrichtung zur Steuerung eines Rechners, insbesondere eines IBM-kompatiblen Personal Computers
US5940786A (en) 1996-11-22 1999-08-17 Eaton Corporation Temperature regulated clock rate for microprocessors
US6789037B2 (en) 1999-03-30 2004-09-07 Intel Corporation Methods and apparatus for thermal management of an integrated circuit die
US6442700B1 (en) 1999-08-10 2002-08-27 Intel Corporation Thermal control within systems having multiple CPU performance states
KR20040008948A (ko) 2002-07-19 2004-01-31 박상래 블랙박스 기능을 포함하는 자동차용 dvr
US7657772B2 (en) 2003-02-13 2010-02-02 International Business Machines Corporation Thermally aware integrated circuit
US6974252B2 (en) 2003-03-11 2005-12-13 Intel Corporation Failsafe mechanism for preventing an integrated circuit from overheating
US8237386B2 (en) 2003-08-15 2012-08-07 Apple Inc. Methods and apparatuses for operating a data processing system
US7451332B2 (en) 2003-08-15 2008-11-11 Apple Inc. Methods and apparatuses for controlling the temperature of a data processing system
CN1622046A (zh) 2003-11-24 2005-06-01 顺德市顺达电脑厂有限公司 计算机系统之中央处理器散热控制方法
CN100533713C (zh) * 2004-03-19 2009-08-26 索尼计算机娱乐公司 电路的发热控制方法、装置和系统
US7386737B2 (en) 2004-11-02 2008-06-10 Intel Corporation Method and apparatus to control temperature of processor
US7878016B2 (en) 2004-12-30 2011-02-01 Intel Corporation Device and method for on-die temperature measurement
US7149645B2 (en) 2004-12-30 2006-12-12 Intel Corporation Method and apparatus for accurate on-die temperature measurement
US7454640B1 (en) 2005-08-18 2008-11-18 National Semiconductor Corporation System and method for providing a thermal shutdown circuit with temperature warning flags
US7376532B2 (en) * 2005-11-29 2008-05-20 International Business Machines Corporation Maximal temperature logging
US7565258B2 (en) 2006-03-06 2009-07-21 Intel Corporation Thermal sensor and method
CN100583002C (zh) * 2007-02-27 2010-01-20 鸿富锦精密工业(深圳)有限公司 散热模组
CN101482757A (zh) 2008-01-07 2009-07-15 联想(北京)有限公司 一种温度控制的方法、系统及硬件装置
US20100073068A1 (en) * 2008-09-22 2010-03-25 Hanwoo Cho Functional block level thermal control
US8306772B2 (en) 2008-10-13 2012-11-06 Apple Inc. Method for estimating temperature at a critical point
US8254200B2 (en) 2009-09-11 2012-08-28 Sherif Eid System and method to compensate for process and environmental variations in semiconductor devices
CN201656433U (zh) 2010-02-05 2010-11-24 国基电子(上海)有限公司 过热保护电路及使用其的电子设备
US8452463B2 (en) 2010-06-04 2013-05-28 Apple Inc. Adjusting the thermal behavior of a computing system using indirect information about ambient temperature
US8768530B2 (en) 2010-06-04 2014-07-01 Apple Inc. Thermal zone monitoring in an electronic device
CN102014201B (zh) * 2010-09-29 2014-04-30 中兴通讯股份有限公司 一种数据卡温度控制方法及装置
US8793512B2 (en) 2010-10-29 2014-07-29 Advanced Micro Devices, Inc. Method and apparatus for thermal control of processing nodes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050080822A (ko) * 2004-02-11 2005-08-18 이삼주 컴퓨터용 수냉식 냉각 장치 및 그것의 냉각 제어 방법
JP2005293364A (ja) * 2004-04-01 2005-10-20 Toshiba Corp 情報処理装置
JP2007109085A (ja) * 2005-10-14 2007-04-26 Sony Computer Entertainment Inc 発熱制御方法、装置およびシステム
JP2008026948A (ja) * 2006-07-18 2008-02-07 Renesas Technology Corp 半導体集積回路

Also Published As

Publication number Publication date
JP2014006905A (ja) 2014-01-16
WO2013191816A1 (en) 2013-12-27
KR20130143529A (ko) 2013-12-31
BR102013015444B1 (pt) 2020-12-08
CN103514011B (zh) 2016-12-28
US9383789B2 (en) 2016-07-05
BR102013015444A2 (pt) 2015-06-23
US20130345892A1 (en) 2013-12-26
TWI594115B (zh) 2017-08-01
EP2685632B1 (en) 2016-08-03
TW201407346A (zh) 2014-02-16
EP2685632A2 (en) 2014-01-15
EP2685632A3 (en) 2014-05-21
CN103514011A (zh) 2014-01-15
JP5638110B2 (ja) 2014-12-10

Similar Documents

Publication Publication Date Title
KR101526051B1 (ko) 열적 제어 장치 및 방법론
US11003233B2 (en) Dynamic voltage and frequency management based on active processors
KR101242893B1 (ko) 프로세서 슬리프 및 웨이크 이벤트들에 대한 시스템에서의 하드웨어 자동 성능 상태 천이
TWI522801B (zh) 控制處理器功率消耗之數位功率評估器
US9658634B2 (en) Under voltage detection and performance throttling
US20130262894A1 (en) System-on-chip, electronic system including same, and method controlling same
US11079831B2 (en) Control scheme to temporarily raise supply voltage in response to sudden change in current demand
KR20180076840A (ko) Dvfs 동작을 수행하는 어플리케이션 프로세서, 이를 포함하는 컴퓨팅 시스템 및 이의 동작 방법
CN114424144B (zh) 自适应片上数字功率估计器

Legal Events

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

Payment date: 20180427

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 5