KR20190008531A - 멀티코어 프로세서에 대한 전류 제어 - Google Patents

멀티코어 프로세서에 대한 전류 제어 Download PDF

Info

Publication number
KR20190008531A
KR20190008531A KR1020187032970A KR20187032970A KR20190008531A KR 20190008531 A KR20190008531 A KR 20190008531A KR 1020187032970 A KR1020187032970 A KR 1020187032970A KR 20187032970 A KR20187032970 A KR 20187032970A KR 20190008531 A KR20190008531 A KR 20190008531A
Authority
KR
South Korea
Prior art keywords
current
cores
core
count
multicore processor
Prior art date
Application number
KR1020187032970A
Other languages
English (en)
Other versions
KR102536478B1 (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 KR1020227025003A priority Critical patent/KR102579088B1/ko
Publication of KR20190008531A publication Critical patent/KR20190008531A/ko
Application granted granted Critical
Publication of KR102536478B1 publication Critical patent/KR102536478B1/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
    • 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
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • 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
    • 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/3243Power saving in microcontroller unit
    • 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/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
    • 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
    • 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
    • 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)
  • Power Sources (AREA)

Abstract

멀티코어 프로세서에 대한 전류 제어와 연관된 장치들, 방법들 및 저장 매체가 본 명세서에 개시된다. 실시예들에서, 멀티코어 프로세서는 복수의 아날로그 전류 비교기를 포함할 수 있으며, 각각의 아날로그 전류 비교기는 멀티코어 프로세서의 코어들 중 대응하는 것에 의한 전류 이용을 측정한다. 멀티코어 프로세서는 코어들로 하여금 대응하는 아날로그 전류 비교기들로부터의 측정치들에 기초하여 개별적으로 스로틀링(throttle)하게 하는 하나 이상의 프로세서, 디바이스, 및/또는 회로를 포함할 수 있다. 일부 실시예들에서, 멀티코어 프로세서의 메모리 디바이스는 각각, 코어들의 복수의 전류 측정치 이력에 기초하여 스로틀 요청들을 전송할지를 결정하기 위해 복수의 전력 관리 에이전트를 동작시키도록 실행 가능한 명령어들을 저장할 수 있다.

Description

멀티코어 프로세서에 대한 전류 제어
본 출원은 2016년 6월 15일자로 출원된, 발명의 명칭이 "CURRENT CONTROL FOR A MULTICORE PROCESSOR"인 미국 출원 제15/182,990호에 대한 우선권을 주장한다.
본 개시 내용은 프로세서 효율에 관한 것이며, 더 구체적으로는 멀티코어 프로세서에 대한 전류 제어에 관한 것이다.
본 명세서에 제공된 배경 설명은 일반적으로 본 개시 내용의 맥락을 제시하기 위한 것이다. 본 명세서에 달리 표시되지 않는 한, 본 섹션에서 설명되는 자료들은 본 출원에서의 청구항들에 대한 종래 기술이 아니고 본 섹션에서의 포함에 의해 종래 기술인 것으로 인정되는 것은 아니다.
멀티코어 프로세서는 코어들이라고 하는 둘 이상의 독립적인 처리 유닛을 갖는 단일 컴퓨팅 컴포넌트이다. 멀티코어 프로세서 외부에 있는 전압 레귤레이터, 예를 들어, 마더보드 또는 다른 외부 전압 레귤레이터는 전원에 결합될 수 있고, 멀티코어 프로세서에 전력을 공급할 수 있다. 외부 시스템은, 예를 들어, C4(controlled collapse chip connection) 범프들에 기초하는 멀티코어 프로세서와 연관된 패키징 인터페이스와 같은 시스템의 컴포넌트들에 대한 물리적 손상을 방지하기 위해 멀티코어 프로세서에 공급되는 최대 전류(Icc Max)를 관리할 수 있다.
예를 들어, 외부 시스템, 예를 들어, 외부 전압 레귤레이터는 외부 전압 레귤레이터가 차단되게 할 수 있는 전류 이용을 모니터링하는 것에 응답하여 "과전류" 상태에 들어갈 수 있다. 외부 시스템이 "과전류" 상태로 들어가는 것을 피하기 위해, 멀티코어 프로세서의 내부 컨트롤러(예를 들어, PCU(Power Control Unit))는, 과전류 상태에 대응하는 임계값이 최악의 가능한 바이러스의 실행의 경우에도 초과되지 않도록 코어들에 대한 주파수 및 전압 설정들을 선택된 값들로 제약하도록 구성될 수 있다.
PCU는 전형적으로 전압 및 주파수를 항상 이러한 설정들로 제약하도록 구성되고, 이는 정상 애플리케이션 동작(즉, 최악의 가능한 바이러스가 아님)에서, 멀티코어 프로세서가 외부 시스템의 임계값의 부분만을 이용할 수 있고, 따라서 정상 애플리케이션 동작에서 그 성능 능력의 단지 부분에서만 수행할 수 있다는 것을 의미한다.
실시예들은 첨부 도면들과 함께 다음의 상세한 설명에 의해 쉽게 이해될 것이다. 이 설명을 용이하게 하기 위해, 유사한 참조 번호들은 유사한 구조적 요소들을 지시한다. 실시예들은 첨부 도면들의 도면들에 제한으로서가 아닌 예로서 예시된다.
도 1은 멀티코어 프로세서에 대한 전류 제어를 위한 기술을 갖춘 예시적인 시스템을 도시한다.
도 2는 다양한 실시예들에 따른, 전력 관리 에이전트들을 포함하는 도 1의 제어 회로의 예를 예시한다.
도 3은 다양한 실시예들에 따른, 도 2의 전력 관리 에이전트들에 의해 수행될 수 있는 예시적인 동작들을 나타내는 시그널링 다이어그램이다.
도 4는 다양한 실시예들에 따른, 도 2의 전력 관리 에이전트들에 의해 수행될 수 있는 히스테리시스 프로세스와 연관된 예시적인 동작들을 나타내는 시그널링 다이어그램이다.
도 5는 다양한 실시예들에 따른, 도 2의 전력 관리 에이전트들에 의해 실행될 수 있는 의사 코드(pseudo code)를 나타낸다.
도 6은 다양한 실시예들에 따라, 본 명세서에서 설명되는 장치들 및/또는 방법들을 사용할 수 있는 예시적인 컴퓨팅 디바이스를 나타낸다.
멀티코어 프로세서에 대한 전류 제어와 연관된 장치들, 방법들 및 저장 매체가 본 명세서에 개시된다. 실시예들에서, 멀티코어 프로세서는 복수의 아날로그 전류 비교기를 포함할 수 있으며, 각각의 아날로그 전류 비교기는 멀티코어 프로세서의 코어들 중 대응하는 것에 의한 전류 이용을 측정한다. 멀티코어 프로세서는 코어들로 하여금 대응하는 아날로그 전류 비교기들로부터의 측정치들에 기초하여 개별적으로 스로틀링(throttle)하게 하는 하나 이상의 프로세서, 디바이스, 및/또는 회로를 포함할 수 있다. 일부 실시예들에서, 멀티코어 프로세서의 메모리 디바이스는 각각, 코어들의 복수의 전류 측정치 이력에 기초하여 스로틀 요청들을 전송할지를 결정하기 위해 복수의 전력 관리 에이전트를 동작시키도록 실행 가능한 명령어들을 저장할 수 있다.
다음의 상세한 설명에서, 본 명세서의 일부를 형성하고, 명세서 전체에서 유사한 번호들이 유사한 부분들을 지시하고, 실시될 수 있는 실시예들이 예시로서 도시되는 첨부 도면들이 참조된다. 본 개시 내용의 범위로부터 벗어나지 않고도 다른 실시예들이 이용될 수 있고 구조적 또는 논리적 변경들이 이루어질 수 있다는 것을 이해해야 한다. 따라서, 이하의 상세한 설명은 제한적인 의미로 취해져서는 안 되며, 실시예들의 범위는 첨부된 청구항들 및 이들의 등가물들에 의해 정의된다.
본 개시 내용의 양태들이 첨부된 설명에 개시된다. 본 개시 내용의 대안적인 실시예들 및 이들의 등가물들이 본 개시내용의 사상 또는 범위로부터 벗어나지 않고 고안될 수 있다. 아래에 개시되는 유사한 요소들은 도면들에서 유사한 참조 번호들에 의해 표시된다는 점에 유의해야 한다.
청구되는 주제를 이해하는데 가장 도움이 되는 방식으로, 다양한 동작들이 다수의 별개의 액션들 또는 동작들로서 차례로 설명될 수 있다. 그러나, 설명 순서는 이러한 동작들이 반드시 순서 종속적이라고 암시하는 것으로서 해석되어서는 안된다. 특히, 이러한 동작들은 제시의 순서로 수행되지 않을 수 있다. 설명되는 동작들은 설명되는 실시예와 상이한 순서로 수행될 수 있다. 다양한 추가적인 동작들이 수행될 수 있고/있거나 설명되는 동작들이 추가적인 실시예들에서 생략될 수 있다.
본 개시 내용의 목적을 위해, "A 및/또는 B"라는 문구는 (A), (B), 또는 (A 및 B)를 의미한다. 본 명세서의 목적을 위해, "A, B, 및/또는 C"라는 문구는 (A), (B), (C), (A 및 B), (A 및 C), (B 및 C), 또는 (A, B 및 C)를 의미한다.
설명은 동일한 또는 상이한 실시예들 중 하나 이상을 각각 참조할 수 있는 문구들 "실시예에서" 또는 "실시예들에서"를 사용할 수 있다. 더욱이, 본 개시 내용의 실시예들에 관해 사용되는 용어들 "포함하는(comprising)", "포함하는(including)", "갖는(having)" 등은 동의어들이다.
본 명세서에서 이용되는 바와 같이, "회로"라는 용어는 특정 용도 집적 회로(ASIC), 전자 회로, 하나 이상의 소프트웨어 또는 펌웨어 프로그램을 실행하는 프로세서(공유, 전용 또는 그룹) 및/또는 메모리(공유, 전용 또는 그룹), 조합 로직 회로(combinational logic circuit), 및/또는 설명된 기능성을 제공하는 다른 적합한 컴포넌트들을 지칭하거나, 그것의 일부이거나 또는 그것을 포함할 수 있다.
도 1은 멀티코어 프로세서(110), 예를 들어 멀티코어 프로세서 시스템 온 칩(SoC)에 대한 전류 제어를 위한 기술을 갖춘 예시적인 시스템(100)을 도시한다. 멀티코어 프로세서(110)는 코어들(115)을 갖는 코어 영역 및 적어도 제어 회로(111) 및 전류 센서들(112)을 포함하는 언코어(uncore) 영역, 예를 들어, 아날로그 전류 비교기들 또는 다른 고속 전류 센서들을 가질 수 있다. 전류 센서들(112) 각각의 것은 코어들(115) 중 대응하는 것에 의한 전류 이용을 측정할 수 있다. 제어 회로(111)는 전류 센서들(112)로부터의 측정치들에 기초하여 코어들(115)이 개별적으로 스로틀링하게 함으로써, 코어들(115)에 의한 전류 이용을 국부적으로 제어할 수 있다.
일부 실시예들에서, 제어 회로(111)는 전류 센서들(112) 각각의 것에 의한 전류 이용의 측정치들에 기초하여 코어들(115) 각각의 것에 대한 전류 측정치 이력을 생성할 수 있다. 제어 회로(111)는, 스로틀링 임계값을 초과하는 코어들(115) 중 하나에 대한 전류 이용의 가장 최근의 측정치에 응답하여, 해당 코어에 대한 전류 측정치 이력의 일부를 이용하여 해당 코어를 개별적으로 스로틀링할지 여부를 결정할 수 있다. 제어 회로(111)는 해당 코어를 개별적으로 스로틀링한다는 결정의 결과에 기초하여 해당 코어가 스로틀링하게 할 수 있다.
이러한 실시예들에서, 제어 회로(111)는 멀티코어 프로세서(110)에 전력을 공급하는 외부 전압 레귤레이터 회로(103)의 외부 전압 레귤레이터 과전류 임계값(105)을 초과하는 멀티코어 프로세서(110)의 전류 이용을 조정할 수 있다. 외부 전압 레귤레이터 과전류 임계값(105)을 넘는 전류 이용의 지속시간은 전류 센서(104) 및/또는 외부 전압 레귤레이터 회로(103)와 연관된 응답 시간(이는 외부 전압 레귤레이터 회로(103)의 특성들에 따라 1 내지 2 마이크로초일 수 있음)보다 짧을 수 있다.
다시 아날로그 전류 비교기들 또는 다른 고속 전류 센서들일 수 있는 전류 센서들(112)은 전류 센서(104)와 다르게 동작할 수 있다. 일부 실시예들에서, 각각의 전류 센서(112)는 스로틀링 임계값으로 프로그래밍될 수 있고, 전류 센서들(112)에 의해 출력되는 측정치들은 측정된 전류가 스로틀링 임계값을 초과하는지 여부의 표시들일 수 있다. 일부 실시예들에서, 전류 센서들(112) 각각의 것은 외부 전압 레귤레이터 회로(103)에 의해 이용되는 전류 센서(104)에 의한 각각의 전류 측정에 대해 1회 초과로 전류를 측정할 수 있다.
도 2는 다양한 실시예들에 따른, 전력 관리 에이전트들(211)을 포함하는 도 1의 제어 회로(111)의 예를 나타낸다. 언코어 영역은 복수의 코어의 동작 특성들, 예를 들어, 전압, 주파수 등, 또는 이들의 조합들을 개별적으로 선택하기 위한 PCU(전력 제어 유닛)(297)를 추가로 포함할 수 있다. PCU(297)는 각각의 코어에 대한 전압 및 주파수를 포함하는 동작 특성들을 나타내는 WP(work point)를 포함하는 신호(221)를 PMA들(211)에 전송할 수 있다. 동작 특성들의 값들은, 외부 전압 레귤레이터 과전류 임계값(105)(도 1)에 기초하여, 예를 들어 적어도 부분적으로 기초하여 전력 예산을 할당함으로써 설정될 수 있다.
일부 실시예들에서, 신호(221)는, 전류 센서들(112)의 스로틀링 임계값들을 설정하는데 사용될 수 있는, 코어들에 대한 전류 파라미터들(220)을 추가적으로 포함할 수 있다. 전류 파라미터들(220)의 값들은, 외부 전압 레귤레이터 과전류 임계값(105)(도 1)에 기초하여, 예를 들어, 적어도 부분적으로 기초하여, 전력 예산을 할당함으로써 설정될 수 있다. 일부 실시예들에서, 전류 센서들(112)은 각각의 코어에 대한 FIVR(Fully Integrated Voltage Regulator)과 같은 전압 레귤레이터 회로(298)에 위치할 수 있고, PMA들(211)은 전류 센서들(112)이 동작 특성들(예를 들어, 주파수 및 전압)에 기초하여 코어들(115)을 설정 및/또는 제어하게 하기 위해, 전압 레귤레이터 회로(298)에, 예를 들어, FIVR들의 각각의 것에 커맨드(224)를 송신할 수 있다.
후속하여, PMA들(211)은 측정된 전류가 스로틀링 임계값들 중 대응하는 것을 가로지를 때를 지시하기 위해 FIVR들 각각의 것으로부터 하나 이상의 신호(223)를 수신할 수 있다(예를 들어, 측정된 전류가 스로틀링 임계값을 초과할 때, 그리고 또한 측정된 전류가 스로틀링 임계값 내로 복귀할 때 표시들이 전송될 수 있다).
측정된 전류가 스로틀링 임계값을 초과함을 나타내는 신호(223)를 수신한 것에 응답하여, PMA들(211) 중 수신하는 것은 코어들(115) 중 대응하는 것을 스로틀링할지를 결정할 수 있다. 일부 실시예들에서, 이 결정은 슬라이딩 윈도우(sliding window)에 기초할 수 있다. PMA들(211)은 이 결정에 기초하여, 스로틀 요청과 같은 신호(225)를 대응하는 코어에 전송할 수 있다. 일부 실시예들에서, PMA들(211)은 스로틀링의 정도(예를 들어, 동작 주파수의 10% 스로틀) 및/또는 스로틀링 기간(예를 들어, 100 마이크로초)을 결정할 수 있고, 디폴트들과 상이한 경우, 스로틀 요청(225)에 결정된 정도 및/또는 기간을 나타내는 파라미터 정보(230)를 포함할 수 있다. 스로틀링 기간은 기준 값의 백분율(예를 들어, 100 마이크로초를 나타내기 위해, 1 밀리초 기준 기간의 10%)로서 표시될 수 있다.
PMA들(211)은 전압 레귤레이터 회로(298)로부터 새로운 신호(도시되지 않음)를 수신하는 것에 응답하여 이후에 스로틀 릴리스 요청(도시되지 않음)을 전송할지를 결정할 수 있다. 일부 예들에서, 스로틀 릴리스 요청은 결정된 스로틀링 기간의 종료 전에 스로틀을 릴리스할 수 있다. PMA들(211)은 전압 레귤레이터 회로(298)로부터의 새로운 신호에 응답하여 스로틀 릴리스 요청들을 전송할지를 결정할 수 있고, 이 결정은 코어들(115) 각각의 것에 대한 전류 측정치의 이력에 기초할 수 있다. PMA들(211)은 슬라이딩 윈도우를 이용하여, 이러한 결정을 위해 이용될 전류 측정치들의 이력의 일부를 식별할 수 있다.
일부 실시예들에서, PMA들(211) 각각의 것들은 때때로, 예를 들어, 간격을 두고, 스로틀링이 빈도 임계값(frequency threshold)보다 더 빈번한지를 결정하고, 이 결정에 기초하여, 허가 요청과 같은 신호(222)를 PCU(297)에 전송할 수 있다. 예를 들어, 2.5%(또는 일부 다른 미리 정의된 백분율) 초과의 시간에 코어가 스로틀링되는 경우, PMA들(211)은 너무 많은 스로틀링이 수행된다는 힌트를 포함하는 신호를 생성할 수 있다. PCU(297)는 힌트를 이용하여, 너무 많은 스로틀링이라면 새로운 더 낮은 동작 주파수와 같은, 코어들(115)의 동작 특성들에 대한 업데이트를 전송할지 여부를 결정할 수 있다.
힌트는 또한, 특정 코어에 할당된 전력 할당의 일부가 코어들 중 다른 하나와 같은 다른 컴포넌트에 재할당될 수 있고/있거나 코어에 대한 주파수가 증가될 수 있다는 것을 제안할 수 있다. 일부 실시예들에서, 전류 센서들(112)은 이러한 힌트들에 대한 통계 정보를 위해 임계값이 돌파되는지 여부를 결정하기 위해 코어당 추가의 전류 센서를 포함할 수 있다. 전류 센서들(112)의 추가적인 그룹은 센서들(112) 중 다른 것들에 의해 개별적으로 감지하는 것과 동시에, 각각의 코어에 의한 전류 이용을 개별적으로 감지할 수 있다. 전류 센서들(112)의 추가적인 그룹은 동일한 코어에 대한 다른 센서와는 상이한 임계값, 예를 들어, 더 낮은 임계값을 이용할 수 있다. 이 상이한 임계값은 본 명세서에서 "의사 스로틀링(pseudo throttling)" 임계값, 또는 대안적으로 히스테리시스 임계값(hysteresis threshold)으로서 지칭될 수 있다. 일 예에서, 의사 스로틀링 임계값은 5A일 수 있고, 스로틀링 임계값은 10A일 수 있다. PMA들은 의사 스로틀링 임계값의 돌파들의 카운트를 추적할 수 있고, 돌파들이 미리 결정된 시간 백분율 미만인 경우, 주파수를 증가시키거나 할당을 변경하기 위해 힌트를 갖는 신호(222)를 생성할 수 있다.
할당을 변경하는 것은 이 코어에 할당된 전력 예산의 일부가 감소되면, 이 코어에 대한 스로틀링 임계값을 낮추는 것을 수반할 수 있다. 일부 구현예들에서, 스로틀링 임계값은 의사 스로틀링 임계값으로 낮아질 수 있다. 또한, 다른 코어에 할당된 전력 예산의 일부가 재할당 시 증가되면, 다른 코어에 대한 스로틀링 임계값이 증가될 수 있다.
도 3은 다양한 실시예들에 따른, 도 2의 전력 관리 에이전트들(211)에 의해 수행될 수 있는 예시적인 동작들을 나타내기 위한 시그널링 다이어그램이다. 전압 레귤레이터 회로(298)는, 예를 들어, 전류 비교기의 출력이 스로틀링 임계값이 돌파되는 것 또는 전류가 스로틀링 임계값 내로 복귀된 것을 나타내는 것과 같은, 전류가 스로틀링 임계값을 가로지르는 것에 응답하여 이벤트 신호(301)를 PMA들(211)에 출력할 수 있다.
PMA들(211)은 스로틀링 업데이트가 요구되는지, 예를 들어, 스로틀 요청 또는 스로틀 릴리스 요청을 코어들(112) 중 대응하는 것에 전송할지를 결정할 수 있다(302). 스로틀 요청(303)을 수반하는 경우가 예시된다. 코어는 스로틀 요청(303)에 응답하여 스로틀링한다(304).
나중에, 전류가 스로틀링 임계값 내로 복귀할 때, 전압 레귤레이터 회로(298)는, 스로틀링 임계값 내로 복귀하는 전류를 나타내는 전류 비교기의 출력에 응답하여 이벤트 신호(305)를 PMA들(211)에 출력할 수 있다. PMA들(211)은 스로틀링이 슬라이딩 윈도우에서 너무 빈번한지를 결정할 수 있다(306). 예를 들어, 스로틀링이 너무 빈번한 경우, PMA는 PCU(297)가 전류 센서들(112) 중 하나 이상의 전류 센서에 대해 (예를 들어, 스로틀링 임계값을 증가시키기 위해) 전력 예산의 할당을 변경하고/하거나 코어에 대한 주파수를 낮출지를 결정할 수 있게 하기 위한 힌트와 함께, PCU(297)에 허가 요청과 같은 통지(307)를 출력할 수 있다.
스로틀링 기간의 종료에 응답하여, PMA들(211)은 코어들(112) 중 대응하는 것에 스로틀 릴리스 요청(308)을 전송할 수 있다. 해당 코어는 스로틀을 릴리스할 수 있다(309).
도 4는 다양한 실시예들에 따른, 도 2의 전력 관리 에이전트들에 의해 수행될 수 있는 히스테리시스 프로세스와 연관된 예시적인 동작들을 나타내는 시그널링 다이어그램이다. PCU(297)는, 제어 회로(111)의 하나보다 많은 카운터(도시되지 않음)를 이용할 수 있는 히스테리시스 프로세스를 PMA들(211) 중 하나에게 재시작(401)하라고 지시할 수 있다. PMA는 카운터들의 제1 카운터를 리셋하고 시작할 수 있다(402)(제1 카운터는 본 명세서에서 "히스테리시스 카운터"로서 지칭될 수 있다). 도 5를 참조하면, 의사 코드(499)의 제3 라인에 도시된 바와 같이, 히스테리시스 카운터는, 히스테리시스 카운터가 포화 윈도우 아래에 있는 경우 코어가 활성인 각각의 사이클에 대해 미리 결정된 값, 예를 들어, 1만큼 증분될 수 있다. 일부 실시예들에서, 히스테리시스 카운터는 18 비트일 수 있다. 9개의 최상위 비트는 대략 5 마이크로초에서 2 밀리초까지의 입도(granularity)를 허용할 수 있다.
도 4를 다시 참조하면, 전압 레귤레이터 회로(298)는 추가의 아날로그 전류 비교기와 연관된 의사 스로틀링 임계값이 초과되는 것을 시그널링할 수 있다(403). PMA는 신호(403)에 기초하여 카운터들의 제2 상이한 카운터(제2 카운터는 본 명세서에서 "위반 카운터" 또는" 패널티 카운터"로서 지칭될 수 있음)를 업데이트, 예를 들어, 감분할 수 있다(404). 도 5를 다시 참조하면, 의사 코드(499)의 제4 라인에 도시된 바와 같이, 페널티 카운터는 새로운 스로틀링 기간이 시작되는 경우 페널티 값에 의해 업데이트, 예를 들어, 감분될 수 있다. 위반 카운터는 15 비트일 수 있고, 입상 페널티(granular penalty)는 320 nSec일 수 있다.
도 4를 다시 참조하면, PMA는 스로틀링 지속시간 기간 동안 의사 스로틀링 임계값에 기초하여 추가의 이벤트들을 무시할 수 있다(405). 위반 카운터가 제로로 감소되면, PMA는 히스테리시스 카운터를 재시작할 수 있다(409). 히스테리시스 카운터가 (재시작에 기초하여) 0에 도달하는 것에 응답하여, PMA는 PCU(297)가 전류 센서에 대한 스로틀링 임계값 또는 의사 스로틀링 임계값을 감소시키기 위해 전력 예산의 할당을 변경하고/하거나 코어에 대한 주파수를 증가시킬지를 결정할 수 있게 하기 위한 힌트와 함께, PCU(297)에 허가 요청을 시그널링할 수 있다(410). 카운터들의 추가의 카운터는 "원격 측정 카운터"로서 지칭될 수 있다. PMA는 스로틀링이 적용되는 매 사이클마다 원격 측정 카운터를 1만큼 증분할 수 있다. PMA는 각각의 허가 요청에 대한 원격 측정 카운터의 카운트를 PCU(297)에 보고할 수 있다. 일 예에서, 원격 측정 카운터는 제1 및 제2 카운터들보다 큰 비트(예를 들어, 28 비트)이다.
일부 실시예들에서, PCU는 멀티코어 프로세서에 대한 전력 예산에 기초하여 코어들(115) 각각에 대한 주파수 및/또는 전압을 결정할 수 있다(411). PCU는 코어들(115) 중 하나에 대한 주파수 및/또는 전압에 대한 업데이트에 기초하여 (재시작(401)과 유사한) 히스테리시스 프로세스를 재시작하기 위해 시그널링할 수 있다(412).
도 6은 다양한 실시예들에 따라, 본 명세서에서 설명되는 장치들 및/또는 방법들을 사용할 수 있는 예시적인 컴퓨팅 디바이스를 나타낸다.
예시적인 컴퓨팅 디바이스(500)는 다양한 실시예들에 따라, 본 명세서에 설명된 장치들 및/또는 방법들을 사용할 수 있다. 도시된 바와 같이, 컴퓨팅 디바이스(500)는 하나 이상의 프로세서(들)(504)(하나가 도시됨) 및 적어도 하나의 통신 칩(506)과 같은 다수의 컴포넌트를 포함할 수 있다.
다양한 실시예들에서, 하나 이상의 프로세서(들)(504) 각각은 도 1 내지 도 6을 참조하여 전술한 하나 이상의 프로세서 코어 및 전력 제어 기술을 포함할 수 있다. 다양한 실시예들에서, 적어도 하나의 통신 칩(506)은 하나 이상의 프로세서(들)(504)에 물리적으로 그리고 전기적으로 결합될 수 있다. 추가의 구현예들에서, 통신 칩(506)은 하나 이상의 프로세서(들)(504)의 일부일 수 있다. 다양한 실시예들에서, 컴퓨팅 디바이스(500)는 인쇄 회로 보드(PCB)(502)를 포함할 수 있다. 이러한 실시예들에 대해, 하나 이상의 프로세서(들)(504) 및 통신 칩(506)이 그 위에 배치될 수 있다. 대안적인 실시예들에서, 다양한 컴포넌트들은 PCB(502)의 사용 없이 결합될 수 있다.
그것의 응용들에 따라서, 컴퓨팅 디바이스(500)는 PCB(502)에 물리적으로 그리고 전기적으로 결합될 수 있거나 결합되지 않을 수 있는 다른 컴포넌트들을 포함할 수 있다. 이러한 다른 컴포넌트들은, 이에 제한되는 것은 아니지만, 메모리 컨트롤러(도시되지 않음), 휘발성 메모리(예를 들어, DRAM(dynamic random access memory)(520)), ROM(read only memory)(524)과 같은 비-휘발성 메모리, 플래시 메모리(522), I/O 컨트롤러(도시되지 않음), 디지털 신호 프로세서(도시되지 않음), 암호 프로세서(도시되지 않음), 그래픽 프로세서(530), 하나 이상의 안테나(528), 디스플레이(도시되지 않음), 터치 스크린 디스플레이(532), 터치 스크린 컨트롤러(546), 배터리(536), 오디오 코덱(도시되지 않음), 비디오 코덱(도시되지 않음), GPS(global positioning system) 디바이스(540), 나침반(542), 가속도계(도시되지 않음), 자이로스코프(도시되지 않음), 스피커(550), 카메라(552), 및 (하드 디스크 드라이브, 솔리드 스테이트 드라이브, CD(compact disk), DVD(digital versatile disk)와 같은) 대용량 저장 디바이스(도시되지 않음) 등을 포함한다.
일부 실시예들에서, 하나 이상의 프로세서(들)(504), 플래시 메모리(522), 및/또는 저장 디바이스(도시되지 않음)는, 본 명세서에 설명되는 방법들의 전부 또는 선택된 양태들을 실시하기 위해 하나 이상의 프로세서(들)(504)에 의한 프로그래밍 명령어들의 실행에 응답하여, 컴퓨팅 디바이스(500)를 인에이블하도록 구성되는 프로그래밍 명령어들을 저장하는 연관된 펌웨어(도시되지 않음)를 포함할 수 있다. 예를 들어, 프로그래밍 명령어들은 도 1 내지 도 5의 각각의 것들을 참조하여 전술한 제어 회로 및/또는 PMA를 구현할 수 있다. 다양한 실시예들에서, 이러한 양태들은 하나 이상의 프로세서(들)(504), 플래시 메모리(512), 또는 저장 디바이스(511)와 별개인 하드웨어를 사용하여 추가적으로 또는 대안적으로 구현될 수 있다.
통신 칩들(506)은 컴퓨팅 디바이스(500)로 그리고 그로부터 데이터를 전송하기 위한 유선 및/또는 무선 통신을 가능하게 할 수 있다. 용어 "무선" 및 그 파생어들은 비-고체 매체를 통한 변조된 전자기 방사의 사용을 통해 데이터를 통신할 수 있는 회로들, 디바이스들, 시스템들, 방법들, 기술들, 통신 채널들 등을 설명하기 위해 사용될 수 있다. 이러한 용어는, 일부 실시예들에서는 그렇지 않을 수도 있지만, 연관된 디바이스들이 어떠한 와이어도 포함하지 않는다는 것을 암시하는 것은 아니다. 통신 칩(506)은, 이에 제한되는 것은 아니지만 IEEE 702.20, LTE(Long Term Evolution), LTE-A(LTE Advanced), GPRS(General Packet Radio Service), Ev-DO(Evolution Data Optimized), HSPA+(Evolved High Speed Packet Access), HSDPA+(Evolved High Speed Downlink Packet Access), HSUPA+(Evolved High Speed Uplink Packet Access), GSM(Global System for Mobile Communications), EDGE(Enhanced Data rates for GSM Evolution), CDMA(Code Division Multiple Access), TDMA(Time Division Multiple Access), DECT(Digital Enhanced Cordless Telecommunications), WiMAX(Worldwide Interoperability for Microwave Access), 블루투스(Bluetooth), 이들의 파생물들뿐만 아니라, 3G, 5G, 5G 및 이를 넘어서는 것으로서 지정되는 임의의 다른 무선 프로토콜들을 포함하는, 다수의 무선 표준 또는 프로토콜 중 임의의 것을 구현할 수 있다. 컴퓨팅 디바이스(500)는 복수의 통신 칩(506)을 포함할 수 있다. 예를 들어, 제1 통신 칩(506)은 Wi-Fi 및 블루투스와 같은 더 짧은 거리의 무선 통신에 전용될 수 있고, 제2 통신 칩(506)은 GPS, EDGE, GPRS, CDMA, WiMAX, LTE, Ev-DO 등과 같은 더 먼 거리 무선 통신에 전용될 수 있다.
다양한 구현예들에서, 컴퓨팅 디바이스(500)는 랩톱, 넷북, 노트북, 울트라북, 스마트폰, 컴퓨팅 태블릿, PDA(personal digital assistant), 울트라 모바일 PC, 모바일 폰, 데스크톱 컴퓨터, 서버, 프린터, 스캐너, 모니터, 셋-톱 박스, 엔터테인먼트 제어 유닛(예를 들어, 게이밍 콘솔 또는 차량용 엔터테인먼트 유닛), 디지털 카메라, 어플라이언스, 휴대용 뮤직 플레이어, 또는 디지털 비디오 레코더일 수 있다. 추가의 구현예들에서, 컴퓨팅 디바이스(500)는 데이터를 처리하는 임의의 다른 전자 디바이스일 수 있다.
하나 이상의 컴퓨터 사용 가능 또는 컴퓨터 판독 가능 매체(들)의 임의의 조합이 이용될 수 있다. 컴퓨터 사용 가능 또는 컴퓨터 판독 가능 매체는, 예를 들어, 이에 제한되는 것은 아니지만, 전자, 자기, 광, 전자기, 적외선, 또는 반도체 시스템, 장치, 디바이스, 또는 전파 매체일 수 있다. 컴퓨터 판독 가능 매체의 더 구체적인 예들(비-배타적인 리스트)은 다음을 포함할 것이다: 하나 이상의 와이어를 갖는 전기적 접속, 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독-전용 메모리(ROM), 소거가능한 프로그램가능 판독-전용 메모리(EPROM 또는 플래시 메모리), 광섬유, 휴대용 콤팩트 디스크 판독 전용 메모리(CD-ROM), 광학 저장 디바이스, 인터넷 또는 인트라넷을 지원하는 것들과 같은 송신 매체, 또는 자기 저장 디바이스. 컴퓨터 사용 가능 또는 컴퓨터 판독 가능 매체는 프로그램이 인쇄되는 심지어 종이 또는 다른 적합한 매체일 수 있는데, 그 이유는 프로그램이, 예를 들어, 종이 또는 다른 매체의 광 스캐닝을 통해, 전자적으로 캡처되고, 다음으로, 필요하다면, 적합한 방식으로 컴파일링되고, 해석되거나, 또는 달리 처리되고 나서, 컴퓨터 메모리에 저장될 수 있기 때문이라는 점에 주목한다. 본 문헌의 맥락에서, 컴퓨터 사용가능 또는 컴퓨터 판독가능 매체는 명령어 실행 시스템, 장치, 또는 디바이스에 의해 또는 그와 함께 사용하기 위한 프로그램을 포함, 저장, 통신, 전파 또는 전송할 수 있는 임의의 매체일 수 있다. 컴퓨터 사용 가능 매체는 컴퓨터 사용 가능 프로그램 코드가 구현되는 전파 데이터 신호를, 기저대역에 또는 반송파(carrier wave)의 일부로서 포함할 수 있다. 컴퓨터 사용 가능 프로그램 코드는 이에 제한되는 것은 아니지만 무선, 유선, 광섬유 케이블, RF 등을 포함하는 임의의 적절한 매체를 사용하여 송신될 수 있다.
본 개시 내용의 동작들을 수행하기 위한 컴퓨터 프로그램 코드는 자바, 스몰토크, C++ 또는 유사한 것과 같은 객체 지향 프로그래밍 언어 및 "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어와 같은 종래의 절차형 프로그래밍 언어를 포함하는 하나 또는 이상의 프로그래밍 언어의 임의의 조합으로 기입될 수 있다. 프로그램 코드는 사용자의 컴퓨터에서 완전히, 독립형 소프트웨어 패키지로서 사용자의 컴퓨터에서 부분적으로, 사용자의 컴퓨터에서 부분적으로 그리고 원격 컴퓨터에서 부분적으로 또는 원격 컴퓨터 또는 서버에서 완전히 실행될 수 있다. 후자의 시나리오에서, 원격 컴퓨터는 근거리 네트워크(LAN) 또는 광역 네트워크(WAN)를 포함하여, 임의의 유형의 네트워크를 통해서 사용자의 컴퓨터에 접속될 수 있고, 또는 접속은 (예를 들어, 인터넷 서비스 제공자를 사용하여 인터넷을 통해) 외부 컴퓨터로 이루어질 수 있다.
예들
예 1은 멀티코어 프로세서의 전류 제어를 위한 장치이다. 장치는 복수의 코어; 및 복수의 아날로그 전류 비교기- 각각의 아날로그 전류 비교기는 코어들 중 대응하는 것에 의한 전류 이용을 측정함 -; 및 복수의 아날로그 비교기에 결합된 제어 회로- 제어 회로는 코어들로 하여금 대응하는 아날로그 전류 비교기들로부터의 측정치들에 기초하여 개별적으로 스로틀링하게 함 -를 포함한다.
예 2는 예 1의 주제를 포함하고, 제어 회로는 코어들에 스로틀 요청들을 각각 전송하기 위해 복수의 전력 관리 에이전트를 동작하도록 실행 가능한 명령어들을 저장하기 위한 것이다.
예 3은 예들 1-2 중 임의의 것의 주제를 포함하고, 복수의 전력 관리 에이전트는 복수의 코어에 결합되는 전압 레귤레이터 회로로부터 신호들을 수신하기 위한 것이고, 신호들은 아날로그 전류 비교기들의 출력들에 기초한다.
예 4는 예들 1-3 중 임의의 것의 주제를 포함하고, 전력 관리 에이전트들은 복수의 아날로그 전류 비교기로부터의 측정치들에 기초하여, 코어들에 스로틀 릴리스 요청들을 각각 전송하기 위한 것이다.
예 5는 예들 1-4 중 임의의 것의 주제를 포함하고, 전력 관리 에이전트들은 코어들의 전류 측정치들의 복수의 이력에 기초하여 스로틀 릴리스 요청들을 각각 전송할지를 결정하기 위한 것이다.
예 6은 예들 1-5 중 임의의 것의 주제를 포함하고, 전력 관리 에이전트들은 코어들의 전류 측정치들의 복수의 이력을 식별하기 위해 슬라이딩 윈도우들을 이용하기 위한 것이다.
예 7은 예들 1-6 중 임의의 것의 주제를 포함하고, 멀티코어 프로세서는 복수의 코어의 전압들을 개별적으로 설정하기 위한 PCU(power control unit)를 포함하는 제어 회로를 추가로 포함한다.
예 8은 예들 1-7 중 임의의 것의 주제를 포함하고, 복수의 코어에 결합된 전압 레귤레이터 회로를 포함하고, 전압 레귤레이터 회로는 PCU로부터의 커맨드에 응답하여, 개별적으로 설정된 전압들을 복수의 코어에 제공하기 위한 것이다.
예 9는 예들 1-8 중 임의의 것의 주제를 포함하고, 복수의 코어의 전압들은 외부 전압 레귤레이터 과전류 임계값에 기초하여 설정된다.
예 10은 예들 1-9 중 임의의 것의 주제를 포함하고, 제어 회로는 외부 전압 레귤레이터 회로의 외부 전류 센서와 연관된 응답 시간보다 짧은 시간 기간 동안 외부 전압 레귤레이터 과전류 임계값을 초과하는 멀티코어 프로세서의 전류 이용을 조정하기 위한 것이다.
예 11은 예들 1-10의 임의의 것의 주제를 포함하고, 제어 회로는, 코어들에 스로틀 요청들을 각각 전송하기 위해 복수의 전력 관리 에이전트를 동작하도록 실행 가능한 명령어들을 저장하기 위한 것이다.
예 12는 멀티코어 프로세서에 대한 코어당 전력 관리 에이전트의 명령어들이 저장되는 컴퓨터-판독 가능 매체이며, 이 매체는 처리 디바이스에 의한 실행에 응답하여, 처리 디바이스로 하여금 동작들을 수행하게 하며, 이 동작들은: 코어들 각각 것의 전류 이용의 측정치들에 기초하여 멀티코어 프로세서의 각각의 코어에 대한 전류 측정치 이력을 생성하고; 코어들 중 하나에 대한 가장 최근의 전류 측정치가 임계값을 초과한다는 통지의 수신에 응답하여, 하나의 코어에 대한 전류 측정치 이력의 일부를 이용하여 하나의 코어를 개별적으로 스로틀링할지 여부를 결정하고; 하나의 코어를 개별적으로 스로틀링한다는 결정의 결과에 기초하여 하나의 코어로 하여금 스로틀링하게 하는 것이다.
예 13은 예 12의 주제를 포함하고, 전류 측정치 이력들은 코어들에 대한 복수의 카운터에 각각 기초한다.
예 14는 예들 12-13 중 임의의 것의 주제를 포함하고, 동작들은 추가로: 각각의 코어가 활성일 때 매 사이클마다 각각의 코어에 대한 카운트를 증분시키는 것 또는 카운트를 감분시키는 것 중 적어도 하나를 수행하고; 코어들에 대한 스로틀링 기간의 각각의 적용 동안 각각의 코어에 대해 동일한 카운트 또는 다른 카운트를 증분시키는 것 또는 동일한 카운트 또는 다른 카운트를 감분시키는 것 중 다른 하나를 각각 수행하는 것이다.
예 15는 예들 12-14 중 임의의 것의 주제를 포함하고, 동작들은 추가로: 각각의 코어가 활성일 때 매 활성 기간마다 각각의 코어에 대해 제1 비트 수만큼, 카운트를 증분시키는 것 또는 카운트를 감분시키는 것 중 적어도 하나를 수행하고; 코어들에 대한 스로틀링 기간의 각각의 적용 동안 각각의 코어에 대해 제1 비트 수와 상이한 제2 비트 수만큼, 동일한 카운트 또는 다른 카운트를 증분시키는 것 또는 동일한 카운트 또는 다른 카운트를 감분시키는 것 중 다른 하나를 각각 수행하는 것이다.
예 16은 예들 12-15 중 임의의 것의 주제를 포함하고, 동작들은 추가로: 상기 코어를 개별적으로 스로틀링한다는 결정에 응답하여 멀티코어 프로세서의 PCU(power control unit)에 보고를 송신하고, 보고는 코어 또는 다른 코어의 주파수를 변경하는 것 또는 상기 코어에 대한 전력 예산의 할당의 일부를 변경하는 것을 위해 사용 가능하다.
예 17은 멀티코어 프로세서에 대한 전류(Icc)를 제어하기 위한 방법이고, 이 방법은: 각각 제1 복수의 전류 센서를 사용하여 멀티코어 프로세서의 복수의 코어의 각각의 코어에 의한 전류 이용을 개별적으로 감지하는 것; 및 코어들 중 하나에 대해, 임계값보다 큰 전류 이용을 감지하는 것에 응답하여, 하나의 코어를 스로틀링할지를 결정하는 것을 포함한다.
예 18은 예 17의 주제를 포함하고, 제1 복수의 전류 센서를 사용하여 개별적으로 감지하는 것과 동시에 제2 복수의 전류 센서의 각각의 것을 사용하여 멀티코어 프로세서의 복수의 코어의 각각의 코어에 의한 전류 이용을 개별적으로 감지하는 것을 포함한다.
예 19는 예들 17-18 중 임의의 것의 주제를 포함하고, 스로틀링할지를 결정하는 것은 제1 복수의 전류 센서를 사용하는 개별 감지 및 제2 복수의 전류 센서를 사용하는 개별 감지의 결과에 기초한다.
예 20은 예들 17-19 중 임의의 것의 주제를 포함하고, 멀티코어 프로세서가 하나의 코어를 스로틀링하지 않는다는 결정에 응답하여 시간 기간 동안 외부 전압 레귤레이터 과전류 임계값보다 큰 총 전류를 소비하는 것을 포함한다.
예 21은 예들 17-20 중 임의의 것의 주제를 포함하고, 전류 센서들의 응답 시간은 외부 전압 레귤레이터 회로의 전류 센서의 응답 시간보다 짧다.
예 22는 멀티코어 프로세서에 대한 전류(Icc)를 제어하기 위한 장치이고, 이 장치는: 코어들에 대한 전류의 측정치들에 기초하여 멀티코어 프로세서들의 각각의 코어에 대한 전류 측정치 이력을 각각 생성하는 수단; 상기 코어들 중 하나의 코어에 대한 가장 최근의 전류 측정치가 임계값을 초과한다는 통지의 수신에 응답하여 상기 코어를 개별적으로 스로틀링할지 여부를 결정하기 위해 상기 코어에 대한 전류 측정치 이력의 일부를 이용하는 수단; 및 전류 측정치 이력의 일부의 이용에 응답하여 상기 코어를 스로틀링하는 수단을 포함한다.
예 23은 예 22의 주제를 포함하고, 각각의 코어에 대한 전류 측정치 이력은 코어들에 대응하는 복수의 카운터의 각각의 카운터에 기초한다.
예 24는 예들 22-23 중 임의의 것의 주제를 포함하고, 각각의 코어가 활성일 때 매 사이클마다 각각의 코어에 대한 카운트를 증분시키는 것 또는 카운트를 감소시키는 것 중 적어도 하나를 수행하는 수단; 및 코어들에 대한 스로틀들의 적용과 연관하여 각각의 코어에 대해 동일한 카운트 또는 다른 카운트를 증분시키는 것 또는 동일한 카운트 또는 다른 카운트를 감분시키는 것 중 다른 하나를 각각 수행하는 수단을 포함한다.
예 25는 예들 22-24 중 임의의 것의 주제를 포함하고, 각각의 코어가 활성일 때의 매 활성 기간 동안 제1 비트 수만큼, 카운트를 증분시키는 것 또는 카운트를 감분시키는 것 중 적어도 하나를 수행하는 수단; 및 코어들에 대한 스로틀링 기간과 연관하여 각각의 코어에 대해 제1 비트 수와 상이한 제2 비트 수만큼, 상기 카운트 또는 다른 카운트를 증분시키는 것 또는 상기 카운트 또는 다른 카운트를 감분시키는 것 중 다른 하나를 각각 수행하는 수단을 포함한다.
예 26은 예들 22-25 중 임의의 것의 주제를 포함하고, 상기 코어를 개별적으로 스로틀링한다는 결정에 응답하여, 멀티코어 프로세서의 PCU(power control unit)에 보고를 송신하는 수단을 포함하고, 보고는 상기 코어 또는 다른 코어의 주파수를 변경하는 것 또는 상기 코어에 대한 전력 예산의 할당의 일부를 변경하는 것을 위해 사용 가능하다.
예 27은 멀티코어 프로세서에 대한 전류(Icc)를 제어하는 장치이고, 장치는: 각각 제1 복수의 전류 센서를 사용하여 멀티코어 프로세서의 복수의 코어의 각각의 코어에 의한 전류 이용을 개별적으로 감지하는 수단; 및 코어들 중 하나의 코어에 대한, 임계값보다 큰 전류 이용의 감지에 응답하여 코어들 중 하나의 코어를 스로틀링할지를 결정하는 수단을 포함한다.
예 28은 예 27의 주제를 포함하고, 제1 복수의 전류 센서를 사용하여 개별적으로 감지하는 것과 동시에 제2 복수의 전류 센서의 각각의 것을 사용하여 멀티코어 프로세서의 복수의 코어의 각각의 코어에 의한 전류 이용을 개별적으로 감지하는 수단을 포함한다.
예 29는 예들 27-28 중 임의의 것의 주제를 포함하고, 멀티코어 프로세서는 하나의 코어를 스로틀링하지 않는다는 결정에 응답하여 시간 기간 동안 외부 전압 레귤레이터 과전류 임계값보다 큰 총 전류를 소비하는 것이다.
예 30은 예들 27-29 중 임의의 것의 주제를 포함하고, 전류 센서들의 응답 시간은 외부 전압 레귤레이터 회로의 전류 센서의 응답 시간보다 짧다.
예 31은 시스템이며, 이 시스템은: 전압 레귤레이터 과전류 임계값에 기초하여 과전류 상태에 진입하기 위한 전압 레귤레이터; 및 전압 레귤레이터로부터 전력을 수신하기 위한 멀티코어 프로세서를 포함한다. 멀티코어 프로세서는: 복수의 코어; 복수의 아날로그 전류 비교기- 각각의 아날로그 전류 비교기는 코어들 중 대응하는 것에 의한 전류 이용을 측정함 -; 및 복수의 아날로그 비교기에 결합된 제어 회로- 제어 회로는 코어들로 하여금 대응하는 아날로그 전류 비교기들로부터의 측정치들에 기초하여 개별적으로 스로틀링하게 함 -를 포함한다.
예 32는 예 31의 주제를 포함하고, 제어 회로는 전압 레귤레이터와 연관된 응답 시간보다 짧은 시간 기간 동안 외부 전압 레귤레이터 과전류 임계값을 초과하는 멀티코어 프로세서의 전류 이용을 조정하기 위한 것이다.
예 33은 예들 31-32 중 임의의 것의 주제를 포함하고, 멀티코어 프로세서는 복수의 코어에 결합되는 전압 레귤레이터 회로를 추가로 포함하고, 전압 레귤레이터 회로는 개별적으로 설정된 전압들을 복수의 코어에 제공하기 위한 것이다.
예 34는 예들 31-33 중 임의의 것의 주제를 포함하고, 전력을 전압 레귤레이터에 제공하기 위한 전원을 포함한다.

Claims (25)

  1. 장치로서,
    멀티코어 프로세서
    를 포함하고, 상기 멀티코어 프로세서는:
    복수의 코어;
    복수의 아날로그 전류 비교기- 각각의 아날로그 전류 비교기는 상기 코어들 중 대응하는 것에 의한 전류 이용을 측정함 -; 및
    상기 복수의 아날로그 비교기에 결합된 제어 회로- 상기 제어 회로는 상기 코어들로 하여금 상기 대응하는 아날로그 전류 비교기들로부터의 측정치들에 기초하여 개별적으로 스로틀링하게 함 -
    를 포함하는, 장치.
  2. 제1항에 있어서,
    상기 제어 회로는 상기 코어들에 스로틀 요청들을 각각 전송하기 위해 복수의 전력 관리 에이전트를 동작시키기 위한 것인, 장치.
  3. 제2항에 있어서,
    상기 복수의 전력 관리 에이전트는 상기 복수의 코어에 결합되는 전압 레귤레이터 회로로부터 신호들을 수신하기 위한 것이고, 상기 신호들은 상기 아날로그 전류 비교기들의 출력들에 기초하는, 장치.
  4. 제2항에 있어서,
    상기 전력 관리 에이전트들은 상기 복수의 아날로그 전류 비교기로부터의 상기 측정치들에 기초하여, 상기 코어들에 스로틀 릴리스 요청들을 각각 전송하기 위한 것인, 장치.
  5. 제4항에 있어서,
    상기 전력 관리 에이전트들은 상기 코어들의 상기 전류 측정치들의 복수의 이력에 기초하여 스로틀 릴리스 요청들을 각각 전송할지를 결정하기 위한 것인, 장치.
  6. 제5항에 있어서,
    상기 전력 관리 에이전트들은 상기 코어들의 상기 전류 측정치들의 상기 복수의 이력을 식별하기 위해 슬라이딩 윈도우(sliding window)들을 이용하기 위한 것인, 장치.
  7. 제1항에 있어서,
    상기 제어 회로는 상기 복수의 코어의 전압들을 개별적으로 설정하기 위한 PCU(power control unit)를 포함하는, 장치.
  8. 제7항에 있어서,
    상기 복수의 코어에 결합된 전압 레귤레이터 회로를 추가로 포함하고, 상기 전압 레귤레이터 회로는 상기 PCU로부터의 커맨드에 응답하여, 상기 개별적으로 설정된 전압들을 상기 복수의 코어에 제공하기 위한 것인, 장치.
  9. 제8항에 있어서,
    상기 복수의 코어의 상기 전압들은 외부 전압 레귤레이터 과전류 임계값에 기초하여 설정되는, 장치.
  10. 제9항에 있어서,
    상기 제어 회로는 외부 전압 레귤레이터 회로의 외부 전류 센서와 연관된 응답 시간보다 짧은 시간 기간 동안 상기 외부 전압 레귤레이터 과전류 임계값을 초과하는 상기 멀티코어 프로세서의 전류 이용을 조정하기 위한 것인, 장치.
  11. 제2항에 있어서,
    상기 제어 회로는 상기 코어들에 상기 스로틀 요청들을 각각 전송하기 위해 상기 복수의 전력 관리 에이전트를 동작하도록 실행 가능한 명령어들을 저장하기 위한 것인, 장치.
  12. 멀티코어 프로세서에 대한 전류(Icc)를 제어하는 방법으로서,
    각각 제1 복수의 전류 센서를 사용하여 상기 멀티코어 프로세서의 복수의 코어의 각각의 코어에 의한 전류 이용을 개별적으로 감지하는 단계; 및
    상기 코어들 중 하나에 대해, 임계값보다 큰 전류 이용을 감지하는 것에 응답하여, 상기 하나의 코어를 스로틀링할지를 결정하는 단계
    를 포함하는, 방법.
  13. 제12항에 있어서,
    상기 제1 복수의 전류 센서를 사용하여 개별적으로 감지하는 단계와 동시에 제2 복수의 전류 센서의 각각의 것을 사용하여 상기 멀티코어 프로세서의 상기 복수의 코어의 각각의 코어에 의한 전류 이용을 개별적으로 감지하는 단계를 추가로 포함하는, 방법.
  14. 제13항에 있어서,
    스로틀링할지를 결정하는 상기 단계는 상기 제1 복수의 전류 센서를 사용하는 개별 감지 및 상기 제2 복수의 전류 센서를 사용하는 개별 감지의 결과에 기초하는, 방법.
  15. 제12항에 있어서,
    상기 멀티코어 프로세서가 상기 하나의 코어를 스로틀링하지 않는다는 결정에 응답하여 시간 기간 동안 외부 전압 레귤레이터 과전류 임계값보다 큰 총 전류를 소비하는 단계를 추가로 포함하는, 방법.
  16. 제12항에 있어서,
    상기 전류 센서들의 응답 시간은 외부 전압 레귤레이터 회로의 전류 센서의 응답 시간보다 짧은, 방법.
  17. 컴퓨터-판독 가능 매체로서,
    컴퓨팅 디바이스로 하여금, 상기 컴퓨팅 디바이스의 프로세서에 의한 명령어들의 실행에 응답하여, 제12항 내지 제16항의 상기 방법들 중 어느 하나를 수행하게 하는 상기 명령어들을 포함하는, 컴퓨터-판독 가능 매체.
  18. 멀티코어 프로세서에 대한 전류(Icc)를 제어하는 장치로서,
    각각 제1 복수의 전류 센서를 사용하여 상기 멀티코어 프로세서의 복수의 코어의 각각의 코어에 의한 전류 이용을 개별적으로 감지하는 수단; 및
    상기 코어들 중 하나의 코어에 대한, 임계값보다 큰 전류 이용의 감지에 응답하여 상기 코어들 중 상기 하나의 코어를 스로틀링할지를 결정하는 수단
    을 포함하는, 장치.
  19. 제18항에 있어서,
    상기 제1 복수의 전류 센서를 사용하여 개별적으로 감지하는 것과 동시에 제2 복수의 전류 센서의 각각의 것을 사용하여 상기 멀티코어 프로세서의 상기 복수의 코어의 각각의 코어에 의한 전류 이용을 개별적으로 감지하는 수단을 추가로 포함하는, 장치.
  20. 제18항 또는 제19항에 있어서,
    상기 전류 센서들의 응답 시간은 외부 전압 레귤레이터 회로의 전류 센서의 응답 시간보다 짧은, 장치.
  21. 멀티코어 프로세서에 대한 전류(Icc)를 제어하는 장치로서,
    코어들에 대한 전류의 측정치들에 기초하여 상기 멀티코어 프로세서들의 각각의 코어에 대한 전류 측정치 이력을 각각 생성하는 수단;
    상기 코어들 중 하나의 코어에 대한 가장 최근의 전류 측정치가 임계값을 초과한다는 통지의 수신에 응답하여 상기 코어를 개별적으로 스로틀링할지 여부를 결정하기 위해 상기 코어에 대한 상기 전류 측정치 이력의 일부를 이용하는 수단; 및
    상기 전류 측정치 이력의 상기 일부의 이용에 응답하여 상기 코어를 스로틀링하는 수단
    을 포함하는, 장치.
  22. 제21항에 있어서,
    각각의 코어에 대한 상기 전류 측정치 이력은 상기 코어들에 대응하는 복수의 카운터의 각각의 카운터에 기초하는, 장치.
  23. 제21항에 있어서,
    상기 각각의 코어가 활성일 때 매 사이클마다 각각의 코어에 대한 카운트를 증분시키는 것 또는 상기 카운트를 감분시키는 것 중 적어도 하나를 수행하는 수단; 및
    상기 코어들에 대한 스로틀들의 적용과 연관하여 각각의 코어에 대해 동일한 카운트 또는 다른 카운트를 증분시키는 것 또는 동일한 카운트 또는 다른 카운트를 감분시키는 것 중 다른 하나를 각각 수행하는 수단
    을 추가로 포함하는, 장치.
  24. 제21항에 있어서,
    상기 각각의 코어가 활성일 때의 매 활성 기간 동안 제1 비트 수만큼, 카운트를 증분시키는 것 또는 상기 카운트를 감분시키는 것 중 적어도 하나를 수행하는 수단; 및
    상기 코어들에 대한 스로틀링 기간과 연관하여 각각의 코어에 대해 상기 제1 비트 수와 상이한 제2 비트 수만큼, 상기 카운트 또는 다른 카운트를 증분시키는 것 또는 상기 카운트 또는 다른 카운트를 감분시키는 것 중 다른 하나를 각각 수행하는 수단
    을 추가로 포함하는, 장치.
  25. 제21항 내지 제24항 중 어느 한 항에 있어서,
    상기 코어를 개별적으로 스로틀링한다는 상기 결정에 응답하여, 상기 멀티코어 프로세서의 PCU(power control unit)에 보고(report)를 송신하는 수단을 추가로 포함하고, 상기 보고는 상기 코어 또는 다른 코어의 주파수를 변경하는 것 또는 상기 코어에 대한 전력 예산의 할당의 일부를 변경하는 것을 위해 사용 가능한, 장치.
KR1020187032970A 2016-06-15 2017-05-15 멀티코어 프로세서에 대한 전류 제어 KR102536478B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227025003A KR102579088B1 (ko) 2016-06-15 2017-05-15 멀티코어 프로세서에 대한 전류 제어

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/182,990 US10613611B2 (en) 2016-06-15 2016-06-15 Current control for a multicore processor
US15/182,990 2016-06-15
PCT/US2017/032718 WO2017218123A1 (en) 2016-06-15 2017-05-15 Current control for a multicore processor

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227025003A Division KR102579088B1 (ko) 2016-06-15 2017-05-15 멀티코어 프로세서에 대한 전류 제어

Publications (2)

Publication Number Publication Date
KR20190008531A true KR20190008531A (ko) 2019-01-24
KR102536478B1 KR102536478B1 (ko) 2023-05-26

Family

ID=60660174

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227025003A KR102579088B1 (ko) 2016-06-15 2017-05-15 멀티코어 프로세서에 대한 전류 제어
KR1020187032970A KR102536478B1 (ko) 2016-06-15 2017-05-15 멀티코어 프로세서에 대한 전류 제어

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227025003A KR102579088B1 (ko) 2016-06-15 2017-05-15 멀티코어 프로세서에 대한 전류 제어

Country Status (5)

Country Link
US (4) US10613611B2 (ko)
KR (2) KR102579088B1 (ko)
DE (1) DE112017003032T5 (ko)
TW (1) TWI752955B (ko)
WO (1) WO2017218123A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020231514A1 (en) * 2019-05-15 2020-11-19 Intel Corporation System, apparatus and method for dynamically controlling current consumption of processing circuits of a processor
US11921564B2 (en) 2022-02-28 2024-03-05 Intel Corporation Saving and restoring configuration and status information with reduced latency

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11054884B2 (en) * 2016-12-12 2021-07-06 Intel Corporation Using network interface controller (NIC) queue depth for power state management
US11054877B2 (en) * 2017-08-07 2021-07-06 Intel Corporation Power management based on real time platform power sensing
US10739844B2 (en) * 2018-05-02 2020-08-11 Intel Corporation System, apparatus and method for optimized throttling of a processor
US11429173B2 (en) * 2018-12-21 2022-08-30 Intel Corporation Apparatus and method for proactive power management to avoid unintentional processor shutdown
US10955906B2 (en) 2019-02-07 2021-03-23 International Business Machines Corporation Multi-layered processor throttle controller
US10591966B1 (en) * 2019-02-20 2020-03-17 Blockchain Asics Llc Actively controlled series string power supply
KR20200112439A (ko) * 2019-03-22 2020-10-05 삼성전자주식회사 멀티 코어를 포함하는 전자 장치 및 이의 패킷 처리를 위한 방법
US10921872B2 (en) * 2019-03-29 2021-02-16 Intel Corporation Performing soft throttling and hard throttling in a processor
US10936041B2 (en) * 2019-03-29 2021-03-02 Intel Corporation Adjusting a throttling threshold in a processor
CN112148550B (zh) * 2019-06-28 2024-03-08 伊姆西Ip控股有限责任公司 用于管理服务的方法、设备和计算机程序产品
US11237610B2 (en) * 2019-11-20 2022-02-01 Intel Corporation Handling loss of power for uninterruptible power supply efficiency
US11366506B2 (en) * 2019-11-22 2022-06-21 Intel Corporation System, apparatus and method for globally aware reactive local power control in a processor
US11720158B2 (en) 2020-03-13 2023-08-08 Google Llc Power throttling mechanism using instruction rate limiting in high power machine-learning ASICs
US11372467B2 (en) * 2020-06-27 2022-06-28 Intel Corporation System for power throttling
CN111736059B (zh) * 2020-07-02 2022-08-26 深圳比特微电子科技有限公司 芯片测试方法、测试设备和测试系统
US20210141665A1 (en) * 2020-12-15 2021-05-13 Intel Corporation Application aware graceful over current protection for multi-socket platforms

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300329A1 (en) * 2008-05-27 2009-12-03 Naffziger Samuel D Voltage droop mitigation through instruction issue throttling
US20140359311A1 (en) * 2013-05-31 2014-12-04 Sanjeev S. Jahagirdar Controlling Power Delivery To A Processor Via A Bypass
US20150095666A1 (en) * 2013-09-27 2015-04-02 Avinash N. Ananthakrishnan Constraining processor operation based on power envelope information
US20150370303A1 (en) * 2014-06-18 2015-12-24 Oracle International Corporation System and method for managing power in a chip multiprocessor using a proportional feedback mechanism

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367023B2 (en) * 1998-12-23 2002-04-02 Intel Corporation Method and apparatus of measuring current, voltage, or duty cycle of a power supply to manage power consumption in a computer system
US6636976B1 (en) * 2000-06-30 2003-10-21 Intel Corporation Mechanism to control di/dt for a microprocessor
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US7370189B2 (en) * 2004-09-30 2008-05-06 Intel Corporation Method and apparatus for establishing safe processor operating points in connection with a secure boot
US20070198864A1 (en) * 2006-02-21 2007-08-23 Toshiba America Electronic Components Systems and methods for determining and using power profiles for software programs executing on data processors
US7793125B2 (en) * 2007-01-10 2010-09-07 International Business Machines Corporation Method and apparatus for power throttling a processor in an information handling system
US7724078B2 (en) * 2007-03-22 2010-05-25 Intel Corporation Adjusting PLL/analog supply to track CPU core supply through a voltage regulator
US8396680B2 (en) * 2008-10-20 2013-03-12 GM Global Technology Operations LLC System and method for identifying issues in current and voltage measurements
US8495395B2 (en) 2010-09-14 2013-07-23 Advanced Micro Devices Mechanism for controlling power consumption in a processing node
US8943334B2 (en) * 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US8892919B2 (en) * 2011-12-14 2014-11-18 Ati Technologies Ulc Method and apparatus for power management of a processor in a virtual environment
EP2812802A4 (en) * 2012-02-08 2016-04-27 Intel Corp DYNAMIC CPU GPU LOAD BALANCING USING POWER
CN103810044A (zh) 2012-11-09 2014-05-21 辉达公司 用于控制多核处理器的门控端的系统和多核处理器
EP2949144B1 (en) * 2013-01-25 2020-09-16 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US9195291B2 (en) * 2013-06-21 2015-11-24 Apple Inc. Digital power estimator to control processor power consumption
US20150033045A1 (en) * 2013-07-23 2015-01-29 Apple Inc. Power Supply Droop Reduction Using Feed Forward Current Control
US9684355B2 (en) * 2014-03-12 2017-06-20 Intel Corporation Identifying power state changes
JP2015186013A (ja) * 2014-03-24 2015-10-22 住友電気工業株式会社 トランスインピーダンス増幅器
GB2532210A (en) * 2014-11-11 2016-05-18 Ibm System and method for controlling idle state exits to manage DI/DT issues
JP6214056B2 (ja) * 2015-03-30 2017-10-18 日本電気株式会社 マルチコアプロセッサ、情報処理方法、プログラム
US9568982B1 (en) * 2015-07-31 2017-02-14 International Business Machines Corporation Management of core power state transition in a microprocessor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300329A1 (en) * 2008-05-27 2009-12-03 Naffziger Samuel D Voltage droop mitigation through instruction issue throttling
US20140359311A1 (en) * 2013-05-31 2014-12-04 Sanjeev S. Jahagirdar Controlling Power Delivery To A Processor Via A Bypass
US20150095666A1 (en) * 2013-09-27 2015-04-02 Avinash N. Ananthakrishnan Constraining processor operation based on power envelope information
US20150370303A1 (en) * 2014-06-18 2015-12-24 Oracle International Corporation System and method for managing power in a chip multiprocessor using a proportional feedback mechanism

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020231514A1 (en) * 2019-05-15 2020-11-19 Intel Corporation System, apparatus and method for dynamically controlling current consumption of processing circuits of a processor
US11442529B2 (en) 2019-05-15 2022-09-13 Intel Corporation System, apparatus and method for dynamically controlling current consumption of processing circuits of a processor
US11921564B2 (en) 2022-02-28 2024-03-05 Intel Corporation Saving and restoring configuration and status information with reduced latency

Also Published As

Publication number Publication date
WO2017218123A1 (en) 2017-12-21
KR102579088B1 (ko) 2023-09-15
TWI752955B (zh) 2022-01-21
KR102536478B1 (ko) 2023-05-26
US20230359263A1 (en) 2023-11-09
KR20220107315A (ko) 2022-08-02
DE112017003032T5 (de) 2019-03-28
US11237615B2 (en) 2022-02-01
US20200333867A1 (en) 2020-10-22
US10613611B2 (en) 2020-04-07
US20220197361A1 (en) 2022-06-23
US11762449B2 (en) 2023-09-19
US20170364132A1 (en) 2017-12-21
TW201800936A (zh) 2018-01-01

Similar Documents

Publication Publication Date Title
US11762449B2 (en) Current control for a multicore processor
JP6873082B2 (ja) 熱アウェアデバイスブーティングのためのシステムおよび方法
US11621568B2 (en) Electronic device fast charging method, apparatus, and device
US9207994B2 (en) Scheduling tasks among processor cores
US9710050B2 (en) Information processing device, semiconductor chip, information processing method, and computer program product
US8832335B2 (en) Control device and computer program product
US9003212B2 (en) Information processing device, non-transitory, computer readable storage medium, and method of controlling information processing device
US20130086395A1 (en) Multi-Core Microprocessor Reliability Optimization
US20120179441A1 (en) Method and system for controlling thermal load distribution in a portable computing device
US10067555B2 (en) Control of performance levels of different types of processors via a user interface
JP6724042B2 (ja) センサベースの信号送信方法及び装置
US9519041B2 (en) System and method for providing an accurate and cost-effective current sensor calibration
JP2008312210A (ja) トランスポンダの駆動方法、トランスポンダに対する複数の閾値の使用、および、トランスポンダ
US20140086053A1 (en) Method for controlling information processing apparatus and information processing apparatus
JP2017045199A (ja) 制御装置
US20160239441A1 (en) Systems and methods for providing kernel scheduling of volatile memory maintenance events
US8819274B2 (en) Selecting a network connection for data communications with a networked device
CN112114649A (zh) 一种温度调整方法、装置、存储介质及移动终端

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant