KR101547072B1 - 휴대용 컴퓨팅 디바이스에서 열 에너지 생성을 감소시키는 방법 및 시스템 - Google Patents

휴대용 컴퓨팅 디바이스에서 열 에너지 생성을 감소시키는 방법 및 시스템 Download PDF

Info

Publication number
KR101547072B1
KR101547072B1 KR1020147003824A KR20147003824A KR101547072B1 KR 101547072 B1 KR101547072 B1 KR 101547072B1 KR 1020147003824 A KR1020147003824 A KR 1020147003824A KR 20147003824 A KR20147003824 A KR 20147003824A KR 101547072 B1 KR101547072 B1 KR 101547072B1
Authority
KR
South Korea
Prior art keywords
power frequency
power
processing component
frequency level
pcd
Prior art date
Application number
KR1020147003824A
Other languages
English (en)
Other versions
KR20140048270A (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 KR20140048270A publication Critical patent/KR20140048270A/ko
Application granted granted Critical
Publication of KR101547072B1 publication Critical patent/KR101547072B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/203Cooling means for portable computers, e.g. for laptops
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)

Abstract

휴대용 컴퓨팅 디바이스에서 열을 감소시키는 방법 및 시스템은 시간 t0 내지 시간 t1 에 걸쳐 전체 주파수가 제공되도록 프로세서를 클록킹하는 것을 포함한다. 타이머는 시간 t1 부터 시간 t2 까지 프로세서로의 모든 전력을 제거하는 강제 전력 붕괴 ("FPC") 를 트리거하도록 세팅된다. 시간 t2 에서, 프로세서는 전체 주파수에서 프로세싱을 재개할 수 있도록 어웨이크될 수도 있다. 유리하게, FPC 동안 t1 과 t2 사이에서 프로세서에 의해 어떤 누설 전력 ("PL") 도 소비되지 않는다. 그 결과, 프로세서는 감소된 주파수가 제공되었을 경우 프로세서가 가지는 것과 동일한 프로세싱 효율을 시간 t0 내지 시간 t2 에 걸쳐 평균한다. 그러나, FPC 동안 어떤 PL 도 소비되지 않았기 때문에, 시간 t1 과 시간 t2 사이에 PL 과 관련된 열의 생성이 회피된다.

Description

휴대용 컴퓨팅 디바이스에서 열 에너지 생성을 감소시키는 방법 및 시스템{METHOD AND SYSTEM FOR REDUCING THERMAL ENERGY GENERATION IN A PORTABLE COMPUTING DEVICE}
휴대용 컴퓨팅 디바이스 ("PCD") 들은 개인 및 프로 수준들로 사람들에게 필수품들이 되고 있다. 이들 디바이스들은 셀룰러 전화기들, 개인 휴대 정보 단말기 ("PDA") 들, 휴대용 게임 콘솔들, 팜탑 컴퓨터들, 및 다른 휴대용 전자 디바이스들을 포함할 수도 있다.
PCD들의 한가지 고유한 양태는, PCD 들이 통상적으로 팬들과 같은 활성 냉각 디바이스들을 가지지 않는다는 점이며, 팬들은 종종 랩탑 및 데스크탑 컴퓨터들과 같은 대형 컴퓨팅 디바이스들에서 발견된다. 이와 같이, 열 에너지 생성을 관리하기 위해 팬들을 이용하는 대신, PCD들은 그 프로세서들에 인가된 전압을 조종하는 기술에 의존하고, 따라서, 그렇지 않으면 초과 열을 생성하는 전력 소비를 절약할 수도 있다.
그러한 하나의 기술은, 프로세서를 "클록 게이팅 (clock gate)" 하는 것이다. 트랜지스터들은 활성 전력 ("PA") 을 프로세서에 제공하기 때문에 "충전" 상태와 "방전" 상태 사이에서 스위칭한다. 그러므로, 트랜지스터가 "충전" 상태와 "방전" 상태 사이에서 스위칭하는 것을 일시적으로 디스에이블 하는 것, 즉 "클록 게이팅" 은 전력을 절약하고 전력 손실을 감소시킨다. 즉, 게이트에서의 스위칭 상태들이 전력을 소비하기 때문에, 게이트를 "클록킹" 하는 것은 프로세서로의 활성 전력의 제공을 제거하며, 따라서 프로세서에 의해 생성될 수도 있는 열 에너지의 양을 감소시킨다.
그러나, 모든 활성 전력이 프로세서에 제공되는 것을 중지시키는 것은, 누설 전력 ("PL") 의 진행중인 소비에 어떤 영향도 주지 않는다. 누설 전력은 전력이 제공된 게이트가 스위칭하지 않을 경우에도 발생한다. 이론적으로, 전류 흐름은 게이트 컴포넌트에 걸쳐 제한되지만, PCD들에서의 더 소형의 회로로 인해, 게이트 지오메트리는 점점 더 작은 디자인들의 경향을 보인다. 그 결과, 오늘날 PCD들에서 이용된 다수의 게이트들은 전류 흐름에 덜 효율적인 물리적인 장벽들을 제공하며, 따라서 누설 전력의 소비가 점점 더 뚜렷하게 한다. 상황을 더 복잡하게 하기 위해, 소형 회로는 많은 양의 열 에너지를 생성하고, 이는 추가로 이미 얇은 게이트가 전류 흐름을 억제하는 능력을 악화시킨다.
활성 전력, 누설 전력 및 외부 열 소스들로부터의 열 기여도들은 열 폭주에 도달할 때까지 PCD 에 누적될 수 있다. 열 폭주는 누설 전력의 손실이 단독으로 PCD 의 온도를 지속시키거나 증가시키는 지점으로서 정의될 수도 있다. 즉, 열 폭주 지점에서, PCD 를 통해 흐르는 전류는, PCD 가 언-클록킹 (un-clocked) 상태일 경우에도, 열 생성을 지속시키거나 열 생성이 증가하게 하기에 충분하다. 현재, PCD 가 임계 온도, 예컨대 열 폭주와 연관된 온도에 도달할 경우, 운영 시스템은 PCD 내의 전자 컴포넌트들의 대부분을 간단히 셧다운시킴으로써 PCD 를 냉각시키도록 설계될 수도 있다. 전자기기들을 셧다운시키는 것은 PCD 내의 열 에너지의 연속된 생성을 방지하기 위한 효과적인 조치일 수도 있지만, 이러한 과감한 조치들은 PCD 의 성능에 불가피하게 영향을 주며, 일부 경우에는 PCD 가 일정 기간 동안 기능적으로 동작할 수 없게 할 수도 있다.
따라서, PCD 내에서 그 성능 및 기능에 과한 영향을 미치지 않고 컴포넌트들의 냉각이 촉진되게 하도록 PCD 에서 누설 전력의 소비를 경감시키는 방법 및 시스템이 요구된다.
휴대용 컴퓨팅 디바이스 ("PCD") 에서 열 에너지 생성을 감소시키는 방법 및 시스템이 개시된다. 그 방법은 활성 전력 ("PA") 소비가 감소되도록 PCD 내의 프로세싱 컴포넌트의 스루풋을 변경하라는 지시들을 수신하는 단계를 포함한다. 지시들의 수신시, 프로세싱 컴포넌트가 t0 부터 t2 까지의 기간에 걸쳐 변경된 주파수로 처리하도록 동작가능할 수도 있는 명령들의 개수를 결정하기 위해 계산이 실행될 수도 있다. 그 결정에 기초하여, PCD 내의 클록킹 컴포넌트는 t0 부터 t1 까지의 더 짧은 기간에 걸쳐 결정된 개수의 명령들을 처리할 수 있게 하는 주파수가 PCD 의 프로세싱 컴포넌트에 제공되도록 세팅될 수도 있다. 추가로, 타이머 컴포넌트는 시간 t1 에서 시작하고 시간 t2 에서 종료하는 기간 동안 프로세싱 컴포넌트로의 모든 전력을 제거하는 강제 전력 붕괴를 트리거하도록 세팅될 수도 있다. 강제 전력 붕괴 이후에, 시간 t2 에서, 프로세싱 컴포넌트는 프로세싱을 재개할 수 있도록 어웨이크될 수도 있다. 유리하게, 강제 전력 붕괴 동안, 시간 t1 과 시간 t2 사이에서 어떤 누설 전력 ("PL") 도 프로세싱 컴포넌트에 의해 소비되지 않는다.
그 결과, 프로세싱 컴포넌트는 주파수를 간단히 감소시키라는 초기 지시들이 구현되었을 경우에 가질 수 있는 것과 동일한 프로세싱 스루풋을 시간 t0 내지 t2 에 걸쳐 평균하지만, 어떤 PL 도 강제 전력 붕괴 동안 소비되지 않았기 때문에, 시간 t1 과 시간 t2 사이에 발생한 PL 과 관련된 열 에너지의 생성이 회피된다.
도면들에서, 유사한 참조 숫자들은 달리 표시되지 않는다면 다양한 도면들 전체에서 유사한 부분들을 지칭한다. "102A" 또는 "102B" 와 같이 문자 캐릭터 표시들을 갖는 참조 숫자들에 대하여, 문자 캐릭터 표시들은 동일한 도면에 존재하는 2 개의 유사한 파트들 또는 엘리먼트들을 구별할 수도 있다. 참조 숫자들에 대한 문자 캐릭터 표시들은, 하나의 참조 숫자가 모든 도면들에서 동일한 참조 숫자를 갖는 모든 파트들을 포함하는 것으로 의도될 경우, 생략될 수도 있다.
도 1 은 PCD 프로세서 코어가 특정 성능 레벨 하에서 처리될 수도 있는 MIPS 의 개수와 등가인 평균 개수의 MIPS 를 처리하게 할 수도 있는 전력 사이클을 표현하는 예시적인 강제 전력 붕괴 ("FPC") 곡선의 그래프이다.
도 2 는, 그 각각이 멀티-코어 PCD 프로세서의 프로세서 코어가 특정 성능 레벨 하에 처리될 수도 있는 MIPS 의 개수와 등가인 평균 개수의 MIPS 를 처리하게 할 수도 있는 전력 사이클을 표현하는, 한 쌍의 예시적인 FPC 곡선들의 그래프이다.
도 3 은, 그 각각이 멀티-코어 PCD 프로세서의 프로세서 코어가 특정 성능 레벨 하에 처리될 수도 있는 MIPS 의 개수와 등가인 평균 개수의 초당 수백만 개의 명령들 ("MIPS") 을 처리하게 할 수도 있는 전력 사이클을 표현하는, 한 쌍의 예시적인 FPC 곡선들의 그래프이다.
도 4 는, 그 각각이 멀티-코어 PCD 프로세서의 프로세서 코어가 특정 성능 레벨 하에 처리될 수도 있는 MIPS 의 개수와 등가인 평균 개수의 MIPS 를 처리하게 할 수도 있는 전력 사이클을 표현하는, 한 쌍의 예시적인 FPC 곡선들의 그래프이다.
도 5 는, 그 각각이 멀티-코어 PCD 프로세서의 프로세서 코어가 특정 성능 레벨 하에 처리될 수도 있는 MIPS 의 개수와 등가인 평균 개수의 MIPS 를 처리하게 할 수도 있는 전력 사이클을 표현하는, 한 쌍의 예시적인 FPC 곡선들의 그래프이다.
도 6 은, 그 각각이 멀티-코어 PCD 프로세서의 프로세서 코어가 특정 성능 레벨 하에 처리될 수도 있는 MIPS 의 개수와 등가인 평균 개수의 MIPS 를 처리하게 할 수도 있는 전력 사이클을 표현하는, 한 쌍의 예시적인 FPC 곡선들의 그래프이다.
도 7 은 휴대용 컴퓨팅 디바이스 ("PCD") 의 일 실시형태를 예시하는 기능 블록도이다.
도 8 은 도 7 에 예시된 칩에 대한 하드웨어의 예시적인 공간적 배열을 dPl하는 기능 블록도이다.
도 9 는 도 8 에 예시된 칩의 열 정책 관리자 ("TPM"), 강제 전력 붕괴 ("FPC") 모듈, 리소스 전력 관리자 ("RPM") 및 하드웨어 디바이스들 간의 각각의 논리적인 접속들을 예시하는 기능 블록도이다.
도 10 은 PCD 에서의 전력 소비를 감소시킴으로써 열 부하들을 감소시키는 방법을 예시하는 논리 흐름도이다.
도 11 은 PCD 에서의 전력 소비에 있어 가장 효율적인 감소를 제공할 수도 있는 열 경감 기술을 결정하는 서브-방법 또는 서브루틴을 예시하는 논리 흐름도이다.
도 12 는 PCD 에 동적 전압 및 주파수 스케일링 ("DVFS") 열 경감 기술을 적용하는 방법을 예시하는 논리 흐름도이다.
도 13 은 PCD 에 강제 전력 붕괴 ("FPC") 열 경감 기술을 적용함으로써 열 부하들을 감소시키는 방법을 예시하는 논리 흐름도이다.
용어 "예시적인" 은 본 명세서에서 "일 예, 예시, 또는 예증으로서 제공되는" 을 의미하도록 사용된다. 본 명세서에서 "예시적인" 것으로 설명되는 임의의 양태는 다른 양태들에 비해 포괄적이거나, 바람직하거나, 유리한 것으로 간주될 필요는 없다.
본 설명에서, 용어 "애플리케이션" 은 또한 오브젝트 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들, 및 패치들과 같이, 실행가능한 콘텐츠를 가지는 파일들을 포함할 수도 있다. 추가로, 본 명세서에서 지칭되는 "애플리케이션" 은 또한 오픈되어야 할 수도 있는 문서들 또는 액세스되어야 하는 다른 데이터 파일들과 같이, 사실상 실행할 수 없는 파일들을 포함할 수도 있다.
용어 "콘텐츠" 도 또한 오브젝트 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들, 및 패치들과 같이, 실행가능한 콘텐츠를 가지는 파일들을 포함할 수도 있다. 추가로, 본 명세서에서 지칭되는 "콘텐츠" 도 또한 오픈되어야 할 수도 있는 문서들 또는 액세스되어야 하는 다른 데이터 파일들과 같이, 사실상 실행할 수 없는 파일들을 포함할 수도 있다.
본 설명에서 이용되는 것과 같이, 용어들 "컴포넌트", "데이터베이스", "모듈", "시스템", "열 에너지 생성 컴포넌트", "프로세싱 컴포넌트" 및 유사 용어들은 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어 중 하나인 컴퓨터 관련 엔티티를 지칭하도록 의도된다. 예를 들어, 컴포넌트는 프로세서에서 실행중인 프로세스, 프로세서, 오브젝트, 실행 가능물 (executable), 실행 스레드 (thread of execution), 프로그램, 및/또는 컴퓨터일 수도 있지만, 이에 제한되지 않는다. 예시의 목적으로, 컴퓨팅 디바이스에서 구동중인 애플리케이션 및 컴퓨팅 디바이스 양자는 하나의 컴포넌트일 수 있다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수 있고, 하나의 컴포넌트는 하나의 컴퓨터에 국한되고 및/또는 2 이상의 컴퓨터들 사이에 분배될 수도 있다. 또한, 이러한 컴포넌트들은 다양한 데이터 구조들이 저장되는 다양한 컴퓨터 판독가능 매체로부터 실행할 수도 있다. 컴포넌트들은 하나 이상의 데이터 패킷들 (예컨대, 로컬 시스템 내에서, 분배 시스템 내에서 및/또는 신호를 통한 다른 시스템들과의 인터넷과 같은 네트워크 전체에서 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터) 을 가지는 신호에 따라 로컬 및/또는 원격 프로세스들을 경유하여 통신할 수 있다.
본 설명에서, 용어들 "통신 디바이스", "무선 디바이스", "무선 전화기", "무선 통신 디바이스", 및 "무선 핸드셋" 은 상호교환가능하게 사용된다. 제 3 세대 ("3G") 및 제 4 세대 ("4G") 무선 기술의 등장으로, 더 많은 대역폭 이용가능성이 무선 능력들을 갖춘 더 많은 전자 디바이스들을 가능하게 하였다.
본 설명에서, 용어들 "중앙 프로세싱 유닛 ("CPU")", "디지털 신호 프로세서 ("DSP")", 및 "칩" 은 상호교환가능하게 사용된다.
본 설명에서, 용어들 "열" 및 "열 에너지" 는 "온도" 의 단위들로 측정될 수도 있는 에너지를 생성하거나 손실시킬 수 있는 디바이스 또는 컴포넌트와 연관하여 사용될 수도 있다. 결과적으로, 용어 "온도" 는, 일부 표준 값을 참조하여, "열 에너지" 생성 디바이스 또는 컴포넌트의 상대적인 온기 또는 열의 부재를 표시할 수도 있는 임의의 측정치를 가정하는 것이 추가로 이해되어야 할 것이다. 예를 들어, 2 개의 컴포넌트들의 "온도" 는 2 개의 컴포넌트들이 "열적" 평형에 놓일 경우, 동일하다.
본 설명에서, 용어들 "작업 부하", "프로세스 부하" 및 "프로세스 작업 부하" 는 상호교환가능하게 사용되며, 소정의 실시형태에서 소정의 프로세싱 컴포넌트와 연관된, 프로세싱 부담 또는 프로세싱 부담의 퍼센티지로 방향이 맞춰진다. 앞서 정의된 것에 추가로, "프로세싱 컴포넌트" 또는 "열 에너지 생성 컴포넌트" 는 중앙 프로세싱 유닛, 그래픽 프로세싱 유닛, 코어, 메인 코어, 서브-코어, 프로세싱 영역, 하드웨어 엔진, 등등 또는 휴대용 컴퓨팅 디바이스 내의 집적 회로의 내부 또는 외부에 상주하는 임의의 컴포넌트일 수도 있지만, 이에 제한되지 않는다. 또한, 용어들 "열적 부하", "열적 분포", "열적 시그니처", "열적 프로세싱 부하", 등등이 프로세싱 컴포넌트에서 구동중일 수도 있는 작업부하 부담들을 나타내는 정도까지, 본 개시물에서 이러한 "열적" 용어들의 이용은 프로세스 부하 분포, 프로세스 분담들 및 프로세스 레이트들과 관련될 수도 있는 것을 당업자가 인식할 것이다.
본 설명에서, 용어 "휴대용 컴퓨팅 디바이스" ("PCD") 는 배터리와 같은 제한된 용량의 파워 서플라이 상에서 동작하는 임의의 디바이스를 설명하기 위해 사용된다. 배터리 동작식 PCD들은 수십 년간 사용되어 왔지만, 3 세대 ("3G") 무선 기술의 도래와 연결된 재충전가능 배터리들의 기술적 진보는 다수의 능력들을 가진 다수의 PCD들을 가능하게 하였다. 따라서, PCD 는 그 중에서도, 셀룰러 전화기, 위성 전화기, 페이저, PDA, 스마트폰, 내비게이션 디바이스, 스마트북 또는 판독기, 미디어 플레이어, 전술한 디바이스들의 조합, 및 무선 연결을 가진 랩톱 컴퓨터일 수도 있다.
본 설명에서, 특정 컴포넌트의 "프로세싱 능력", "프로세싱 효율", "스루풋", "스루풋 저하" 등등은 실제 초당 수백만 개의 명령들 ("MIPS") 와 관련하여 수량화될 수도 있지만, 코어와 같은 일 컴포넌트에 의해 처리될 수도 있는 "MIPS" 의 수의 실제 계산은 모든 실시형태들에서 요구되지 않을 수도 있다는 것이 당업자에 의해 이해될 것이다. 즉, 일부 실시형태들에서, MIPS 의 개수들에 있어 프로세싱 능력은 추론, 상관 또는 추정을 통해 결정되거나 계산될 수도 있다. 또한, 일부 실시형태들에서, 컴포넌트의 프로세싱 능력은 주파수 감소 퍼센티지, 전류 인출 감소 퍼센티지, 기간, 등과 같지만 이에 재한되지 않는 MIPS 와 다른 단위들로 표현될 수도 있다. 그러므로, 일 컴포넌트의 프로세싱 능력과 관련된 임의의 계산 또는 결정은 본 개시물의 범위에 의해 가정되는 것을 당업자가 인식할 것이다.
통상의 시나리오에서, 휴대용 컴퓨팅 디바이스 ("PCD") 는 전체 프로세싱 전력으로 프로세싱 코어를 구동시킴으로써, 특정 수의 초당 수백만 개 명령들 ("MIPS") 을 처리할 수도 있다. 그렇게 할 경우, 코어는 특정 양의 전력을 소비할 것이다. 이는 연관된 양의 생성된 열 에너지의 손실을 발생한다. 전체 프로세싱 전력으로 구동중인 프로세싱 코어에 의해 생성된 열 에너지는 PCD 에 유해하거나 유해하지 않을 수도 있다. 그러나, 손실되도록 요구되는 열 에너지가 PCD 에 유해하거나 잠재적으로 재해적인 경우에, 프로세싱 코어 상의 작업로드 부담을 감소시키거나 코어가 구동되는 전력을 감소시키기 위해 대응책들이 취해질 수도 있다.
전체 레이트 전력에서 구동중인 예시적인 프로세싱 코어에 의해 소비되는 에너지는:
E = (FPA × t) + (PL × t)
이며, 여기서 FPA 는 전체 레이트 주파수에서 구동중인 코어에 의해 소비되는 활성 전력이고, PL 는 코어와 연관된 회로에 의해 소비되는 누설 전력이며, t 는 시간이다. 특히, 예시적인 코어에 의해 이용되는 에너지는, 코어에 제공되는 전력의 주파수가 저하되도록 코어의 클록을 "게이팅" 함으로써, 종종 프로세싱 스루풋을 희생하여 감소될 수도 있다. 게이팅의 효과적인 결과는 더 낮은 프로세싱 성능이다. 유리하게, 소정 기간에 걸친 PA 소비와 연관된 열 에너지 생성은 또한, 더 낮은 주파수의 결과로서 저하된다. 본질적으로, 코어가 클록되고 있을 경우, PA 는 코어에 의해 소비되고, 코어가 클록되고 있지 않을 경우, 어떤 PA 도 소비되지 않을 것이다. PL 은 게이트가 개방되는지 또는 폐쇄되는지 여부에 따라 소비된다.
따라서, 코어가 예시적인 코어의 전체 주파수 레이팅 미만의 일부 레이트에서 클록될 경우, 시스템이 구동중일 때 소비되는 에너지는:
E = (PA × t) + (PL × t)
이고, 여기서 PA 는 전체 레이트의 주파수보다 낮은 주파수에서 구동중인 코어에 의해 소비되는 활성 전력이고, PL 은 코어와 연관된 회로에 의해 소비된 누설 전력이며, t 는 시간이다. 그리고, 코어가 클록되지 않을 경우, 코어는 "준비" 상태이지만 활동적으로 프로세싱하고 있지 않다. 그러므로, 코어가 "준비" 되지만 프로세싱하고 있지 않은 경우에 소비되는 에너지는 다음과 같다:
E = (PL × t)
특히, PA 가 예시적인 코어가 구동중일 수 있는 전체 주파수 미만으로 감소되는 코어 주파수와 연관되기 때문에, 당업자는 더 낮은 주파수에서 구동중인 코어에 의해 소비되는 에너지가 코어가 전체 전력으로 구동중인 경우에 소비되는 에너지 미만일 것이라는 것을 인식할 것이다. 즉, 열적 영향들은 코어에 제공되는 주파수를 저하시킴으로써 경감될 수도 있으며, 이는 그렇게 하는 것이 코어에 의해 소비되는 PA 의 양을 저하시키기 때문이다.
PA 는 소정의 코어가 구동중인 주파수 레벨의 함수인 가변적인 전력 소비이다. 한편, PL 은 전력이 공급되는 프로세서 회로와 연관된 연속적이고 진행중인 전력 소비이며, 코어가 구동중인지 아닌지 여부에 따라 발생한다. 이와 같이, 코어에 대한 주파수를 감소시키는 것은 오직 PA 소비를 저하시키는 기능을 할 것이며 - PL 은 코어가 PA 를 인출하고 있는지 여부에 관계없이 소비되는 것을 당업자가 인식할 것이다. 시간에 걸쳐, 진행중인 전력의 손실은 열적 폭주 상황에 도달할 때까지 누적될 수도 있다. 열적 폭주 지점에서, PCD 를 통한 전류 흐름, 즉 PCD 에 의한 PL 의 연속적인 소비는 이미 도달된 열 생성의 레벨을 지속하거나, 증가하게 하기에 충분하다.
열적 폭주에 대한 가능성을 경감시키기 위해, 강제 전력 붕괴 ("FPC") 열 경감 기술의 다양한 실시형태들이 채용될 수도 있다. FPC 기술은 소정 양의 시간에 걸쳐 PCD 에 의해 소비되는 PL 의 양을 감소시킨다. 프로세싱을 위해 작업이 준비되는 동안 PCD 내의 소정 코어 또는 코어들의 세트를 주기적으로 셧다운시킴으로써, PL 은 셧다운 주기 동안 코어에 의해 생성되거나 소비되지 않으며, 따라서 일정한 PL 과 연관된 불가피한 열 에너지 생성을 감소시킨다.
FPC 열 경감 시스템 또는 방법의 일부 실시형태들에서, 코어는 강제 전력 붕괴가 구현되기 전의 단축된 기간 동안 전체 프로세싱 전력으로 구동하도록 허용될 수도 있다. 특히, 강제 전력 붕괴를 적용하기 전에 전체 프로세싱 전력에서 코어를 구동시킴으로써, 단축된 프로세싱 시간 동안 코어에 의해 처리되는 MIPS 의 양은, 더 낮은 주파수를 레버리징하는 열 경감 기술 하에서 더 긴 프로세싱 시간에 걸쳐 코어가 처리한 MIPS 의 양을 근사화하기 위해 계산될 수도 있다. 유리하게, 코어의 전체 프로세싱 전력이 레버리징되기 (또는, 적어도, 프로세싱 전력 레벨이 대안적인 열 경감 기술과 연관된 일부 더 낮은 주파수를 초과하기) 때문에, 소정 양의 MIPS 는 더 낮은 주파수에서 구동중일 경우 코어에 대하여 요구되는 것보다 더 짧은 시간에 걸쳐 프로세싱될 수도 있다. 따라서, 강제 전력 붕괴는 프로세싱 시간에 있어서의 차이와 등가인 주기 동안 구현될 수도 있으며, 따라서 프로세싱 시간에 있어서의 이러한 차이 동안 소비된 PL 의 결과로서 생성된 열 에너지를 회피시킬 수도 있다.
도 1 은 PCD 프로세서 코어 (710) 가 특정 클록된 전력 곡선 (105) 하에서 처리될 수도 있는 MIPS 의 개수와 등가인 평균 개수의 MIPS 를 처리하게 할 수도 있는 전력 사이클을 표현하는 예시적인 FPC 곡선 (110) 의 그래프 (100) 이다. 특히, 당업자는 본 설명에서 특정 "클록된 전력 곡선" 에 대한 참조가 특정 "성능 레벨" 을 참조하는 것과 동일할 수도 있는 것을 이해할 것이다. 추가로, 당업자는 특정 "성능 레벨" 이 필수적으로 특정 프로세싱 능력과 상관되는 것을 인식할 것이다.
일부 실시형태들에서, 열 정책 관리자 (701) 는 모니터 모듈 (714; 도 7 에 도시) 과 협력하여, 칩 (702) 상의 열 에너지 생성에 있어서 증가를 검출하고, CPU (710) 에서 프로세싱 주파수의 감소를 지시하는 열 경감 기술을 적용하는 것을 추구할 수도 있다. 특정 클록된 전력 사이클 (105) 은 CPU (710) 에 제공된 주파수를 감소시킴으로써 열 에너지 생성을 감소시키는 열 경감 기술을 표현할 수도 있다. 전술된 것과 같이, 열 생성에 있어 추가 감소는 FPC 열 경감 기술을 대안적으로 구현함으로써 프로세싱 스루풋을 희생시키지 않고 특정 클록된 전력 사이클 (105) 에 걸쳐 실현될 수도 있다.
도 1 의 그래프 (100) 를 참조하면, 클록된 전력 곡선 (105) 은 예시적인 FPC 곡선 (110) 과 비교될 수도 있다. 예시의 목적을 위해, 클록된 전력 곡선 (105) 과 FPC 곡선 (110) 이 각각 동일한 프로세싱 코어들, "클록된 코어" 및 "FPC 코어" 에서 구현되는 것이 가정될 수도 있지만; 모든 실시형태들이 프로세싱 코어들에 방향이 맞춰지지 않으며, 이와 같이, 클록된 전력 곡선 (105) 이 PCD (700) 의 코어가 아닌 컴포넌트의 타겟 프로세싱 효율을 나타낼 수도 있는 것을 당업자가 인식할 것이다.
도면으로 돌아와서, 시간 t0 과 시간 t2 사이에서, 클록된 코어는 I1 명령들을 처리하고, (PA × t2) 와 (PL × t2) 의 합과 동일한 에너지 양을 소비할 수도 있다. FPC 코어는, 곡선 부분 (110A) 보다 더 높은 프로세싱 주파수를 레버리징함으로써, 클록된 코어가 더 긴 시간 t2 에 걸쳐 실행한 것과 실질적으로 동일한 양의 활성 전력을 더 짧은 시간 t1 에 걸쳐 소비할 수도 있다. 그러므로, FPC 코어가 더 짧은 시간 t1 에 걸쳐 I1 명령들을 처리할 수 있었기 때문에, FPC 코어는 시간 t1 과 시간 t2 사이에 강제 전력 붕괴를 당하기 쉬울 수도 있다. 이와 같이, 곡선 부분 (110B) 에 걸쳐, FPC 코어는 어떤 PL 도 소비하지 않으며, 따라서 FPC 코어에 의해 소비되는 에너지는 (FPA × t1) 와 (PL × t1) 의 합과 동일하며, 여기서 (FPA × t1) 는 본질적으로 (PA × t2) 와 동일하거나, 적어도 (PL × (t2-t1)) 미만의 양만큼 (PA × t2) 를 초과한다. 유리하게, 최종 결과로서, FPC 코어는 (PL × (t2-t1)) 와 동일한 전력 양을 불필요하게 소비하거나 손실하지 않고 클록된 코어와 동일한 양의 명령들 I1 을 시간 t2 에 걸쳐 처리할 수도 있다.
예시적인 그래프 (100) 에서, 전술된 사이클은 시간 t2 에서 시작하여 반복되는 것이 보여질 수 있다. FPC 코어는 시간 t2 에서 강제 전력 붕괴로부터 어웨이크 (awake) 되고, 전체 주파수는 시간 t3 까지 곡선 부분 (110C) 에 걸쳐 제공된다. 시간 t3 에서, I2 명령들은 FPC 코어에 의해 처리되며, 제 2 강제 전력 붕괴는 시간 t3 과 시간 t4 사이에서 구현될 수도 있다. 사이클이 반복될 수도 있고, 열 경감 기술이 제거되거나 수정될 때까지, 매 사이클에서 PL 소비가 회피된다.
특히, 예시적인 목적들을 위해, FPC 코어는 곡선 부분들 (110A 및 110C) 을 따르는 전체 주파수가 제공되는 것으로 설명된다. 이와 같이, 당업자는, 제공된 주파수가 프로세서의 전체 주파수 레이팅 보다 크지 않지만 대안적인 열 경감 알고리즘에 의해 제안된 클록된 주파수보다 큰, FPC 열 경감 기술이 구현될 수도 있음을 인식할 것이다. 따라서, FPC 열 경감 시스템 또는 방법은 강제 전력 붕괴들 간의 프로세싱 주기들 동안 전체 주파수의 제공에 제한되지 않을 것이다.
추가로, 전술된 예시적인 FPC 열 경감 방법은 제안된 클록 주파수의 프로세싱 효율 이상의 프로세싱 효율을 희생하지 않고 PL 소비를 절약할 기회에 기초하지만, 다른 FPC 열 경감 알고리즘들을 적용하기 위한 추동력은 제안된 클록 주파수와 연관된 열 에너지 생성 레이트를 초과하지 않고 더 높은 프로세싱 효율로 구동할 기회에 기초하는 것이 이해될 것이다. 즉, 다양한 FPC 열 경감 기술들이 소정의 프로세싱 효율에서 전력 소비를 최소화하는 목적을 위해 구현될 수도 있는 반면, 다른 FPC 열 경감 기술들은 허용 가능한 열 에너지 생성 레이트에서 프로세싱 효율을 최대화하는 목적을 위해 구현될 수도 있음이 가정된다.
도 2 는, 그 각각이 멀티-코어 PCD 프로세서 (710; 도 7 에 도시) 의 프로세서 코어가 특정 클록된 전력 곡선 (205) 하에서 처리될 수도 있는 MIPS 의 개수와 등가인 평균 개수의 MIPS 를 처리하게 할 수도 있는 전력 사이클을 표현하는, 한 쌍의 예시적인 FPC 곡선들 (110, 220) 의 그래프 (200) 이다. 특히, 당업자는, 곡선 (205) 이 또한 예시적인 FPC 전력 곡선들 (110, 220) 의 각각에 의해 처리된 평균 개수의 MIPS 를 나타낼 수도 있는 것을 인식할 것이다. 예시적인 목적들을 위해, FPC 전력 곡선 (110) 은 PCD (700), 코어 (822) 상에서 구현될 수도 있고, FPC 전력 곡선 (220) 은 PCD (700), 코어 (824) 상에서 구현될 수도 있다.
도 1 의 그래프 (100) 에 대하여 전술된 것과 같이, FPC 전력 곡선 (110) 의 코어 (822) 로의 적용은, 코어 (822) 가 시간 t1 과 시간 t2 사이에 강제 전력 붕괴를 당하기 전에 곡선 부분 (110A) 에 걸쳐 전체 주파수로 명령들을 처리하게 할 수도 있다. 유리하게, 시간 t1 과 시간 t2 사이에 PL 을 손실해야할 필요 없이, FPC 곡선 (110) 의 코어 (822) 로의 적용은, 코어 (822) 가 시간 t2 에 걸쳐 실질적으로 동일한 수의 명령들 I1 을 처리하게 할 수도 있으며, 그렇지 않으면 클록된 곡선 (205) 의 적용마다 처리할 것이다.
특히, 코어 (822) 가 곡선 부분들 (110B 및 110D) 을 따라 강제 전력 붕괴를 당하기 때문에, PCD (700) 의 사용자는 (t2-t1) 및 (t4-t3) 가 상당한 양의 시간을 나타내는 일부 구현들에서 "지터 (jittery)" 서비스 품질 ("QoS") 을 경험할 수도 있다. 그 결과, FPC 열 경감 기술의 일부 실시형태들은 2 이상의 코어들 (822, 824) 을 동기화하여, 코어 (824) 의 프로세싱 곡선 부분들 (220B, 220D) 이 코어 (822) 의 FPC 곡선 부분들 (110B, 110D) 과 동시에 발생하게 할 수도 있음이 가정된다. 유사하게, 코어 (824) 의 FPC 곡선 부분들 (220A, 220C) 은 코어 (822) 의 프로세싱 곡선 부분들 (110A, 110C) 과 동시에 발생하도록 타이밍될 수도 있다. 프로세서 (710) 의 한 쌍 이상의 코어들에 걸쳐 상보적인 FPC 열 경감 곡선들을 엇갈리게 하는 (stagger) 결과는, 곡선 부분들 (110A, 220B, 110C 및 220D) 의 기울기와 연관된 주파수에서 구동중인 단일 코어에 일반적으로 기인하는 프로세싱 레벨에서 사용자에게 평탄한 QoS 경험을 제공할 수도 있는 것이 가정된다. 또한, 다른 실시형태들에서, 이러한 지터 QoS 영향은 "중지 및 시작" 프로세싱에 내재하는 스터터 (stutter) 가 사용자에게 뚜렷하지 않도록, 시간들 t0, t1 및 t2 를 선택함으로써 경감될 수도 있다.
그러나, 유리하게, 클럭된 곡선 (205) 과 일치하는 레이트로 한 쌍 이상의 코어들을 간단히 클록킹하는 것과는 다르게, 프로세서 (710) 에서 한 쌍 이상의 코어들에 걸쳐 상보적인 FPC 열 경감 곡선들을 엇갈리게 함으로써, (PL × (t2-t1) + PL × (t1-t0)) 과 동일한 양의 전력 소비 절약들이 일부 실시형태들에서 소정의 프로세싱 사이클에 걸쳐 실현될 수도 있다.
도 3 은, 그 각각이 멀티-코어 PCD 프로세서 (710) 의 프로세서 코어가 특정 클록된 전력 곡선 (305) 하에서 처리될 수도 있는 MIPS 의 개수와 등가인 평균 개수의 MIPS 를 처리하게 할 수도 있는 전력 사이클을 표현하는, 한 쌍의 예시적인 FPC 곡선들 (310, 320) 의 그래프 (300) 이다. 특히, 당업자는, 곡선 (305) 도 또한 예시적인 FPC 전력 곡선들 (310, 320) 의 각각에 의해 처리되는 평균 개수의 MIPS 를 나타내는 것을 인식할 것이다. 도 2 의 그래프 (200) 의 설명을 위해 제공된 예시적인 애플리케이션으로 리턴하면, FPC 곡선 (310) 은 프로세싱 코어 (822) 상에서 구현될 수도 있고, FPC 곡선 (320) 은 프로세싱 코어 (824) 상에서 구현될 수도 있다. 도 3 의 예에서, 코어 (822) 의 프로세싱 곡선 부분들 (310A, 310C) 은 코어 (824) 의 프로세싱 곡선 부분들 (320B, 320D) 보다 더 급격한 기울기를 갖는다. 이와 같이, 당업자는, FPC 곡선 (310) 이, 코어 (822) 가 FPC 곡선 (320) 에 의해 코어 (824) 에 제공되는 것보다 높은 주파수에서 명령들을 처리하게 할 수도 있음을 인식할 것이다. 특히, 더 높은 주파수에서 코어 (822) 의 프로세싱 전력을 레버리징함으로써, 코어 (822) 의 강제 전력 붕괴 (310B) 는 상보적인 코더 (824) 의 강제 전력 붕괴 (320A) 보다 더 긴 기간 (t2-t1) 에 걸쳐 유지될 수도 있으며, 따라서, 더 큰 PL 절약들을 잠재적으로 산출한다.
예시적인 FPC 곡선들 (310, 320) 과 같은 FPC 열 경감 기술들을 엇갈리게 하는 결과는, 도 2 의 애플리케이션에 대하여 가정된 것과 일치하는 순 (net) PL 절약들을 제공할 수도 있다. 그러나, CPU (710) 의 코어들이 프로세싱 능력, 열 소스들에 대한 근접도, 스레드 친화도 (thread affinity) 할당들, 등등에 있어 서로 다를 수 있는 경우들에서, CPU (710) 와 연관된 최대 프로세싱 전력 및/또는 최소 열 에너지 생성은, 정확히 미러화되지 않는다면, 다수의 코어들에 걸쳐 독립적인 FPC 열 경감 곡선들의 적용을 통해 실현될 수도 있음이 가정된다.
도 4 는, 그 각각이 멀티-코어 PCD 프로세서 (710) 에서의 프로세서 코어가 특정 클록된 전력 곡선 (205) 하에서 처리될 수도 있는 MIPS 의 개수와 등가인 평균 개수의 MIPS 를 처리하게 할 수도 있는 전력 사이클을 표현하는, 한 쌍의 예시적인 FPC 곡선들 (110, 220) 의 그래프 (400) 이다. 도 2 의 그래프 (200) 의 설명을 위해 제공된 예시적인 애플리케이션으로 리턴하면, FPC 곡선 (110) 은 프로세싱 코어 (822) 상에서 구현될 수도 있는 반면, FPC 곡선 (220) 은 프로세싱 코어 (824) 상에서 구현된다. 그러나, 도 4 의 예에서, FPC 곡선 (220) 은 타겟 프로세싱 곡선 (205) 에서 쉬프트 "업" 되었다. 쉬프트의 결과로, 코어 (822) 의 프로세싱 곡선 부분 (110C) 의 시작과 코어 (824) 의 프로세싱 곡선 부분 (220B) 의 종료 사이에 사이클 오버랩이 존재하며, 이는 시간 (t5-t4) 동안 발생한다. 유사하게, 코어 (822) 의 강제 전력 붕괴 (110B) 의 시작과 코어 (824) 의 강제 전력 붕괴 (220A) 의 종료 사이에 사이클 오버랩이 존재하며, 이는 시간 (t3-t2) 동안 발생한다.
CPU (710) 의 코어들은 프로세싱 능력, 열 소스들에 대한 근접도, 스레드 친화도 할당들, 등등에 있어 서로 다를 수도 있다. 따라서, 특히, 그래프 (400) 에 도시된 예시적인 FPC 곡선들 (110, 220) 과 같은 FPC 열 경감 기술들을 엇갈리게 함으로써, CPU (710) 와 연관된 최대 프로세싱 전력 및/또는 최소 열 에너지 생성은 다수의 코어들에 걸쳐 실현될 수도 있음이 가정된다.
도 5 는, 그 각각이 멀티-코어 PCD 프로세서 (710) 의 프로세서 코어가 특정 클록된 전력 곡선 (205) 하에서 처리될 수도 있는 MIPS 의 개수와 등가인 평균 개수의 MIPS 를 처리하게 할 수도 있는 전력 사이클을 표현하는, 한 쌍의 예시적인 FPC 곡선들 (110, 220) 의 그래프 (500) 이다. 도 2 의 그래프 (200) 의 설명을 위해 제공된 예시적인 애플리케이션으로 리턴하면, FPC 곡선 (110) 은 프로세싱 코어 (822) 상에서 구현될 수도 있는 반면, FPC 곡선 (220) 은 프로세싱 코어 (824) 상에서 구현된다. 그러나, 도 5 의 예에서, FPC 곡선 (220) 은 타겟 프로세싱 곡선 (205) 에서 쉬프트 "업" 되었다. 쉬프트의 결과로, 코어들 (822, 824) 의 강제 전력 붕괴 부분들 (110B, 220A) 사이에 사이클 오버랩이 존재하고, 이는 시간 (t2-t1) 동안 발생하며, 유사하게, 코어들 (822, 824) 의 강제 전력 붕괴 부분들 (110D, 220C) 사이에 사이클 오버랩이 존재하며, 이는 시간 (t4-t3) 동안 발생한다.
또한, 도 5 의 그래프 (500) 에서 FPC 곡선들 (110, 220) 의 프로세싱 곡선 부분들은 시간 (t3-t2) 동안 오버랩된다. 유리하게, 코어들 (822, 824) 의 강제 전력 붕괴들을 오버랩함으로써, 열적 열 손실 (thermal heat dissipation) 은 코어들 (822, 824) 의 강제 전력 붕괴들 동안 코어들 간에 중복되는 PL 절약들뿐만 아니라, 다른 열 생성 컴포넌트들을 갖는 PCD (700) 에 존재하고 있는 붕괴된 코어들의 총 질량에 의해서 획득될 수도 있는 열 에너지 흡수 양태들로 인해 최대화될 수도 있는 것이 가정된다.
CPU (710) 의 코어들은 프로세싱 능력, 열 소스들에 대한 근접도, 스레드 친화도 할당들, 등등에 있어 서로 다를 수도 있다. 따라서, 특히, 그래프 (500) 에 도시된 예시적인 FPC 곡선들 (110, 220) 과 같은 FPC 열 경감 기술들을 엇갈리게 함으로써, CPU (710) 와 연관된 최대 프로세싱 전력 및/또는 최소 열 에너지 생성은 다수의 코어들에 걸쳐 실현될 수도 있음이 가정된다.
도 6 은, 그 각각이 멀티-코어 PCD 프로세서 (710) 의 프로세서 코어가 특정 클록된 전력 곡선 (605) 하에서 처리될 수도 있는 MIPS 의 개수와 등가인 평균 개수의 MIPS 를 처리하게 할 수도 있는 전력 사이클을 표현하는, 한 쌍의 예시적인 FPC 곡선들 (610, 620) 의 그래프 (600) 이다. 특히, 당업자는, 곡선 (605) 도 또한 예시적인 FPC 전력 곡선들 (610, 620) 의 각각에 의해 처리되는 평균 개수의 MIPS 를 나타낼 수도 있는 것을 인식할 것이다. 도 2 의 그래프 (200) 의 설명을 위해 제공된 예시적인 애플리케이션으로 리턴하면, FPC 곡선 (610) 은 프로세싱 코어 (822) 상에서 구현될 수도 있는 반면, FPC 곡선 (620) 은 프로세싱 코어 (824) 상에서 구현된다.
도 6 의 예에서, 프로세싱 곡선 부분들 (610A, 610C, 620B, 620D) 동안의 코어들 (822, 824) 의 프로세싱 효율이 충분히 높아서, 프로세서들 각각은 각각의 코어 (822, 824) 의 강제 전력 붕괴 부분들 (610B, 620A 및 610D, 620C) 이 각각 주기들 (t2-t1) 및 (t5-t4) 동안 오버랩할 수도 있도록, 충분히 짧은 시간에 I1 명령들을 처리할 수도 있다.
CPU (710) 의 코어들은 프로세싱 능력, 열 소스들에 대한 근접도, 스레드 친화도 할당들, 등등에 있어 서로 다를 수도 있다. 따라서, 특히, 그래프 (600) 에 도시된 예시적인 FPC 곡선들 (610, 620) 과 같은 FPC 열 경감 기술들을 엇갈리게 함으로써, CPU (710) 와 연관된 최대 프로세싱 전력 및/또는 최소 열 에너지 생성은 다수의 코어들에 걸쳐 실현될 수도 있음이 가정된다.
도 1 내지 도 6 에 도시된 예시적인 FPC 곡선들에 대하여, 당업자는, 그러한 곡선들이 강제 전력 붕괴 양태들을 포함하는 열 경감 정책의 부분으로서 구현될 수도 있는 FPC 전력 곡선들 또는 곡선들의 조합들의 종합적인 묘사를 나타내지도 않고, 나타내도록 의도되지도 않을 것임을 인식할 것이다. 이와 같이, 다양한 기울기들, 프로세싱 지속시간들, 전력 붕괴 지속시간들, 시작 시간들, 종료 시간들, 등과 FPC 곡선들과의 다른 조합들이 당업자에게 발생할 것이며, 따라서, 도 1 내지 도 6 에 도시된 특정 곡선들은 본 개시물의 범위를 제한하지 않을 것이다.
도 7 은 열적 조건들을 모니터링하고 열 정책들을 관리하는 방법들 및 시스템들을 구현하기 위한, 무선 전화기 형태의 PCD (700) 의 예시적이고 비제한적인 양태의 기능 블록도이다. 일부 실시형태들에서, PCD (700) 는 프로세싱하는 명령들과 연관된 열적 부하를 관리하도록 구성될 수도 있다. 도시된 것과 같이, PCD (700) 는 함께 커플링된 멀티-코어 중앙 프로세싱 유닛 ("CPU"; 710) 및 아날로그 신호 프로세서 (726) 를 포함하는 온-칩 시스템 (702) 을 포함한다. CPU (710) 는, 당업자에 의해 이해되는 것과 같이, 제 0 코어 (822), 제 1 코어 (824), 및 제 N 코어 (830) 를 포함할 수도 있다. 추가로, CPU (710) 대신에, 디지털 신호 프로세서 ("DSP") 가 또한 당업자에 의해 이해되는 것과 같이 채용될 수도 있다.
일반적으로, 열 정책 관리자 모듈(들)(701) 은 PCD (700) 가 열적 조건들 및/또는 열적 부하들을 관리하고, 예컨대 임계 온도들에 도달하는 것과 같이 부정적인 열적 조건들을 경험하는 것을 회피하면서 고도의 기능성을 유지하는 것을 도울 수도 있는 하나 이상의 열 경감 기술들을 포함하는 열 정책들을 모니터링하고 적용하는 것을 담당할 수도 있다.
도 7 은 또한, PCD (700) 가 모니터 모듈 (714) 을 포함할 수도 있는 것을 도시한다. 모니터 모듈 (714) 은 온-칩 시스템 (702) 전체에 분포된 다수의 동작 센서들 (예컨대, 열 센서들 (757)) 과 통신하고, PCD (700) 의 CPU (710) 뿐만 아니라 열 정책 관리자 모듈 (701) 과 통신한다. 열 정책 관리자 모듈 (701) 은 모니터 모듈 (714) 및 강제 전력 붕괴 ("FPC") 모듈(들)(709) 과 함께 작업하여 부정적인 열적 조건들을 식별하고, 하기에서 더 상세히 설명될 하나 이상의 열 경감 기술들을 포함하는 열 정책들을 적용할 수도 있다.
도 7 에 예시한 바와 같이, 디스플레이 제어기 (728) 및 터치스크린 제어기 (730) 는 디지털 신호 프로세서 (710) 에 커플링된다. 온-칩 시스템 (702) 외부의 터치스크린 디스플레이 (732) 는 디스플레이 제어기 (728) 및 터치스크린 제어기 (730) 에 커플링된다.
PCD (700) 는 추가로, 비디오 인코더 (734), 예컨대 "PAL" (phase-alternating line) 인코더, "SECAM" (sequential couleur avec memoire) 인코더, "NTSC" (national television system(s) committee) 인코더 또는 임의의 다른 타입의 비디오 인코더 (734) 를 포함할 수도 있다. 비디오 인코더 (734) 는 멀티-코어 중앙 프로세싱 유닛 ("CPU")(710) 에 커플링된다. 비디오 증폭기 (736) 는 비디오 인코더 (734) 및 터치스크린 디스플레이 (732) 에 커플링된다. 비디오 포트 (738) 는 비디오 증폭기 (736) 에 커플링된다. 도 7 에 도시한 바와 같이, "USB" (universal serial bus) 제어기 (740) 가 CPU (710) 에 커플링된다. 또한, USB 포트 (742) 가 USB 제어기 (740) 에 커플링된다. 메모리 (712) SIM (subscriber identity module) 카드 (746) 가 또한 CPU (710) 에 커플링된다. 또한, 도 7 에 도시한 바와 같이, 디지털 카메라 (748) 가 CPU (710) 에 커플링될 수도 있다. 예시적 양태에서, 디지털 카메라 (748) 는 "CCD" (charge-coupled device) 카메라 또는 "CMOS" (complementary metal-oxide semiconductor) 카메라이다.
도 7 에 추가로 예시한 바와 같이, 스테레오 오디오 코덱 (750) 은 아날로그 신호 프로세서 (726) 에 커플링될 수도 있다. 또한, 오디오 증폭기 (752) 가 스테레오 오디오 코덱 (750) 에 커플링될 수도 있다. 예시적 양태에서, 제 1 스테레오 스피커 (754) 및 제 2 스테레오 스피커 (756) 는 오디오 증폭기 (752) 에 커플링된다. 도 7 은 마이크로폰 증폭기 (758) 가 또한 스테레오 오디오 코덱 (750) 에 커플링될 수도 있는 것을 도시한다. 추가로, 마이크로폰 (760) 이 마이크로폰 증폭기 (758) 에 커플링될 수도 있다. 특정 양태에서, 주파수 변조 ("FM") 라디오 튜너 (762) 가 스테레오 오디오 코덱 (750) 에 커플링될 수도 있다. 또한, FM 안테나 (764) 가 FM 라디오 튜너 (762) 에 커플링될 수도 있다. 또한, 스테레오 헤드폰들 (766) 이 스테레오 오디오 코덱 (750) 에 커플링될 수도 있다.
도 7 은 추가로, 무선 주파수 ("RF") 트랜시버 (768) 가 아날로그 신호 프로세서 (726) 에 커플링될 수도 있는 것을 나타낸다. RF 스위치 (770) 는 RF 트랜시버 (768) 및 RF 안테나 (772) 에 커플링될 수도 있다. 도 7 에 도시한 바와 같이, 키패드 (774) 는 아날로그 신호 프로세서 (726) 에 커플링될 수도 있다. 또한, 마이크로폰을 갖춘 모노 헤드셋 (776) 이 아날로그 신호 프로세서 (726) 에 커플링될 수도 있다. 또한, 바이브레이터 디바이스 (778) 는 아날로그 신호 프로세서 (726) 에 커플링될 수도 있다. 도 7 은 또한 전원 (780), 예를 들어 배터리가 온-칩 시스템 (702) 에 커플링된 것을 도시한다. 특정 양태에서, 전원은 AC 전원에 접속된 교류 ("AC") - DC 변환기로부터 도출되는 DC 전원 또는 재충전가능한 DC 배터리를 포함한다.
CPU (710) 는 또한, 하나 이상의 내부의 온-칩 열 센서들 (757A) 뿐만 아니라 하나 이상의 외부의 오프-칩 열 센서들 (757B) 에 커플링될 수도 있다. 온-칩 열 센서들 (757A) 은, 수직 PNP 구조에 기초하고 통상적으로 상보형 금속 산화물 반도체 ("CMOS") 초대규모 집적 회로 ("VLSI") 회로들에 전용되는 하나 이상의 "PTAT (proportional to absolute temperature)" 온도 센서들을 포함할 수도 있다. 오프-칩 열 센서들 (757B) 은 하나 이상의 서미스터들을 포함할 수도 있다. 열 센서들 (757) 은, 아날로그-디지털 컨버터 ("ADC") 제어기 (703; 도 8 에 도시) 에 의해 디지털 신호들로 컨버팅되는 전압 강하를 생성할 수도 있다. 그러나, 열 센서들 (757) 의 다른 타입들이 본 발명의 범위로부터 벗어나는 일 없이 채용될 수도 있다.
열 센서들 (757) 은 또한, ADC 제어기 (703) 에 의해 제어 및 모니터링되는 것 이외에도, 하나 이상의 열 정책 관리자 모듈(들)(701) 에 의해 제어 및 모니터링될 수도 있다. 열 정책 관리자 모듈(들)(701) 은 CPU (710) 에 의해 실행되는 소프트웨어를 포함할 수도 있다. 그러나, 열 정책 관리자 모듈(들)(701) 은 또한 본 발명의 범위로부터 벗어나는 일 없이 하드웨어 및/또는 펌웨어로부터 형성될 수도 있다. 열 정책 관리자 모듈(들)(701) 은, PCD (700) 가 고도의 기능성을 유지하면서 임계 온도들을 회피하는 것을 도울 수도 있는 하나 이상의 열 경감 기술들을 포함하는 열 정책들을 모니터링 및 적용하는 것을 담당할 수도 있다. 유사하게, FPC 모듈(들)(709) 은 CPU (710) 에 의해 실행되는 소프트웨어를 포함할 수도 있다. 그러나, FPC 모듈(들)(709) 은 또한, 본 발명의 범위로부터 벗어나는 일 없이 하드웨어 및/또는 펌웨어로부터 형성될 수도 있다. FPC 모듈(들)(709) 은 리소스 전력 관리 ("RPM") 모듈(들)(707), 타이머(들)(704) 및 클록(들)(705) 과 협력하여 작업하며, PCD (700) 가 고도의 기능성을 유지하면서 임계 온도들을 회피하는 것을 도울 수도 있는 하나 이상의 열 경감 기술들을 포함하는 열 정책들을 모니터링 및 적용하는 것을 담당할 수도 있다.
도 7 은 또한, PCD (700) 가 모니터 모듈 (714) 을 포함할 수도 있는 것을 도시한다. 모니터 모듈 (714) 은 온-칩 시스템 (702) 전반에 걸쳐 분포된 다수의 동작가능한 센서들과 통신하고, PCD (700) 의 CPU (710) 와는 물론 열 정책 관리자 모듈 (701) 과도 통신한다. 열 정책 관리자 모듈 (701) 은 모니터 모듈과 작업하여, 하기에서 더욱 상세히 설명되는 바와 같은 하나 이상의 열 경감 기술들을 포함하는 열 정책들을 적용할 수도 있다.
도 7 은 또한, 터치스크린 디스플레이 (732), 비디오 포트 (738), USB 포트 (742), 카메라 (748), 제 1 스테레오 스피커 (754), 제 2 스테레오 스피커 (756), 마이크로폰 (760), FM 안테나 (764), 스테레오 헤드폰 (766), RF 스위치 (770), RF 안테나 (772), 키패드 (774), 모노 헤드셋 (776), 바이브레이터 (778), 열 센서들 (757B), 및 전원 (780) 이 온-칩 시스템 (702) 외부에 있는 것을 도시한다. 그러나, 모니터 모듈 (714) 은 또한, PCD (700) 상에서 동작가능한 리소스들의 실시간 관리를 돕기 위해, 아날로그 신호 프로세서 (726) 및 CPU (710) 에 의해 이들 외부 디바이스들 중 하나 이상으로부터 하나 이상의 표시들 또는 신호들을 수신할 수도 있다는 것이 이해되어야 한다.
특정 양태에서, 본 명세서에 설명된 방법 단계들 중 하나 이상은, 하나 이상의 열 정책 관리자 모듈(들)(701) 및/또는 강제 전력 붕괴 모듈(들)(709) 을 형성하는 메모리 (712) 에 저장된 실행가능 명령들 및 파라미터들에 의해 구현될 수도 있다. 모듈(들) 을 형성하는 이러한 명령들은, 여기에 설명된 방법들을 수행하기 위한 ADC 제어기 (703) 이외에도, CPU (710), 아날로그 신호 프로세서 (726), 또는 또 다른 프로세서에 의해 실행될 수도 있다. 또한, 프로세서들 (710, 726), 메모리 (712), 그 메모리에 저장된 명령들, 또는 이들의 조합은, 여기에 설명된 방법 단계들 중 하나 이상을 수행하기 위한 수단으로서 기능할 수도 있다.
도 8 은 도 7 에 예시된 칩 (702) 에 대한 하드웨어의 예시적인 공간적 배열을 예시한 기능 블록도이다. 이 예시적인 실시형태에 따르면, 애플리케이션 CPU (710) 는 칩 (702) 의 극 좌측 영역 상에 포지셔닝되는 반면, 모뎀 CPU (768, 726) 는 칩 (702) 의 극 우측 영역 상에 포지셔닝된다. 애플리케이션 CPU (710) 는 제 0 코어 (822), 제 1 코어 (824), 및 제 N 코어 (830) 를 포함하는 멀티-코어 프로세서를 포함할 수도 있다. 애플리케이션 CPU (710) 는 (소프트웨어로 구현될 때) 열 정책 관리자 모듈 (701A) 및/또는 강제 전력 붕괴 모듈 (709A) 을 실행하고 있을 수도 있거나, 또는 (하드웨어로 구현될 때) 열 정책 관리자 모듈 (701A) 및/또는 강제 전력 붕괴 모듈 (709A) 을 포함할 수도 있다. 애플리케이션 CPU (710) 는 또한 운영 시스템 ("O/S") 모듈 (807) 및 모니터 모듈 (714) 을 포함하는 것으로 예시된다.
애플리케이션 CPU (710) 는 애플리케이션 CPU (710) 에 인접하고 칩 (702) 의 좌측 영역에 포지셔닝되는, 하나 이상의 위상 고정 루프 ("PLL") 들 (809A, 809B) 에 커플링될 수도 있다. PLL들 (809A, 809B) 에 인접하고 애플리케이션 CPU (710) 의 하부에는, 아날로그-디지털 ("ADC") 제어기 (703) 를 포함할 수도 있는데, 그 ADC 제어기 (703) 는 애플리케이션 CPU (710) 의 메인 열 정책 관리자 모듈 (701A) 과 함께 동작하는 자기 소유의 열 정책 관리자 (701B) 를 포함할 수도 있다.
ADC 제어기 (703) 의 열 정책 관리자 (701B) 는 "온-칩" (702) 및 "오프-칩" (702) 에 제공될 수도 있는 다수의 열 센서들 (757) 을 모니터링 및 추적하는 것을 담당할 수도 있다. 온-칩 또는 내부 열 센서들 (757A) 은 다양한 위치들에 포지셔닝될 수도 있다.
예를 들어, 제 1 내부 열 센서 (757A1) 는 내부 메모리 (712) 에 인접하고 애플리케이션 CPU (710) 와 모뎀 CPU (768, 726) 사이의 칩 (702) 의 상부 중심 영역에 포지셔닝될 수도 있다. 제 2 내부 열 센서 (757A2) 는 칩 (702) 의 우측 영역 상의 모뎀 CPU (768, 726) 의 하부에 포지셔닝될 수도 있다. 이 제 2 내부 열 센서 (757A2) 는 또한 진보된 "RISC" (reduced instruction set computer) 명령 세트 머신 ("ARM") (777) 과 제 1 그래픽 프로세서 (735A) 사이에 포지셔닝될 수도 있다. 디지털-아날로그 제어기 ("DAC"; 773) 는 제 2 내부 열 센서 (757A2) 와 모뎀 CPU (768, 726) 사이에 포지셔닝될 수도 있다.
제 3 내부 열 센서 (757A3) 는 칩 (702) 의 극우 영역에서 제 2 그래픽 프로세서 (735B) 와 제 3 그래픽 프로세서 (735C) 사이에 포지셔닝될 수도 있다. 제 4 내부 열 센서 (757A4) 는 칩 (702) 의 극우 영역에, 그리고 제 4 그래픽 프로세서 (735D) 아래에 포지셔닝될 수도 있다. 그리고 제 5 내부 열 센서 (757A5) 는 칩 (702) 의 극좌 영역에, 그리고 PLL들 (809) 및 ADC 제어기 (703) 에 인접하여 포지셔닝될 수도 있다.
하나 이상의 외부 열 센서들 (757B) 은 또한 ADC 제어기 (703) 에 커플링될 수도 있다. 제 1 외부 열 센서 (757B1) 는 오프-칩에, 그리고 모뎀 CPU (768, 726), ARM (777) 및 DAC (773) 를 포함할 수도 있는 칩 (702) 의 상부 우측 사분면 (top right quadrant) 에 인접하여 포지셔닝될 수도 있다. 제 2 외부 열 센서 (757B2) 는 오프-칩에, 그리고 제 3 및 제 4 그래픽 프로세서들 (735C, 735D) 을 포함할 수도 있는 칩 (702) 의 하부 우측 사분면 (lower right quadrant) 에 인접하여 포지셔닝될 수도 있다.
당업자는, 도 8 에 예시된 하드웨어의 다양한 다른 공간적 배열들이 본 개시물의 범위로부터 벗어나는 일 없이 제공될 수도 있다는 것을 인식할 것이다. 도 8 은 아직 하나의 예시적인 공간적 배열 및 메인 열 정책 관리자 모듈 (701A) 및 그 열 정책 관리자 (701B) 를 가진 ADC 제어기 (703) 가 도 8 에 예시된 예시적인 공간적 배열의 함수인 열 상태들을 관리할 수도 있는 방식을 예시한다.
도 9 는 도 8 에 예시된 칩의 열 정책 관리자 ("TPM")(701), 강제 전력 붕괴 모듈 ("FPC")(709), 리소스 전력 관리자 ("RPM")(707) 및 클록들 (705) 및 타이머들 (704) 간의 각각의 논리적인 접속들을 예시하는 기능 블록도이다. TPM (701) 은 (도 9 에 도시되지 않은) 모니터링 모듈 (714) 과 같은 중재 컴포넌트를 통해 온도 센서들 (757) 과 통신할 수도 있지만, 그러한 배열은 모든 실시형태들에 대하여 요구되는 양태는 아니다.
TPM (701) 은 열 경감 기술의 적용을 보장하는 열 에너지 조건을 나타낼 수도 있는, 온도 센서들 (757) 로부터의 입력들을 수신한다. 일 예시적인 실시형태에서, TPM (701) 은, CPU (710) 의 주파수가 CPU (710) 에 의한 활성 전력의 현재 소비 레이트를 경감시킬 수도 있는 레벨로 감소되도록, CPU (710) 의 코어가 "클록"되어야만 한다고 결정할 수도 있다. 제안된 감소된 주파수는, TPM (701) 에 의해 결정된 것과 같이, CPU (710) 로의 적용을 위해 FPC 모듈 (709) 로 포워딩될 수도 있다.
CPU (710) 의 주파수를 감소시키기 위해 TPM (701) 로부터의 명령들을 수신시, FPC 모듈 (709) 은 대안적인 FPC 열 경감 알고리즘의 애플리케이션에 비해 TPM (701) 명령들 마다 주파수를 간단히 감소시키는 전력 절약들 및/또는 프로세싱 효율들을 비교할 수도 있다. CPU (710) 에 적용할 최적의 열 경감 방법을 결정하면, FPC 모듈 (709) 은 결정된 방법이 RPM (707), 타이머들 (704) 및 클록들 (705) 의 통신 및 캘리브레이션을 통해 CPU (710) 상에서 구현되게 할 수도 있다. FPC 열 경감 기술의 구현과 관련된 세부사항은 도 10 내지 도 13 과 관련하여 이하 논의된다.
도 10 은 PCD (700) 에서 전력 소비를 감소시킴으로써 열 부하들을 감소시키는 방법 (1000) 을 예시하는 논리 흐름도이다. 블록 (1005) 에서, 열 정책 관리자 모듈 (701) 은 온도 센서들 (757) 로 PCD (700) 의 온도를 모니터링할 수도 있다. 특히, 열 정책 관리자 모듈 (701) 은 도 8 의 칩 (702) 상의 하드웨어 디바이스들 근처의 온도를, 온도 센서들 (757A1, 77A2) 로 모니터링할 수도 있다.
다음에, 결정 블록 (1010) 에서, 열 정책 관리자 모듈 (701) 은 열 경감 기술의 적용이 보장되는지 여부를 결정하기 위해 임계 온도 값들을 트래킹할 수도 있다. 결정 블록 (1010) 에 대한 질문이 네거티브이면, "아니오" 브랜치가 다시 블록 (1005) 를 뒤따른다. 결정 블록 (1010) 에 대한 질문이 포지티브이면, "예" 브랜치는 블록 (1015) 을 뒤따른다. 블록 (1015) 에서, 열 정책 관리자 모듈 (701) 은 PA 의 소비를 저하시킴으로써, QoS 를 희생하여 열 에너지 생성을 저하시티는 CPU (710) 프로세싱 주파수를 계산할 수도 있다.
블록 (1020) 에서, 열 정책 관리자 모듈 (701) 은 CPU (710) 의 프로세싱 주파수를 감소시키기 위해 블록 (1015) 에서 그 계산과 일치하게 명령들을 FPC 모듈 (709) 로 포워딩할 수도 있다. 다음에, 블록 (1025) 에서, FPC 모듈 (709) 은 CPU (710) 또는 CPU (710) 내의 코어에 대한 주파수를 계산할 수도 있다. 블록 (1025) 에서, 정책 관리자 모듈 (701) 에 의해 요구된 감소된 주파수와 연관된 스루풋 저하가 계산될 수도 있다. 스루풋 저하는 소정의 주파수에서 처리될 수 있는 MIPS 의 수에 의한 또는 주파수 감소 퍼센티지에 의한 것을 포함하지만 이에 제한되지 않는 임의의 수의 방식들에 의해 정량화될 수도 있다. 그 후에, 루틴 또는 서브-방법 블록 (1030) 에서, FPC 모듈 (709) 은 강제 전력 붕괴를 포함하는 전력 곡선 상에 구동중인 CPU (710) 와 연관된 전력 절약들 및/또는 프로세싱 효율에 비해, 제안된 주파수에서 구동중인 CPU (710) 와 연관된 전력 절약들 및/또는 프로세싱 효율을 비교할 수도 있다. 서브-방법 블록 (1030) 의 추가의 세부사항들은 도 11 과 관련하여 하기에서 설명될 것이다.
루틴 블록 (1030) 이후, 블록 (1035) 에서, FPC 모듈 (709) 은 가장 효율적인 열 경감 기술을 구현하기 위해 RPM (707), 클록들 (705) 및 타이머들 (704) 과 통합될 수도 있다. 그 후에, 방법 (1000) 은 칩 (702) 의 온도가 열 정책 관리자 모듈 (701) 에 의해 모니터링되는, 블록 (1005) 으로 다시 리턴한다.
도 11 은 PCD (700) 에서의 전력 소비에 있어 가장 효율적인 감소를 제공할 수도 있는 열 경감 기술을 결정하는 서브-방법 또는 서브루틴 (1030) 을 예시하는 논리 흐름도이다. 블록 (1105) 에서, FPC 모듈 (709) 은 CPU (710) 가 최고 주파수에서 구동중이었던 경우에, CPU (710) 가 도 10 의 블록 (1025) 에서 계산된 개수의 명령들을 처리하는데 요구되는 시간 t1 의 양을 결정할 수도 있다. 특히, 일부 실시형태들에서 t1 는 소정 개수의 MIPS 를 처리하는데 요구되는 시간에 기초하여 결정될 수도 있지만, 당업자는 t1 이 주파수 비율과 같지만 이에 제한되지 않는 다른 인자들에 기초하여 결정될 수도 있음을 이해할 것이다. 비-제한적인 예로서, t1 은 정책 관리자 모듈 (701) 에 의해 주문된 감소된 주파수와 코어의 최대 주파수의 비율에 기초하여 결정될 수도 있다. 그러한 예시적인 실시형태에서, 예컨대, 1 GHz 의 최대 주파수에 비해 500 MHz 의 감소된 주파수는 t1 이 t2 의 절반인 것을 표시할 수도 있다 (여기서, 500/1000 은 0.5 와 동일하고, t2 는 프로세서가 감소된 주파수에서 소정 스루풋을 처리하는데 요구되는 시간 양이다). 그 후에, 블록 (1110) 에서, FPC 모듈 (709) 은 PL 의 회피로부터의 이득들이 실현될 수 있기 전에 전력 붕괴 CPU (710) 에 요구되는 전력 및 오버헤드 시간 tover 의 양을 결정할 수도 있다. 특히, 블록 (1115) 에서 계산된 것과 같은 t1 과 tover 의 합은, CPU (710) 가 그 에너지 소비 [E = (FPA × t) + (PL × t)] 가 강제 전력 붕괴를 통해 경감될 수 있기 전에 I1 명령들을 처리하는데 요구하는 시간 양을 나타낸다.
결정 블록 (1120) 에서, (t1 + tover) 가 t2 미만인 것으로 결정되고, 여기서 t2 는 CPU (710) 가 TPM (701) 에 의해 제안된 감소된 주파수에서 구동중이었던 경우 도 10 의 블록 (1025) 에서 계산된 개수의 명령들을 CPU (710) 가 처리하는데 필요한 시간 양이라면, [( P A + P L )* t 2 ] - [( FP A + FP L )* t 1 + 전력 오버헤드] 와 동일한 양의 잠재적인 전력 절약들이 FPC 열 경감 알고리즘의 적용을 통해 실현될 수도 있다. 대안적으로, (t1+tover) 가 t2 와 동일하거나 그보다 크다면, FPC 모듈 (709) 은 TPM (701) 에 의해 제안된 감소된 주파수 열 경감 기술을 구현할 수도 있다.
결정 블록 (1120) 에서의 표시가 (t1+tover) 가 t2 와 동일하거나 그보다 크다는 것이라면, 서브루틴 (1030) 은 도 12 의 블록 (1205) 으로 진행할 수도 있다. 특히, 그러한 경우에, 당업자는, 블록 (1025) 으로 진행하라는 결정이 TPM (701) 에 의해 제안된 감소된 주파수가 최적 경우의 QoS 레벨을 나타낸다는 확인응답에 기초할 수도 있음을 인식할 것이다. 그러나, 만약 결정 블록 (1120) 에서의 표시가 (t1+tover) 가 t2 미만인 것이고, 따라서 TPM (701) 에 의해 제안된 열 경감 기술에 대한 적어도 등가의 QoS 레벨을 나타낸다면, 서브루틴 (1030) 은 블록 (1125) 으로 계속될 수도 있다.
블록 (1125) 에서, TPM (701) (즉, 강제 전력 붕괴 개술에 대한 대안적인 또는 기준적인 열 경감 기술(들)) 에 의해 제안된 감소된 주파수에서 예측된 전력 소비는 강제 전력 붕괴 열 경감 기술 하에 동작하는 CPU (710) 의 예측된 전력 소비와 비교될 수도 있다. [(PA+PL)*t2] > [(FPA+FPL)*t1 + 전력 오버헤드] 이면, 서브루틴 (1030) 은 도 13 의 블록 (1305) 로 진행할 수도 있으며, 이는 최대 프로세싱 주파수 (또는 최대 프로세싱 주파수 미만의 어떤 주파수) 를 레버리징하는 FPC 기술이 QoS 레벨에 손상 없이 소정의 작업 부하를 처리하기 위해 더 적은 전력을 소비할 수도 있기 때문이다. [(PA+PL)*t2] < [(FPA+FPL)*t1 + 전력 오버헤드] 이면, 서브루틴 (1030) 은 도 12 의 블록 (1205) 으로 디폴트되고, TPM (701) 에 의해 초기에 제안된 감소된 주파수를 구현하도록 진행할 수도 있다.
특히, 열 경감 기술 결정 알고리즘 (1030) 이 FPC 열 경감 기술과 주파수 감소 열 경감 기술 간의 시간 및 전력 소비 비교들 양자를 포함하는 2-스텝 비교와 관련하여 설명되었다. 본질적으로, FPC 열 경감 기술 하에 소정의 작업 부하를 처리하기 위한 시간이 주파수 감소 기술 하에 동일한 작업 부하를 처리하기 위한 시간 미만이라면, 시간에 있어서 차이는 FPC 기술 하에 전력 절약들에 대한 기회를 나타낸다. 시간 델타 동안 전력을 절약할 기회가 인식된다면, 대안적인 열 경감 기술들의 전력 소비는 하나의 기술이 궁극적으로 선택되고 구현되기 전에 비교된다. 이것은 예시적인 기술 결정 알고리즘 (1030) 의 일 실시형태에 불과하며, 이와 같이, 당업자는 열 경감 기술 결정 알고리즘 (1030) 이 대안적으로 프로세싱 시간, 전력 소비, QoS 레벨, 열 에너지 생성, 과거 구현들과 연관된 경험적 데이터, 예측된 작업 부하들, 등을 포함하지만 그에 제한되지 않는 임의의 단일 인자 또는 인자들의 조합에 기초할 수도 있음을 인식할 것이다.
도 1 내지 도 6 과 관련하여 설명된 예시적인 전력 곡선들과 일치하는 예시적인 FPC 열 경감 알고리즘은 도 13 에 더 상세히 설명된다. 예시적인 감소된 주파수 열 경감 기술은 도 12 와 관련하여 하기에서 더 상세히 설명된다.
도 12 는 동적 전압 및 주파수 스케일링 ("DVFS") 열 경감 기술들을 적용하는 방법 (1200) 을 예시하는 논리적인 흐름도이다. DVFS 알고리즘들은 특정 열적 조건들이 전술된 것과 같이 충족될 경우, 열 정책 관리자 모듈 (701) 에 의해 트리거될 수도 있는 적어도 하나의 열 경감 기술을 형성하거나, 이의 부분일 수도 있다. DVFS 열 경감 기술은 전력 소비와 성능간의 트레이드-오프들을 가능하게 한다.
프로세서들 (710 및 726; 도 7 및 도 8) 은 각각의 프로세서의 클록 주파수가 대응하는 전압 조정에 따라 조정되게 함으로써, DVFS 를 이용하도록 설계될 수도 있다. 동작 전압의 감소는 통상적으로 소비된 활성 전력 PA 에 있어 비례하는 절약들을 발생하지만, 전술된 것과 같이, 누설 전력 PL 의 소비에 어떤 영향도 주지 않는다.
블록 (1205) 은 DVFS 솔루션을 포함하는 열 경감 기술에서 제 1 단계이다. 이러한 제 1 블록 (1205) 에서, 열 정책 관리자 모듈 (701) 은 열 센서들 (757) 에 의해 제공된 온도 판독치들에 기초하여 현재 열적 상태를 결정할 수도 있다. 현재 열적 상태가 열 정책 관리자 모듈 (701) 에 의해 결정되면, 열 정책 관리자 모듈 (701) 은 블록 (1210) 에서, 제안된 DVFS 세팅을 FPC 모듈 (709) 로 포워딩 (도 10 의 블록 (1020)) 하기 전에 하나 이상의 하드웨어 및/또는 소프트웨어 모듈들의 현재 작업 부하들을 검토할 수도 있다. FPC 모듈 (709) 은 열 경감 기술 결정 서브루틴 (1030) 으로 진행한 후에, 블록 (1215) 에서 CPU (710) 의 현재 DVFS 세팅들을 검토할 수도 있다.
다음에, 블록 (1220) 에서, FPC 모듈 (709) 은 열적 로딩 조건들을 완화시키기 위해, 작업 부하를 감소시키거나 작업 부하를 공간적으로 쉬프트하기 위해 전압 및/또는 주파수를 포함할 수도 있는 현재 DVFS 세팅들을 클록들 (705) 에서 조정하거나, 조정하기 위한 커맨드들을 조정 또는 발행할 수도 있다.
TPM (701) 에 의해 제안될 수도 있는 예시적인 DVFS 열 경감 솔루션들에 따르면, FPC 모듈 (709) 은 (1) 부하 스케일링 및/또는 (2) 부하 동적 스케일링과 같지만, 이에 제한되지 않는 열 경감 기술들을 개시할 것을 선택할 수도 있다. 부하 스케일링은 DVFS 알고리즘에서 허용된 클록 (705) 의 최대 주파수를 조정하거나 "스케일링하는" 것을 포함할 수도 있다.
도 13 은 PCD (700) 에 강제 전력 붕괴 ("FPC") 열 경감 기술을 적용함으로써 열적 부하들을 감소시키는 방법 (1300) 을 예시하는 논리 흐름도이다. 방법 (1300) 은 도 1 과 관련하여 도시되고 설명된 FPC 곡선과 관련하여 설명될 것이다.
FPC (709) 가 서브루틴 (1030) 에서 FPC 열 경감 기술이 채용되어 한다고 결정하는 경우에, 블록 (1305) 에서 FPC 모듈 (709) 은 시간 t0 에서 시작하여 전체 전력 레이팅에서 CPU (710) 또는 CPU (710) 내의 코어를 구동시키기 위한 클록 (705) 을 세팅할 수도 있다. CPU (710) 는 시간 t1 까지 전체 전력 레이팅에서 구동할 수도 있다. 블록 (1310) 에서, 타이머 (704) 는 RPM (707) 이 블록 (1315) 에서 시간 t1 (도 1 의 그래프 (100) 에 도시) 에서 CPU (710) 로의 모든 전력을 제거하게 하도록 설정될 수도 있고, 따라서 CPU (710) 에서 전력 붕괴를 강요할 수도 있다. 타이머 (704) 는 또한, 시간 t2 에서 RPM (707) 이 CPU (710) 를 "웨이크업" 하게 하도록 세팅될 수도 있다. 유리하게, 시간 t1 과 시간 t2 간의 기간 동안 CPU (710) 에 전력 붕괴를 강요함으로써, PL × (t2 - (t1+tover)) 과 동일한 양의 PL 절약들이 실현될 수도 있다.
결정 블록 (1320) 에서, 타이머가 사이클링하지 않았다면, CPU (710) 는 블록 (1325) 에 대하여 강제 전력 붕괴를 유지할 것이며, 따라서 전술된 것과 같은 PL 의 소비를 절약한다. 타이머 (704) 가 시간 t2 로 사이클링하면, CPU (710) 는 블록 (1330) 에서 어웨이크되고, 결정 블록 (1335) 에서 TPM (701) 로부터의 어떤 추가 명령도 FPC 모듈 (709) 에 의해 수신되지 않았다면, 사이클은 블록 (1305) 으로 리턴하고, 시간 t2 과 시간 t4 사이에서 반복할 것이다. 만약, 결정 블록 (1335) 에서, FPC 모듈 (709) 이 TPM (701) 으로부터, CPU (710) 의 프로세싱 주파수를 추가로 변경하라는 (방법 (1000) 의 블록 (1020)) 명령들을 수신했다면, FPC 모듈 (709) 은 서브루틴 (1030) 의 블록 (1105) 으로 리턴할 수도 있다.
본 명세서에 설명된 프로세스들 또는 프로세스 흐름들의 특정 단계들은 상술된 바와 같이 기능하도록 본 발명에 대한 다른 것들에 본질적으로 선행한다. 그러나, 본 발명은 이러한 순서 또는 시퀀스가 본 발명의 기능성을 변경하지 않는다면 설명된 단계들의 순서로 제한되지 않는다. 즉, 일부 단계들은 본 발명의 사상 및 범위로부터 벗어나는 일 없이 다른 단계들 전에, 후에, 또는 병렬로 (실질적으로 동시에) 수행될 수도 있다는 것이 인지된다. 일부 경우들에서, 특정 단계들은 본 발명으로부터 벗어나는 일 없이 생략되거나 수행되지 않을 수도 있다. 또한, "그 후에", "그 다음에", "다음에" 등과 같은 단어들은 단계들의 순서를 제한하는 것으로 의도되지 않는다. 이들 단어들은 예시적인 방법의 설명을 통해 독자를 안내하기 위해 단순히 사용된다.
부가적으로, 프로그래밍의 당업자는 컴퓨터 코드를 기입하거나 적절한 하드웨어 및/또는 회로들을 식별하여, 예를 들어, 본 명세서의 관련 설명 및 흐름도들에 기초하여 어려움 없이 개시된 본 발명을 구현하는 것이 가능하다.
따라서, 특정 세트의 프로그램 코드 명령들 또는 상세한 하드웨어 디바이스들의 개시물은 본 발명을 실시 및 이용하는 방법의 충분한 이해를 위해 필요한 것으로 간주되지 않는다. 청구된 컴퓨터 구현 프로세스들의 발명적 기능성은 상기 설명에서 그리고 다양한 프로세스 흐름들을 예시할 수도 있는 도면들과 관련하여 더 상세히 설명된다.
하나 이상의 예시적인 양태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현된다면, 그 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장 또는 송신될 수도 있다.
본 문서의 내용에서, 컴퓨터 판독가능 매체는 컴퓨터 관련 시스템 또는 방법에 의해, 또는 이와 관련하여 이용하기 위한 컴퓨터 프로그램 및 데이터를 포함하거나 저장할 수도 있는 전자적이거나, 자기적이거나, 광학적이거나, 다른 물리적인 디바이스 또는 수단이다. 다양한 로직 엘리먼트들 및 데이터 저장소들은 명령 실행 시스템, 장치, 또는 디바이스, 예컨대 컴퓨터-기반 시스템, 프로세서-포함 시스템, 또는 명령 실행 시스템, 장치, 또는 디바이스로부터 명령들을 인출하고 명령들을 실행할 수도 있는 다른 시스템에 의해 또는 이와 관련하여 이용하기 위한 임의의 컴퓨터 판독가능 매체에서 구현될 수도 있다. 본 문서의 내용에서, "컴퓨터 판독가능 매체" 는 명령 실행 시스템, 장치, 또는 디바이스에 의해 또는 이와 관련하여 이용하기 위한 프로그램을 저장하거나, 통신하거나, 전파하거나, 전송할 수도 있는 임의의 수단을 포함할 수도 있다.
컴퓨터 판독가능 매체는 예컨대, 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 장치, 디바이스, 또는 전파 매체일 수 있지만, 이에 제한되지 않을 수 있다. 컴퓨터 판독가능 매체의 더 구체적인 예들 (불완전 리스트) 은 다음을 포함할 수도 있다: 하나 이상의 와이어들을 갖는 전자 접속물 (전자), 휴대용 컴퓨터 디스켓 (자기), 랜덤 액세스 메모리 (RAM)(전자), 판독 전용 메모리 (ROM)(전자), 소거가능한 프로그래머블 판독 전용 메모리 (EPROM, EEPROM, 또는 플래시 메모리)(전자), 광 섬유 (광학), 및 휴대용 소형 디스크 판독 전용 메모리 (CD-ROM)(광학). 컴퓨터 판독가능 매체는 프로그램이 프린트되는 페이퍼 또는 다른 적절한 매체일 수 있는데, 이는 그 프로그램이 예컨대, 페이퍼 또는 다른 매체의 광학 스캐닝을 통해 전자적으로 캡처되고, 그 후 컴파일링되거나, 해석되거나, 그렇지 않으면 필요한 경우 적절한 방식으로 처리되고, 그후 컴퓨터 메모리에 저장되기 때문임에 유의한다.
컴퓨터 판독가능 매체는 일 장소로부터 또 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체와 컴퓨터 저장 매체 양자를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수도 있는 임의의 이용가능한 매체일 수도 있다. 제한이 아닌 예로서, 이러한 컴퓨터 판독가능 매체는 임의의 광 디스크 저장, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 운반 또는 저장하는데 사용될 수도 있고 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다.
또한, 임의의 커넥션이 컴퓨터 판독가능 매체라고 적절히 지칭된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 트위스티드 페어, 디지털 가입자 회선 ("DSL"), 또는 적외선, 무선 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버 또는 다른 원격 소스로부터 송신된다면, 매체의 정의에는 동축 케이블, 광섬유 케이블, 트위스티드 페어, DSL, 또는 적외선, 무선 및 마이크로파와 같은 무선 기술들이 포함된다.
디스크 (disk) 및 디스크 (disc) 는, 여기에 사용돈 바와 같이, 콤팩트 디스크 ("CD"), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 ("DVD"), 플로피 디스크 및 블루-레이 디스크를 포함하며, 여기서 디스크 (disk) 는 보통 데이터를 자기적으로 재생시키는 한편, 디스크 (disc) 는 레이저를 이용하여 데이터를 광학적으로 재생시킨다. 상기의 조합이 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
따라서, 선택된 양태들은 상세히 예시 및 설명되었지만, 다양한 치환들 및 변경들이 다음의 청구항들에 의해 정의된 바와 같이, 본 발명의 사상 및 범위로부터 벗어나는 일 없이 여기에 행해질 수도 있다는 것이 이해될 것이다.

Claims (40)

  1. 휴대용 컴퓨팅 디바이스 ("PCD") 에서 열 에너지 생성을 감소시키는 방법으로서,
    상기 PCD 에서 제 1 프로세싱 컴포넌트에 공급된 전력 주파수를 제 1 전력 주파수 레벨로 조정하라는 지시들을 수신하는 단계;
    상기 전력 주파수가 상기 제 1 전력 주파수 레벨로 조정되었을 경우, 상기 제 1 프로세싱 컴포넌트가 t0 부터 t2 까지의 기간에 걸쳐 처리하도록 동작가능한 명령들의 양을 계산하는 단계로서, 시간 t1 은 시간 t0 과 시간 t2 사이에 있는, 상기 명령들의 양을 계산하는 단계;
    상기 제 1 프로세싱 컴포넌트에 공급된 상기 전력 주파수를 제 2 전력 주파수 레벨로 조정하는 단계로서, 상기 제 2 전력 주파수 레벨에서 상기 제 1 프로세싱 컴포넌트는 t0 부터 t1 까지의 기간에 걸쳐 상기 명령들의 양을 실질적으로 처리하도록 동작가능한, 상기 전력 주파수를 제 2 전력 주파수 레벨로 조정하는 단계;
    상기 PCD 의 타이머 컴포넌트를 세팅하는 단계로서, 상기 타이머 컴포넌트를 세팅하는 것은, t1 부터 t2 까지의 기간 동안 상기 제 1 프로세싱 컴포넌트로의 모든 전력의 제거를 트리거하도록 기능하는, 상기 PCD 의 타이머 컴포넌트를 세팅하는 단계; 및
    시간 t2 에서 상기 제 1 프로세싱 컴포넌트를 웨이크하는 단계를 포함하며,
    상기 제 1 프로세싱 컴포넌트를 웨이크하는 것은 상기 제 2 전력 주파수 레벨에서의 전력의 상기 제 1 프로세싱 컴포넌트로의 제공을 재개하는 것을 포함하는, PCD 에서 열 에너지 생성을 감소시키는 방법.
  2. 제 1 항에 있어서,
    상기 제 2 전력 주파수 레벨은 상기 제 1 프로세싱 컴포넌트의 최대 주파수와 연관되는, PCD 에서 열 에너지 생성을 감소시키는 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 제 2 전력 주파수 레벨은 상기 제 1 프로세싱 컴포넌트의 전체보다는 적은 전력 레이팅과 연관되는, PCD 에서 열 에너지 생성을 감소시키는 방법.
  5. 제 1 항에 있어서,
    상기 제 1 프로세싱 컴포넌트에 공급된 전력 주파수를 제 1 전력 주파수 레벨로 조정하라는 지시들은 상기 PCD 의 온도 판독치에 의해 트리거되는, PCD 에서 열 에너지 생성을 감소시키는 방법.
  6. 제 1 항에 있어서,
    상기 제 1 프로세싱 컴포넌트에 공급된 상기 제 2 전력 주파수 레벨을 제 3 전력 주파수 레벨로 조정하라는 지시들을 수신하는 단계;
    상기 전력 주파수가 상기 제 3 전력 주파수 레벨로 조정되었을 경우, 상기 제 1 프로세싱 컴포넌트가 t2 부터 t4 까지의 기간에 걸쳐 처리하도록 동작가능한 제 2 의 명령들의 양을 계산하는 단계로서, 시간 t3 은 시간 t2 과 시간 t4 사이에 있는, 상기 제 2 의 명령들의 양을 계산하는 단계;
    상기 제 1 프로세싱 컴포넌트에 공급된 상기 전력 주파수를 제 4 전력 주파수 레벨로 조정하는 단계로서, 상기 제 4 전력 주파수 레벨에서 상기 제 1 프로세싱 컴포넌트는 t2 부터 t3 까지의 기간에 걸쳐 상기 제 2 의 명령들의 양을 처리하도록 동작가능한, 상기 전력 주파수를 제 4 전력 주파수 레벨로 조정하는 단계; 및
    상기 PCD 의 타이머 컴포넌트를 리셋하는 단계로서, 상기 타이머 컴포넌트를 리셋하는 것은, t3 부터 t4 까지의 기간 동안 상기 제 1 프로세싱 컴포넌트로의 모든 전력의 제거를 트리거하도록 기능하는, 상기 PCD 의 타이머 컴포넌트를 리셋하는 단계를 더 포함하는, PCD 에서 열 에너지 생성을 감소시키는 방법.
  7. 삭제
  8. 제 6 항에 있어서,
    상기 제 1 프로세싱 컴포넌트에 공급된 전력 주파수를 제 3 전력 주파수 레벨로 조정하라는 지시들은 상기 PCD 의 온도 판독치에 의해 트리거되는, PCD 에서 열 에너지 생성을 감소시키는 방법.
  9. 제 1 항에 있어서,
    상기 PCD 에서 제 2 프로세싱 컴포넌트에 공급된 전력 주파수를 상기 제 2 전력 주파수 레벨로 조정하는 단계로서, 상기 제 2 전력 주파수 레벨에서 상기 제 2 프로세싱 컴포넌트는 t1 부터 t2 까지의 기간에 걸쳐 상기 명령들의 양을 실질적으로 처리하도록 동작가능한, 상기 전력 주파수를 상기 제 2 전력 주파수 레벨로 조정하는 단계;
    상기 PCD 의 타이머 컴포넌트를 세팅하는 단계로서, 상기 타이머 컴포넌트를 세팅하는 것은, t0 부터 t1 까지의 기간 동안 상기 제 2 프로세싱 컴포넌트로의 모든 전력의 제거를 트리거하도록 기능하는, 상기 PCD 의 타이머 컴포넌트를 세팅하는 단계; 및
    시간 t1 에서 상기 제 2 프로세싱 컴포넌트를 웨이크하는 단계를 포함하며,
    상기 제 2 프로세싱 컴포넌트를 웨이크하는 것은 상기 제 2 전력 주파수 레벨에서의 전력의 상기 제 2 프로세싱 컴포넌트로의 제공을 재개하는 것을 더 포함하는, PCD 에서 열 에너지 생성을 감소시키는 방법.
  10. 제 9 항에 있어서,
    상기 제 2 프로세싱 컴포넌트에 제공된 상기 제 2 전력 주파수 레벨은 상기 제 2 프로세싱 컴포넌트의 전체 전력 레이팅과 연관되는, PCD 에서 열 에너지 생성을 감소시키는 방법.
  11. 휴대용 컴퓨팅 디바이스 ("PCD") 에서 열 에너지 생성을 감소시키는 컴퓨터 시스템으로서,
    강제 전력 붕괴 ("FPC") 모듈을 포함하며,
    상기 FPC 모듈은,
    상기 PCD 에서 제 1 프로세싱 컴포넌트에 공급된 전력 주파수를 제 1 전력 주파수 레벨로 조정하라는 지시들을 수신하고;
    상기 전력 주파수가 상기 제 1 전력 주파수 레벨로 조정되었을 경우, 상기 제 1 프로세싱 컴포넌트가 t0 부터 t2 까지의 기간에 걸쳐 처리하도록 동작가능한 명령들의 양을 계산하는 것으로서, 시간 t1 은 시간 t0 과 시간 t2 사이에 있는, 상기 명령들의 양을 계산하고;
    상기 제 1 프로세싱 컴포넌트에 공급된 상기 전력 주파수를 제 2 전력 주파수 레벨로 조정하는 것으로서, 상기 제 2 전력 주파수 레벨에서 상기 제 1 프로세싱 컴포넌트는 t0 부터 t1 까지의 기간에 걸쳐 상기 명령들의 양을 실질적으로 처리하도록 동작가능한, 상기 전력 주파수를 제 2 전력 주파수 레벨로 조정하고;
    상기 PCD 의 타이머 컴포넌트를 세팅하는 것으로서, 상기 타이머 컴포넌트를 세팅하는 것은, t1 부터 t2 까지의 기간 동안 상기 제 1 프로세싱 컴포넌트로의 모든 전력의 제거를 트리거하도록 기능하는, 상기 PCD 의 타이머 컴포넌트를 세팅하며; 그리고
    시간 t2 에서 상기 제 1 프로세싱 컴포넌트를 웨이크하도록
    동작가능하며,
    상기 제 1 프로세싱 컴포넌트를 웨이크하는 것은 상기 제 2 전력 주파수 레벨에서의 전력의 상기 제 1 프로세싱 컴포넌트로의 제공을 재개하는 것을 포함하는, PCD 에서 열 에너지 생성을 감소시키는 컴퓨터 시스템.
  12. 제 11 항에 있어서,
    상기 제 2 전력 주파수 레벨은 상기 제 1 프로세싱 컴포넌트의 최대 주파수와 연관되는, PCD 에서 열 에너지 생성을 감소시키는 컴퓨터 시스템.
  13. 삭제
  14. 제 11 항에 있어서,
    상기 제 2 전력 주파수 레벨은 상기 제 1 프로세싱 컴포넌트의 전체보다는 적은 전력 레이팅과 연관되는, PCD 에서 열 에너지 생성을 감소시키는 컴퓨터 시스템.
  15. 제 11 항에 있어서,
    상기 제 1 프로세싱 컴포넌트에 공급된 전력 주파수를 제 1 전력 주파수 레벨로 조정하라는 지시들은 상기 PCD 의 온도 판독치에 의해 트리거되는, PCD 에서 열 에너지 생성을 감소시키는 컴퓨터 시스템.
  16. 제 11 항에 있어서,
    상기 FPC 모듈은 추가로,
    상기 제 1 프로세싱 컴포넌트에 공급된 상기 제 2 전력 주파수 레벨을 제 3 전력 주파수 레벨로 조정하라는 지시들을 수신하고;
    상기 전력 주파수가 상기 제 3 전력 주파수 레벨로 조정되었을 경우, 상기 제 1 프로세싱 컴포넌트가 t2 부터 t4 까지의 기간에 걸쳐 처리하도록 동작가능한 제 2 의 명령들의 양을 계산하는 것으로서, 시간 t3 은 시간 t2 과 시간 t4 사이에 있는, 상기 제 2 의 명령들의 양을 계산하고;
    상기 제 1 프로세싱 컴포넌트에 공급된 상기 전력 주파수를 제 4 전력 주파수 레벨로 조정하는 것으로서, 상기 제 4 전력 주파수 레벨에서 상기 제 1 프로세싱 컴포넌트는 t2 부터 t3 까지의 기간에 걸쳐 상기 제 2 의 명령들의 양을 처리하도록 동작가능한, 상기 전력 주파수를 제 4 전력 주파수 레벨로 조정하며; 그리고
    상기 PCD 의 타이머 컴포넌트를 리셋하는 것으로서, 상기 타이머 컴포넌트를 리셋하는 것은, t3 부터 t4 까지의 기간 동안 상기 제 1 프로세싱 컴포넌트로의 모든 전력의 제거를 트리거하도록 기능하는, 상기 PCD 의 타이머 컴포넌트를 리셋하도록
    동작가능한, PCD 에서 열 에너지 생성을 감소시키는 컴퓨터 시스템.
  17. 삭제
  18. 제 16 항에 있어서,
    상기 제 1 프로세싱 컴포넌트에 공급된 전력 주파수를 제 3 전력 주파수 레벨로 조정하라는 지시들은 상기 PCD 의 온도 판독치에 의해 트리거되는, PCD 에서 열 에너지 생성을 감소시키는 컴퓨터 시스템.
  19. 제 11 항에 있어서,
    상기 FPC 모듈은 추가로,
    상기 PCD 에서 제 2 프로세싱 컴포넌트에 공급된 전력 주파수를 상기 제 2 전력 주파수 레벨로 조정하는 것으로서, 상기 제 2 전력 주파수 레벨에서 상기 제 2 프로세싱 컴포넌트는 t1 부터 t2 까지의 기간에 걸쳐 상기 명령들의 양을 실질적으로 처리하도록 동작가능한, 상기 전력 주파수를 상기 제 2 전력 주파수 레벨로 조정하고;
    상기 PCD 의 타이머 컴포넌트를 세팅하는 것으로서, 상기 타이머 컴포넌트를 세팅하는 것은, t0 부터 t1 까지의 기간 동안 상기 제 2 프로세싱 컴포넌트로의 모든 전력의 제거를 트리거하도록 기능하는, 상기 PCD 의 타이머 컴포넌트를 세팅하며; 그리고
    시간 t1 에서 상기 제 2 프로세싱 컴포넌트를 웨이크하도록
    동작가능하며,
    상기 제 2 프로세싱 컴포넌트를 웨이크하는 것은 상기 제 2 전력 주파수 레벨에서의 전력의 상기 제 2 프로세싱 컴포넌트로의 제공을 재개하는 것을 포함하는, PCD 에서 열 에너지 생성을 감소시키는 컴퓨터 시스템.
  20. 제 19 항에 있어서,
    상기 제 2 프로세싱 컴포넌트에 제공된 상기 제 2 전력 주파수 레벨은 상기 제 2 프로세싱 컴포넌트의 전체 전력 레이팅과 연관되는, PCD 에서 열 에너지 생성을 감소시키는 컴퓨터 시스템.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 컴퓨터 판독가능 프로그램 코드가 수록된 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 판독가능 프로그램 코드는 휴대용 컴퓨팅 디바이스 ("PCD") 에서 열 에너지 생성을 감소시키는 방법을 구현하도록 실행되도록 구성되며,
    상기 방법은,
    상기 PCD 에서 제 1 프로세싱 컴포넌트에 공급된 전력 주파수를 제 1 전력 주파수 레벨로 조정하라는 지시들을 수신하는 단계;
    상기 전력 주파수가 상기 제 1 전력 주파수 레벨로 조정되었을 경우, 상기 제 1 프로세싱 컴포넌트가 t0 부터 t2 까지의 기간에 걸쳐 처리하도록 동작가능한 명령들의 양을 계산하는 단계로서, 시간 t1 은 시간 t0 과 시간 t2 사이에 있는, 상기 명령들의 양을 계산하는 단계;
    상기 제 1 프로세싱 컴포넌트에 공급된 상기 전력 주파수를 제 2 전력 주파수 레벨로 조정하는 단계로서, 상기 제 2 전력 주파수 레벨에서 상기 제 1 프로세싱 컴포넌트는 t0 부터 t1 까지의 기간에 걸쳐 상기 명령들의 양을 실질적으로 처리하도록 동작가능한, 상기 전력 주파수를 제 2 전력 주파수 레벨로 조정하는 단계;
    상기 PCD 의 타이머 컴포넌트를 세팅하는 단계로서, 상기 타이머 컴포넌트를 세팅하는 것은, t1 부터 t2 까지의 기간 동안 상기 제 1 프로세싱 컴포넌트로의 모든 전력의 제거를 트리거하도록 기능하는, 상기 PCD 의 타이머 컴포넌트를 세팅하는 단계; 및
    시간 t2 에서 상기 제 1 프로세싱 컴포넌트를 웨이크하는 단계를 포함하며,
    상기 제 1 프로세싱 컴포넌트를 웨이크하는 것은 상기 제 2 전력 주파수 레벨에서의 전력의 상기 제 1 프로세싱 컴포넌트로의 제공을 재개하는 것을 포함하는, 컴퓨터 판독가능 저장 매체.
  32. 제 31 항에 있어서,
    상기 제 2 전력 주파수 레벨은 상기 제 1 프로세싱 컴포넌트의 최대 주파수와 연관되는, 컴퓨터 판독가능 저장 매체.
  33. 삭제
  34. 제 31 항에 있어서,
    상기 제 2 전력 주파수 레벨은 상기 제 1 프로세싱 컴포넌트의 전체보다는 적은 전력 레이팅과 연관되는, 컴퓨터 판독가능 저장 매체.
  35. 제 31 항에 있어서,
    상기 제 1 프로세싱 컴포넌트에 공급된 전력 주파수를 제 1 전력 주파수 레벨로 조정하라는 지시들은 상기 PCD 의 온도 판독치에 의해 트리거되는, 컴퓨터 판독가능 저장 매체.
  36. 제 31 항에 있어서,
    상기 제 1 프로세싱 컴포넌트에 공급된 상기 전력 주파수 레벨을 제 3 전력 주파수 레벨로 조정하라는 지시들을 수신하는 단계;
    상기 전력 주파수가 상기 제 3 전력 주파수 레벨로 조정되었을 경우, 상기 제 1 프로세싱 컴포넌트가 t2 부터 t4 까지의 기간에 걸쳐 처리하도록 동작가능한 제 2 의 명령들의 양을 계산하는 단계로서, 시간 t3 은 시간 t2 과 시간 t4 사이에 있는, 상기 제 2 의 명령들의 양을 계산하는 단계;
    상기 제 1 프로세싱 컴포넌트에 공급된 상기 전력 주파수를 제 4 전력 주파수 레벨로 조정하는 단계로서, 상기 제 4 전력 주파수 레벨에서 상기 제 1 프로세싱 컴포넌트는 t2 부터 t3 까지의 기간에 걸쳐 상기 제 2 의 명령들의 양을 처리하도록 동작가능한, 상기 전력 주파수를 제 4 전력 주파수 레벨로 조정하는 단계; 및
    상기 PCD 의 타이머 컴포넌트를 리셋하는 단계로서, 상기 타이머 컴포넌트를 리셋하는 것은, t3 부터 t4 까지의 기간 동안 상기 제 1 프로세싱 컴포넌트로의 모든 전력의 제거를 트리거하도록 기능하는, 상기 PCD 의 타이머 컴포넌트를 리셋하는 단계를 더 포함하는, 컴퓨터 판독가능 저장 매체.
  37. 삭제
  38. 제 36 항에 있어서,
    상기 제 1 프로세싱 컴포넌트에 공급된 전력 주파수를 제 3 전력 주파수 레벨로 조정하라는 지시들은 상기 PCD 의 온도 판독치에 의해 트리거되는, 컴퓨터 판독가능 저장 매체.
  39. 제 31 항에 있어서,
    상기 PCD 에서 제 2 프로세싱 컴포넌트에 공급된 전력 주파수를 상기 제 2 전력 주파수 레벨로 조정하는 단계로서, 상기 제 2 전력 주파수 레벨에서 상기 제 2 프로세싱 컴포넌트는 t1 부터 t2 까지의 기간에 걸쳐 상기 명령들의 양을 실질적으로 처리하도록 동작가능한, 상기 전력 주파수를 상기 제 2 전력 주파수 레벨로 조정하는 단계;
    상기 PCD 의 타이머 컴포넌트를 세팅하는 단계로서, 상기 타이머 컴포넌트를 세팅하는 것은, t0 부터 t1 까지의 기간 동안 상기 제 2 프로세싱 컴포넌트로의 모든 전력의 제거를 트리거하도록 기능하는, 상기 PCD 의 타이머 컴포넌트를 세팅하는 단계; 및
    시간 t1 에서 상기 제 2 프로세싱 컴포넌트를 웨이크하는 단계를 더 포함하며,
    상기 제 2 프로세싱 컴포넌트를 웨이크하는 것은 상기 제 2 전력 주파수 레벨에서의 전력의 상기 제 2 프로세싱 컴포넌트로의 제공을 재개하는 것을 포함하는, 컴퓨터 판독가능 저장 매체.
  40. 제 39 항에 있어서,
    상기 제 2 프로세싱 컴포넌트에 제공된 상기 제 2 전력 주파수 레벨은 상기 제 2 프로세싱 컴포넌트의 전체 전력 레이팅과 연관되는, 컴퓨터 판독가능 저장 매체.
KR1020147003824A 2011-07-14 2012-06-19 휴대용 컴퓨팅 디바이스에서 열 에너지 생성을 감소시키는 방법 및 시스템 KR101547072B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/182,940 2011-07-14
US13/182,940 US9383804B2 (en) 2011-07-14 2011-07-14 Method and system for reducing thermal load by forced power collapse
PCT/US2012/043077 WO2013009439A1 (en) 2011-07-14 2012-06-19 Method and system for reducing thermal energy generation in a portable computing device

Publications (2)

Publication Number Publication Date
KR20140048270A KR20140048270A (ko) 2014-04-23
KR101547072B1 true KR101547072B1 (ko) 2015-08-24

Family

ID=46466861

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147003824A KR101547072B1 (ko) 2011-07-14 2012-06-19 휴대용 컴퓨팅 디바이스에서 열 에너지 생성을 감소시키는 방법 및 시스템

Country Status (6)

Country Link
US (1) US9383804B2 (ko)
EP (1) EP2732354A1 (ko)
JP (1) JP5743366B2 (ko)
KR (1) KR101547072B1 (ko)
CN (1) CN103748529B (ko)
WO (1) WO2013009439A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201413437A (zh) * 2012-09-25 2014-04-01 Msi Computer Shenzhen Co Ltd 多階段降低cpu能耗的節能裝置
US9348402B2 (en) 2013-02-19 2016-05-24 Qualcomm Incorporated Multiple critical paths having different threshold voltages in a single processor core
US9404812B2 (en) * 2013-03-14 2016-08-02 Samsung Electronics Co., Ltd. Method for detecting environmental value in electronic device and electronic device
US9430014B2 (en) 2013-07-18 2016-08-30 Qualcomm Incorporated System and method for idle state optimization in a multi-processor system on a chip
US9927866B2 (en) 2013-11-21 2018-03-27 Qualcomm Incorporated Method and system for optimizing a core voltage level and enhancing frequency performance of individual subcomponents for reducing power consumption within a PCD
US9977439B2 (en) 2014-04-08 2018-05-22 Qualcomm Incorporated Energy efficiency aware thermal management in a multi-processor system on a chip
KR20150121977A (ko) 2014-04-22 2015-10-30 주식회사 만도 교통표지판 인식장치 및 그의 제한속도 출력방법
EP3172637B1 (en) * 2014-07-22 2019-03-13 Qualcomm Incorporated Method and system for optimizing power usage by individual subsystems of a portable computing device
US9625963B2 (en) * 2014-08-29 2017-04-18 Qualcomm Incorporated Thermally-constrained voltage and frequency scaling
US9946327B2 (en) * 2015-02-19 2018-04-17 Qualcomm Incorporated Thermal mitigation with power duty cycle
RU2685969C1 (ru) * 2018-08-07 2019-04-23 Акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" (АО НПЦ "ЭЛВИС") Способ управления энергопотреблением в гетерогенной системе на кристалле

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3264139B2 (ja) * 1994-07-07 2002-03-11 株式会社デンソー マイクロコンピュータの駆動装置
JP2009506424A (ja) * 2005-08-25 2009-02-12 アップル インコーポレイテッド 動的温度制御の方法及び装置
JP2011129147A (ja) * 2011-01-31 2011-06-30 Panasonic Corp プロセッサシステム、命令列最適化装置、および命令列最適化プログラム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590061A (en) * 1994-05-12 1996-12-31 Apple Computer, Inc. Method and apparatus for thermal management in a computer system
US6101610A (en) * 1997-03-28 2000-08-08 International Business Machines Corporation Computer system having thermal sensing with dual voltage sources for sensor stabilization
US7017062B2 (en) * 2000-12-29 2006-03-21 Intel Corporation Method and apparatus for recovering from an overheated microprocessor
JP2002215597A (ja) * 2001-01-15 2002-08-02 Mitsubishi Electric Corp マルチプロセッサ装置
US6792550B2 (en) 2001-01-31 2004-09-14 Hewlett-Packard Development Company, L.P. Method and apparatus for providing continued operation of a multiprocessor computer system after detecting impairment of a processor cooling device
US6804632B2 (en) 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US7194385B2 (en) 2002-11-12 2007-03-20 Arm Limited Performance level setting of a data processing system
GB2395309A (en) 2002-11-12 2004-05-19 Advanced Risc Mach Ltd Performance level selection in a data processing system
CN100374981C (zh) 2002-12-31 2008-03-12 联想(北京)有限公司 计算机散热及控制噪音的方法
JP4213572B2 (ja) 2003-11-28 2009-01-21 株式会社東芝 電子機器およびプロセッサ速度制御方法
US7337335B2 (en) 2004-12-21 2008-02-26 Packet Digital Method and apparatus for on-demand power management
US7409570B2 (en) 2005-05-10 2008-08-05 Sony Computer Entertainment Inc. Multiprocessor system for decrypting and resuming execution of an executing program after transferring the program code between two processors via a shared main memory upon occurrence of predetermined condition
US20070076747A1 (en) * 2005-09-30 2007-04-05 Amir Zinaty Periodic network controller power-down
US7386414B2 (en) * 2005-11-29 2008-06-10 International Business Machines Corporation Generation of hardware thermal profiles for a set of processors
JP2008026948A (ja) 2006-07-18 2008-02-07 Renesas Technology Corp 半導体集積回路
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
US7917784B2 (en) * 2007-01-07 2011-03-29 Apple Inc. Methods and systems for power management in a data processing system
US8341433B2 (en) * 2008-01-04 2012-12-25 Dell Products L.P. Method and system for managing the power consumption of an information handling system
EP2245519A2 (en) * 2008-02-15 2010-11-03 Plastic Logic Limited Electronic document reading device
JP5251190B2 (ja) 2008-03-19 2013-07-31 富士通株式会社 半導体装置
US7800426B2 (en) * 2008-03-27 2010-09-21 Taiwan Semiconductor Manufacturing Co., Ltd. Two voltage input level shifter with switches for core power off application
US20130124890A1 (en) * 2010-07-27 2013-05-16 Michael Priel Multi-core processor and method of power management of a multi-core processor
US8924756B2 (en) * 2011-06-27 2014-12-30 Intel Corporation Processor core with higher performance burst operation with lower power dissipation sustained workload mode

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3264139B2 (ja) * 1994-07-07 2002-03-11 株式会社デンソー マイクロコンピュータの駆動装置
JP2009506424A (ja) * 2005-08-25 2009-02-12 アップル インコーポレイテッド 動的温度制御の方法及び装置
JP2011129147A (ja) * 2011-01-31 2011-06-30 Panasonic Corp プロセッサシステム、命令列最適化装置、および命令列最適化プログラム

Also Published As

Publication number Publication date
CN103748529A (zh) 2014-04-23
US20130019120A1 (en) 2013-01-17
JP5743366B2 (ja) 2015-07-01
CN103748529B (zh) 2016-06-01
JP2014521169A (ja) 2014-08-25
US9383804B2 (en) 2016-07-05
EP2732354A1 (en) 2014-05-21
KR20140048270A (ko) 2014-04-23
WO2013009439A1 (en) 2013-01-17

Similar Documents

Publication Publication Date Title
KR101547072B1 (ko) 휴대용 컴퓨팅 디바이스에서 열 에너지 생성을 감소시키는 방법 및 시스템
EP3430496B1 (en) System and method for intelligent thermal management in a system on a chip having a heterogeneous cluster architecture
US9465423B2 (en) System and method for thermal management in a portable computing device using thermal resistance values to predict optimum power levels
JP5643336B2 (ja) 温度に基づいてマルチコア中央処理装置内の複数のコアを動的に制御するためのシステムおよび方法
US9703336B2 (en) System and method for thermal management in a multi-functional portable computing device
KR101534450B1 (ko) 누설 전류 측정으로부터 열 관리 폴리시를 결정하는 시스템 및 방법
US20160179164A1 (en) System and method for peak dynamic power management in a portable computing device
KR101254878B1 (ko) 마이크로 아키텍처 대역폭 스로틀링을 통해 프로세서를 작동하기 위한 방법, 디바이스 및 시스템
KR101411729B1 (ko) 감소된 주파수 발진들을 갖는 중앙 처리 장치 전력을 제어하기 위한 시스템 및 방법
JP2004178588A (ja) プロセッサに供給される電圧をクロック周波数に応じて調整する方法
US20180157315A1 (en) System and method for proactive power and performance management of a workload in a portable computing device
WO2014197565A1 (en) System and method for intelligent multimedia-based thermal power management in a portable computing device
US8224497B2 (en) Energy limit in a sliding window in power and heat management
JP6377560B2 (ja) 情報処理装置、cpu印加電圧制御装置、情報処理装置の制御方法
KR20160085892A (ko) 칩상의 시스템에서의 동작 주파수 조정 및 작업부하 스케쥴링을 위한 시스템 및 방법
WO2017116636A2 (en) System and method for intelligent thermal management based on a thermal power envelope in a portable computing device
EP2915020A1 (en) System and method for controlling central processing unit power with guaranteed transient deadlines
TWI447573B (zh) 電子裝置以及電力控制方法
Lee A System-Level Dynamic Power Management Considering Resource Characteristics

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
LAPS Lapse due to unpaid annual fee