KR101755817B1 - 반도체 프로세서 장치를 위한 선제적 열 관리 방법 및 장치 - Google Patents

반도체 프로세서 장치를 위한 선제적 열 관리 방법 및 장치 Download PDF

Info

Publication number
KR101755817B1
KR101755817B1 KR1020150108770A KR20150108770A KR101755817B1 KR 101755817 B1 KR101755817 B1 KR 101755817B1 KR 1020150108770 A KR1020150108770 A KR 1020150108770A KR 20150108770 A KR20150108770 A KR 20150108770A KR 101755817 B1 KR101755817 B1 KR 101755817B1
Authority
KR
South Korea
Prior art keywords
state
thermal
predicted arrival
arrival time
processor
Prior art date
Application number
KR1020150108770A
Other languages
English (en)
Other versions
KR20170015769A (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 성균관대학교산학협력단
Priority to KR1020150108770A priority Critical patent/KR101755817B1/ko
Publication of KR20170015769A publication Critical patent/KR20170015769A/ko
Application granted granted Critical
Publication of KR101755817B1 publication Critical patent/KR101755817B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/34Arrangements for cooling, heating, ventilating or temperature compensation ; Temperature sensing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)

Abstract

본 발명의 실시예들에 따른 반도체 프로세서 장치는 반도체 프로세서 장치를 구성하는 하나 이상의 프로세서 코어들에 관하여 획득되는 현재 온도, 현재 부하량 및 현재 프로세서 코어 설정에 기초하여 프로세서 코어들의 온도가 소정의 한계 온도에 도달하기까지 예측 도달 시간을 산출하는 열적 모델링부, 예측 도달 시간에 기초하여 열적 마진 상태(thermal margin state)를 결정하는 열적 마진 상태 결정부, 예측 도달 시간 및 열적 마진 상태에 기초하여 프로세서 코어들에 관한 열 관리 정책을 결정하는 정책 결정부 및 열 관리 정책에 따라 프로세서 코어들의 활성화, 전압 및 주파수를 제어하는 프로세서 코어 설정부를 포함할 수 있다.

Description

반도체 프로세서 장치를 위한 선제적 열 관리 방법 및 장치{METHOD AND APPARATUS FOR PROACTIVE THERMAL MANAGEMENT OF SEMICONDUCTOR PROCESSOR DEVICE}
본 발명은 반도체 프로세서 장치의 열 관리 기술에 관한 것이다.
반도체 프로세서 또는 반도체 전력 소자와 같은 반도체 장치들은, 반도체 소재의 일반적인 열적 특성에 따라, 온도가 올라가면 더 많은 누설 전력을 야기하고, 더 많은 누설 전력에 따른 발열로 온도가 더 올라가는 특성을 가진다. 장시간 열적 한계를 초과한 고온에서 동작하는 반도체 장치들은 설계된 동작 특성을 보장하지 못하고 오류를 일으키거나 영구적인 손상을 입을 수 있다.
통상적으로, 반도체 장치의 온도를 통제하는 기법은 동작에 따른 발열을 외부로 발산시키기 위한 냉각 용량을 충분히 확보하는 방식 또는 발열을 제어하는 방식 중 하나로 분류될 수 있다. 설계 단계에서 냉각 효율이나 냉각 용량을 개선하는 방식이 적용될 수 있다면, 실제 사용 단계에서는 발열을 제어하는 방식이 적용될 수 있다.
이에 따라, 반도체 장치를 위한 종래의 실시간적인 온도 관리 기법은 설계된 냉각 용량을 고려하여 반도체 장치의 온도가 상승하면 주파수를 낮추거나 동작 전압을 낮추는 식으로 소비 전력을 줄이고 온도가 하강하면 주파수를 높이거나 동작 전압을 높이는 식으로 동작한다.
예를 들어 선행기술(한국공개특허 10-2013-0020624호)은 미리 반도체 장치 내의 세부 부품들의 동작 모드에 따른 프로세스 코너(process corner), 전압 및 주파수 값들을 저장하고, 부품들의 동작 파라미터들을 실시간으로 감시하면서 어떤 값을 계산하다가, 저장된 값들과 계산된 값을 비교하여 동작 모드의 변화를 예측하고 동작 모드를 조절하는 구성이다.
이러한 선행기술에서는, 특정 반도체 장치의 부품들의 제조와 동작에 관한 여러 가지 값들을 미리 저장하고 있어야 하고, 각 반도체 장치의 각 동작 모드에서 열 관리기에 의해 프로세서 사용 효율, 스위칭 속도 내지 데이터 처리량과 같은 동작 파라미터들을 계산하여야 한다. 따라서 선행기술을 서로 다른 반도체 장치들에 적용하려면 각 반도체 장치의 제조와 동작에 관하여 데이터들을 따로 축적하여야 하고, 열 관리 하드웨어의 구성을 고려하여야 하는 단점이 있다.
이러한 통상적인 동적 전압 주파수 스케일링(DVFS, Dynamic Voltage Frequency Scaling) 기법은 온도 관리 측면에서는 반도체 장치의 열적 안전성을 보장할 수 있겠지만, 온도에 따라 전압과 주파수를 낮추는 기법에서 하드웨어 성능 저하는 불가피하다.
특히 스마트폰과 같이 제한된 배터리 용량과 제한된 방열 수단을 가지며 하드웨어의 성능 변화가 사용자 경험(User Experience)에 큰 영향을 미치는 모바일 장치들에서는 동적 전압 주파수 스케일링 기법은 장치에 대한 만족도를 크게 저하시킬 수 있다.
한편, 프로세서가 처리하는 쓰레드들은 서로 다른 우선순위를 가지고 동작하는데, 예를 들어 사용자와 직접적으로 인터랙션하는 쓰레드들은 상대적으로 높은 우선순위를 가질 수 있고, 그렇지 않은 쓰레드들은 상대적으로 낮은 우선순위를 가질 수 있다.
만약 프로세서가 낮은 우선순위의 쓰레드들을 높은 전압 및 주파수로 구동하면서 이미 상당히 높은 온도에 도달한 경우에, 그 이후에 높은 우선순위의 쓰레드들이 구동되면 프로세서는 곧장 열적 한계에 도달하게 될 수 있다. 이에 따라, 전압 및 주파수가 강제적으로 낮아지면서 프로세서의 성능이 낮아지면 높은 우선순위의 쓰레드들은 높은 우선순위에도 불구하고 실질적으로 원하는 사용자 경험을 제공할 수 없게 된다.
한국공개특허 10-2013-0020624(2013.02.27)
본 발명이 해결하고자 하는 과제는 반도체 프로세서 장치를 위한 선제적 열 관리 방법 및 장치를 제공하는 데에 있다.
본 발명이 해결하고자 하는 과제는 열적 상태에 따라 소프트웨어적으로 작업들을 스케줄링함으로써 온도를 조절하는 선제적 열 관리 방법 및 장치를 제공하는 데에 있다.
본 발명이 해결하고자 하는 과제는 전압 내지 주파수의 변경을 통한 반도체 프로세서 장치의 하드웨어적 온도 관리 기법과 쉽게 연동될 수 있는 선제적 열 관리 방법 및 장치를 제공하는 데에 있다.
본 발명이 해결하고자 하는 과제는 높은 우선순위의 쓰레드들에게 프로세서의 성능을 최대한 보장할 수 있는 선제적 열 관리 방법 및 장치를 제공하는 데에 있다.
본 발명의 해결과제는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 해결과제들은 아래의 기재로부터 당업자에게 명확히 이해될 수 있을 것이다.
본 발명의 일 측면에 따른 반도체 프로세서 장치는 반도체 프로세서 장치를 구성하는 하나 이상의 프로세서 코어들에 관하여 획득되는 현재 온도, 현재 부하량 및 현재 프로세서 코어 설정에 기초하여 상기 프로세서 코어들의 온도가 소정의 한계 온도에 도달하기까지 예측 도달 시간을 산출하는 열적 모델링부; 상기 예측 도달 시간에 기초하여 열적 마진 상태(thermal margin state)를 결정하는 열적 마진 상태 결정부; 상기 열적 마진 상태 및 예측 도달 시간에 기초하여 상기 프로세서 코어들에 관한 열 관리 정책을 결정하는 정책 결정부; 및 상기 열 관리 정책에 따라 상기 프로세서 코어들의 활성화, 전압 및 주파수를 설정하는 프로세서 코어 설정부를 포함할 수 있다.
일 실시예에 따라, 상기 열적 모델링부는 소정의 초기 온도, 부하량 및 프로세서 코어 설정을 포함하는 동작 조건 하에 상기 프로세서 코어들이 동작할 경우에 상기 프로세서 코어들의 온도 변화를 시간의 함수로 표현한 열적 모델에 기초하여, 상기 프로세서 코어들이 현재 온도, 현재 부하량 및 현재 프로세서 코어 설정으로 동작하면 소정의 한계 온도에 도달하기까지 얼마나 걸릴 것인지 산출함으로써 상기 예측 도달 시간을 산출하도록 동작할 수 있다.
일 실시예에 따라, 상기 열적 모델링부는 소정의 초기 온도 및 프로세서 코어 설정과, 상기 프로세서 코어 설정에서 가능한 과부하량(stressful load)을 포함하는 동작 조건 하에서 상기 프로세서 코어들이 동작할 경우에 상기 프로세서 코어들의 온도 변화를 시간의 함수로 표현한 열적 모델에 기초하여, 상기 예측 도달 시간을 산출하도록 동작할 수 있다.
일 실시예에 따라, 상기 열적 모델은 복수의 초기 온도 값들, 복수의 부하량 값들 및 복수의 프로세서 코어 설정들로써 조합 가능한 복수의 동작 조건들의 각각마다, 미리 측정된 상기 프로세서 코어들의 온도 값들과, 각 온도에 도달하기까지 걸린 시간 값들을 각각 저장한 테이블로서 구현될 수 있다.
일 실시예에 따라, 상기 열적 마진 상태 결정부는 상기 예측 도달 시간을 소정의 문턱 시간에 비교한 결과 및 상기 열 관리 정책의 변경 여부에 따라 상기 프로세서 코어들의 열적 마진 상태를 안전 상태, 경고 상태 및 위험 상태 중 하나로 결정하도록 동작할 수 있다.
일 실시예에 따라, 상기 열적 마진 상태 결정부는 쓰레드들의 우선순위에 기초하여 상기 문턱 시간을 스케일링하도록 동작할 수 있다.
일 실시예에 따라, 상기 정책 결정부는 열적 마진 상태가 경고 상태인 동안에 현재의 예측 도달 시간보다 다음 시점에 산출될 예측 도달 시간이 길어지도록 열 관리 정책을 결정하도록 동작하고, 상기 열적 마진 상태 결정부는 열적 마진 상태가 안전 상태인 때에 상기 예측 도달 시간이 제1 문턱 시간보다 길면 열적 마진 상태를 안전 상태로 유지하고 상기 예측 도달 시간이 상기 제1 문턱 시간보다 짧으면 열적 마진 상태를 안전 상태에서 경고 상태로 변경하며, 열적 마진 상태가 경고 상태인 때에 열 관리 정책이 결정되면 열적 마진 상태를 위험 상태로 변경하고, 열적 마진 상태가 위험 상태인 때에 상기 예측 도달 시간이 제2 문턱 시간보다 짧으면 열적 마진 상태를 경고 상태로 변경하고, 상기 예측 도달 시간이 제2 문턱 시간보다 길지만 제3 문턱 시간보다 짧으면 열적 마진 상태를 위험 상태로 유지하며, 상기 예측 도달 시간이 제3 문턱 시간보다 길면 열적 마진 상태를 안전 상태로 변경하도록 동작할 수 있다.
일 실시예에 따라, 상기 열적 마진 상태 결정부는 쓰레드들의 우선순위에 기초하여 상기 제1 내지 제3 문턱 시간들을 각각 스케일링하도록 동작할 수 있다.
일 실시예에 따라, 상기 정책 결정부는 현재 온도에서 복수의 프로세서 코어 설정들의 각각에 따라 산출되는 예측 도달 시간들 중에 어느 한 예측 도달 시간을 선택하고, 선택된 예측 도달 시간에 상응하는 프로세서 코어 설정에 따라 열 관리 정책을 결정하도록 동작할 수 있다.
일 실시예에 따라, 상기 반도체 프로세서 장치는 상기 프로세서 코어들에서 구동되는 쓰레드들을 우선 쓰레드들(priority threads)과 비우선 쓰레드들(non-priority threads)로 구분하고, 열 관리 정책에 따라 비우선 쓰레드들에 할당되는 시간 슬라이스들을 조절하도록 동작하는 스케줄러를 더 포함할 수 있다.
일 실시예에 따라, 상기 현재 부하량은 상기 프로세서 코어들에서 구동되는 쓰레드들 중 우선 쓰레드들을 처리하는 데에 관련된 부하량일 수 있다.
일 실시예에 따라, 상기 반도체 프로세서 장치는 상기 프로세서 코어들에서 구동되는 쓰레드들 중 우선 쓰레드들에 관련된 부하량이 문턱 부하량을 초과하는 성능 가속(high performance burst) 상황의 발생을 감시하고, 성능 가속 상황이 검출되면 성능 가속 요청을 생성하는 성능 가속 상황 감시부를 더 포함하고, 상기 정책 결정부는, 상기 성능 가속 상황 감시부로부터 성능 가속 요청이 수신되면, 복수의 프로세서 코어 설정들 중에서 현재의 성능보다 높은 성능을 제공하는 프로세서 코어 설정을 선택하고, 선택된 프로세서 코어 설정에 따라 열 관리 정책을 결정하도록 동작할 수 있다.
본 발명의 다른 측면에 따른 반도체 프로세서 장치를 위한 열 관리 장치는 반도체 프로세서 장치를 구성하는 하나 이상의 프로세서 코어들에 관하여 획득되는 현재 온도, 현재 부하량 및 현재 프로세서 코어 설정에 기초하여 상기 프로세서 코어들의 온도가 소정의 한계 온도에 도달하기까지 예측 도달 시간을 산출하는 열적 모델링부; 상기 예측 도달 시간에 기초하여 열적 마진 상태를 결정하는 열적 마진 상태 결정부; 및 상기 열적 마진 상태 및 예측 도달 시간에 기초하여 상기 프로세서 코어들에 관한 열 관리 정책을 결정하는 정책 결정부를 포함할 수 있다.
일 실시예에 따라, 상기 반도체 프로세서 장치를 위한 열 관리 장치는 상기 프로세서 코어들에서 구동되는 쓰레드들을 우선 쓰레드들과 비우선 쓰레드들로 구분하고, 열 관리 정책에 따라 비우선 쓰레드들에 할당되는 시간 슬라이스들을 조절하도록 동작하는 스케줄러를 더 포함할 수 있다.
일 실시예에 따라, 상기 반도체 프로세서 장치를 위한 열 관리 장치는 상기 프로세서 코어들에서 구동되는 쓰레드들 중 비우선 쓰레드들에 관련된 부하량이 문턱 부하량을 초과하는 성능 가속 상황의 발생을 감시하고, 성능 가속 상황이 검출되면 성능 가속 요청을 생성하는 성능 가속 상황 감시부를 더 포함하고, 상기 정책 결정부는, 상기 성능 가속 상황 감시부로부터 성능 가속 요청이 수신되면, 복수의 프로세서 코어 설정들 중에서 현재의 성능보다 높은 성능을 제공하는 프로세서 코어 설정을 선택하고, 선택된 프로세서 코어 설정에 따라 열 관리 정책을 결정하도록 동작할 수 있다.
본 발명의 다른 측면에 따라, 하나 이상의 프로세서 코어들을 포함하는 반도체 프로세서 장치를 위한 열 관리 방법은 상기 프로세서 코어들에 관하여 획득되는 현재 온도, 현재 부하량 및 현재 프로세서 코어 설정에 기초하여 상기 프로세서 코어들의 온도가 소정의 한계 온도에 도달하기까지 예측 도달 시간을 산출하는 단계; 상기 예측 도달 시간에 기초하여 열적 마진 상태를 결정하는 단계; 상기 열적 마진 상태 및 예측 도달 시간에 기초하여 상기 프로세서 코어들에 관한 열 관리 정책을 결정하는 단계; 및 상기 열 관리 정책에 따라 상기 프로세서 코어들의 활성화, 전압 및 주파수를 제어하는 단계를 포함할 수 있다.
일 실시예에 따라, 상기 예측 도달 시간을 산출하는 단계는 소정의 초기 온도, 부하량 및 프로세서 코어 설정을 포함하는 동작 조건 하에 상기 프로세서 코어들이 동작할 경우에 상기 프로세서 코어들의 온도 변화를 시간의 함수로 표현한 열적 모델에 기초하여, 상기 프로세서 코어들이 현재 온도, 현재 부하량 및 현재 프로세서 코어 설정으로 동작하면 소정의 한계 온도에 도달하기까지 얼마나 걸릴 것인지 산출함으로써 상기 예측 도달 시간을 산출하는 단계를 포함할 수 있다.
일 실시예에 따라, 상기 예측 도달 시간을 산출하는 단계는 소정의 초기 온도 및 프로세서 코어 설정과, 상기 프로세서 코어 설정에서 가능한 과부하량을 포함하는 동작 조건 하에서 상기 프로세서 코어들이 동작할 경우에 상기 프로세서 코어들의 온도 변화를 시간의 함수로 표현한 열적 모델에 기초하여, 상기 예측 도달 시간을 산출하는 단계를 포함할 수 있다.
일 실시예에 따라, 상기 열적 모델은 복수의 초기 온도 값들, 복수의 부하량 값들 및 복수의 프로세서 코어 설정들로써 조합 가능한 복수의 동작 조건들의 각각마다, 미리 측정된 상기 프로세서 코어들의 온도 값들과, 각 온도에 도달하기까지 걸린 시간 값들을 각각 저장한 테이블로서 구현될 수 있다.
일 실시예에 따라, 상기 열적 마진 상태를 결정하는 단계는 상기 예측 도달 시간을 소정의 문턱 시간에 비교한 결과 및 상기 열 관리 정책의 변경 여부에 따라 상기 프로세서 코어들의 열적 마진 상태를 안전 상태, 경고 상태 및 위험 상태 중 하나로 결정하는 단계를 포함할 수 있다.
일 실시예에 따라, 상기 열적 마진 상태를 결정하는 단계는 쓰레드들의 우선순위에 기초하여 상기 문턱 시간을 스케일링하는 단계를 더 포함할 수 있다.
일 실시예에 따라, 상기 열 관리 정책을 결정하는 단계는 열적 마진 상태가 경고 상태인 동안에 다음 시점에 산출될 예측 도달 시간이 길어지도록 열 관리 정책을 결정하는 단계를 포함하고, 상기 열적 마진 상태를 결정하는 단계는 열적 마진 상태가 안전 상태인 때에 상기 예측 도달 시간이 제1 문턱 시간보다 길면 열적 마진 상태를 안전 상태로 유지하고 상기 예측 도달 시간이 상기 제1 문턱 시간보다 짧으면 열적 마진 상태를 안전 상태에서 경고 상태로 변경하는 단계; 열적 마진 상태가 경고 상태인 때에 열 관리 정책이 결정되면 열적 마진 상태를 위험 상태로 변경하는 단계; 및 열적 마진 상태가 위험 상태인 때에 상기 예측 도달 시간이 제2 문턱 시간보다 짧으면 열적 마진 상태를 경고 상태로 변경하고, 상기 예측 도달 시간이 제2 문턱 시간보다 길지만 제3 문턱 시간보다 짧으면 열적 마진 상태를 위험 상태로 유지하며, 상기 예측 도달 시간이 제3 문턱 시간보다 길면 열적 마진 상태를 안전 상태로 변경하는 단계를 포함할 수 있다.
일 실시예에 따라, 상기 열 관리 정책을 결정하는 단계는 현재 온도에서 복수의 프로세서 코어 설정들의 각각에 따라 산출되는 예측 도달 시간들 중에 어느 한 예측 도달 시간을 선택하고, 선택된 예측 도달 시간에 상응하는 프로세서 코어 설정에 따라 열 관리 정책을 결정하는 단계를 포함할 수 있다.
일 실시예에 따라, 상기 반도체 프로세서 장치를 위한 열 관리 방법은 상기 프로세서 코어들에서 구동되는 쓰레드들을 우선 쓰레드들과 비우선 쓰레드들로 구분하는 단계; 및 열 관리 정책에 따라 비우선 쓰레드들에 할당되는 시간 슬라이스들을 조절하도록 동작하는 단계를 더 포함할 수 있다.
일 실시예에 따라, 상기 현재 부하량은 상기 프로세서 코어들에서 구동되는 쓰레드들 중 우선 쓰레드들을 처리하는 데에 관련된 부하량일 수 있다.
일 실시예에 따라, 상기 열적 마진 상태를 결정하는 단계는 쓰레드들의 우선순위에 기초하여 상기 제1 내지 제3 문턱 시간들을 각각 스케일링하는 단계를 더 포함할 수 있다.
일 실시예에 따라, 상기 반도체 프로세서 장치를 위한 열 관리 방법은, 상기 프로세서 코어들에서 구동되는 쓰레드들 중 우선 쓰레드들에 관련된 부하량이 문턱 부하량을 초과하는 성능 가속 상황의 발생을 감시하고, 성능 가속 상황이 검출되면 성능 가속 요청을 생성하는 단계; 및 상기 성능 가속 요청에 따라, 복수의 프로세서 코어 설정들 중에서 현재의 성능보다 높은 성능을 제공하는 프로세서 코어 설정을 선택하고, 선택된 프로세서 코어 설정에 따라 열 관리 정책을 결정하는 단계를 더 포함할 수 있다.
본 발명의 반도체 프로세서 장치를 위한 선제적 열 관리 방법 및 장치에 따르면, 반도체 프로세서 장치의 열적 상태에 따라 소프트웨어적으로 작업들을 스케줄링함으로써 반도체 프로세서 장치의 온도를 조절할 수 있다.
본 발명의 반도체 프로세서 장치를 위한 선제적 열 관리 방법 및 장치에 따르면, 전압 내지 주파수의 변경을 통한 반도체 프로세서 장치의 하드웨어적 온도 관리 기법과 쉽게 연동될 수 있다.
본 발명의 반도체 프로세서 장치를 위한 선제적 열 관리 방법 및 장치에 따르면, 쓰레드들의 우선순위에 따라 열적 마진을 스케일링함으로써 프로세서의 성능을 최대한 보장할 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 반도체 프로세서 장치를 위한 선제적 열 관리 장치를 예시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 반도체 프로세서 장치를 위한 선제적 열 관리 장치에서 이용되는 열적 마진의 개념을 예시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 반도체 프로세서 장치를 위한 선제적 열 관리 장치에서 이용되는 열적 마진에 따른 상태 다이어그램을 예시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 반도체 프로세서 장치를 위한 선제적 열 관리 장치에서 성능 가속이 필요한 경우를 예시한 그래프이다.
도 5는 본 발명의 일 실시예에 따른 반도체 프로세서 장치를 위한 선제적 열 관리 장치에서 열적 마진 상태와 성능 상태가 서로 동등하게 열 관리 정책에 영향을 주면서 반도체 프로세서 장치의 온도가 선제적으로 관리되는 양상을 예시한 그래프들이다.
도 6은 본 발명의 일 실시예에 따른 반도체 프로세서 장치를 위한 선제적 열 관리 방법을 예시한 순서도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 반도체 프로세서 장치를 위한 선제적 열 관리 장치를 예시한 블록도이다.
도 1을 참조하면, 반도체 프로세서 장치(10)는 하나 이상의 프로세서 코어들(11), 프로세서 코어 설정부(12), 전원 전압 생성부(13), 클럭 주파수 생성부(14), 온도 센서(15) 및 열 관리 장치(100)를 포함할 수 있다.
프로세서 코어들(11)은 개별적으로 활성화되거나 비활성화될 수 있고, 필요에 따라 서로 다른 전압 또는 서로 다른 클럭 주파수로 구동될 수 있다.
프로세서 코어 설정부(12)는 프로세서 코어의 활성화 여부와, 전압 및 주파수에 관하여, 조합이 가능한 복수의 프로세서 코어 설정들을 저장하고 있어서, 내부적인 판단 또는 외부적인 지시에 따라, 예를 들어 열 관리 장치(100)에서 결정되는 열 관리 정책에 따라, 복수의 프로세서 코어 설정들 중 하나의 프로세서 코어 설정을 선택하고, 선택된 프로세서 코어 설정에 따라 활성화되는 프로세서 코어들, 공급될 전원 전압 또는 클럭 주파수를 각각 결정할 수 있다.
전원 전압 생성부(13)는 프로세서 코어 설정부(12)에서 결정된 프로세서 코어 설정 중의 전압 설정에 따라 전원 전압(VDD)을 생성하여 활성화된 프로세서 코어(11)에 공급한다.
클럭 주파수 생성부(14)는 프로세서 코어 설정부(12)에서 결정된 프로세서 코어 설정 중의 주파수 설정에 따라 클럭 주파수(CLK)를 생성하여 활성화된 프로세서 코어(11)에 공급한다.
온도 센서(15)는 각 프로세서 코어들(11)의 개별적인 온도 값들을 산출하거나 또는 반도체 프로세서 장치(10)의 열적 상태를 대표할 수 있는 하나의 온도 값을 산출할 수 있다.
최근에 출시되는 반도체 프로세서 장치들은 온도를 제어하면서 체감 성능을 보장하기 위해 현재 온도와 한계 온도를 비교하여 전압과 주파수를 동적으로 스케일링하는 DVFS 기법을 채택하고 있다. 한계 온도는 반도체 프로세서 장치들의 열 설계 전력(TDP, Thermal Design Power)에 의해 결정되는 온도로서, 한계 온도에 도달하면 성능이 저하되거나 정상적인 동작을 보장하지 못하거나 제품의 수명이 영향을 받을 수 있다.
이러한 기존의 온도 제어 기법은 반도체 프로세서 장치의 현재 온도와 한계 온도의 비교를 기초로 즉각적으로 반응하고 매우 적극적으로 스케일링하기 때문에, 성능이 순간적으로 변동할 수 있다. 높은 성능을 요구하는 어플리케이션은 많은 전력을 소비하기 때문에 순식간에 프로세서 장치의 온도를 상승시킨다. 그에 따라, 성능을 크게 요구하지 않는 어플리케이션을 구동할 동안에는 프로세서 장치가 냉각된 상태이므로 높은 잠재적 성능을 가지지만, 정작 높은 성능이 요구될 때에는 프로세서 장치가 과열되고 전압과 주파수가 낮아지면서 제 성능을 낼 수 없는 상태가 될 수 있다.
본 발명의 실시예들에 따른 열 관리 장치(100)는 프로세서 코어들(11)의 온도를 예측하고 선제적으로 대응하기 위해, 열적 모델링부(110), 열적 마진 상태 결정부(120) 및 정책 결정부(130)를 포함할 수 있다.
실시예에 따라, 열 관리 장치(100)는 스케줄러(140) 및 성능 상태 결정부(150)를 각각 더 포함할 수 있다.
열적 모델링부(110)는 반도체 프로세서 장치(10)를 구성하는 하나 이상의 프로세서 코어들(11)에 관하여 획득되는 현재 온도, 현재 부하량 및 현재 프로세서 코어 설정에 기초하여 상기 프로세서 코어들의 온도가 소정의 한계 온도에 도달하기까지 예측 도달 시간(ETA, Estimated Time of Arrival)을 산출할 수 있다.
현재 온도는 온도 센서(15)로부터, 현재 부하량은 프로세서 코어들(11)의 스케줄러 또는 운영체제로부터, 그리고 현재 프로세서 코어 설정은 프로세서 코어 설정부(12)로부터 각각 획득될 수 있다.
실시예에 따라, 열적 모델링부(110)는 반도체 프로세서 장치(10)의 열적 모델에 기초하여, 프로세서 코어들(11)이 현재 온도, 현재 부하량 및 현재 프로세서 코어 설정으로 동작하면 소정의 한계 온도에 도달하기까지 얼마나 걸릴 것인지 산출함으로써 예측 도달 시간을 산출할 수 있다.
실시예에 따라, 열적 모델링부(110)는, 소정의 초기 온도 및 프로세서 코어 설정과, 프로세서 코어 설정에서 가능한 초과 부하량(stressful load)을 포함하는 동작 조건 하에서 프로세서 코어들(11)이 동작할 경우에, 프로세서 코어들(11)의 온도 변화를 시간의 함수로 표현한 열적 모델에 기초하여, 예측 도달 시간을 산출할 수 있다.
이때, 반도체 프로세서 장치(10)의 열적 모델은 소정의 초기 온도, 부하량 및 프로세서 코어 설정을 포함하는 동작 조건 하에 프로세서 코어들(11)이 동작할 경우에, 프로세서 코어들(11)의 온도 변화를 시간의 함수로 표현한 것이다.
열적 모델은 초기 온도, 외부 온도, 부하량, 활성화된 프로세서 코어들의 수, 전압 및 주파수 등의 변수들에 의해 정의될 수 있다.
예를 들어, 열적 모델은 초기 온도 100℃, 외부 온도 25℃, 부하량 80%, 4 개의 프로세서 코어들이 3.3V, 1.6 GHz로 동작하는 동작 조건 하에, 반도체 프로세서 장치(10)의 온도가 시간에 따라 상승하는 곡선으로 표현될 수 있다.
본 발명에서 열적 모델은 현재의 온도를 초기 온도로 하고 현재의 부하량과 프로세서 코어 설정이 유지될 경우에 한계 온도에 도달하기까지 걸리는 시간을 대략적으로 예측하기 위한 경험칙적 모델이다.
실시예에 따라, 외부 온도 변수는 현실적으로 획득하기 어려운 변수이므로, 외부 온도를 25℃의 실온으로 가정하여 상수화함으로써, 변수에서 배제할 수 있다.
한편, 부하량 변수에 대하여, 부하량은 100%를 초과할 수 없고 낮은 부하량에서는 온도가 상승하지 않고 안정적인 열적 평형 상태를 유지하므로, 현실적으로 온도의 급격한 상승을 초래하는 범위에서 부하량을 상수화함으로써, 예를 들어 70%, 80%, 90% 또는 100%로 상수화함으로써, 마찬가지로 부하량도 변수에서 배제할 수 있다.
한편, 본 발명에서 열적 모델과 이에 따른 예측 도달 시간의 산출은 실시예에 따라 방정식의 해 도출 알고리즘 또는 룩업테이블로 구현될 수 있다.
예를 들어, 일 실시예에서, 열적 모델은 초기 온도와 프로세서 코어 설정들의 조합으로 가능한 모든 동작 조건들의 각각마다 시간에 관한 함수로 표현되고, 예측 도달 시간은 그러한 시간에 관한 함수의 값을 한계 온도와 같게 만드는 해를 구하는 수학적 알고리즘을 통해 산출될 수 있다. 다만, 이러한 실시예는 수학적 알고리즘의 실행이 의외로 많은 연산량과 부동소수점 연산 능력 내지 많은 메모리를 요구하여 바람직하지 못한 오버헤드(overhead)를 야기할 수 있다.
다른 실시예에서, 열적 모델은 초기 온도와 초기 온도와 프로세서 코어 설정들의 조합으로 가능한 모든 동작 조건들의 각각마다, 초기 온도부터 시작하여 소정 온도 간격의 온도에 도달하는 시간을 기록한 룩업테이블로 구현될 수 있다.
통상적으로 온도 센서(15)가 1℃의 해상도를 가지고 반도체 프로세서 장치(10)의 온도 값을 출력한다고 가정하면, 소수점 이하의 온도 변화는 실질적으로 고려하지 않아도 무방하다. 따라서, 초기 온도부터 1℃ 간격으로 매 온도 값에 도달하는 측정 시간을 예를 들어 ms 단위로 기록할 수 있다.
이러한 실시예에서, 열적 모델은 예를 들어 110℃인 한계 온도에 접근할 가능성이 있는 95℃ 이상부터 109℃까지 온도 구간 내의 1℃ 단위의 초기 온도 값들의 각각마다, 프로세서 코어 설정들의 가능한 조합 종류만큼의 룩업테이블들로 구현될 수 있다. 이에 따라, 예를 들어 프로세서 코어 설정이 4 개의 코어 활성화, 5 개의 전원 전압 설정, 10 개의 클럭 주파수 설정으로 조합되는 수백 가지의 동작 조건들에 대해, 20 여개의 초기 온도 값들의 열적 모델을 구현하는 데에 수천 개의 룩업테이블들(Look-up table)이 필요할 수 있다. 하지만, 각 룩업테이블의 크기가 수십 내지 수백 바이트에 불과할 것이므로, 전체적으로도 열적 모델이 수십 내지 수백 KB 정도의 메모리 공간으로 구현될 수 있고, 무엇보다 복잡한 연산없이 구현될 수 있다.
이에 따라, 열적 모델은 복수의 초기 온도 값들, 복수의 부하량 값들 및 복수의 프로세서 코어 설정들로써 조합 가능한 복수의 동작 조건들의 각각마다, 미리 측정되는 프로세서 코어들(11)의 온도 값들과, 각 온도에 도달하기까지 걸린 시간 값들을 각각 저장한 테이블로서 구현될 수 있다.
다음으로, 열적 마진 상태 결정부(120)는 예측 도달 시간에 기초하여 열적 마진 상태(thermal margin state)를 결정할 수 있다.
열적 마진 상태의 결정을 예시하기 위해 도 2 및 도 3을 참조하면, 도 2는 본 발명의 일 실시예에 따른 반도체 프로세서 장치를 위한 선제적 열 관리 장치에서 이용되는 열적 마진의 개념을 예시한 도면이고, 도 3은 열적 마진 상태의 상태 다이어그램을 예시한 도면이다.
도 2는 동작 조건에 따라 온도가 상승하고 하강하는 시나리오에서 온도 변화를 대략적으로 예시한다.
높은 부하량을 동반하는 동작 조건 하에서 발열량이 방열량보다 많으면 열적 평형이 깨지고 온도가 상승하기 시작한다. 온도의 상승 추세는 해당 동작 조건에 상응하는 열적 모델에 의해 예측될 수 있다.
상승하는 온도가 A 지점을 돌파하기 전까지는, 동작 조건이 언제라도 낮아질 수 있으므로 열적으로 아직 여유가 있다.
상승하는 온도가 A 지점을 돌파한 직후부터는, 동작 조건을 낮추는 조치를 곧 취하지 않으면 머지 않아 온도가 한계 온도에 도달할 위험이 있다. 한계 온도에 도달하면 반도체 프로세서 장치(10)가 고장나는 것은 아니지만 프로세서 코어 설정부(12)의 DVFS 기능이 적극적으로 작동되면서 사용자가 체감하는 성능이 나빠진다.
만약 온도가 A 지점을 돌파한 이후에 아무런 조치가 취해지지 않으면, 온도는 예측된 대로 B 지점을 통과하고 C 지점에서 한계 온도에 도달할 것이다.
반면에, 온도가 A 지점을 돌파하고 B 지점을 통과하기 전에 동작 조건을 낮추는 어떤 조치가 취해지면, 온도는 상승 추세가 완화되면서 C 지점보다 늦은 C' 지점에서 한계 온도에 도달할 것이다.
만약 온도가 완화된 상승 추세를 따라 B' 지점을 통과한 후에 동작 조건을 좀더 낮추는 조치가 추가로 취해지면, 온도는 잠시 후 하강 추세로 변하여 D 지점에서 적절한 낮은 온도에 도달할 수 있다.
기존의 DVFS 기법을 이용한 열적 관리에서는, 동작 조건을 낮추는 조치를 판정하는 결정적인 변수는 현재 온도이다. 즉, 기존의 DVFS 기법에서는 동작 조건을 낮추는 조치가 필요한 A 지점의 온도가 예를 들어 100℃로 고정적이다.
반면에 본 발명의 실시예들에 따른 반도체 프로세서 장치는, 현재 온도 그 자체가 아닌, 현재 온도에서 한계 온도까지 도달하기까지 걸리는 여유 시간에 기초하여 동작 조건을 낮추는 조치를 결정한다. 따라서, 만약 온도 상승이 급격한 동작 조건에서는 A 지점의 온도가 상대적으로, 예를 들어 95℃로 낮을 수 있지만, 온도 상승이 완만한 동작 조건에서는 A 지점의 온도가 상대적으로, 예를 들어 98℃로 높을 수 있다.
이렇듯, 본 발명은 온도 상승에 기여하는 발열량을 시간의 척도로 변환하고, 온도의 여유가 아닌 대응 시간의 여유에 기초하여 동작할 수 있다.
이에 따라, 열적 마진 상태는 현재 온도로부터 현재의 동작 조건 하에서 한계 온도에 도달하기까지 걸릴 것으로 예측되는 예측 도달 시간에 여유가 있는 상태, 만약 예측 도달 시간이 여유롭지 않다면 발열을 줄일 조치를 취해야 하는 상태, 또는 예측 도달 시간이 여유롭지 않아 어떤 조치가 취해진 후에 상황을 관찰하는 상태 중 하나이다. 본 발명에서 이들 상태는 각각 안전 상태, 경고 상태 및 위험 상태라고 할 수 있다.
다시 도 1로 돌아가서, 열적 마진 상태 결정부(120)는 예측 도달 시간을 소정의 문턱 시간에 비교한 결과 및 열 관리 정책의 변경 여부에 따라 프로세서 코어들(11)의 열적 마진 상태를 안전 상태, 경고 상태 및 위험 상태 중 하나로 결정할 수 있다. 문턱 시간은 예를 들어 반도체 프로세서 장치(10)의 방열 용량에 기초하여 경험적으로 결정될 수 있다.
구체적으로 열적 마진 상태 결정부(120)는 예측 도달 시간이 문턱 시간보다 크면, 예를 들어 문턱 시간이 십 초인데 예측 도달 시간이 수십 초라면, 반도체 프로세서 장치(10)가 한계 온도에 도달할 가능성은 사실상 없다고 볼 수 있다. 이러한 경우에 열적 마진 상태 결정부(120)는 열적 마진 상태를 안전 상태라고 결정할 수 있다.
반면에, 열적 마진 상태 결정부(120)는 예측 도달 시간이 문턱 시간보다 크면, 예를 들어 문턱 시간이 십 초인데 예측 도달 시간이 수 초라면, 반도체 프로세서 장치(10)가 언제라도 한계 온도에 도달할 가능성이 있고 즉시 발열을 줄일 조치가 필요하다. 이러한 경우에 열적 마진 상태 결정부(120)는 열적 마진 상태를 경고 상태라고 결정할 수 있다.
한편, 실시예에 따라 열적 마진 상태 결정부(102)는 쓰레드들의 우선순위에 기초하여 예측 도달 시간을 비교할 문턱 시간을 스케일링할 수 있다.
예를 들어, 쓰레드들 중 우선순위가 가장 높은 쓰레드의 우선순위에 따라, 문턱 시간이 상대적으로 커지거나 작아질 수 있다.
좀더 구체적으로, 쓰레드들 중 우선순위가 가장 높은 쓰레드의 우선순위가 높을수록, 문턱 시간이 상대적으로 작아질 수 있다. 반대로 쓰레드들 중 우선순위가 가장 높은 쓰레드의 우선순위가 낮을수록, 문턱 시간이 상대적으로 커질 수 있다.
후술하겠지만, 쓰레드들은 포어그라운드 쓰레드들(foreground threads)과 같은 우선 쓰레드들과, 백그라운드 쓰레드들(background threads)과 같은 비우선 쓰레드들로 구분될 수 있다.
예를 들어, 실행되는 쓰레드들 중 우선순위가 가장 높은 쓰레드가 우선 쓰레드라면, 문턱 시간은 상대적으로 작아질 수 있다. 예측 도달 시간들이 같은 두 사례들을 가정하면, 문턱 시간이 작게 설정된 사례는 문턱 시간이 높게 설정된 사례에 비해 더 높은 현재 온도에서도 열적 마진 상태가 안전 상태로 유지된다. 이에 따라, 우선순위가 매우 높은 쓰레드가 실행되면, 현재 온도가 한계 온도에 가까워지더라도 열적 마진 상태는 안전 상태를 유지할 수 있고, 프로세서들은 현재 온도가 매우 높음에도 불구하고 계속 최대의 성능을 내는 동작 조건으로 설정될 수 있다.
반면에, 실행되는 쓰레드들 중 우선순위가 가장 높은 쓰레드가 비우선 쓰레드라면, 문턱 시간은 상대적으로 커질 수 있다. 예측 도달 시간이 같다면, 문턱 시간이 커지면, 더 낮은 현재 온도에서도 열적 마진 상태가 경고 상태로 전환되고, 발열을 줄이는 조치가 수행된다. 이에 따라, 우선순위가 낮은 비우선 쓰레드들만 실행되는 중이라면, 현재 온도가 한계 온도보다 훨씬 낮더라도 열적 마진 상태는 경고 상태로 진입할 수 있고, 프로세서들은 현재 온도가 낮음에도 불구하고 발열을 줄이는 동작 조건으로 설정될 수 있다.
한편, 발열을 줄일 조치가 있은 후에 당분간 반도체 프로세서 장치(10)는 온도의 변화를 관찰할 수 있다. 이러한 경우에 열적 마진 상태 결정부(120)는 열적 마진 상태를 위험 상태라고 결정할 수 있다. 관찰 결과에 따라 더 적극적인 조치가 필요할 수도 있고, 현재의 조치를 유지하면서 추가적인 관찰이 필요할 수도 있으며 또는 현재의 조치가 더이상 불필요하고 이전의 동작 조건으로 돌아가도 무방할 수도 있다.
도 3을 참조하면, 열적 마진 상태의 천이가 예시된다. 최초에 열적 마진 상태는 안전 상태(Safe_Zone)이다.
열적 마진 상태가 안전 상태인 동안에는 예측 도달 시간을 제1 문턱 시간에 비교하는 check_ETA() 함수가 실행된다.
만약 예측 도달 시간이 제1 문턱 시간보다 길면(on_ETA_long), 열적 마진 상태는 안전 상태로 유지될 수 있다.
반면에 열적 마진 상태가 안전 상태인 때에 예측 도달 시간이 제1 문턱 시간보다 짧으면(on_Alarm), 열적 마진 상태는 안전 상태에서 경고 상태(Alarm_State)로 변경될 수 있다.
열적 마진 상태가 경고 상태인 때에는 열적 위험을 해소하기 위한 열 관리 정책을 결정하는 cooling_decision() 함수가 실행된다.
정책 결정부(130)에서 열 관리 정책이 결정되면(on_decision), 열적 마진 상태는 위험 상태(Danger_Zone)로 변경된다.
열적 마진 상태가 위험 상태인 때에는 온도의 추이를 관찰하는 check_trend() 함수가 실행된다.
만약 예측 도달 시간이 제2 문턱 시간보다 짧으면(on_Steep_Heating), 열적 마진 상태는 경고 상태로 변경된다.
반면에 만약 예측 도달 시간이, 제2 문턱 시간보다도 길면(on_Enough_Cooling), 열적 마진 상태는 안전 상태로 변경될 수 있다.
만약 예측 도달 시간이 제2 문턱 시간보다 길지만 제3 문턱 시간보다 짧으면(on_ETA_isFine), 열적 마진 상태는 위험 상태로 유지될 수 있다.
안전 상태에서 경고 상태로 천이를 결정하는 제1 문턱 시간, 위험 상태에서 경고 상태로 천이를 결정하는 제2 문턱 시간 및 위험 상태에서 안전 상태로 천이를 결정하는 제3 문턱 시간은 설계자의 의도에 따라 모두 다르게 설정될 수도 있고, 동일하게 설정될 수도 있다.
실시예에 따라, 제1 내지 제3 문턱 시간은 쓰레드들의 우선순위에 따라 스케일링될 수 있다.
예를 들어, 쓰레드들 중 우선순위가 가장 높은 쓰레드의 우선순위에 따라, 제1 내지 제3 문턱 시간들이 각각 상대적으로 커지거나 작아질 수 있다.
좀더 구체적으로, 쓰레드들 중 우선순위가 가장 높은 쓰레드의 우선순위가 높을수록, 제1 내지 제3 문턱 시간들이 각각 상대적으로 작아질 수 있다. 반대로 쓰레드들 중 우선순위가 가장 높은 쓰레드의 우선순위가 낮을수록, 제1 내지 제3 문턱 시간들이 각각 상대적으로 커질 수 있다.
예를 들어, 실행되는 쓰레드들 중 우선순위가 가장 높은 쓰레드가 우선 쓰레드라면, 제1 내지 제3 문턱 시간은 상대적으로 작아질 수 있다. 예측 도달 시간들이 같은 두 사례들을 가정하면, 제1 문턱 시간이 작게 설정된 사례는 제1 문턱 시간이 높게 설정된 사례에 비해 더 높은 현재 온도에서도 열적 마진 상태가 안전 상태로 유지되고, 경고 상태로 전환되지 않는다. 이에 따라, 우선순위가 매우 높은 쓰레드가 실행되면, 현재 온도가 한계 온도에 가까워지더라도 작아진 제1 문턱 시간 때문에 열적 마진 상태는 안전 상태를 유지할 수 있고, 프로세서들은 현재 온도가 높음에도 불구하고 계속 최대의 성능을 내는 동작 조건으로 설정될 수 있다. 또한, 현재 온도가 극단적으로 높아져 결국 경고 상태 또는 위험 상태로 전환되고 발열을 줄이는 조치가 취해지더라도, 현재 온도가 한계 온도보다 낮아지면 작아진 제3 문턱 시간 때문에 곧장 안전 상태로 다시 전환되어 성능을 올릴 수 있다. 이로써, 우선순위가 높은 우선 쓰레드의 구동 시에 프로세서의 성능을 최대한 보장할 수 있다.
반면에, 실행되는 쓰레드들 중 우선순위가 가장 높은 쓰레드가 비우선 쓰레드라면, 제1 내지 제3 문턱 시간들은 각각 상대적으로 커질 수 있다. 예측 도달 시간이 같다면, 제1 문턱 시간이 커지면, 더 낮은 현재 온도에서도 열적 마진 상태가 경고 상태로 전환되고, 발열을 줄이는 조치가 수행된다. 이에 따라, 우선순위가 낮은 비우선 쓰레드들만 실행되는 중이라면, 현재 온도가 한계 온도보다 충분히 낮더라도 열적 마진 상태는 경고 상태로 진입할 수 있고, 프로세서들은 현재 온도가 낮음에도 불구하고 발열을 더 줄이는 동작 조건으로 설정될 수 있다. 나아가, 제3 문턱 시간이 커지면, 현재 온도가 더 낮아지더라도 쉽게 열적 마진 상태가 안전 상태로 전환되지 않고, 발열을 줄이는 동작 조건이 유지될 수 있다. 이로써, 우선순위가 높은 우선 쓰레드의 구동을 대비하여 프로세서의 온도를 가능한 한 낮출 수 있고, 그에 따라 이후에 우선 쓰레드가 구동될 때에 성능을 최대한 보장할 수 있다.
다시 도 1로 돌아와서, 정책 결정부(130)는 열적 마진 상태와 예측 도달 시간에 기초하여 프로세서 코어들(11)에 관한 열 관리 정책을 결정할 수 있다.
실시예에 따라, 정책 결정부(130)는 열적 마진 상태 결정부(120)에서 결정된 열적 마진 상태가 경고 상태인 동안에 새로운 열 관리 정책을 결정할 수 있고, 특히 예측 도달 시간이 현재의 프로세서 코어 설정에서 산출되는 예측 도달 시간보다 길어지도록 새로운 열 관리 정책을 결정할 수 있다.
이에 따라, 프로세서 코어 설정부(12)는 정책 결정부(130)에서 결정된 열 관리 정책에 따라 상기 프로세서 코어들의 활성화, 전압 및 주파수를 제어할 수 있다.
좀더 구체적으로, 정책 결정부(130)는 현재 온도에서 복수의 프로세서 코어 설정들의 각각에 따라 산출되는 예측 도달 시간들 중에 어느 한 예측 도달 시간을 선택할 수 있다. 특히 정책 결정부(130)는, 다음 시점에 산출될 새로운 예측 도달 시간이 현재의 프로세서 코어 설정에서 산출된 예측 도달 시간보다 길어지도록, 새로운 예측 도달 시간을 선택할 수 있다.
정책 결정부(130)는 선택된 예측 도달 시간 및 열적 마진 상태에 따라 열 관리 정책을 결정할 수 있다.
한편, 상술한 열 관리 정책은 주로 프로세서 코어의 활성화/비활성화, 전압 및 주파수 설정과 같은 하드웨어적인 접근방식을 취하였지만, 실시예에 따라, 본 발명의 열 관리 기법에서는 부하를 구성하는 쓰레드들(threads)의 우선순위에 기초하여 제어하는 소프트웨어적 접근방식도 가능하다.
이에 따라, 스케줄러(140)는 프로세서 코어들(11)에서 구동되는 쓰레드들을 포어그라운드 쓰레드들(foreground threads)과 같은 우선 쓰레드들과, 백그라운드 쓰레드들(background threads)과 같은 비우선 쓰레드들로 구분할 수 있다.
우선 쓰레드들은 사용자 경험(user experience)에 직접 관련된 쓰레드들로서, 모바일 장치의 화면을 생성하고 모바일 장치에 대한 사용자의 지시를 처리하거나 사용자에게 처리 결과를 표시하는 쓰레드들로서 예시될 수 있다. 반면에 비우선 쓰레드들은 사용자 경험에 직접적인 연관이 없거나, 우선 쓰레드들을 위해 구동되는 쓰레드들이다.
프로세서 코어 설정이 조절되어 성능이 낮아지는 경우에, 우선 쓰레드들은, 제대로 처리되지 못하면, 체감 성능을 눈에 띄게 악화시킬 수 있지만, 비우선 쓰레드들은 제때 처리되지 못하더라도 체감 성능에 큰 영향을 주지 않는다.
이에 따라, 스케줄러(140)는 열 관리 정책에 따라 비우선 쓰레드들에 할당되는 시간 슬라이스들(time slices)을 조절할 수 있다.
열 관리 정책이 엄격해지면 프로세서 코어들(11)의 처리 능력이 줄어드는데, 스케줄러(140)는 줄어드는 처리 능력에도 사용자 체감 성능이 영향을 받지 않도록 우선 쓰레드들의 CPU 점유율을 늘리고, 그 대신에 비우선 쓰레드들의 CPU 점유율은 줄인다.
이에 따라 스케줄러(140)는 비우선 쓰레드들에 더 적은 시간 슬라이스들을 할당하고, 우선 쓰레드들에 더 많은 시간 슬라이스들을 할당하도록 동작할 수 있다.
또한, 쓰레드들을 우선 쓰레드들과 비우선 쓰레드들로 구분하는 경우에, 열적 모델을 구성하는 변수들 중 하나인 현재 부하량은 프로세서 코어들(11)에서 구동되는 쓰레드들 중 우선 쓰레드들을 처리하는 데에 관련된 부하량이다.
한편, 프로세서 코어 설정이 조절되어 전체적인 성능이 낮아지는 경우에도, 종종 쓰레드들이 프로세서 코어들에 높은 성능을 요구하는 경우가 발생할 수 있다. 예를 들어 어떤 짧은 제한 시간 내에 사용자에게 처리 결과를 표시하여야 하는 쓰레드들이 제한 시간이 만료하기 전까지만 일시적으로 구동되는 경우에, 본 발명의 열 관리 기법은 그러한 쓰레드들을 위해서 일시적으로 성능을 가속시킬 수 있다.
이러한 성능 가속(high performance burst) 상태를 설명하기 위해 도 4를 참조하면, 도 4는 본 발명의 일 실시예에 따른 반도체 프로세서 장치를 위한 선제적 열 관리 장치에서 일시적으로 성능 가속(high performance burst)이 필요한 경우를 예시한 그래프이다.
도 4에서, 중간 정도의 성능을 내는 어떤 동작 조건 하에서 프로세서 코어들(11)의 부하량 그래프를 관찰하면, 일시적으로 부하량이 몇 번의 피크를 가지는 모습을 볼 수 있다. 열 관리를 위해 성능을 낮춘 상황에서 부하량이 소정의 문턱 부하량을 일시적으로 초과하는 경우는 일시적으로 성능 가속이 필요한 상황이라고 할 수 있다.
통상적으로 종래의 실시간 전력 관리자(on-demand power management governor)는 처리 능력보다 더 높은 성능이 요구되면 프로세서의 성능을 최대로 늘린다.
반면에 본 발명의 열 관리 기법은, 성능 가속이 필요한 상황이 발생하면, 쓰레드들의 부하량에 기초하여 프로세서의 성능 상태를 결정하는 식으로 대응한다.
이러한 맥락에서, 도 1에서 성능 상태 결정부(150)는 쓰레드들의 부하량에 기초하여 성능 상태를 결정하고, 결정된 성능 상태가 고성능 필요 상태이면 성능 가속 요청을 생성할 수 있다.
실시예에 따라, 성능 상태 결정부(150)는 프로세서 코어들에서 구동되는 쓰레드들 중 우선 쓰레드들에 관련된 부하량을 문턱 부하량에 비교하여 성능 상태를 결정하고, 결정된 성능 상태가 우선 쓰레드들에 관련된 부하량이 문턱 부하량을 초과하는 고성능 필요 상태이면, 성능 가속 요청을 생성할 수 있다.
또한 정책 결정부(130)는, 성능 상태 결정부(150)로부터 성능 가속 요청이 수신되면, 복수의 프로세서 코어 설정들 중에서 현재의 프로세서 코어 설정보다 높은 성능을 제공하는 프로세서 코어 설정을 선택하고, 선택된 프로세서 코어 설정에 따라 열 관리 정책을 결정할 수 있다.
이러한 성능 상태 결정부(150)와 정책 결정부(130)의 동작은 도 3의 상태 다이어그램에서도 예시된다.
도 3에서, 성능 상태 결정부(150)의 성능 상태는 정책 결정부(130)의 열 관리 정책에 대해, 열적 마진 상태 결정부(120)의 열적 마진 상태 천이와 동등하게, 영향을 줄 수 있다.
이를 위해 성능 상태는 성능 감시 상태와 고성능 필요 상태 사이를 천이한다.
최초에 부하량이 통상적인 수준이면, 성능 상태는 성능 감시 상태(QoS_Watchdog)이다.
성능 상태가 성능 감시 상태인 동안에, 프로세서 코어들(11)의 부하량을 지속적으로 감시하면서 성능 가속이 필요한지를 검출하는 detect_perf_burst() 함수가 실행된다.
만약 부하량이, 특히 우선 쓰레드들의 부하량이 소정의 문턱 부하량을 초과하여 성능 가속이 필요한 상황이 검출되면(on_High_Perf_Detection), 성능 상태는 고성능 필요 상태(Upscale)로 천이한다.
성능 상태가 고성능 필요 상태로 천이하면, 정책 결정부(130)에 대해 성능 가속 요청을 생성하는 increase_cpu_perf() 함수가 실행되고, 성능 상태는 곧바로(on_Upscale) 성능 감시 상태로 천이한다.
만약 성능이 가속된 후에도 부하량이 여전히 문턱 부하량을 초과하면, 성능 상태는 다시 고성능 필요 상태로 천이하고 재차 성능 가속 요청이 생성되는 동작들이 반복될 수 있다.
도 5는 본 발명의 일 실시예에 따른 반도체 프로세서 장치를 위한 선제적 열 관리 장치에서 열적 마진 상태와 성능 상태가 서로 동등하게 열 관리 정책에 영향을 주면서 반도체 프로세서 장치의 온도가 선제적으로 관리되는 양상을 예시한 그래프들이다.
도 5를 참조하면, 초기의 구간 T1에는 높은 주파수와 최대 프로세서 코어 개수로 동작하지만 온도와 부하량이 낮으므로, 예측 도달 시간이 매우 길게 산출되고, 열적 마진 상태는 안전 상태이다. 따라서, T1 동안에는 프로세서 코어 설정은 변하지 않는다.
구간 T2에서 부하량이 일시적으로 갑자기 증가하자 잠시 후부터 온도도 급격히 증가하는데, 부하량이 매우 높음에도 불구하고 온도는 아직 낮은 상황이다. 구간 T2에서, 현재 부하량이 높지만 현재 온도가 낮아 예측 도달 시간은 T1 구간에 비해 짧아지겠지만 여전히 문턱 시간보다 길어서 열적 마진 상태는 안전 상태이며 프로세서 코어 설정은 아직 변하지 않는다.
구간 T3에서, 다시 부하량이 늘어나자, 아직 온도는 한계 온도에 비해 충분히 여유있는 상태이지만, 높은 현재 온도, 높은 부하량, 높은 주파수 및 최대 코어 개수의 동작 조건 하에서 예측 도달 시간이 문턱 시간보다 짧게 산출되므로, 열적 마진 상태는 경고 상태로 천이한다. 이에 따라, T3에서 프로세서 코어 설정은 프로세서 코어 개수를 세 개로 줄이는 프로세서 코어 설정으로 변경된다.
구간 T4에서, 부하량이 계속 변하며 온도는 조금씩 상승한다. 열적 마진 상태는 경고 상태에서 위험 상태로 천이되었고, 위험 상태에서 온도와 예측 도달 시간이 지속적으로 감시된다.
구간 T5에서, 온도가 마침내 110℃에 근접하자 예측 도달 시간이 더 짧아지면서 열적 마진 상태는 경고 상태로 천이한다. 이에 따라, T5에서 프로세서 코어 설정은 프로세서 코어의 주파수를 두 단계 낮추는 프로세서 코어 설정으로 변경된다. 온도가 낮아지면서 열적 마진 상태는 안정 상태로 천이한다.
구간 T6에서, 일시적으로 부하량이 80%를 초과하는데, 이에 따라 성능 상태가 고성능 필요 상태로 천이하였다가 다시 성능 감시 상태로 돌아오고, 그에 따라 프로세서 코어 설정은 프로세서 코어의 주파수를 한 단계 높이는 프로세서 코어 설정으로 변경된다.
구간 T7에서, 다시 한번 일시적으로 부하량이 80%를 초과하는데, 이에 따라 성능 상태가 고성능 필요 상태로 천이하였다가 다시 성능 감시 상태로 돌아오고, 그에 따라 프로세서 코어 설정은 프로세서 코어의 주파수를 한 단계 높이는 프로세서 코어 설정으로 변경된다.
구간 T6과 T7에서, 열적 마진 상태는 현재 온도가 낮아 안정 상태를 유지하므로 프로세서 코어 설정을 조절하지 않는다.
구간 T8에서, 온도가 상승하고 높은 주파수 및 최대 코어 개수의 동작 조건 하에서 예측 도달 시간이 문턱 시간보다 짧게 산출되면서 프로세서 코어 설정은 프로세서 코어의 주파수를 두 단계 낮추는 프로세서 코어 설정으로 변경된다. 구간 T8에서 온도가 낮아지면서 열적 마진 상태는 안정 상태로 천이한다.
구간 T9에서, 부하량이 80%를 지속적으로 초과하는데, 이에 따라 성능 상태가 고성능 필요 상태로 천이하였다가 다시 성능 감시 상태로 돌아오는 절차를 세 차례 반복하며, 그에 따라 프로세서 코어 설정은 프로세서 코어의 주파수를 두 번 연속하여 한 단계씩 높이고, 또한 프로세서 코어의 개수를 네 개로 늘리면서, 세 차례 변경된다.
구간 T9의 끝에서, 높은 현재 온도, 높은 부하량, 높은 주파수 및 최대 코어 개수의 동작 조건 하에서 예측 도달 시간이 문턱 시간보다 짧게 산출되기 때문에, 구간 T10에서는 열적 마진 상태가 경고 상태로 천이하고 프로세서 코어 설정은 다시 프로세서 코어의 주파수를 두 단계 낮추는 프로세서 코어 설정으로 변경된다.
구간 T11에서, 온도가 높아진 상태에서 부하량이 약간 높게 나오자 예측 도달 시간이 문턱 시간보다 짧게 산출되어 열적 마진 상태가 경고 상태로 천이하고 프로세서 코어 설정은 프로세서 코어의 주파수를 한 단계 더 낮추는 프로세서 코어 설정으로 변경된다.
구간 T12에서, 일시적으로 부하량이 80%를 초과하는데, 이에 따라 성능 상태가 고성능 필요 상태로 천이하였다가 다시 성능 감시 상태로 돌아오고, 그에 따라 프로세서 코어 설정은 프로세서 코어의 주파수를 한 단계 높이는 프로세서 코어 설정으로 변경된다.
하지만 구간 T12의 끝에서, 높은 현재 온도, 다소 높은 부하량, 중간 정도의 주파수 및 최대 코어 개수의 동작 조건 하에서 예측 도달 시간이 문턱 시간보다 짧게 산출되어, 구간 T13에서 열적 마진 상태가 경고 상태로 천이하고 프로세서 코어 설정은 다시 프로세서 코어의 주파수를 한 단계 낮추는 프로세서 코어 설정으로 변경된다.
이렇듯, 열적 마진을 늘리고 성능을 줄이려는 열적 마진 상태와 성능을 가속하려는 성능 상태가 서로 경쟁하면서 프로세서 코어 설정에 영향을 미친다. 이에 따라, 본 발명의 반도체 프로세서 장치를 위한 선제적 열 관리 기법은 반도체 프로세서 장치를 위한 열적 안정과 사용자를 위한 체감 성능 극대화를 동시에 만족시킬 수 있다.
도 6은 본 발명의 일 실시예에 따른 반도체 프로세서 장치를 위한 선제적 열 관리 방법을 예시한 순서도이다.
도 6에서, 본 발명의 실시예에 따른 하나 이상의 프로세서 코어들을 포함하는 반도체 프로세서 장치를 위한 열 관리 방법은 단계(S61)에서 반도체 프로세서 장치(10)가 프로세서 코어들(11)에 관하여 획득되는 현재 온도, 현재 부하량 및 현재 프로세서 코어 설정에 기초하여 프로세서 코어들(11)의 온도가 소정의 한계 온도에 도달하기까지 예측 도달 시간을 산출하는 단계로부터 시작할 수 있다.
실시예에 따라, 단계(S61)는 소정의 초기 온도, 부하량 및 프로세서 코어 설정을 포함하는 동작 조건 하에 프로세서 코어들(11)이 동작할 경우에 프로세서 코어들(11)의 온도 변화를 시간의 함수로 표현한 열적 모델에 기초할 수 있다.
구체적으로, 단계(S61)는 반도체 프로세서 장치(10)가 프로세서 코어들(11)이 현재 온도, 현재 부하량 및 현재 프로세서 코어 설정으로 동작하면 소정의 한계 온도에 도달하기까지 얼마나 걸릴 것인지 산출함으로써 예측 도달 시간을 산출할 수 있다.
실시예에 따라, 단계(S61)는, 부하량을 프로세서 코어 설정에서 가능한 초과 부하량으로 고정하고, 소정의 초기 온도, 프로세서 코어 설정 및 초과 부하량을 포함하는 동작 조건 하에서 프로세서 코어들(11)이 동작할 경우에 프로세서 코어들(11)의 온도 변화를 시간의 함수로 표현한 열적 모델에 기초할 수 있다.
실시예에 따라, 열적 모델은 복수의 초기 온도 값들, 복수의 부하량 값들 및 복수의 프로세서 코어 설정들로써 조합 가능한 복수의 동작 조건들의 각각마다, 미리 측정된 프로세서 코어들(11)의 온도 값들과, 각 온도에 도달하기까지 걸린 시간 값들을 각각 저장한 테이블로서 구현될 수 있다.
이어서, 단계(S62)에서, 반도체 프로세서 장치(10)는 예측 도달 시간에 기초하여 열적 마진 상태를 결정할 수 있다.
실시예에 따라, 단계(S62)의 열적 마진 상태를 결정하는 단계는 예측 도달 시간을 소정의 문턱 시간에 비교한 결과 및 열 관리 정책의 변경 여부에 따라 프로세서 코어들(11)의 열적 마진 상태를 안전 상태, 경고 상태 및 위험 상태 중 하나로 결정하는 단계를 포함할 수 있다.
좀더 구체적으로, 단계(S62)의 열적 마진 상태를 결정하는 단계는 열적 마진 상태가 안전 상태인 때에 예측 도달 시간이 제1 문턱 시간보다 길면 열적 마진 상태를 안전 상태로 유지하고 예측 도달 시간이 제1 문턱 시간보다 짧으면 열적 마진 상태를 안전 상태에서 경고 상태로 변경하는 단계를 포함할 수 있다.
또한 단계(S62)의 열적 마진 상태를 결정하는 단계는 열적 마진 상태가 경고 상태인 때에 열 관리 정책이 결정되면 열적 마진 상태를 위험 상태로 변경하는 단계를 포함할 수 있다.
나아가, 단계(S62)의 열적 마진 상태를 결정하는 단계는 열적 마진 상태가 위험 상태인 때에 예측 도달 시간이 제2 문턱 시간보다 짧으면 열적 마진 상태를 경고 상태로 변경하고, 예측 도달 시간이 제2 문턱 시간보다 길지만 제3 문턱 시간보다 짧으면 열적 마진 상태를 위험 상태로 유지하며, 예측 도달 시간이 제3 문턱 시간보다 길면 열적 마진 상태를 안전 상태로 변경하는 단계를 포함할 수 있다.
한편, 실시예에 따라 단계(S62)의 열적 마진 상태를 결정하는 단계는 쓰레드들의 우선순위에 기초하여 예측 도달 시간을 비교할 문턱 시간을 스케일링할 수 있다.
예를 들어, 쓰레드들 중 우선순위가 가장 높은 쓰레드의 우선순위에 따라, 문턱 시간이 상대적으로 커지거나 작아질 수 있다.
좀더 구체적으로, 쓰레드들 중 우선순위가 가장 높은 쓰레드의 우선순위가 높을수록, 문턱 시간이 상대적으로 작아질 수 있다. 반대로 쓰레드들 중 우선순위가 가장 높은 쓰레드의 우선순위가 낮을수록, 문턱 시간이 상대적으로 커질 수 있다.
구체적으로, 단계(S62)의 열적 마진 상태를 결정하는 단계는 쓰레드들의 우선순위에 기초하여 예측 도달 시간을 비교할 제1 내지 제3 문턱 시간들을 각각 스케일링할 수 있다.
예를 들어, 쓰레드들 중 우선순위가 가장 높은 쓰레드의 우선순위에 따라, 제1 내지 제3 문턱 시간들이 각각 상대적으로 커지거나 작아질 수 있다.
좀더 구체적으로, 쓰레드들 중 우선순위가 가장 높은 쓰레드의 우선순위가 높을수록, 제1 내지 제3 문턱 시간들이 각각 상대적으로 작아질 수 있다. 반대로 쓰레드들 중 우선순위가 가장 높은 쓰레드의 우선순위가 낮을수록, 제1 내지 제3 문턱 시간들이 각각 상대적으로 커질 수 있다.
이어서, 단계(S63)에서, 반도체 프로세서 장치(10)는 열적 마진 상태 및 예측 도달 시간에 기초하여 상기 프로세서 코어들에 관한 열 관리 정책을 결정할 수 있다.
구체적으로 단계(S63)의 열 관리 정책을 결정하는 단계는, 반도체 프로세서 장치(10)가, 열적 마진 상태가 경고 상태인 동안에, 다음 시점에 산출될 예측 도달 시간이 길어지도록 열 관리 정책을 결정하는 단계를 포함할 수 있다.
실시예에 따라 단계(S63)의 열 관리 정책을 결정하는 단계는, 반도체 프로세서 장치(10)가, 현재 온도에서 복수의 프로세서 코어 설정들의 각각에 따라 산출되는 예측 도달 시간들 중에 어느 한 예측 도달 시간을 선택하는 단계와, 선택된 예측 도달 시간에 상응하는 프로세서 코어 설정에 따라 열 관리 정책을 결정하는 단계를 포함할 수 있다.
이어서, 단계(S64)에서, 반도체 프로세서 장치(10)는 결정된 열 관리 정책에 따라 상기 프로세서 코어들의 활성화, 전압 및 주파수를 제어할 수 있다.
한편, 소프트웨어적으로 사용자 체감 성능을 유지할 수 있도록, 실시예에 따라, 반도체 프로세서 장치를 위한 열 관리 방법은 단계(S65)를 더 포함할 수 있다.
단계(S65)에서, 반도체 프로세서 장치(10)는 프로세서 코어들에서 구동되는 쓰레드들을 우선 쓰레드들과 비우선 쓰레드들로 구분하고, 결정된 열 관리 정책에 따라 비우선 쓰레드들에 할당되는 시간 슬라이스들을 조절하도록 동작할 수 있다.
이 경우에, 현재 부하량은 상기 프로세서 코어들에서 구동되는 쓰레드들 중 우선 쓰레드들을 처리하는 데에 관련된 부하량일 수 있다.
한편, 사용자를 위한 체감 성능을 유지하기 위해 필요에 따라 성능을 높일 수 있도록, 실시예에 따라, 반도체 프로세서 장치를 위한 열 관리 방법은 단계(S66) 및 단계(S67)를 더 포함할 수 있다.
단계(S66)에서, 반도체 프로세서 장치(10)는 프로세서 코어들(11)에서 구동되는 쓰레드들 중 우선 쓰레드들에 관련된 부하량이 문턱 부하량을 초과하는 성능 가속 상황의 발생을 감시하고, 성능 가속 상황이 검출되면 성능 가속 요청을 생성할 수 있다.
또한 단계(S67)에서, 반도체 프로세서 장치(10)는 성능 가속 요청에 따라, 복수의 프로세서 코어 설정들 중에서 현재의 성능보다 높은 성능을 제공하는 프로세서 코어 설정을 선택하고, 선택된 프로세서 코어 설정에 따라 열 관리 정책을 결정할 수 있다.
본 실시예 및 본 명세서에 첨부된 도면은 본 발명에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 본 발명의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형예와 구체적인 실시예는 모두 본 발명의 권리범위에 포함되는 것이 자명하다고 할 것이다.
또한, 본 발명에 따른 장치는 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽힐 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, 광학 디스크, 자기 테이프, 플로피 디스크, 하드 디스크, 비휘발성 메모리 등을 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
10 반도체 프로세서 장치
11 프로세서 코어
12 프로세서 코어 설정부
13 전원 전압 생성부
14 클럭 주파수 생성부
15 온도 센서
100 열 관리 장치
110 열적 모델링부
120 열적 마진 상태 결정부
130 정책 결정부
140 스케줄러
150 성능 상태 결정부

Claims (30)

  1. 반도체 프로세서 장치를 구성하는 하나 이상의 프로세서 코어들에 관하여 획득되는 현재 온도, 현재 부하량 및 현재 프로세서 코어 설정에 기초하여 상기 프로세서 코어들의 온도가 소정의 한계 온도에 도달하기까지 예측 도달 시간을 산출하는 열적 모델링부;
    상기 예측 도달 시간에 기초하여 열적 마진 상태(thermal margin state)를 결정하는 열적 마진 상태 결정부;
    상기 열적 마진 상태 및 예측 도달 시간에 기초하여 상기 프로세서 코어들에 관한 열 관리 정책을 결정하는 정책 결정부; 및
    상기 열 관리 정책에 따라 상기 프로세서 코어들의 활성화, 전압 및 주파수를 설정하는 프로세서 코어 설정부를 포함하는 반도체 프로세서 장치로서,
    상기 열적 마진 상태 결정부는
    상기 예측 도달 시간을 소정의 문턱 시간에 비교한 결과 및 상기 열 관리 정책의 변경 여부에 따라 상기 프로세서 코어들의 열적 마진 상태를 안전 상태, 경고 상태 및 위험 상태 중 하나로 결정하도록 동작하고,
    상기 열적 마진 상태 결정부는,
    열적 마진 상태가 안전 상태인 때에 상기 예측 도달 시간이 제1 문턱 시간보다 길면 열적 마진 상태를 안전 상태로 유지하고 상기 예측 도달 시간이 상기 제1 문턱 시간보다 짧으면 열적 마진 상태를 안전 상태에서 경고 상태로 변경하며,
    열적 마진 상태가 경고 상태인 때에 상기 정책 결정부에 의해 열 관리 정책이 결정되면 열적 마진 상태를 위험 상태로 변경하고,
    열적 마진 상태가 위험 상태인 때에 상기 예측 도달 시간이 제2 문턱 시간보다 짧으면 열적 마진 상태를 경고 상태로 변경하고, 상기 예측 도달 시간이 제2 문턱 시간보다 길지만 제3 문턱 시간보다 짧으면 열적 마진 상태를 위험 상태로 유지하며, 상기 예측 도달 시간이 제3 문턱 시간보다 길면 열적 마진 상태를 안전 상태로 변경하도록 동작하며,
    상기 정책 결정부는 열적 마진 상태가 경고 상태인 동안에 현재의 예측 도달 시간보다 다음 시점에 산출될 예측 도달 시간이 길어지도록 열 관리 정책을 결정하도록 동작하는 것을 특징으로 하는 반도체 프로세서 장치.
  2. 청구항 1에 있어서, 상기 열적 모델링부는
    소정의 초기 온도, 부하량 및 프로세서 코어 설정을 포함하는 동작 조건 하에 상기 프로세서 코어들이 동작할 경우에 상기 프로세서 코어들의 온도 변화를 시간의 함수로 표현한 열적 모델에 기초하여, 상기 프로세서 코어들이 현재 온도, 현재 부하량 및 현재 프로세서 코어 설정으로 동작하면 소정의 한계 온도에 도달하기까지 얼마나 걸릴 것인지 산출함으로써 상기 예측 도달 시간을 산출하도록 동작하는 것을 특징으로 하는 반도체 프로세서 장치.
  3. 청구항 2에 있어서, 상기 열적 모델링부는
    소정의 초기 온도 및 프로세서 코어 설정과, 상기 프로세서 코어 설정에서 가능한 과부하량(stressful load)을 포함하는 동작 조건 하에서 상기 프로세서 코어들이 동작할 경우에 상기 프로세서 코어들의 온도 변화를 시간의 함수로 표현한 열적 모델에 기초하여, 상기 예측 도달 시간을 산출하도록 동작하는 것을 특징으로 하는 반도체 프로세서 장치.
  4. 청구항 2에 있어서, 상기 열적 모델은 복수의 초기 온도 값들, 복수의 부하량 값들 및 복수의 프로세서 코어 설정들로써 조합 가능한 복수의 동작 조건들의 각각마다, 미리 측정된 상기 프로세서 코어들의 온도 값들과, 각 온도에 도달하기까지 걸린 시간 값들을 각각 저장한 테이블로서 구현되는 것을 특징으로 하는 반도체 프로세서 장치.
  5. 삭제
  6. 청구항 1에 있어서, 상기 열적 마진 상태 결정부는
    쓰레드들의 우선순위에 기초하여 상기 문턱 시간을 스케일링하도록 동작하는 것을 특징으로 하는 반도체 프로세서 장치.
  7. 삭제
  8. 청구항 1에 있어서, 상기 열적 마진 상태 결정부는
    쓰레드들의 우선순위에 기초하여 상기 제1 내지 제3 문턱 시간들을 각각 스케일링하도록 동작하는 것을 특징으로 하는 반도체 프로세서 장치.
  9. 청구항 1에 있어서, 상기 정책 결정부는
    현재 온도에서 복수의 프로세서 코어 설정들의 각각에 따라 산출되는 예측 도달 시간들 중에 어느 한 예측 도달 시간을 선택하고, 선택된 예측 도달 시간에 상응하는 프로세서 코어 설정에 따라 열 관리 정책을 결정하도록 동작하는 것을 특징으로 하는 반도체 프로세서 장치.
  10. 청구항 1에 있어서, 상기 프로세서 코어들에서 구동되는 쓰레드들을 우선 쓰레드들과 비우선 쓰레드들로 구분하고, 열 관리 정책에 따라 비우선 쓰레드들에 할당되는 시간 슬라이스들을 조절하도록 동작하는 스케줄러를 더 포함하는 것을 특징으로 하는 반도체 프로세서 장치.
  11. 청구항 10에 있어서, 상기 현재 부하량은 상기 프로세서 코어들에서 구동되는 쓰레드들 중 우선 쓰레드들을 처리하는 데에 관련된 부하량인 것을 특징으로 하는 반도체 프로세서 장치.
  12. 청구항 1에 있어서, 상기 프로세서 코어들에서 구동되는 쓰레드들 중 우선 쓰레드들에 관련된 부하량이 문턱 부하량을 초과하는 성능 가속(high performance burst) 상황의 발생을 감시하고, 성능 가속 상황이 검출되면 성능 가속 요청을 생성하는 성능 가속 상황 감시부를 더 포함하고,
    상기 정책 결정부는, 상기 성능 가속 상황 감시부로부터 성능 가속 요청이 수신되면, 복수의 프로세서 코어 설정들 중에서 현재의 성능보다 높은 성능을 제공하는 프로세서 코어 설정을 선택하고, 선택된 프로세서 코어 설정에 따라 열 관리 정책을 결정하도록 동작하는 것을 특징으로 하는 반도체 프로세서 장치.
  13. 반도체 프로세서 장치를 구성하는 하나 이상의 프로세서 코어들에 관하여 획득되는 현재 온도, 현재 부하량 및 현재 프로세서 코어 설정에 기초하여 상기 프로세서 코어들의 온도가 소정의 한계 온도에 도달하기까지 예측 도달 시간을 산출하는 열적 모델링부;
    상기 예측 도달 시간에 기초하여 열적 마진 상태를 결정하는 열적 마진 상태 결정부; 및
    상기 열적 마진 상태 및 예측 도달 시간에 기초하여 상기 프로세서 코어들에 관한 열 관리 정책을 결정하는 정책 결정부를 포함하는 반도체 프로세서 장치를 위한 열 관리 장치로서,
    상기 열적 마진 상태 결정부는
    상기 예측 도달 시간을 소정의 문턱 시간에 비교한 결과 및 상기 열 관리 정책의 변경 여부에 따라 상기 프로세서 코어들의 열적 마진 상태를 안전 상태, 경고 상태 및 위험 상태 중 하나로 결정하도록 동작하고,
    상기 열적 마진 상태 결정부는,
    열적 마진 상태가 안전 상태인 때에 상기 예측 도달 시간이 제1 문턱 시간보다 길면 열적 마진 상태를 안전 상태로 유지하고 상기 예측 도달 시간이 상기 제1 문턱 시간보다 짧으면 열적 마진 상태를 안전 상태에서 경고 상태로 변경하며,
    열적 마진 상태가 경고 상태인 때에 상기 정책 결정부에 의해 열 관리 정책이 결정되면 열적 마진 상태를 위험 상태로 변경하고,
    열적 마진 상태가 위험 상태인 때에 상기 예측 도달 시간이 제2 문턱 시간보다 짧으면 열적 마진 상태를 경고 상태로 변경하고, 상기 예측 도달 시간이 제2 문턱 시간보다 길지만 제3 문턱 시간보다 짧으면 열적 마진 상태를 위험 상태로 유지하며, 상기 예측 도달 시간이 제3 문턱 시간보다 길면 열적 마진 상태를 안전 상태로 변경하도록 동작하며,
    상기 정책 결정부는 열적 마진 상태가 경고 상태인 동안에 현재의 예측 도달 시간보다 다음 시점에 산출될 예측 도달 시간이 길어지도록 열 관리 정책을 결정하도록 동작하는 것을 특징으로 하는 열 관리 장치.
  14. 청구항 13에 있어서, 상기 열적 마진 상태 결정부는
    상기 예측 도달 시간을 소정의 문턱 시간에 비교한 결과 및 상기 열 관리 정책의 변경 여부에 따라 상기 프로세서 코어들의 열적 마진 상태를 안전 상태, 경고 상태 및 위험 상태 중 하나로 결정하도록 동작하는 것을 특징으로 하는 반도체 프로세서 장치를 위한 열 관리 장치.
  15. 청구항 14에 있어서, 상기 열적 마진 상태 결정부는
    쓰레드들의 우선순위에 기초하여 상기 문턱 시간을 스케일링하도록 동작하는 것을 특징으로 하는 반도체 프로세서 장치를 위한 열 관리 장치.
  16. 청구항 13에 있어서, 상기 프로세서 코어들에서 구동되는 쓰레드들 중 사용자와 직접적으로 인터랙션하는 쓰레드들에 관련된 부하량이 문턱 부하량을 초과하는 성능 가속 상황의 발생을 감시하고, 성능 가속 상황이 검출되면 성능 가속 요청을 생성하는 성능 가속 상황 감시부를 더 포함하고,
    상기 정책 결정부는, 상기 성능 가속 상황 감시부로부터 성능 가속 요청이 수신되면, 복수의 프로세서 코어 설정들 중에서 현재의 성능보다 높은 성능을 제공하는 프로세서 코어 설정을 선택하고, 선택된 프로세서 코어 설정에 따라 열 관리 정책을 결정하도록 동작하는 것을 특징으로 하는 반도체 프로세서 장치를 위한 열 관리 장치.
  17. 하나 이상의 프로세서 코어들을 포함하는 반도체 프로세서 장치를 위한 열 관리 방법으로서,
    상기 프로세서 코어들에 관하여 획득되는 현재 온도, 현재 부하량 및 현재 프로세서 코어 설정에 기초하여 상기 프로세서 코어들의 온도가 소정의 한계 온도에 도달하기까지 예측 도달 시간을 산출하는 단계;
    상기 예측 도달 시간에 기초하여 열적 마진 상태를 결정하는 단계;
    상기 열적 마진 상태 및 예측 도달 시간에 기초하여 상기 프로세서 코어들에 관한 열 관리 정책을 결정하는 단계; 및
    상기 열 관리 정책에 따라 상기 프로세서 코어들의 활성화, 전압 및 주파수를 제어하는 단계를 포함하는 반도체 프로세서 장치를 위한 열 관리 방법으로,
    상기 열적 마진 상태를 결정하는 단계는,
    상기 예측 도달 시간을 소정의 문턱 시간에 비교한 결과 및 상기 열 관리 정책의 변경 여부에 따라 상기 프로세서 코어들의 열적 마진 상태를 안전 상태, 경고 상태 및 위험 상태 중 하나로 결정하는 단계를 포함하고,
    상기 열적 마진 상태를 결정하는 단계는
    열적 마진 상태가 안전 상태인 때에 상기 예측 도달 시간이 제1 문턱 시간보다 길면 열적 마진 상태를 안전 상태로 유지하고 상기 예측 도달 시간이 상기 제1 문턱 시간보다 짧으면 열적 마진 상태를 안전 상태에서 경고 상태로 변경하는 단계;
    열적 마진 상태가 경고 상태인 때에 열 관리 정책이 결정되면 열적 마진 상태를 위험 상태로 변경하는 단계; 및
    열적 마진 상태가 위험 상태인 때에 상기 예측 도달 시간이 제2 문턱 시간보다 짧으면 열적 마진 상태를 경고 상태로 변경하고, 상기 예측 도달 시간이 제2 문턱 시간보다 길지만 제3 문턱 시간보다 짧으면 열적 마진 상태를 위험 상태로 유지하며, 상기 예측 도달 시간이 제3 문턱 시간보다 길면 열적 마진 상태를 안전 상태로 변경하는 단계를 포함하며,
    상기 열 관리 정책을 결정하는 단계는
    열적 마진 상태가 경고 상태인 동안에 다음 시점에 산출될 예측 도달 시간이 길어지도록 열 관리 정책을 결정하는 단계를 포함하는 것을 특징으로 하는 반도체 프로세서 장치를 위한 열 관리 방법.
  18. 청구항 17에 있어서, 상기 예측 도달 시간을 산출하는 단계는
    소정의 초기 온도, 부하량 및 프로세서 코어 설정을 포함하는 동작 조건 하에 상기 프로세서 코어들이 동작할 경우에 상기 프로세서 코어들의 온도 변화를 시간의 함수로 표현한 열적 모델에 기초하여, 상기 프로세서 코어들이 현재 온도, 현재 부하량 및 현재 프로세서 코어 설정으로 동작하면 소정의 한계 온도에 도달하기까지 얼마나 걸릴 것인지 산출함으로써 상기 예측 도달 시간을 산출하는 단계를 포함하는 것을 특징으로 하는 반도체 프로세서 장치를 위한 열 관리 방법.
  19. 청구항 18에 있어서, 상기 예측 도달 시간을 산출하는 단계는
    소정의 초기 온도 및 프로세서 코어 설정과, 상기 프로세서 코어 설정에서 가능한 과부하량을 포함하는 동작 조건 하에서 상기 프로세서 코어들이 동작할 경우에 상기 프로세서 코어들의 온도 변화를 시간의 함수로 표현한 열적 모델에 기초하여, 상기 예측 도달 시간을 산출하는 단계를 포함하는 것을 특징으로 하는 반도체 프로세서 장치를 위한 열 관리 방법.
  20. 청구항 18에 있어서, 상기 열적 모델은 복수의 초기 온도 값들, 복수의 부하량 값들 및 복수의 프로세서 코어 설정들로써 조합 가능한 복수의 동작 조건들의 각각마다, 미리 측정된 상기 프로세서 코어들의 온도 값들과, 각 온도에 도달하기까지 걸린 시간 값들을 각각 저장한 테이블로서 구현되는 것을 특징으로 하는 반도체 프로세서 장치를 위한 열 관리 방법.
  21. 삭제
  22. 청구항 17에 있어서, 상기 열적 마진 상태 결정부는
    쓰레드들의 우선순위에 기초하여 상기 문턱 시간을 스케일링하도록 동작하는 것을 특징으로 하는 반도체 프로세서 장치를 위한 열 관리 방법.
  23. 삭제
  24. 청구항 17에 있어서, 상기 열적 마진 상태 결정부는
    쓰레드들의 우선순위에 기초하여 상기 제1 내지 제3 문턱 시간들을 스케일링하도록 동작하는 것을 특징으로 하는 반도체 프로세서 장치를 위한 열 관리 방법.
  25. 청구항 17에 있어서, 상기 열 관리 정책을 결정하는 단계는
    현재 온도에서 복수의 프로세서 코어 설정들의 각각에 따라 산출되는 예측 도달 시간들 중에 어느 한 예측 도달 시간을 선택하고, 선택된 예측 도달 시간에 상응하는 프로세서 코어 설정에 따라 열 관리 정책을 결정하는 단계를 포함하는 것을 특징으로 하는 반도체 프로세서 장치를 위한 열 관리 방법.
  26. 청구항 25에 있어서, 상기 열적 마진 상태 결정부는
    쓰레드들의 우선순위에 기초하여 상기 문턱 시간을 스케일링하도록 동작하는 것을 특징으로 하는 반도체 프로세서 장치를 위한 열 관리 방법.
  27. 청구항 17에 있어서, 상기 프로세서 코어들에서 구동되는 쓰레드들을 우선 쓰레드들과 비우선 쓰레드들로 구분하는 단계; 및
    열 관리 정책에 따라 비우선 쓰레드들에 할당되는 시간 슬라이스들을 조절하도록 동작하는 단계를 더 포함하는 것을 특징으로 하는 반도체 프로세서 장치를 위한 열 관리 방법.
  28. 청구항 27에 있어서, 상기 현재 부하량은 상기 프로세서 코어들에서 구동되는 쓰레드들 중 비우선 쓰레드들을 처리하는 데에 관련된 부하량인 것을 특징으로 하는 반도체 프로세서 장치를 위한 열 관리 방법.
  29. 청구항 17에 있어서,
    상기 프로세서 코어들에서 구동되는 쓰레드들 중 사용자와 직접적으로 인터랙션하는 쓰레드들에 관련된 부하량이 문턱 부하량을 초과하는 성능 가속 상황의 발생을 감시하고, 성능 가속 상황이 검출되면 성능 가속 요청을 생성하는 단계; 및
    상기 성능 가속 요청에 따라, 복수의 프로세서 코어 설정들 중에서 현재의 성능보다 높은 성능을 제공하는 프로세서 코어 설정을 선택하고, 선택된 프로세서 코어 설정에 따라 열 관리 정책을 결정하는 단계를 더 포함하는 것을 특징으로 하는 반도체 프로세서 장치를 위한 열 관리 방법.
  30. 컴퓨터에서 청구항 17 내지 청구항 20, 청구항 22, 청구항 24 내지 청구항 29 중 어느 한 청구항에 따른 반도체 프로세서 장치를 위한 열 관리 방법의 각 단계들을 수행하도록 작성되어 컴퓨터로 독출 가능한 기록 매체에 기록된 프로그램.
KR1020150108770A 2015-07-31 2015-07-31 반도체 프로세서 장치를 위한 선제적 열 관리 방법 및 장치 KR101755817B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150108770A KR101755817B1 (ko) 2015-07-31 2015-07-31 반도체 프로세서 장치를 위한 선제적 열 관리 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150108770A KR101755817B1 (ko) 2015-07-31 2015-07-31 반도체 프로세서 장치를 위한 선제적 열 관리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20170015769A KR20170015769A (ko) 2017-02-09
KR101755817B1 true KR101755817B1 (ko) 2017-07-11

Family

ID=58154435

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150108770A KR101755817B1 (ko) 2015-07-31 2015-07-31 반도체 프로세서 장치를 위한 선제적 열 관리 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101755817B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11023022B2 (en) 2019-05-31 2021-06-01 Ajou University Industry-Academic Cooperation Foundation Apparatus and method for improving thermal cycling reliability of multicore microprocessor

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11709795B2 (en) 2020-11-12 2023-07-25 Electronics And Telecommunications Research Institute Electronic device including main processor and systolic array processor and operating method of electronic device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100985543B1 (ko) * 2004-07-16 2010-10-06 인터내셔널 비지네스 머신즈 코포레이션 마이크로프로세서 유닛의 열 상태의 실시간 추정 및 예측을 위한 방법 및 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8916920B2 (en) 2011-07-19 2014-12-23 Macronix International Co., Ltd. Memory structure with planar upper surface

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100985543B1 (ko) * 2004-07-16 2010-10-06 인터내셔널 비지네스 머신즈 코포레이션 마이크로프로세서 유닛의 열 상태의 실시간 추정 및 예측을 위한 방법 및 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11023022B2 (en) 2019-05-31 2021-06-01 Ajou University Industry-Academic Cooperation Foundation Apparatus and method for improving thermal cycling reliability of multicore microprocessor

Also Published As

Publication number Publication date
KR20170015769A (ko) 2017-02-09

Similar Documents

Publication Publication Date Title
US8984307B2 (en) System and method for dynamic battery current load management in a portable computing device
EP2817716B1 (en) System and method for thermally aware device booting
US10037258B2 (en) System and method for intelligent thermal management using dynamic performance floors in a portable computing device
CN107209546B (zh) 抑制功率尖峰
US9360907B2 (en) System and method for adaptive thermal management in a portable computing device
US9823673B2 (en) Energy efficiency aware thermal management in a multi-processor system on a chip based on monitored processing component current draw
EP3430496B1 (en) System and method for intelligent thermal management in a system on a chip having a heterogeneous cluster architecture
US9136779B2 (en) Dynamically modified fan speed table for cooling a computer
US10345887B2 (en) Adaptive optimization of low power strategies
US9563226B2 (en) Dynamic clock regulation based on duty cycle thresholds
US9665141B2 (en) Thermal management of an integrated circuit
US9411403B2 (en) System and method for dynamic DCVS adjustment and workload scheduling in a system on a chip
US20120179303A1 (en) Method and system for managing thermal policies of a portable computing device
US20130090888A1 (en) System and method for proximity based thermal management of mobile device
US10120426B2 (en) Thermal management apparatus and method using dynamic thermal margin, and semiconductor processor device, non-volatile data storage device and access control method using the same
US8543846B2 (en) Temperature control method and electronic device thereof
KR101755817B1 (ko) 반도체 프로세서 장치를 위한 선제적 열 관리 방법 및 장치
CN113826082A (zh) 一种用于控制散热装置的方法及其设备
US20170192473A1 (en) System and method for intelligent thermal management based on a thermal power envelope in a portable computing device
US20160266819A1 (en) Method for determining operation coniditions for a selected lifetime of a semiconductor device
KR101719074B1 (ko) 동적 열적 마진을 이용하는 반도체 프로세서 장치를 위한 열 관리 방법 및 장치
CN112306806A (zh) 电子设备控制方法、装置及电子设备
EP4365712A1 (en) Power consumption adjustment method and apparatus
WO2022212141A1 (en) Dynamic system power load management

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