KR101726552B1 - 멀티-코어 프로세서들에 대한 가속화된 열 완화 - Google Patents

멀티-코어 프로세서들에 대한 가속화된 열 완화 Download PDF

Info

Publication number
KR101726552B1
KR101726552B1 KR1020167009929A KR20167009929A KR101726552B1 KR 101726552 B1 KR101726552 B1 KR 101726552B1 KR 1020167009929 A KR1020167009929 A KR 1020167009929A KR 20167009929 A KR20167009929 A KR 20167009929A KR 101726552 B1 KR101726552 B1 KR 101726552B1
Authority
KR
South Korea
Prior art keywords
processor
core processor
temperature
processor cores
busy
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020167009929A
Other languages
English (en)
Other versions
KR20160067123A (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 KR20160067123A publication Critical patent/KR20160067123A/ko
Application granted granted Critical
Publication of KR101726552B1 publication Critical patent/KR101726552B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • Y02B60/1239
    • Y02B60/1275
    • Y02B60/1282
    • Y02B60/142
    • 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)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Abstract

온도 센서는 멀티-코어 프로세서의 온도를 감지할 수도 있다. 멀티-코어 프로세서의 온도가 멀티-코어 프로세서에 대한 온도 임계치를 초과하는 것에 응답하여, 멀티-코어 프로세서의 클록 속도를 감소시키지 않으면서 멀티-코어 프로세서의 하나 이상의 비지 프로세서 코어들이 전력 폭락될 수도 있다.

Description

멀티-코어 프로세서들에 대한 가속화된 열 완화{ACCELERATED THERMAL MITIGATION FOR MULTI-CORE PROCESSORS}
본 개시물은 멀티-코어 프로세서들에 대한 온도 관리에 관한 것이다.
이용 중에, 멀티-코어 프로세서, 예컨대, 멀티-코어 그래픽 프로세싱 유닛 (GPU) 또는 멀티-코어 중앙 프로세싱 유닛 (CPU) 은 멀티-코어 프로세서가 컴퓨터 명령들을 프로세싱하는 동안에 열기를 소멸시킬 수도 있다. 프로세서 코어들에 의해 생성된 열기는 동적 전력 소멸 및 정적 누설에 의해 생성된 열기를 포함할 수도 있다. 동적 전력 소멸은 프로세서가 컴퓨터 명령들을 프로세싱하는 동안에 프로세서의 트랜지스터들의 충전 및 방전에 의해 발생된 열기일 수도 있고, 정적 누설은 프로세서의 트랜지스터들이 이용 중이지 않을지라도 (예를 들어, 프로세서들이 파워 온되었으나 유휴상태인 경우), 프로세서들이 파워 온된 경우에 흐르는 게이트 누설 및 다른 누설 전류들로부터 발생된 열기일 수도 있다. 멀티-코어 프로세서들은 멀티-코어 프로세서들의 열 엔벨로프, 또는 프로세서들에 의해 허용되는 최대 전력 인출보다 더 좋은 성능이 가능할 수도 있으며, 열 완화 전략들은 프로세서들이 과열되는 것을 방지하도록 구현될 수도 있다.
일반적으로, 본 개시물의 양상들은 멀티-코어 프로세서들의 열 엔벨로프를 초과한 멀티-코어 프로세서들의 가속된 열 완화에 대한 기법들을 설명한다. 온도 임계치보다 보다 높은 온도를 갖는 멀티-코어 프로세서는 클록 및/또는 전압을 변화시키지 않으면서 하나 이상의 비지 (busy) 프로세서 코어들을 전력 폭락시킴으로써 (collapse) 프로세싱 전력을 보존하면서 온도 임계치 아래로 빠르게 온도를 복귀시킬 수 있다.
일 예에서, 멀티-코어 프로세서의 열을 완화시키는 방법은 온도 임계치를 초과하는 멀티-코어 프로세서의 온도에 응답하여 멀티-코어 프로세서의 클록 속도를 감소시키지 않으면서 멀티-코어 프로세서의 하나 이상의 비지 프로세서 코어들을 전력 폭락시키는 단계를 포함한다.
다른 예에서, 장치는 멀티-코어 프로세서 및 온도 임계치를 초과하는 멀티-코어 프로세서의 온도에 응답하여 멀티-코어 프로세서의 클록 속도를 감소시키지 않으면서 멀티-코어 프로세서의 하나 이상의 비지 프로세서 코어들을 전력 폭락시키도록 구성된 전력 제어 모듈을 포함한다.
다른 예에서, 장치는 멀티-코어 프로세서의 온도를 감지하는 수단, 및 온도 임계치를 초과하는 멀티-코어 프로세서의 온도를 감지하는 수단에 의해 감지된 멀티-코어 프로세서의 온도에 응답하여 멀티-코어 프로세서의 클록 속도를 감소시키지 않으면서 멀티-코어 프로세서의 하나 이상의 비지 프로세서 코어들을 전력 폭락시키는 수단을 포함한다.
다른 예에서, 컴퓨터-판독가능 매체, 예컨대, 컴퓨터-판독가능 저장 매체는, 실행되는 경우, 하나 이상의 프로그래밍가능한 프로세서들로 하여금, 온도 임계치를 초과하는 멀티-코어 프로세서의 온도에 응답하여 멀티-코어 프로세서의 클록 속도를 감소시키지 않으면서 멀티-코어 프로세서의 하나 이상의 비지 프로세서 코어들을 전력 폭락시키게 하는 명령들을 저장한다.
하나 이상의 예들의 세부사항들이 첨부 도면들 및 하기의 설명에서 제시된다. 다른 특징들, 목적들 및 이점들은 하기의 설명 및 도면들, 및 하기의 청구항들로부터 자명할 것이다.
도 1 은, 본 개시물의 일부 양상들에 따른, 열 완화를 위해 하나 이상의 비지 코어들이 중지될 수 있는, 멀티-코어 프로세서를 포함하는 일 예시적인 프로세서 유닛을 도시하는 블록도이다.
도 2 는 본 개시물의 일부 양상들에 따른 멀티-코어 프로세서를 열적으로 완화시키는 방법의 일 예시적인 방법을 도시하는 플로 차트이다.
도 3a 내지 도 3d 는 본 개시물의 양상들에 따른 교대로 멀티-코어 프로세서의 비지 코어들을 전력 폭락시키는 것을 도시하는 개념도들이다.
도 4a 내지 도 4d 는, 본 개시물의 양상들에 따른, 지능형 교대 알고리즘을 통해 멀티-코어 프로세서의 비지 코어들을 전력 폭락시키는 것을 도시하는 개념도이다.
도 5 는 본 개시물의 하나 이상의 양상들을 구현하도록 구성될 수도 있는 디바이스의 일 예를 도시하는 블록도이다.
멀티-코어 프로세서를 열적으로 완화시키기 위한 일부 가능성있는 접근법들은 프로세서의 온도가 온도 임계치를 초과하는 경우 프로세서 코어들에 대한 클록 레이트 및 전압 레벨들을 감소시키는 단계를 포함할 수도 있다. 프로세서의 온도가 정상 레벨로 복귀되면, 프로세서에 대한 원래의 클록 레이트 및 전압 레벨들이 회복될 수 있다. 그러나, 프로세서의 프로세서 코어들에 대한 클록은 통상적으로 또한 프로세서 코어들 이외에 프로세서의 다른 컴포넌트들, 예컨대, 프로세서 상의 메모리들 및 캐시들에 의해 이용되는 클록이기 때문에, 프로세서들의 클록 레이트를 감소시키는 것은 이러한 컴포넌트들의 성능을 또한 감소시킬 것이다. 더불어, 클록 레이트 및 전압 레벨들을 감소시키는 것이 동적 전력 소멸을 감소시킬 수 있긴 하나, 그러한 접근법은 정적 누설에 의해 야기되는 열기를 완화시키지 않는다.
이에 따라, 본 개시물의 양상들은 온도 임계치가 초과되는 경우 프로세서의 클록 레이트 또는 전압 레벨들을 감소시키지 않으면서 멀티-코어 프로세서의 하나 이상의 코어들을 전력 폭락시키는 것 (즉, 턴 오프) 을 포함한다. 온도 임계치는 프로세서가 열기에 의해 손상될 수도 있는 온도 임계치일 수도 있는 위기 (emergency) 임계치보다 낮을 수도 있다. 전력 폭락되는 코어들은, 코어들이 명령들을 활발하게 수행하고 있다는 점에서, 비지 코어들일 수도 있다. 프로세서의 비지 코어들을 전력 폭락시키는 것은 동적 전력 소멸 및 정적 누설 양자 모두를 감소시키는 한편 클록 레이트 및 전압 레벨들을 감소시키는 이전의 접근법들에 비해 증가된 성능을 제공하는데, 프로세서의 다른 컴포넌트들, 예컨대, 메모리들 및 캐시들이 정상적인 감소되지 않은 클록 레이트로 계속 구동할 수 있기 때문이다. 예를 들어, 모두 프로세서의 4 개의 코어들이 이용되는 4-코어 프로세서에서, 4 개의 코어들 중 2 개의 코어들만이 계속 동작하도록 코어들 중 2 개의 코어들을 전력 폭락시키는 것은 프로세서의 클록 속도를 50% 만큼 감소시키는 것보다 좋은 성능을 제공할 수도 있다. 더불어, 비지 코어들을 전력 폭락시키는 것은 클록 속도 및 전압을 감소시키는 이전에 제안된 해결책보다 훨씬 빠르게 온도 임계치 아래로 온도가 복귀되도록 프로세서가 보다 빠르게 냉각되는 것을 가능하게 할 수도 있는데, 왜냐하면, 위에서 논의된 바와 같이, 전력 폭락시키는 것은 디스에이블된 코어들의 동적 전력 및 정적 누설 양자 모두를 감소시키기 때문이다.
도 1 은, 본 개시물의 일부 양상들에 따른, 열 완화를 위해 하나 이상의 비지 코어들이 중지될 수 있는, 멀티-코어 프로세서를 포함하는 일 예시적인 프로세서 유닛을 도시하는 블록도이다. 도 1 에 도시된 바와 같이, 프로세싱 유닛 (102) 은 복수의 프로세서 코어들 (104A-104N) (이후 "프로세서 코어들 (104)") 을 포함할 수도 있다. 일부 예들에서, 프로세서 코어들 (104) 은 단일의 집적 회로 다이에 포함될 수도 있다. 다른 예들에서, 프로세서 코어들 (104) 은 단일 칩 패키지로 다수의 집적 회로 다이들에 포함될 수도 있다. 프로세싱 유닛 (102) 은 프로세싱 유닛 (102) 이 복수의 프로세서 코어들 (104) 들을 포함할 수도 있기 때문에 멀티-코어 마이크로프로세서일 수도 있다. 프로세싱 유닛 (102) 은, 일부 예들에서, 마이크로프로세서, 예컨대, 실행을 위해 컴퓨터 프로그램의 명령들을 프로세싱하도록 구성된 중앙 프로세싱 유닛 (central processing unit; CPU) 일 수도 있고, 디스플레이 (미도시) 에 그래픽 장면을 렌더링하기 위해 그래픽 프로세싱 명령들을 프로세싱하도록 구성된 그래픽 프로세싱 유닛 (graphics processing unit; GPU) 일 수도 있다.
프로세서 코어들 (104) 의 각각의 프로세서 코어는 캐시들 (112A-112N) (이하 "캐시들 (112)") 중 하나 이상의 캐시와 연관될 수도 있다. 일부 예들에서, 캐시들 (112) 은 프로세서 코어들 (104) 에 대해 제 1 레벨의 캐싱을 제공하는 L1 캐시일 수도 있다. 프로세싱 유닛 (102) 은 또한 캐시 (114) 를 포함할 수도 있다. 일부 예들에서, 캐시 (114) 는 프로세서 코어들 (104) 에 대해 제 2 레벨의 캐싱을 제공하는 L2 캐시일 수도 있다. 프로세싱 유닛 (102) 은 또한 메모리 (116) 에 동작가능하게 커플링될 수도 있다.
시퀀서 (106) 는 프로세서 코어들 (104) 사이에서 명령들의 실행을 관리하고 스케줄링하도록 구성될 수도 있다. 프로세서 코어들 (104) 에서의 개개의 프로세서 코어들은 병렬로 명령들을 프로세싱하도록 구성될 수도 있다. 프로세서 코어들 (104) 중에서 하나의 프로세서 코어가 명령들을 프로세싱하는 경우, 그 프로세서 코어는 비지인 것으로 여겨질 수도 있다. 반면에, 프로세서 코어 (104) 중에서 하나의 프로세서 코어가 어떠한 명령들도 프로세싱하고 있지 않은 경우, 그 프로세서는 유휴상태 (idle) 인 것으로 여겨질 수도 있다.
클록 (120) 은 프로세싱 유닛 (102) 의 컴포넌트들을 조절하는 명시된 클록 속도로 주기적 클록 신호를 생성하도록 구성될 수도 있다. 클록 (120) 은 프로세싱 유닛 (102) 에 동작가능하게 커플링될 수도 있고, 프로세싱 유닛 (102) 에 클록 신호를 송신할 수도 있다. 프로세싱 유닛 (102) 은 클록 (120) 에 의해 생성된 클록 속도를 컴포넌트들, 예컨대, 프로세서 코어들 (104), 캐시들 (112), 및 캐시 (114) 에 배포할 수도 있다. 일부 예들에서, 클록 (120) 은 또한 메모리 (116) 에 클록 속도를 송신할 수도 있다. 프로세싱 유닛 (102) 은 데이터를 판독하고 메모리 (116) 에 데이터를 기록할 수도 있다. 캐시들 (112) 및 캐시 (114) 는 프로세서 코어들 (104) 에 대한 메모리 (116) 로부터 판독되고 프로세서 코어들 (104) 에 대한 메모리 (116) 에 기록될 데이터를 캐싱할 수도 있다.
본 개시물의 기법들에 따르면, 프로세싱 유닛 (102) 은, 온도 임계치를 초과하는 프로세싱 유닛 (102) 의 온도에 응답하여, 클록 (120) 의 클록 속도를 감소시키지 않으면서, 프로세서 코어들 (104) 의 하나 이상의 비지 프로세서 코어들을 전력 폭락시킬 수도 있다. 온도 센서 (110) 는 프로세싱 유닛 (102) 의 온도를 감지하도록 구성될 수도 있고, 프로세싱 유닛 (102) 의 온도를 계속 감지할 수도 있다. 온도 센서 (110) 는, 일부 예들에서, 프로세서 코어들 (104) 을 포함하는 집적 회로 다이의 부분의 온도, 또는 프로세서 코어들 (104) 을 포함하는 칩 패키지의 부분의 온도를 감지할 수도 있다. 온도 센서 (110) 의 예들은 온도에 기초하여 달라지는 저항을 갖는 저항기인 서미스터를 포함할 수도 있다.
프로세싱 유닛 (102) 에 대한 온도 임계치는 프로세싱 유닛 (102) 의 원하는 성능, 프로세싱 유닛 (102) 의 원하는 전력 소비, 및 프로세싱 유닛 (102) 의 수명과 같은 다양한 인자들에 기초하여 명시될 수도 있다. 예를 들어, 높은 성능이 요구되면 상대적으로 높은 온도 임계치가 명시될 수도 있고, 반면 전력 절약이 요구되면 상대적으로 낮은 온도가 선택될 수도 있다. 프로세싱 유닛 (102) 에 대한 온도 임계치는 프로세싱 유닛 (102) 의 온도가 온도 임계치를 초과하면 단기간 내에 프로세싱 유닛 (102) 의 큰 임박한 고장의 위험이 있는 이머전시 (emergency) 온도 임계치보다 낮을 수도 있다.
프로세싱 유닛 (102) 은 온도 센서 (110) 로부터 측정된 온도를 판독하거나 그렇지 않으면 수신할 수도 있고, 측정된 온도를 프로세싱 유닛 (102) 에 대한 온도 임계치와 비교할 수도 있다. 온도 센서 (110) 로부터 측정된 온도가 프로세싱 유닛 (102) 에 대한 명시된 온도 임계치를 초과한다고 프로세싱 유닛 (102) 이 결정하면, 프로세싱 유닛 (102) 은 전력 제어 모듈 (108) 이 프로세싱 유닛 (102) 의 온도가 감소되도록 프로세서 코어들 (104) 의 하나 이상의 비지 프로세서 코어들을 전력 폭락시키는 것을 인에이블할 수도 있다.
프로세서 코어들 (104) 의 하나 이상의 프로세서 코어들을 전력 폭락시키는 것은 전력 제어 모듈 (108) 이 하나 이상의 프로세서 코어들에 대해 전력, 전압, 및/또는 전류를 턴 오프하는 것뿐만 아니라 클록 신호들이 하나 이상의 프로세서 코어들에 도달하는 것을 방지하는 것을 포함할 수도 있다. 프로세서 코어들 (104) 의 하나 이상의 프로세서 코어들을 전력 폭락시키는 것은 또한 하나 이상의 프로세서 코어들의 하나 이상의 연관된 컴포넌트들, 예컨대, 하나 이상의 프로세서 코어들과 연관된 캐시들 (112) 의 하나 이상의 캐시들을 전력 폭락시키는 것을 포함할 수도 있다. 유사하게, 전력 제어 모듈 (108) 은 하나 이상의 프로세서 코어들과 연관된 캐시들 (112) 의 하나 이상의 캐시들에 대한 전력, 전압, 및/또는 전류를 턴 오프할 수도 있다.
프로세싱 유닛 (102) 의 프로세서 코어들 (104) 의 하나 이상의 프로세서 코어들을 전력 폭락시키기 위해, 프로세싱 유닛 (102) 은 시퀀서 (106) 및 전력 제어 모듈 (108) 에 전력 폭락될 하나 이상의 프로세서 코어들의 표시를 통신할 수도 있다. 시퀀서 (106) 는 전력 폭락될 하나 이상의 프로세서 코어들에 대해 추가적인 명령들이 스케줄링되지 않도록 프로세서 코어들 (104) 을 관리할 수도 있다. 시퀀서 (106) 는 또한 하나 이상의 프로세서 코어들의 스레드들에 대한 상태 정보를 저장하고, 하나 이상의 프로세서 코어들의 레지스터들 저장하고, 하나 이상의 프로세서 코어들과 캐시들을 플러시할 수도 있다. 시퀀서 (106) 는 또한 프로세서 코어들 (104) 을 모니터링하여 전력 폭락될 하나 이상의 프로세서 코어들이 현재의 명령들을 프로세싱하는 것을 완료한 때를 결정할 수도 있다. 시퀀서 (106) 는, 전력 폭락될 하나 이상의 프로세서 코어들이 현재 명령들을 프로세싱하는 것을 완료했다고 결정하는 것에 응답하여, 프로세서 코어들 (104) 을 준비시키는 것을 완료했다는 표시를 프로세싱 유닛 (102) 에 전송할 수도 있다. 응답으로, 프로세싱 유닛 (102) 은 전력 제어 모듈 (108) 이 하나 이상의 프로세서 코어들과 연관된 프로세싱 유닛 (102) 의 하나 이상의 컴포넌트들, 예컨대, 하나 이상의 프로세서 코어들과 연관된 캐시들 (112) 의 하나 이상의 캐시들을 전력 폭락시키는 것을 포함하여 하나 이상의 프로세서 코어들을 전력 폭락시키는 것을 가능하게 할 수도 있다.
프로세서 코어들 (104) 의 하나 이상의 코어들이 전력 폭락되나, 프로세서 코어들 (104) 의 나머지 프로세서 코어들은 컴퓨팅 명령들을 계속 프로세싱할 수도 있고, 온도 센서 (110) 는 프로세싱 유닛 (102) 의 온도를 계속 측정할 수도 있다. 프로세싱 유닛 (102) 은 측정된 온도가 프로세싱 유닛 (102) 에 대한 온도 임계치 아래로 떨어졌는지를 결정할 수도 있고, 측정된 온도가 프로세싱 유닛 (102) 에 대한 온도 임계치 아래인 것에 응답하여, 전력 폭락된 하나 이상의 프로세서 코어들을 턴 온할 수도 있다. 전력 제어 모듈 (108) 은 전력 폭락된 하나 이상의 프로세서 코어들 및 그것의 연관된 컴포넌트들에 대한 전력, 전압, 및/또는 전류를 턴 온할 수도 있고, 클록 신호들이 하나 이상의 프로세서 코어들 및 그것의 연관된 컴포넌트들에 도달하는 것을 가능하게 할 수도 있다. 전력 제어 모듈 (108) 은 또한 하나 이상의 프로세서 코어들을 이전에 전력 폭락시켰다는 표시를 시퀀서 (106) 에 전송할 수도 있고, 응답으로, 시퀀서 (106) 는 하나 이상의 프로세서 코어들에 의해 프로세싱될 컴퓨팅 명령들을 스케줄링할 수도 있다.
일부 예들에서, 프로세싱 유닛 (102) 은 시퀀서 (106) 를 포함하지 않을 수도 있다. 예를 들어, 프로세싱 유닛 (102) 은 시퀀서 (106) 를 포함하지 않는 CPU 일 수도 있다. 이러한 예에서, 프로세싱 유닛 (102) 상에서 실행하는 운영 체제는 프로세서 코어들 (104) 의 하나 이상의 프로세서 코어들이 전력 폭락되었는지를 결정할 수도 있고, 응답으로, 전력 폭락된 하나 이상의 프로세서 코어들에 대해 추가적인 명령들을 스케줄링하지 않도록 결정할 수도 있다. 운영 체제는 또한 전력 폭락된 하나 이상의 프로세서 코어들의 스레드들에 대한 운영 체제 상태를 저장하고, 전력 폭락된 하나 이상의 프로세서 코어들과 연관된 레지스터들을 저장하고, 전력 폭락된 하나 이상의 프로세서 코어들과 연관된 캐시들을 플러시할 수도 있다.
전력 제어 모듈 (108) 이 폭락시키는 프로세서 코어들 (104) 의 프로세서 코어들의 개수는 프로세싱 속도와 프로세싱 유닛 (102) 의 온도가 온도 임계치 아래로 복귀하는데 걸리는 시간 사이의 트레이드오프를 균형맞추는 것에 따라 달라질 수도 있다. 프로세서 코어들 (104) 이 N 개의 프로세서 코어들을 포함하면, 전력 제어 모듈 (108) 은 프로세싱 유닛 (102) 의 열 완화 레이트 및 동작 모드와 같은 인자들에 기초하여 1 개에서 N 개 사이의 비지 코어들을 전력 폭락시킬 수도 있다.
프로세싱 유닛 (102) 은 전력 제어 모듈 (108) 이 전력 폭락시키는 프로세서 코어들 (104) 의 프로세서 코어들의 세트들을 교대시킴으로써 (rotating) 프로세서 코어 (104) 의 비지 코어들 중 어느 비지 코어를 전력 폭락시킬지를 결정할 수도 있다. 예를 들어, 프로세서 코어 (104) 가 4 개의 프로세서 코어들을 포함한다면, 그리고 전력 제어 모듈 (108) 이 프로세싱 유닛 (102) 의 온도를 열적으로 완화시키기 위해 프로세싱 유닛 (102) 의 온도가 온도 임계치를 초과할 때마다 2 개의 코어들을 전력 폭락시킨다면, 전력 제어 모듈 (108) 은 프로세싱 유닛 (102) 의 온도가 온도 임계치를 초과할 때마다 2 개의 비지 코어들의 2 개의 세트들의 각각을 번갈아가며 전력 폭락시키도록 2 개의 비지 코어들의 2 개의 세트들 사이에서 교대시킬 수도 있다. 예를 들어, 프로세서 코어 (104) 가 8 개의 프로세서 코어들을 포함하면, 전력 제어 모듈 (108) 은 적어도 최근에 전력 폭락된 2 개의 비지 코어들의 세트를 전력 폭락시킬 수도 있다.
전력 제어 모듈 (108) 이 전력 폭락시키는 프로세서 코어들 (104) 의 비지 코어들의 세트들을 교대시킴에 따라, 프로세싱 유닛 (102) 은 프로세싱 유닛 (102) 의 온도가 온도 임계치 아래로 복귀하는데 걸리는 시간을 결정할 수도 있고, 프로세싱 유닛 (102) 의 온도가 온도 임계치 아래로 복귀하기 전에 경과된 시간을 그 시간에 전력 폭락된 프로세서 코어들 (104) 의 비지 코어들의 세트들과 연관시킬 수도 있다. 이러한 방식으로, 프로세싱 유닛 (102) 은 프로세싱 유닛 (102) 의 온도가 온도 임계치 아래로 복귀하는 최소한의 시간의 양을 취한 때에 비지 코어들의 어느 세트 또는 세트들이 전력 폭락되었는지를 식별할 수도 있고, 프로세싱 유닛 (102) 은 전력 제어 모듈 (108) 이 온도 임계치를 초과하는 프로세싱 유닛 (102) 의 온도에 응답하여 전력 폭락시키기 위해 비지 코어들의 식별된 세트 또는 세트들을 전력 폭락시키는 것을 가능하게 할 수도 있다.
예를 들어, 프로세서 코어들 (104) 은 8 개의 코어들을 포함할 수도 있고, 전력 제어 모듈 (108) 은 한번에 2 개의 코어들의 세트들을 전력 폭락시킬 수도 있다. 프로세싱 유닛 (102) 이, 전력 폭락되는 경우에, 프로세싱 유닛 (102) 의 온도가 온도 임계치 아래로 냉각되는데 가장 짧은 경과 시간을 보여주는, 각각 2 개의 코어들의 2 개의 세트들을 식별하면, 전력 제어 모듈 (108) 은 프로세싱 유닛 (102) 의 온도가 온도 임계치를 초과할 때마다 코어들의 2 개의 식별된 세트들을 번갈아가며 전력 폭락시킬 수도 있다.
프로세싱 유닛 (102) 은 또한, 최대 정적 누설을 갖는 코어들이 전력 폭락되도록 선택될 수도 있도록, 프로세서 코어들 (104) 의 비지 프로세서 코어들의 전력 누설 특성들에 적어도 부분적으로 기초하여 프로세서 코어 (104) 의 비지 코어들 중의 비지 코어를 결정할 수도 있다. 예를 들어, 추가적인 온도 센서들 (미도시) 이 프로세싱 유닛 (102) 에 배치되어 프로세서 코어들 (104) 이 이용 중인 동안에 프로세서 코어들 (104) 의 각각의 코어의 열기 소멸 및 온도를 측정할 수도 있다. 프로세서 코어들 (104) 의 개개의 코어들의 온도에 기초하여, 전력 제어 모듈 (108) 은 가장 높은 온도를 갖는 프로세서 코어들 (104) 의 코어들을 전력 폭락시킬 수도 있다. 다른 예에서, 기술자 또는 다른 사람이, 프로세서 코어들 (104) 의 제작 후에, 프로세서 코어들 (104) 의 각각의 코어의 정적 누설을 측정할 수도 있고, 그러한 정보는 전력 제어 모듈 (108) 이 프로세서 코어들의 정적 누설에 기초하여 전력 폭락시키는 프로세서 코어들 (104) 의 비지 코어들을 선택할 시에 프로세싱 유닛 (102) 에 의해 이용될 수도 있다.
프로세서 코어들 (104) 의 하나 이상의 프로세서 코어들을 전력 폭락시키기 위해, 프로세서 유닛 (102) 은 전력 제어 모듈 (108) 에 의해 전력 폭락될 프로세서 코어들 (104) 의 프로세서 코어들을 시퀀서 (106) 에 표시할 수도 있다. 응답으로, 시퀀서 (106) 는 전력 제어 모듈 (108) 에 의해 폭락될 프로세서 코어들 (104) 의 프로세서 코어들이 그 프로세서 코어들에 의해 현재 프로세싱되고 있는 명령들 이외에 프로세싱할 어떠한 추가적인 명령들을 수신하지 않도록 프로세서 코어들 (104) 에 의해 수행될 명령들을 스케줄링할 수도 있다.
전력 제어 모듈 (108) 에 의해 전력 폭락될 프로세서 코어들 (104) 의 프로세서 코어들이 그것들의 현재 명령들을 프로세싱하는 것을 완료했다고 시퀀서 (106) 가 결정하는 것에 응답하여, 시퀀서 (106) 는 프로세서 코어들 (104) 의 해당 프로세서 코어들이 전력 폭락될 수 있다는 표시를 프로세싱 유닛 (102) 에 전송할 수도 있다. 시퀀서 (106) 로부터 그 표시를 수신하는 것에 응답하여, 프로세싱 유닛 (102) 은 프로세싱 유닛 (102) 이 전력 폭락시키기로 이전에 결정한 프로세서 코어들 (104) 의 프로세서 코어들에 대해 전력 제어 모듈 (108) 이 전력을 셧 오프하는 것을 가능하게 할 수도 있다.
도 2 는 본 개시물의 일부 양상들에 따른 멀티-코어 프로세서를 열적으로 완화시키는 방법의 일 예시적인 방법을 도시하는 플로 차트이다. 도 2 에 도시된 바와 같이, 멀티-코어 프로세서 (102) 의 프로세서 코어들 (104) 은 소프트웨어 애플리케이션을 실행하기 위한 명령들 프로세싱하고, 그래픽 장면을 렌더링하기 위해 그래픽 명령들을 프로세싱하고, 디지털 신호 프로세서의 일련의 데이터 샘플들에 대한 수학적 연산들을 프로세싱하는 등으로 바쁠 수도 있다 (202). 프로세서 코어들 (104) 이 명령들을 프로세싱하는 동안에, 프로세서 코어들 (104) 은 동적 전력 소멸에 의해 생성된 열기 및 프로세서 코어들 (104) 의 정적 누설로부터의 열기를 포함하여, 열기를 소멸시킬 수도 있다.
온도 센서 (110) 는 프로세서 (102) 의 온도를 측정할 수도 있고, 전력 제어 모듈 (108) 에 측정한 온도를 통신할 수도 있으며, 전력 제어 모듈 (108) 은 멀티-코어 프로세서 (102) 의 측정된 온도가 임계 온도보다 높은지를 결정할 수도 있다 (204). 멀티-코어 프로세서 (102) 의 측정된 온도가 임계 온도를 초과하지 않으면, 멀티-코어 프로세서 (102) 의 프로세서 코어들 (104) 은 명령들을 계속 프로세싱할 수도 있다 (202).
멀티-코어 프로세서 (102) 의 측정된 온도가 임계 온도를 초과하면, 멀티-코어 프로세서 (102) 는 프로세서 코어들 (104) 중 하나 이상의 프로세서 코어를 전력 폭락시킬 수도 있다 (206). 프로세서 코어를 전력 폭락시키는 것은 프로세서 코어와 연관된 지원하는 하드웨어 컴포넌트들, 예컨대, 전력 폭락되는 프로세서 코어에 대한 캐시들, 텍스쳐 파이프라인들, 렌더링 버퍼들 등을 전력 폭락시키는 것을 포함할 수도 있다.
프로세싱 유닛 (102) 은 프로세서 코어들 (104) 중 어느 프로세서 코어들이 전력 폭락되는지를 결정하기 위해 지능형 전략들을 사용할 수도 있다. 하나의 전략으로, 프로세싱 유닛 (102) 은 프로세싱 유닛 (102) 의 온도가 그것의 온도 임계치를 초과할 때마다 전력 폭락되는 프로세서 코어들 (104) 중의 프로세서 코어들을 교대시킬 수도 있다. 예를 들어, 프로세서 코어들 (104) 은 4 개의 프로세서 코어들을 포함할 수도 있고, 온도가 온도 임계치를 초과할 때마다 2 개의 프로세서 코어들의 세트가 전력 폭락될 수도 있다. 프로세싱 유닛 (102) 은, 프로세싱 유닛의 온도가 프로세싱 유닛의 온도 임계치를 초과하는 것에 응답하여, 프로세서 코어들 (104) 의 2 개의 프로세서 코어들의 제 1 세트를 전력 폭락시킬 수도 있다. 다음에 프로세싱 유닛 (102) 의 온도가 프로세싱 유닛의 온도 임계치를 초과하면, 프로세싱 유닛 (102) 은 2 개의 프로세서 코어들 (104) 의 제 1 세트와는 상이한 프로세서 코어들 (104) 중의 2 개의 프로세서 코어들의 제 2 세트를 폭락시킬 수도 있다. 다른 전략들에서, 프로세싱 유닛 (102) 은 가장 많은 양의 정적 누설을 갖는 프로세서 코어들 (104) 중의 프로세서 코어 또는 프로세서 코어들을 전력 폭락시키도록 결정할 수도 있거나, 프로세싱 유닛 (102) 은 전력 폭락 후에 온도가 가장 빨리 떨어지는 프로세서 코어들 (104) 중의 프로세서 코어 또는 프로세서 코어들을 전력 폭락시키도록 결정할 수도 있다.
전력 온으로 유지되는 감소된 프로세서 코어들 (104) 의 세트는 명령들을 계속 프로세싱할 수도 있고 (208), 온도 센서 (110) 는 멀티-코어 프로세서 (102) 의 온도를 계속 측정할 수도 있다. 온도 센서 (110) 는 전력 제어 모듈 (108) 에 측정된 온도를 통신할 수도 있고, 전력 제어 모듈 (108) 은 멀티-코어 프로세서 (102) 의 측정된 온도가 임계 온도보다 낮은지를 결정할 수도 있다 (210). 멀티-코어 프로세서 (102) 의 측정된 온도가 임계 온도를 계속 초과하면, 감소된 프로세서 코어들 (104) 의 세트는 전력 온을 유지하고 명령들을 계속 프로세싱한다 (208). 멀티-코어 프로세서 (102) 의 측정된 온도가 더 이상 임계 온도를 초과하지 않으면, 전력 제어 모듈 (108) 은 프로세서 코어들 (104) 중에서 이전에 전력 폭락된 프로세서 코어들을 전력 온할 수도 있고 (212), 프로세서 코어들 (104) 중에서 프로세서 코어들의 전체 세트가 명령들을 프로세싱할 수도 있다 (202).
도 3a 내지 도 3d 는 본 개시물의 양상들에 따른, 코어들 사이에서 교대로 멀티-코어 프로세서의 비지 코어들의 전력 폭락을 도시하는 개념도들이다. 도 3a 내지 도 3d 에 도시된 예에서, 프로세서 코어들 (104) 은 8 개의 프로세서 코어들 (104A-104H) 을 포함할 수도 있고, 프로세서 코어들 중 2 개의 프로세서 코어들이 프로세싱 유닛의 온도가 온도 임계치를 초과하는 경우 한번에 셧 오프될 수도 있다. 도 3a 에 도시된 바와 같이, 프로세서 코어들 (104) 을 포함하는 프로세싱 유닛 (102) 의 온도가 온도 임계치를 초과하는 경우, 프로세싱 유닛 (102) 은 2 개의 프로세서 코어들 (104A 및 104B) 을 턴 오프할 수도 있다. 도 3b 에 도시된 바와 같이, 프로세싱 유닛의 온도가 온도 임계치 아래로 떨어진다는 것에 응답하여 프로세싱 유닛 (102) 이 다시 프로세서 코어들 (104A 및 104B) 을 턴 온한 후에, 프로세싱 유닛 (102) 의 온도가 온도 임계치를 초과하는 다음번 경우에는, 프로세싱 유닛 (102) 은 2 개의 프로세서 코어들 (104C 및 104D) 을 턴 오프함으로써 열 완화를 위해 턴 오프되는 프로세서 코어들을 교대시킬 수도 있다. 도 3c 에 도시된 바와 같이, 프로세싱 유닛의 온도가 온도 임계치 아래로 떨어진다는 것에 응답하여 프로세싱 유닛 (102) 이 다시 프로세서 코어들 (104C 및 104D) 을 턴 온한 후에, 프로세싱 유닛 (102) 의 온도가 온도 임계치를 초과하는 다음번 경우에는, 프로세싱 유닛 (102) 은 2 개의 프로세서 코어들 (104E 및 104F) 을 턴 오프함으로써 열 완화를 위해 턴 오프되는 프로세서 코어들을 교대시킬 수도 있다. 마찬가지로, 도 3d 에 도시된 바와 같이, 프로세싱 유닛의 온도가 온도 임계치 아래로 떨어진다는 것에 응답하여 프로세싱 유닛 (102) 이 다시 프로세서 코어들 (104E 및 104F) 을 턴 온한 후에, 프로세싱 유닛 (102) 의 온도가 온도 임계치를 초과하는 다음번 경우에는, 프로세싱 유닛 (102) 은 2 개의 프로세서 코어들 (104G 및 104H) 을 턴 오프함으로써 열 완화를 위해 턴 오프되는 프로세서 코어들을 교대시킬 수도 있다.
도 4a 내지 도 4d 는, 본 개시물의 양상들에 따른, 지능형 교대 알고리즘을 통해 멀티-코어 프로세서의 비지 코어들의 전력 폭락을 도시하는 개념도들이다. 프로세싱 유닛 (102) 은 프로세서 코어들 중에서 어느 프로세서 코어들 또는 세트들이, 턴 오프되는 경우, 프로세서 코어들 (104) 중에서 다른 프로세서 코어들과 비교하여 보다 빠르게 쿨 다운되는지를 결정할 수도 있다. 프로세싱 유닛 (102) 이 그러한 프로세서 코어들의 쿨 다운 속도를 결정하면, 프로세싱 유닛 (102) 은 프로세싱 유닛 (102) 의 온도가 온도 임계치를 초과하는 것에 응답하여 그러한 프로세서 코어들을 셧 오프할 수도 있다.
도 4a 내지 도 4d 에 도시된 예에서, 프로세서 코어들 (104A 및 104B) 의 세트 및 프로세서 코어들 (104E 및 104F) 의 세트는 온 (on) 된 비지상태에서 오프되는 것으로 스위치되는 경우에 가장 빠르게 떨어지는 온도들을 갖는 프로세서 코어들의 세트들이다. 그 정보에 적어도 부분적으로 기초하여, 프로세싱 유닛 (102) 은 프로세싱 유닛 (102) 의 온도가 온도 임계치를 초과하면 프로세서 코어들 (104A 및 104B) 의 세트와 프로세서 코어들 (104C 및 104D) 의 세트 사이에서 턴 오프하는 것을 교대시킬 수도 있다. 도 4a 에 도시된 바와 같이, 프로세서 코어들 (104) 을 포함하는 프로세싱 유닛 (102) 의 온도가 온도 임계치를 초과하는 경우, 프로세싱 유닛 (102) 은 2 개의 프로세서 코어들 (104A 및 104B) 을 턴 오프할 수도 있다. 도 4b 에 도시된 바와 같이, 프로세싱 유닛 (102) 의 온도가 온도 임계치 아래로 떨어진다는 것에 응답하여 프로세싱 유닛 (102) 이 다시 프로세서 코어들 (104A 및 104B) 을 턴 온한 후에, 프로세싱 유닛 (102) 의 온도가 온도 임계치를 초과하는 다음번 경우에는, 프로세싱 유닛 (102) 은 2 개의 프로세서 코어들 (104E 및 104F) 의 제 2 세트를 턴 오프할 수도 있다. 도 4c 에 도시된 바와 같이, 프로세서 코어들 (104A 및 104B) 및 프로세서 코어들 (104E 및 104F) 의 세트들이 턴 오프될 시에 쿨링 다운에서 프로세서 코어들의 가장 효율적인 세트들이라고 프로세싱 유닛 (102) 이 결정하기 때문에, 프로세싱 유닛 (102) 의 온도가 온도 임계치 아래로 떨어지는 것에 응답하여 프로세싱 유닛 (102) 은 프로세서 코어들 (104E 및 104F) 을 다시 턴 온한 후에, 프로세싱 유닛 (102) 은 프로세싱 유닛 (102) 의 온도가 온도 임계치를 초과하는 다음번 경우에는 프로세서 코어들 (104A 및 104B) 을 다시 턴 오프하도록 교대시킬 수도 있다. 유사하게, 도 4d 에 도시된 바와 같이, 프로세싱 유닛의 온도가 온도 임계치 아래로 떨어진다는 것에 응답하여 프로세싱 유닛 (102) 이 다시 프로세서 코어들 (104E 및 104F) 을 턴 온한 후에, 프로세싱 유닛 (102) 의 온도가 온도 임계치를 초과하는 다음번 경우에는, 프로세싱 유닛 (102) 은 2 개의 프로세서 코어들 (104A 및 104B) 을 턴 오프함으로써 열 완화를 위해 턴 오프되는 프로세서 코어들을 교대시킬 수도 있다. 그에 따라, 전력 폭락된 후에 가장 빠르게 쿨 다운하는 프로세서 코어들을 결정함으로써, 그리고 가장 빠르게 쿨 다운하는 프로세서 코어들의 세트들을 전력 폭락시킴으로써, 프로세싱 유닛 (102) 은 그것의 온도가 보다 빠르게 온도 임계치 아래로 떨어지는 것을 가능하게 할 수도 있다.
도 5 는 본 개시물의 하나 이상의 양상들을 구현하도록 구성될 수도 있는 디바이스의 일 예를 도시하는 블록도이다. 예를 들어, 도 5 은 디바이스 (502) 를 도시한다. 디바이스 (502) 의 예들은, 이로 제한되지는 않으나, 비디오 디바이스들, 미디어 재생기들, 셋-톱 박스들, 모바일 전화기들 및 이른바 스마트폰들과 같은 무선 핸드셋들, 개인용 휴대정보 단말기 (personal digital assistant; PDA) 들, 데스크톱 컴퓨터들, 랩톱 컴퓨터들, 게임 콘솔들, 비디오 회의 유닛들, 태블릿 컴퓨팅 디바이스들 등을 포함한다.
도 5 의 예에서, 디바이스 (502) 는 프로세서 (520), 시스템 메모리 (518), 및 GPU (522) 를 포함할 수도 있다. 프로세서 (520) 및 GPU (522) 는 도 1 에 도시된 프로세싱 유닛 (102) 과 유사할 수도 있고, 시스템 메모리 (518) 는 도 1 에 도시된 메모리 (116) 와 유사할 수도 있다. 디바이스 (502) 는 또한 디스플레이 프로세서 (524), 트랜시버 모듈 (526), 사용자 인터페이스 (528), 및 디스플레이 (530) 를 포함할 수도 있다. 트랜시버 모듈 (526) 및 디스플레이 프로세서 (524) 는 양자 모두 프로세서 (520) 및/또는 GPU (522) 와 동일한 집적 회로 (IC) 의 일부분일 수도 있거나, 프로세서 (520) 및/또는 GPU (522) 를 포함하는 IC 또는 IC 들의 외부에 있을 수도 있거나, 프로세서 (520) 및/또는 GPU (522) 를 포함하는 IC 의 외부에 있는 IC 에 형성될 수도 있다.
디바이스 (502) 는 명확함을 위해 도 5 에 도시되지 않은 추가적인 모듈들 또는 유닛들을 포함할 수도 있다. 예를 들어, 디바이스 (502) 는 둘 중 어느 하나도 도 5 에 도시되지 않은 스피커 및 마이크로폰을 포함하여, 디바이스 (502) 가 모바일 무선 전화 또는 디바이스 (502) 가 미디어 플레이어인 경우에 스피커인 예들에서 전화 통신들을 시행할 수도 있다. 디바이스 (502) 는 또한 비디오 카메라를 포함할 수도 있다. 또한, 디바이스 (502) 에서 도시된 여러 모듈들 및 유닛들은 디바이스 (502) 의 모든 실시형태에서 필수적이지 않을 수도 있다. 예를 들어, 디바이스 (502) 가 데스크톱 컴퓨터이거나 외부의 사용자 인터페이스 혹은 디스플레이와 인터페이싱하기 위한 설비를 갖춘 다른 디바이스인 경우에, 예들에서 사용자 인터페이스 (528) 및 디스플레이 (530) 는 디바이스 (502) 의 외부에 있을 수도 있다.
사용자 인터페이스 (528) 의 예들은 트랙볼, 마우스, 키보드, 및 다른 유형의 입력 디바이스들을 포함하나, 이로 제한되는 것은 아니다. 사용자 인터페이스(528) 는 터치스크린일 수도 있고, 디스플레이 (530) 의 일부로서 내장될 수도 있다. 트랜스시버 모듈 (526) 은, 디바이스 (502) 와 다른 디바이스 또는 네트워크 사이의 무선 또는 유선 통신을 가능하게 하는 회로부를 포함할 수도 있다. 트랜스시버 모듈 (526) 은 변조기들, 복조기들, 증폭기들, 및 유선 또는 무선 통신을 위한 다른 회로부를 포함할 수도 있다.
일부 예들에서, GPU (522) 는 시스템 메모리 (518) 에 완전히 형성된 이미지를 저장할 수도 있다. 디스플레이 프로세서 (524) 는 시스템 메모리 (518) 로부터 이미지를 취출하고 디스플레이 (530) 의 픽셀들로 하여금 이미지를 디스플레이하기 위해 빛을 비추는 값들을 출력할 수도 있다. 디스플레이 (530) 는 GPU (522) 에 의해 발생된 이미지 컨텐츠를 디스플레이하는 디바이스 (502) 의 디스플레이일 수도 있다. 디스플레이 (530) 는 액정 디스플레이 (liquid crystal display; LCD), 유기 발광 다이오드 디스플레이 (organic light emitting diode display; OLED), 음극선관 (cathode ray tube; CRT) 디스플레이, 플라즈마 디스플레이, 또는 다른 유형의 디스플레이 디바이스일 수도 있다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현된다면, 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터-판독가능 매체 상에 저장되거나 송신될 수도 있다. 컴퓨터-판독가능 매체들은 컴퓨터 데이터 저장 매체들, 또는 컴퓨터 프로그램을 한 곳에서 다른 곳으로 전송하는 것을 가능하게 하는 통신 매체들을 포함할 수도 있다. 데이터 저장 매체들은 이 개시물에 설명된 기법들의 구현을 위한 명령들, 코드, 및/또는 데이터 구조들을 검색하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 비제한적인 예로서, 이러한 컴퓨터-판독가능 저장 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 요구되는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하기 위해 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 저장 매체를 포함할 수 있다. 또한, 임의의 접속은 통신 매체라고 적절히 칭해진다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (digital subscriber line; DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 전송되면, 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 통신 매체의 정의 내에 포함된다. 본원에서 이용되는 바와 같은 디스크 (disk) 및 디스크 (disc) 는 CD (compact disc), 레이저 디스크, 광 디스크, DVD (digital versatile disc), 플로피 디스크, 및 블루레이 디스크를 포함하는데, 여기서 디스크 (disk) 는 보통 데이터를 자기적으로 재생하며, 반면 디스크 (disc) 는 레이저들을 이용하여 광학적으로 데이터를 재생한다. 통신 매체를 제외한 위의 조합들도 컴퓨터-판독가능 저장 매체들의 범위 내에 포함되어야 한다.
하나 이상의 디지털 신호 프로세서 (DSP) 들, 범용 마이크로프로세서들, 주문형 반도체 (application specification integrated circuit; ASIC), 필드 프로그램가능 게이트 어레이 (field programmable gate array; FPGA), 또는 임의의 다른 등가의 분산 또는 집적 논리 회로부에 의해 코드가 실행될 수도 있다. 따라서, 본원에서 사용된 용어 "프로세서" 및 "프로세서 유닛"은 임의의 앞서 설명된 구조 또는 본원에서 설명된 기술들의 구현에 적합한 임의의 다른 구조를 지칭할 수도 있다. 또한, 몇몇 양상들에서, 본원에서 설명된 기능성은 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 및/또는 소프트웨어 모듈 내에 제공되거나, 또는 통합 코덱에 통합될 수도 있다. 또한, 본원에서 개시된 기술들은 하나 이상의 회로들 또는 로직 소자들에서 완전히 구현될 수 있다.
본 개시물의 기법들은 무선 핸드셋, 집적 회로 (IC), 또는 IC 들의 세트 (예를 들어, 칩셋) 를 포함하여, 매우 다양한 디바이스들 또는 장치들로 구현될 수도 있다. 개시된 기술들을 수행하도록 구성된 디바이스들의 기능적 양상을 강조하기 위해 다양한 소자들, 모듈들, 또는 유닛들이 본 개시물에서 설명되었지만, 반드시 상이한 하드웨어 유닛들에 의해 실현될 필요는 없다. 오히려, 상술한 바와 같이, 다양한 유닛들은, 적절한 소프트웨어 및/또는 펌웨어와 연계하여, 코덱 하드웨어 유닛에 통합되거나 상술한 하나 이상의 프로세서들을 포함하여 상호동작적인 하드웨어 유닛들의 집합에 의해 제공될 수도 있다.
다양한 예들이 설명되었다. 이들 및 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (30)

  1. 멀티-코어 프로세서를 열적으로 완화시키는 방법으로서, 상기 방법은 멀티-코어 프로세서 및 전력 제어 모듈을 포함하는 장치에서 상기 전력 제어 모듈에 의해 수행되며,
    상기 멀티-코어 프로세서의 온도가 온도 임계치를 초과하는 인스턴스들에 응답하여 상기 멀티-코어 프로세서의 클록 속도를 감소시키지 않으면서 상기 멀티-코어 프로세서의 코어들 사이에서 교대로 상기 멀티-코어 프로세서의 하나 이상의 비지 프로세서 코어들의 세트들을 전력 폭락시키는 (power collapsing) 단계로서,
    상기 하나 이상의 비지 프로세서 코어들의 각각의 세트를 전력 폭락시키는 것에 응답하여 상기 멀티-코어 프로세서의 온도가 상기 온도 임계치 아래로 떨어지는 경과 시간을 결정하여,
    전력 폭락되는 경우, 상기 멀티-코어 프로세서의 온도가 상기 온도 임계치 아래로 떨어지는 가장 짧은 경과 시간을 생성하는 상기 하나 이상의 비지 프로세서 코어들의 세트를 결정하는 것
    을 포함하는, 상기 멀티-코어 프로세서의 하나 이상의 비지 프로세서 코어들의 세트들을 전력 폭락시키는 단계; 및
    후속하는 인스턴스에서 상기 멀티-코어 프로세서의 온도가 상기 온도 임계치를 초과하는 것에 응답하여, 전력 폭락되는 경우, 상기 멀티-코어 프로세서의 온도가 상기 온도 임계치 아래로 떨어지는 상기 가장 짧은 경과 시간을 생성하는 상기 하나 이상의 비지 프로세서 코어들의 세트를 전력 폭락시키는 단계
    를 포함하는, 멀티-코어 프로세서를 열적으로 완화시키는 방법.
  2. 제 1 항에 있어서,
    상기 멀티-코어 프로세서의 상기 하나 이상의 비지 프로세서 코어들의 전력 누설 특성들에 기초하여 전력 폭락시킬 상기 멀티-코어 프로세서의 상기 하나 이상의 비지 프로세서 코어들의 세트를 결정하는 단계를 더 포함하는, 멀티-코어 프로세서를 열적으로 완화시키는 방법.
  3. 제 1 항에 있어서,
    상기 멀티-코어 프로세서의 상기 하나 이상의 비지 프로세서 코어들의 세트의 쿨 다운 속도에 기초하여 전력 폭락시킬 상기 멀티-코어 프로세서의 상기 하나 이상의 비지 프로세서 코어들의 세트를 결정하는 단계를 더 포함하는, 멀티-코어 프로세서를 열적으로 완화시키는 방법.
  4. 제 1 항에 있어서,
    상기 온도 임계치는 이머전시 (emergency) 온도 임계치보다 적은, 멀티-코어 프로세서를 열적으로 완화시키는 방법.
  5. 제 1 항에 있어서,
    상기 멀티-코어 프로세서의 하나 이상의 비지 프로세서 코어들의 세트를 전력 폭락시키는 단계는,
    시퀀서에 의해, 상기 하나 이상의 비지 프로세서 코어들의 세트가 프로세싱할 명령들을 스케줄링하지 않도록 결정하는 단계를 더 포함하는, 멀티-코어 프로세서를 열적으로 완화시키는 방법.
  6. 제 1 항에 있어서,
    상기 하나 이상의 비지 프로세서 코어들의 세트를 전력 폭락시키는 단계는,
    상기 하나 이상의 비지 프로세서 코어들의 세트와 연관된 하나 이상의 캐시들을 전력 폭락시키는 단계를 더 포함하는, 멀티-코어 프로세서를 열적으로 완화시키는 방법.
  7. 제 1 항에 있어서,
    상기 멀티-코어 프로세서의 온도를 감지하는 단계를 더 포함하는, 멀티-코어 프로세서를 열적으로 완화시키는 방법.
  8. 장치로서,
    멀티-코어 프로세서; 및
    전력 제어 모듈
    을 포함하고,
    상기 전력 제어 모듈은,
    상기 멀티-코어 프로세서의 온도가 온도 임계치를 초과하는 인스턴스들에 응답하여 상기 멀티-코어 프로세서의 클록 속도를 감소시키지 않으면서 상기 멀티-코어 프로세서의 코어들 사이에서 교대로 상기 멀티-코어 프로세서의 하나 이상의 비지 프로세서 코어들의 세트들을 전력 폭락시키는 것으로서,
    상기 하나 이상의 비지 프로세서 코어들의 각각의 세트를 전력 폭락시키는 것에 응답하여 상기 멀티-코어 프로세서의 온도가 상기 온도 임계치 아래로 떨어지는 경과 시간을 결정하여,
    전력 폭락되는 경우, 상기 멀티-코어 프로세서의 온도가 상기 온도 임계치 아래로 떨어지는 가장 짧은 경과 시간을 생성하는 상기 하나 이상의 비지 프로세서 코어들의 세트를 결정하는 것을 포함하는, 상기 멀티-코어 프로세서의 하나 이상의 비지 프로세서 코어들의 세트들을 전력 폭락시키고;
    후속하는 인스턴스에서 상기 멀티-코어 프로세서의 온도가 상기 온도 임계치를 초과하는 것에 응답하여, 전력 폭락되는 경우, 상기 멀티-코어 프로세서의 온도가 상기 온도 임계치 아래로 떨어지는 상기 가장 짧은 경과 시간을 생성하는 상기 하나 이상의 비지 프로세서 코어들의 세트를 전력 폭락시키도록 구성되는, 장치.
  9. 제 8 항에 있어서,
    상기 전력 제어 모듈은 상기 멀티-코어 프로세서의 상기 하나 이상의 비지 프로세서 코어들의 세트의 전력 누설 특성들에 기초하여 전력 폭락시킬 상기 멀티-코어 프로세서의 상기 하나 이상의 비지 프로세서 코어들의 세트를 결정하도록 더 구성되는, 장치.
  10. 제 8 항에 있어서,
    상기 전력 제어 모듈은 상기 멀티-코어 프로세서의 상기 하나 이상의 비지 프로세서 코어들의 세트의 쿨 다운 속도에 기초하여 전력 폭락시킬 상기 멀티-코어 프로세서의 상기 하나 이상의 비지 프로세서 코어들의 세트를 결정하도록 더 구성되는, 장치.
  11. 제 8 항에 있어서,
    상기 온도 임계치는 이머전시 온도 임계치보다 적은, 장치.
  12. 제 8 항에 있어서,
    상기 하나 이상의 비지 프로세서 코어들의 세트가 프로세싱할 명령들을 스케줄링하지 않도록 결정하도록 구성된 시퀀서를 더 포함하는, 장치.
  13. 제 8 항에 있어서,
    상기 하나 이상의 비지 프로세서 코어들의 세트를 전력 폭락시키는 것은,
    상기 하나 이상의 비지 프로세서 코어들의 세트와 연관된 하나 이상의 캐시들을 전력 폭락시키는 것을 더 포함하는, 장치.
  14. 제 8 항에 있어서,
    상기 멀티-코어 프로세서의 온도를 감지하도록 구성된 온도 센서를 더 포함하는, 장치.
  15. 멀티-코어 프로세서의 온도가 온도 임계치를 초과하는 인스턴스들에 응답하여 상기 멀티-코어 프로세서의 클록 속도를 감소시키지 않으면서 상기 멀티-코어 프로세서의 코어들 사이에서 교대로 상기 멀티-코어 프로세서의 하나 이상의 비지 프로세서 코어들의 세트들을 전력 폭락시키는 수단으로서,
    상기 하나 이상의 비지 프로세서 코어들의 각각의 세트를 전력 폭락시키는 것에 응답하여 상기 멀티-코어 프로세서의 온도가 상기 온도 임계치 아래로 떨어지는 경과 시간을 결정하여,
    전력 폭락되는 경우, 상기 멀티-코어 프로세서의 온도가 상기 온도 임계치 아래로 떨어지는 가장 짧은 경과 시간을 생성하는 상기 하나 이상의 비지 프로세서 코어들의 세트를 결정하는 것을 포함하는, 상기 멀티-코어 프로세서의 하나 이상의 비지 프로세서 코어들의 세트들을 전력 폭락시키는 수단; 및
    후속하는 인스턴스에서 상기 멀티-코어 프로세서의 온도가 상기 온도 임계치를 초과하는 것에 응답하여, 전력 폭락되는 경우, 상기 멀티-코어 프로세서의 온도가 상기 온도 임계치 아래로 떨어지는 상기 가장 짧은 경과 시간을 생성하는 상기 하나 이상의 비지 프로세서 코어들의 세트를 전력 폭락시키는 수단
    을 포함하는, 장치.
  16. 제 15 항에 있어서,
    상기 멀티-코어 프로세서의 제 1 하나 이상의 비지 프로세서 코어들의 세트의 전력 누설 특성들에 기초하여 전력 폭락시킬 상기 멀티-코어 프로세서의 상기 하나 이상의 비지 프로세서 코어들의 세트를 결정하는 수단을 더 포함하는, 장치.
  17. 제 15 항에 있어서,
    상기 멀티-코어 프로세서의 상기 하나 이상의 비지 프로세서 코어들의 세트의 쿨 다운 속도에 기초하여 전력 폭락시킬 상기 멀티-코어 프로세서의 제 1 하나 이상의 비지 프로세서 코어들의 세트를 결정하는 수단을 더 포함하는, 장치.
  18. 제 15 항에 있어서,
    상기 온도 임계치는 이머전시 온도 임계치보다 적은, 장치.
  19. 제 15 항에 있어서,
    상기 멀티-코어 프로세서의 하나 이상의 비지 프로세서 코어들의 세트를 전력 폭락시키는 수단은,
    상기 하나 이상의 비지 프로세서 코어들의 세트가 프로세싱할 명령들을 스케줄링하지 않도록 결정하는 수단을 더 포함하는, 장치.
  20. 제 15 항에 있어서,
    상기 하나 이상의 비지 프로세서 코어들의 세트를 전력 폭락시키는 수단은,
    상기 하나 이상의 비지 프로세서 코어들의 세트와 연관된 하나 이상의 캐시들을 전력 폭락시키는 수단을 더 포함하는, 장치.
  21. 명령들을 저장하는 비일시적 컴퓨터-판독가능 저장 매체로서,
    상기 명령들은, 실행되는 경우, 하나 이상의 프로그램가능 프로세서들로 하여금,
    멀티-코어 프로세서의 온도가 온도 임계치를 초과하는 인스턴스들에 응답하여 상기 멀티-코어 프로세서의 클록 속도를 감소시키지 않으면서 상기 멀티-코어 프로세서의 코어들 사이에서 교대로 상기 멀티-코어 프로세서의 하나 이상의 비지 프로세서 코어들의 세트들을 전력 폭락시키게 하는 것으로서,
    상기 하나 이상의 비지 프로세서 코어들의 각각의 세트를 전력 폭락시키는 것에 응답하여 상기 멀티-코어 프로세서의 온도가 상기 온도 임계치 아래로 떨어지는 경과 시간을 결정하여,
    전력 폭락되는 경우, 상기 멀티-코어 프로세서의 온도가 상기 온도 임계치 아래로 떨어지는 가장 짧은 경과 시간을 생성하는 상기 하나 이상의 비지 프로세서 코어들의 세트를 결정하는 것을 포함하는, 상기 멀티-코어 프로세서의 하나 이상의 비지 프로세서 코어들의 세트들을 전력 폭락시키게 하고,
    후속하는 인스턴스에서 상기 멀티-코어 프로세서의 온도가 상기 온도 임계치를 초과하는 것에 응답하여, 전력 폭락되는 경우, 상기 멀티-코어 프로세서의 온도가 상기 온도 임계치 아래로 떨어지는 상기 가장 짧은 경과 시간을 생성하는 상기 하나 이상의 비지 프로세서 코어들의 세트를 전력 폭락시키게 하는, 컴퓨터-판독가능 저장 매체.
  22. 제 21 항에 있어서,
    상기 명령들은 또한, 상기 하나 이상의 프로그램가능 프로세서들로 하여금,
    상기 멀티-코어 프로세서의 상기 하나 이상의 비지 프로세서 코어들의 세트의 전력 누설 특성들에 기초하여 전력 폭락시킬 상기 멀티-코어 프로세서의 상기 하나 이상의 비지 프로세서 코어들의 세트를 결정하게 하는, 비일시적 컴퓨터-판독가능 저장 매체.
  23. 제 21 항에 있어서,
    상기 명령들은 또한, 상기 하나 이상의 프로그램가능 프로세서들로 하여금,
    상기 멀티-코어 프로세서의 상기 하나 이상의 비지 프로세서 코어들의 세트의 쿨 다운 속도에 기초하여 전력 폭락시킬 상기 멀티-코어 프로세서의 상기 하나 이상의 비지 프로세서 코어들의 세트를 결정하게 하는, 비일시적 컴퓨터-판독가능 저장 매체.
  24. 제 21 항에 있어서,
    상기 온도 임계치는 이머전시 온도 임계치보다 적은, 비일시적 컴퓨터-판독가능 저장 매체.
  25. 제 21 항에 있어서,
    상기 명령들은 또한, 상기 하나 이상의 프로그램가능 프로세서들로 하여금,
    시퀀서에 의해, 상기 하나 이상의 비지 프로세서 코어들의 세트가 프로세싱할 명령들을 스케줄링하지 않도록 결정하게 하는, 비일시적 컴퓨터-판독가능 저장 매체.
  26. 제 21 항에 있어서,
    상기 명령들은 또한, 상기 하나 이상의 프로그램가능 프로세서들로 하여금,
    상기 하나 이상의 비지 프로세서 코어들의 세트와 연관된 하나 이상의 캐시들을 전력 폭락시키게 하는, 비일시적 컴퓨터-판독가능 저장 매체.
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
KR1020167009929A 2013-10-11 2014-10-03 멀티-코어 프로세서들에 대한 가속화된 열 완화 Expired - Fee Related KR101726552B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/052,191 2013-10-11
US14/052,191 US9342135B2 (en) 2013-10-11 2013-10-11 Accelerated thermal mitigation for multi-core processors
PCT/US2014/059113 WO2015054072A1 (en) 2013-10-11 2014-10-03 Accelerated thermal mitigation for multi-core processors

Publications (2)

Publication Number Publication Date
KR20160067123A KR20160067123A (ko) 2016-06-13
KR101726552B1 true KR101726552B1 (ko) 2017-04-27

Family

ID=51790859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167009929A Expired - Fee Related KR101726552B1 (ko) 2013-10-11 2014-10-03 멀티-코어 프로세서들에 대한 가속화된 열 완화

Country Status (6)

Country Link
US (1) US9342135B2 (ko)
EP (1) EP3055751A1 (ko)
JP (1) JP6077182B2 (ko)
KR (1) KR101726552B1 (ko)
CN (1) CN105579926B (ko)
WO (1) WO2015054072A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9933825B2 (en) 2013-03-14 2018-04-03 Arizona Board Of Regents For And On Behalf Of Arizona State University Determining parameters that affect processor energy efficiency
US10133323B2 (en) * 2013-03-14 2018-11-20 Arizona Board Of Regents For And On Behalf Of Arizona State University Processor control system
US20150149800A1 (en) * 2013-11-27 2015-05-28 Alexander Gendler Performing an operating frequency change using a dynamic clock control technique
KR102210770B1 (ko) * 2014-09-02 2021-02-02 삼성전자주식회사 반도체 장치, 반도체 시스템 및 그 제어 방법
US9582052B2 (en) 2014-10-30 2017-02-28 Qualcomm Incorporated Thermal mitigation of multi-core processor
US10528117B2 (en) 2014-12-22 2020-01-07 Qualcomm Incorporated Thermal mitigation in devices with multiple processing units
CN105045668A (zh) 2015-07-28 2015-11-11 深圳市万普拉斯科技有限公司 运算资源的散热控制方法和运算控制系统
CN106407143B (zh) 2015-07-29 2020-07-31 南京中兴新软件有限责任公司 控制移动终端中cpu的热插拔操作的方法和装置
US20170251085A1 (en) * 2016-02-26 2017-08-31 Essential Products, Inc. Titanium mobile phone chassis and methods of making and using same
US10021226B2 (en) 2016-02-26 2018-07-10 Essential Products, Inc. Display cover mounting
US10496141B2 (en) * 2016-03-17 2019-12-03 Qualcomm Incorporated System and method for intelligent thermal management in a system on a chip having a heterogeneous cluster architecture
US10175731B2 (en) * 2016-06-17 2019-01-08 Microsoft Technology Licensing, Llc Shared cooling for thermally connected components in electronic devices
JP6872440B2 (ja) * 2017-06-30 2021-05-19 ルネサスエレクトロニクス株式会社 半導体装置および半導体装置の制御方法
US11119830B2 (en) * 2017-12-18 2021-09-14 International Business Machines Corporation Thread migration and shared cache fencing based on processor core temperature
US10755201B2 (en) 2018-02-14 2020-08-25 Lucid Circuit, Inc. Systems and methods for data collection and analysis at the edge
US11245520B2 (en) 2018-02-14 2022-02-08 Lucid Circuit, Inc. Systems and methods for generating identifying information based on semiconductor manufacturing process variations
JP2021536047A (ja) * 2018-06-11 2021-12-23 ルシード サーキット,インコーポレイテッド 自律ハードウェア計算回復力のシステムおよび方法
CN109388494A (zh) * 2018-10-29 2019-02-26 济南浪潮高新科技投资发展有限公司 一种多核心网络控制器动态能耗调节的方法
US10896146B2 (en) 2018-11-16 2021-01-19 International Business Machines Corporation Reliability-aware runtime optimal processor configuration
KR102665291B1 (ko) * 2019-05-08 2024-05-13 삼성전자 주식회사 전자 장치 및 전자 장치의 제어 방법
US12317185B2 (en) * 2020-12-11 2025-05-27 Intel Corporation Energy aware network slicing
WO2023199182A1 (ja) * 2022-04-15 2023-10-19 株式会社半導体エネルギー研究所 半導体装置
US12450094B2 (en) * 2022-07-27 2025-10-21 Arm Limited Methods and apparatus for workload scheduling
US20250284307A1 (en) * 2024-03-06 2025-09-11 Nvidia Corporation Processor clock scaling technique
US20250298429A1 (en) * 2024-03-22 2025-09-25 Tenstorrent USA, Inc. Multi-Level Critical Temperature Protection and Workload Efficiency Resilience for a Computer Processor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110172984A1 (en) 2010-01-08 2011-07-14 International Business Machines Corporation Efficiency of static core turn-off in a system-on-a-chip with variation
US20120166839A1 (en) 2011-12-22 2012-06-28 Sodhi Inder M Method, apparatus, and system for energy efficiency and energy conservation including energy efficient processor thermal throttling using deep power down mode
WO2013079946A2 (en) 2011-11-29 2013-06-06 Andrew Michael Wells Dispensing container

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451332B2 (en) * 2003-08-15 2008-11-11 Apple Inc. Methods and apparatuses for controlling the temperature of a data processing system
JP3914230B2 (ja) * 2004-11-04 2007-05-16 株式会社東芝 プロセッサシステム及びその制御方法
JP2008026948A (ja) * 2006-07-18 2008-02-07 Renesas Technology Corp 半導体集積回路
US7617403B2 (en) * 2006-07-26 2009-11-10 International Business Machines Corporation Method and apparatus for controlling heat generation in a multi-core processor
US7584369B2 (en) * 2006-07-26 2009-09-01 International Business Machines Corporation Method and apparatus for monitoring and controlling heat generation in a multi-core processor
US8214660B2 (en) * 2006-07-26 2012-07-03 International Business Machines Corporation Structure for an apparatus for monitoring and controlling heat generation in a multi-core processor
US7949887B2 (en) 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
US7962774B2 (en) 2007-10-04 2011-06-14 Wisconsin Alumni Research Foundation Over-provisioned multicore processor
US8064197B2 (en) 2009-05-22 2011-11-22 Advanced Micro Devices, Inc. Heat management using power management information
US8892931B2 (en) * 2009-10-20 2014-11-18 Empire Technology Development Llc Power channel monitor for a multicore processor
US8775830B2 (en) * 2009-12-16 2014-07-08 Qualcomm Incorporated System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature
US8495395B2 (en) * 2010-09-14 2013-07-23 Advanced Micro Devices Mechanism for controlling power consumption in a processing node
US8612781B2 (en) 2010-12-14 2013-12-17 Advanced Micro Devices, Inc. Method and apparatus for application of power density multipliers optimally in a multicore system
US8768666B2 (en) 2011-01-06 2014-07-01 Qualcomm Incorporated Method and system for controlling thermal load distribution in a portable computing device
US8595525B2 (en) 2011-09-22 2013-11-26 Qualcomm Incorporated On-chip thermal management techniques using inter-processor time dependent power density data for indentification of thermal aggressors
US20130086395A1 (en) * 2011-09-30 2013-04-04 Qualcomm Incorporated Multi-Core Microprocessor Reliability Optimization
JP5895444B2 (ja) * 2011-10-20 2016-03-30 セイコーエプソン株式会社 印刷装置
US9075611B2 (en) * 2012-09-12 2015-07-07 Htc Corporation Electronic device with power management mechanism and power management method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110172984A1 (en) 2010-01-08 2011-07-14 International Business Machines Corporation Efficiency of static core turn-off in a system-on-a-chip with variation
WO2013079946A2 (en) 2011-11-29 2013-06-06 Andrew Michael Wells Dispensing container
US20120166839A1 (en) 2011-12-22 2012-06-28 Sodhi Inder M Method, apparatus, and system for energy efficiency and energy conservation including energy efficient processor thermal throttling using deep power down mode

Also Published As

Publication number Publication date
CN105579926A (zh) 2016-05-11
US9342135B2 (en) 2016-05-17
EP3055751A1 (en) 2016-08-17
KR20160067123A (ko) 2016-06-13
CN105579926B (zh) 2019-04-26
US20150106640A1 (en) 2015-04-16
WO2015054072A1 (en) 2015-04-16
JP2016534423A (ja) 2016-11-04
JP6077182B2 (ja) 2017-02-08

Similar Documents

Publication Publication Date Title
KR101726552B1 (ko) 멀티-코어 프로세서들에 대한 가속화된 열 완화
TWI675289B (zh) 包含異質多核心處理器的電子系統及其操作方法
CN105492993B (zh) 用于每瓦特最优性能的智能多核控制
JP6072358B2 (ja) アイドル表示ケースにおけるメモリの省電力化
CN110727561B (zh) 异常散热的检测方法、装置、终端及存储介质
CN104380257B (zh) 在处理器核之间调度任务
KR101944378B1 (ko) 메모리 장치에서의 동적 캐시 사이징 방법 및 이를 포함하는 프로세서
TWI569142B (zh) 記憶體中成本感知之頁面調換及替換之技術
JP2018533112A (ja) コマンドストリームヒントを使用したgpu作業負荷の特徴づけおよび電力管理
TWI518585B (zh) 具有草稿式記憶體的電子裝置與草稿式記憶體的管理方法
US9927862B2 (en) Variable precision in hardware pipelines for power conservation
TWI670602B (zh) 電子器件及省電快取記憶體使用之方法
CN114787751A (zh) 分配在加速处理单元和离散图形处理单元之间共享的功率
CN107728934A (zh) 存储器控制器及包括其的存储系统
KR101531790B1 (ko) 모바일 디바이스에서의 임계 배터리 상태의 표시
JP2023541467A (ja) マルチプレクサでのgpuのブランキングやアーチファクトが発生しない(グリッチレス)切り替え
CN104750444A (zh) 具有动态背光控制能力的适应性部分屏幕更新
US12452182B2 (en) Method and device for performing dynamic traffic shaping
US20250181544A1 (en) Method and device for reducing latency in a peripheral component interconnect express link
TW202518270A (zh) 裝置控制方法與電子裝置
WO2024177732A1 (en) Power control of computing devices

Legal Events

Date Code Title Description
E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

A201 Request for examination
A302 Request for accelerated examination
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PA0302 Request for accelerated examination

St.27 status event code: A-1-2-D10-D17-exm-PA0302

St.27 status event code: A-1-2-D10-D16-exm-PA0302

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20200407

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20200407