KR20220108089A - 가속 프로세싱 유닛 및 개별 그래픽 프로세싱 유닛 사이에서 공유되는 전력 분배 - Google Patents

가속 프로세싱 유닛 및 개별 그래픽 프로세싱 유닛 사이에서 공유되는 전력 분배 Download PDF

Info

Publication number
KR20220108089A
KR20220108089A KR1020227021103A KR20227021103A KR20220108089A KR 20220108089 A KR20220108089 A KR 20220108089A KR 1020227021103 A KR1020227021103 A KR 1020227021103A KR 20227021103 A KR20227021103 A KR 20227021103A KR 20220108089 A KR20220108089 A KR 20220108089A
Authority
KR
South Korea
Prior art keywords
coprocessor
power
integrated
dgpu
apu
Prior art date
Application number
KR1020227021103A
Other languages
English (en)
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 KR20220108089A publication Critical patent/KR20220108089A/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/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/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/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/203Cooling means for portable computers, e.g. for laptops
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/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
    • 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/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30083Power or thermal control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F2009/3883Two-engine architectures, i.e. stand-alone processor acting as a slave processor
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)
  • Advance Control (AREA)

Abstract

가속 프로세싱 유닛 (APU)과 같은 통합 코프로세서는 개별 그래픽 프로세싱 유닛 (dGPU)과 같은 개별 코프로세서에서 실행하기 위한 명령을 생성한다. 전력 분배 회로부는 APU 및 dGPU 상에서 실행되는 작업부하의 특성에 기초하여 그리고 APU 및 dGPU에 의해 공유되는 플랫폼 전력 제한에 기초하여 APU 및 dGPU에 전력을 선택적으로 제공한다. 일부 경우에서, 전력 분배 회로부는 APU에 제공되는 제1 전력 및 dGPU에 제공되는 제2 전력을 결정한다. 전력 분배 회로부는 제1 및 제2 전력의 합이 플랫폼 전력 제한보다 작은 것에 응답하여 dGPU에 제공되는 제2 전력을 증가시킨다. 일부 경우에서, 전력 분배 회로부는 센서의 세트에 의해 측정된 온도의 변화에 응답하여 APU, dGPU 또는 둘 다에 제공되는 전력을 수정한다.

Description

가속 프로세싱 유닛 및 개별 그래픽 프로세싱 유닛 사이에서 공유되는 전력 분배
랩탑 컴퓨터, 태블릿 컴퓨터, 모바일 폰 및 스마트 워치와 같은 고성능 컴퓨팅 디바이스는 다중 유형의 코프로세서를 포함하는 가속 프로세싱 유닛(APU)과 같은 이기종 프로세싱 유닛을 포함한다. 예를 들어, APU는 통상적으로 하나 이상의 CPU(중앙 프로세싱 유닛) 코어들 및 하나 이상의 GPU(그래픽 프로세싱 유닛) 코어들을 포함하며, 이들은 때때로 통합 GPU들(iGPU들)로서 지칭된다. 추가적인 그래픽 프로세싱 능력, 및 일부 경우들에서 범용 컴퓨팅 능력은 컴퓨팅 디바이스 내에 개별 그래픽 프로세싱 유닛 (dGPU)을 포함함으로써 제공된다. APU 및 dGPU에서 소산되는 전력은 컴퓨팅 디바이스의 온도를 상승시키는 경향이 있다. 따라서, APU 및 dGPU는 APU 및 dGPU로부터 환경 내로 열 에너지를 소산시키는 대응하는 히트싱크를 향해 열을 이동시키는 히트 파이프와 같은 방열 시스템(heat dissipation systems)에 연결된다. 시스템의 냉각 요건은, 적어도 부분적으로, 컴퓨팅 디바이스의 구조 및 APU 및 dGPU에 의해 소산되는 열 에너지에 의해 결정된다. APU와 dGPU의 방열 시스템은 APU와 dGPU의 온도를 낮은 레벨로 유지하여 컴포넌트를 손상시키거나 서비스 수명을 단축시킨다.
본 개시는 첨부된 도면을 참조함으로써 통상의 기술자에게 더 잘 이해되고 그의 수많은 특징들 및 장점들이 명백 해진다. 다른 도면에서 동일한 참조 기호를 사용하는 것은 유사하거나 동일한 항목을 나타낸다.
도 1은 일부 실시예들에 따른 통합 프로세싱 유닛 및 별도의 개별 코프로세서를 포함하는 디바이스의 블록도이다.
도 2는 일부 실시예들에 따른 통합 코프로세서 및 개별 코프로세서에 대한 방열 메커니즘들을 포함하는 프로세싱 시스템의 블록도이다.
도 3은 일부 실시예들에 따른 통합 코프로세서에서 개별 코프로세서로의 공유된 플랫폼 전력의 동적 시프팅을 예시하는 플롯이다.
도 4는 일부 실시예들에 따른 개별 코프로세서에서 통합 코프로세서로의 공유된 플랫폼 전력의 동적 시프팅을 예시하는 플롯이다.
도 5는 일부 실시예들에 따른 작업부하(workload) 특성 및 플랫폼 전력 제한에 기초하여 통합 코프로세서 및 개별 코프로세서에 대한 전력 할당들을 수정하는 방법의 흐름도이다.
시스템 관리 유닛(SMU)은 대응하는 고정 프로세서 전력 및 열 엔벨로프에 기초하여 통합 코프로세서 코어(예를 들어, 가속 프로세싱 유닛(APU)의 중앙 프로세싱 유닛(CPU) 코어) 및 개별 코프로세서 코어(예를 들어, 개별 그래픽 프로세싱 유닛(dGPU))에 전력을 할당하기 위해 전력 관리 기술들을 구현한다. 예를 들어, SMU는 최악의 경우의 조건에서 APU에서 과도한 작업부하를 실행하는 것에 기초하여 설정된 열 설계 포인트(TDP)에 기초하여 APU의 CPU 코어들에 전력을 할당한다. TDP는 지속 가능한 전력에 대한 상한을 나타내며 시스템 냉각 요구 사항을 결정하는데 사용된다. 다른 예로, SMU는 시스템 전력 공급부가 dGPU에 제공하는 최대 그래픽 보드 전력 양을 나타내는 총 그래픽 전력(TGP)에 기초하여 dGPU에 전력을 할당한다. 일부의 경우, 디바이스의 최대 작동 온도는 실리콘 온도 제한보다 사용자의 인식에 의해 더 제한된다. 핸드헬드 디바이스에서 프로세싱 유닛들에 의해 발생된 히트는 디스플레이 및 케이싱과 같은 디바이스의 외부 표면들로 전도되어 사용자가 작동 중에 디바이스와 인터페이스한다. 사용자에게 편안한 경험을 제공하기 위해, APU 및 dGPU에 할당된 최대 전력 예산은 사용자가 불편할 정도로 뜨거운 것으로 인식할 수 있는 값 미만으로 디바이스의 스킨 온도(skin temperature)를 유지하기 위해, 각각 TDP 또는 TGP보다 낮을 수 있는 대응하는 고정 제한으로 설정된다.
핸드헬드 또는 웨어러블 컴퓨팅 디바이스들을 구현하는데 사용되는 초박형 플랫폼들의 경우에, 섀시(chassis)의 열 용량 및 열 해결책은 전체 TGP를 dGPU 및 연관된 비디오 메모리에 제공하는 것과 동시에 전체 TDP를 APU에 제공하는 것을 지원할 수 없다. 전체 TGP에서 dGPU를 작동시키는 것과 동시에 전체 TDP에서 APU를 작동시키는 것은 초박형 플랫폼을 디바이스를 손상시키거나 적어도 사용자에게 불편을 줄 수 있는 온도로 가열할 것이다. 따라서, APU에 공급되는 전력은 (감소된) 최대 전력 레벨에서 작동하는 APU와 동시에 dGPU가 TGP에서 작동하도록 허용하는 더 낮은 레벨로 인위적으로 및 정적으로 제한된다. 더욱이, dGPU에 공급되는 전력은 APU가 최대 전력 레벨 미만으로 작동하는 경우 증가하지 않으며, APU에 대한 전력 공급도 dGPU가 TGP 미만으로 작동하는 경우 증가하지 않는다. 고성능 플랫폼의 경우, 섀시의 열 용량 및 열 해결책은 dGPU 및 연관된 비디오 메모리에 전체 TGP를 제공하는것과 동시에 APU에 전체 TDP를 제공하는 것을 지원한다. 그러나, APU를 주로 사용하는 코어 집약적 작업부하 또는 dGPU를 주로 사용하는 그래픽 집약적 작업부하에서 성능 향상을 위한 기회는 제한적이다.
도1-5는 통합 및 개별 코프로세서 코어들 상에서 실행되는 작업부하의 특성 및 통합 및 개별 코프로세서 코어들에 의해 공유되는 플랫폼 전력 제한에 기초하여 하나 이상의 통합 코프로세서 코어들 및 하나 이상의 개별 코프로세서 코어들에 전력을 분배하는 컴퓨팅 디바이스의 실시예들을 개시한다. 일부 실시예들에서, 전력 분배 회로부는 (예를 들어, AC 전력 소스 또는 배터리에 의해 공급되는) 이용가능한 플랫폼 전력 및 열적 제약들에 기초하여 통합 코프로세서 코어들을 구현하는 APU 및 통합 코프로세서 코어들을 구현하는 dGPU의 전력 소비를 관리한다. 예를 들어, 전력 분배 회로부는 그래픽 집약적 작업부하를 위해 APU에서 dGPU로 전력을 선택적으로 분배한다. dGPU에 공급되는 전력의 양은 이용가능한 플랫폼 전력 및 컴퓨팅 디바이스의 최대 스킨 온도와 같은 열적 제약들에 기초하여 결정된다. 스킨 온도는 하나 이상의 온도 센서를 사용하여 측정되는 온도와 컴퓨팅 디바이스의 스킨 온도 사이의 관계를 결정하는 사전 교정된 파라미터에 기초하여 결정된다. 전력 분배 회로부는 또한 통합 및 개별 코프로세서 코어들 상에서 실행되는 작업부하의 특성의 변화 및 스킨 온도의 변화에 응답하여 통합 및 개별 코프로세서 코어들에 공급되는 전력을 동적으로 수정한다. 예를 들어, 전력 분배 회로부는 그래픽 집약적으로부터 코어 집약적으로의 작업부하 시프팅에 응답하여 dGPU로부터 APU로 전력을 시프트한다. 다른 예를 들어, 전력 분배 회로부는 임계값 이상으로 상승하는 측정된 온도에 응답하여 그래픽 집약적 작업부하를 위해 dGPU에 공급되는 전력을 줄인다. 전력 분배 회로부의 일부 실시예는 APU와 연관된 히트 파이프에 대한 최대 전력 소산(Qmax)에 기초하여 APU에 전력을 분배한다.
도 1은 일부 실시예에 따른 통합 프로세싱 유닛(105) 및 별도의 개별 코프로세서(110)를 포함하는 디바이스(100)의 블록도이다. 예시된 실시예에서, 통합 프로세싱 유닛(105)은 가속 프로세싱 유닛(APU)(105)으로서 구현되고 별도의 개별 코프로세서(110)는 그래픽 프로세싱 유닛(dGPU)(110)으로서 구현된다. 그러나, 통합 프로세싱 유닛(105) 또는 개별 코프로세서(110)는 다른 실시예에서 다른 타입의 코프로세서, 디지털 신호 프로세서, 애플리케이션-특정 통합 회로(ASICs), 필드 프로그래밍가능 게이트 어레이(FPGAs) 등을 사용하여 구현된다. 디바이스(100)의 일부 실시예는 랩탑 컴퓨터, 핸드헬드 컴퓨터, 태블릿 컴퓨터, 모바일 디바이스, 전화기, 개인 정보 단말기(PDA), 음악 플레이어, 게임 디바이스 등과 같은 핸드헬드 또는 웨어러블 디바이스로 구체화된다.
APU(105)는 하나 이상의 중앙 프로세싱 유닛(CPU) 코어(115) 및 하나 이상의 그래픽 프로세싱 유닛(GPU) 코어(120)와 같은 통합 코프로세서 코어를 포함하며, 이들은 집합적으로 본 명세서에서 통합 GPU(iGPU)(125)로 지칭된다. 하나 이상의 CPU 코어(115) 및 하나 이상의 iGPU(125)는 동일한 IC 패키지에서 동일한 IC 다이 또는 상이한 IC 다이 상에 배치된다. CPU 코어(115)는 전압 및 주파수가 GPU 코어(120)와 연관된 것들과 독립적으로 제어될 수 있도록 하는 독립적으로 제어된 전력 평면을 갖는다. dGPU(110)의 일부 실시예는 하나 이상의 개별 코프로세서 코어(127)를 포함한다. dGPU(110)는 또한 dGPU(110)(또는 개별 코프로세서 코어(127))에 제공되는 전압 및 주파수가 APU(105), CPU 코어(115), 또는 GPU 코어(120)와 연관된 것들과 독립적으로 제어될 수 있도록 하는 독립적으로 제어된 전력 평면을 갖는다.
장치(100)는 시스템 메모리(130), 디스플레이(135), 및 전력 공급부(140)(전압 조절기, 배터리 및 배터리 차징 유닛을 포함 - 명확성을 위해 별도로 도시되지 않음)를 포함한다. 명확성을 위해 도 1에 도시되지는 않았지만, APU(105) 내의 노스브리지 제어기(northbridge controller)는 시스템 메모리(130)에 인터페이스를 제공한다. 디바이스(100)의 작동은 일반적으로 디바이스(100)의 다양한 엘리먼트들과 인터페이스하는 소프트웨어를 포함하는 운영 시스템에 의해 제어된다. APU(105)는 공통 반도체 다이 상에 CPU 코어(115) 및 GPU 코어(120)를 통합하여, 이들이 메모리 계층 및 인터커넥트와 같은 온-다이 리소스를 공유할 수 있도록 한다.
디바이스(100)는 디스플레이(135)를 지지하고 디바이스(100)의 액티브 컴포넌트를 둘러싸는 외부 케이싱(145)을 포함한다. 외부 케이싱(145)은 또한 사용자가 디바이스(100)와 인터페이스하는 외부 표면을 제공한다. APU(105)는 디스플레이(135)를 제어하고 디스플레이(135)가 터치 스크린인 실시예에 대해 디스플레이(135)로부터 사용자 입력을 수신한다. dGPU(110) 또는 iGPU(125)는 PCI, PCI-E(peripheral component interconnect) 버스와 같은 버스(150)를 통해 디스플레이(135)에 신호를 제공한다. 신호는 디스플레이(135) 내의 픽셀에 의해 생성된 컬러 및 강도를 나타내는 정보를 포함하고, 이는 디스플레이(135)를 관찰하는 사용자가 보는 이미지를 생성하기 위해 조합된다. 디스플레이(135)가 터치 스크린인 경우, 버스(150)는 디스플레이(135)로부터의 신호를 APU(105)로 전달하기 위해 사용되며, 이는 디스플레이(135) 상의 터치 포인트의 위치(및, 일부 경우에서, 사용자에 의해 인가된 압력의 양 또는 지속시간)에 기초하여 작동을 개시하기 위해 신호를 이용한다.
하나 이상의 온도 센서(151, 152)는 케이싱(145)에 근접한 센서(151) 및 디스플레이(135)에 근접한 센서(152)와 같이 디바이스(100)에 제공된다. 디바이스를 잡고 있는 사용자에 의해 인지되는 온도를 나타내는 스킨 온도는 온도 센서(151, 152)에 의해 측정된 온도에 기초하여 추정된다. 일부 실시예에서, 측정된 온도 및 스킨 온도 사이의 관계는 실제 측정된 스킨 온도를 측정된 값과 비교함으로써 사전 교정된다. 예를 들어, 스킨 온도를 측정된 온도에 관련시키는 모델의 파라미터는 외부 케이싱(145)의 부분의 온도를 직접 측정하고 이러한 측정 값을 센서(151, 152)에 의해 측정된 온도와 상관시키는 교정 프로세스를 사용하여 결정된다. CPU 카운터(155), GPU 카운터(160)와 같은 활동 카운터 및 메모리 카운터(명확성을 위해 도 1에 도시되지 않음)와 같은 다른 카운터는 그들이 생성하는 히트와 그것이 스킨 온도에 어떻게 기여하는지를 추정하기 위한 컴포넌트들에 대한 디바이스 활동 메트릭을 생성하기 위해 디바이스(100)의 일부 실시예에서 제공된다.
전력은 전력 분배 회로부(165)를 통해 전력 공급부(140)로부터 APU(105) 및 dGPU(110)로 분배된다. 예시된 실시예에서, APU(105)는 SMU(170)를 포함하고, dGPU(110)는 dGPU(110)에 공급되거나 또는 그 안에서 소산되는 전류 전력과 같은 dGPU(110)에서의 전력 소비 특성을 모니터링하는 SMU(175)를 포함한다. SMU(175)는 전력 소비 특성을 나타내는 정보를 APU(105)에 제공한다. 전력 소비 정보는 dGPU(110)에서의 전력 관련 이벤트에 응답하여 주기적으로, 일정 시간 간격으로, 또는 그 외 시간에 제공된다. 수신된 전력 소비 정보에 기초하여, SMU(170)는 APU(105) 및 dGPU(110) 상에서 실행되는 작업부하의 특성에 기초하여 전력 공급부(140)에 의해 APU(105) 및 dGPU(110)에 공급되는 전력을 결정하고 동적으로 조정한다. APU(105) 및 dGPU(110)에 대한 전력 분배는 또한 APU(105) 및 dGPU(110)에 의해 공유되는 플랫폼 전력 제한에 기초한다. 일부 실시예에서, 플랫폼 전력 제한은 최악의 경우 조건 하에서 APU(105) 상에서 과중한 작업부하를 실행하는 것에 기초하여 설정되는 열 설계 포인트(TDP) 및 시스템 전력 공급이 dGPU(110)에 제공하는 최대 그래픽 보드 전력량을 나타내는 총 그래픽 전력(TGP)의 합과 동일하다 (또는 이에 기초하여 결정된다). TDP는 APU(105)에 제공되고 시스템 냉각 조건을 결정하는 데 사용되는 지속 가능한 전력의 상한을 나타낸다. 일부 실시예에서, dGPU(110)에 공급되는 전력은 dGPU(110) 또는 디바이스(100) 내의 다른 회로부에 어떠한 손상을 일으키지 않고 TGP를 초과한다.
SMU(170)는 APU(105) 또는 dGPU(110) 상에서 실행되는 작업부하의 특성의 변화에 응답하여 APU(105) 및 dGPU(110)에 분배된 전력을 수정한다. SMU(170)의 일부 실시예는 APU(105)의 리소스를 주로 소비하는 코어 집약적 작업부하에서 dGPU(110)의 리소스를 주로 소비하는 그래픽 집약적 작업부하로의 작업부하 시프트에 응답하여 APU(105)에서 dGPU(110)로 전력을 시프트한다. SMU(170)는 또한 dGPU(110)의 리소스를 주로 소비하는 그래픽 집약적 작업부하에서 APU(105)의 리소스를 주로 소비하는 코어 집약적 작업부하로의 작업부하 시프트에 응답하여 dGPU(110)에서 APU(105)로 전력을 시프트한다.
SMU(170)의 일부 실시예는 스킨 온도 추적(STT)을 구현한다. 예를 들어, SMU(170)는 결정된 스킨 온도에 기초하여 디바이스(100)에 대한 동적 전력 제한을 설정하는 STT 제어기(172)를 구현할 수 있다. SMU(170)는 STT 제어기(172)에 의해 제공된 정보를 사용하여 플랫폼 전력 제한에 의해 부과된 제약 및 APU(105) 및 dGPU(110) 상에서 실행되는 작업부하의 특성과 함께 APU(105) 및 dGPU(110) 사이의 전력 분배를 동적으로 결정한다. APU(105)에 분배된 전력 내에서, SMU(170) 내의 STT 제어기는 CPU 코어(115) 및 GPU 코어(120)의 전압 및 클록 레벨을 적응시키기 위해 동적 전압 및 주파수 스케일링(DVFS)을 구현한다. SMU(170)의 일부 실시예는 또한 각각의 히트 기여도를 제어하기 위해 시스템 메모리(130)에 할당된 대역폭 또는 전력 공급부(140)에 의해 사용되는 배터리 차징 속도를 제어한다.
디바이스(100)의 스킨 온도는 온도 센서(151, 152)에 의해 측정된 온도 및 측정된 스킨 온도 사이의 사전 교정된 상관 관계(correlation)를 사용하여 추정된다. 사전 교정된 상관 관계는 온도 센서(151, 152)에 의해 측정된 온도를 디바이스(100)를 사용하는 사용자가 인식하는 스킨 온도와 관련시키는 파라미터의 값을 설정하는 데 사용된다. SMU(170)는 추정된 스킨 온도에 기초하여 APU(105) 또는 dGPU(110)에 분배되는 전력을 수정한다. 예를 들어, SMU(170)는 APU(105)에 공급되는 제1전력과 dGPU(110)에 공급되는 제2전력의 합이 플랫폼 전력 제한보다 작다고 결정하면, SMU(170)는 dGPU(110)에 공급되는 전력을 증가시킨다. 또한, SMU(170)(또는 STT 제어기(172))는 디바이스(100) 또는 dGPU(110)에 대한 열적 제약에 의해 설정된 최대 스킨 온도와 스킨 온도의 비교에 기초하여 결정되는 양만큼 dGPU(110)에 제공되는 전력을 결정하거나 수정한다. 예를 들어, SMU(170)는 최대 스킨 온도를 초과하는 스킨 온도에 응답하여 dGPU(110)에 제공되는 전력을 감소시킨다. 다른 예를 들어, SMU(170)는 스킨 온도가 최대 스킨 온도 미만인 것에 응답하여 dGPU(110)(및 일부 경우에는 APU(105))에 제공되는 전력을 증가시킨다.
도 2는 일부 실시예들에 따른 통합 코프로세서(205) 및 개별 코프로세서(210)에 대한 히트 소산 메커니즘을 포함하는 프로세싱 시스템(200)의 블록도이다. 예시된 실시예에서, 통합 코프로세서(205)는 APU(205)로서 구현되고 개별 코프로세서(210)는 dGPU(210)로서 구현된다. 프로세싱 시스템(200)은 도 1에 도시된 디바이스(100)의 일부 실시예를 구현하기 위해 사용된다. 프로세싱 시스템(200)은 전력 공급부(220)로부터 APU(205) 및 dGPU(210)로 전력을 분배하는 시스템 관리 유닛(SMU)(215)을 포함한다. 전력(220)의 일부 실시예는 SMU(215)와 작업부하 활동 요구 및 전력 제한 정보를 교환하기 위해 APU(205) 및 dGPU(210) 사이에서 통신하기 위한 전력 분배 회로부를 포함(또는 연결)한다. 예를 들어, GPU(205), dGPU(210), SMU(215)는 PCIe 버스를 통해 I2C(시리얼 버스 투-와이어) 프로토콜, 원-와이어 프로토콜 등을 사용하여 통신할 수 있다.
예시된 실시예에서, APU(205)는 APU(205)로부터 대응하는 히트싱크(230)로 히트를 채널하는 히트 파이프(225)에 연결된다. dGPU(210)는 dGPU(210)로부터 구현예에 따라 히트싱크(230)와 동일하거나 상이한 대응하는 히트싱크(240)로 히트를 채널하는 히트 파이프(235)에 연결된다. SMU(215)의 일부 실시예는 히트 파이프(225)에 대한 최대 전력 소산(Qmax)에 기초하여 APU(205)에 전력을 분배하고 히트 파이프(235)에 대한 Qmax에 기초하여 dGPU(210)에 전력을 분배한다.
도 3은 일부 실시예에 따른 통합 코프로세서로부터 개별 코프로세서로의 공유 플랫폼 전력의 동적 시프팅을 예시하는 플롯(300)이다. 플롯(300)은 도 1에 도시된 SMU(170) 및 도 2에 도시된 SMU(215)의 일부 실시예와 같은 전력 분배 회로부에 의해 수행되는 전력의 동적 분배를 예시한다. 전력 분배 회로부는 APU 및 dGPU 상에서 실행되는 작업부하의 특성 및 전력 분배 회로부에 의한 분배를 위해 이용가능한 총 전력을 나타내는 플랫폼 전력 제한(305)에 기초하여 전력을 분배한다.
시간 T1이전에, 전력 분배 회로부는 APU에 제1전력(310)을 그리고 dGPU에 제2전력(315)을 제공한다. 예시된 실시예에서, APU 및 dGPU를 포함하는 디바이스는 APU 상에서 실행되는 코어 작업부하와 dGPU 상에서 실행되는 그래픽 작업부하 사이에 대략 균등하게 분할된 작업부하를 실행하고 있다. 따라서, 예시된 실시예에서 제1전력(310)이 제2전력(315)보다 약간 낮지만, 제1전력(310) 및 제2전력(315)은 시간 T1이전의 시간 간격에서 대략 동일하다. 제1전력(310) 및 제2전력(315)의 합은 플랫폼 전력 제한(305)에 기초하여 결정된다.
전력 분배 회로부는 또한 최대 스킨 온도와 같은 열적 제약을 고려하여 APU 및 dGPU에 공급되는 전력을 결정한다. 예시된 실시예에서, 열적 제약은 APU 및 dGPU에 분배되는 플랫폼 전력 제한(305) 하에서 이용가능한 총 전력보다 더 적은 결과를 초래한다. 예를 들어, APU 및 dGPU에 공급되는 전력의 합은 열적 제약에 의해 결정된 양(325)만큼 플랫폼 전력 제한(305)보다 더 낮은 감소된 플랫폼 전력 제한(320)과 동일하다.
전력 분배 회로부는 시간 T1에서 시작하여 APU에서 dGPU로 전력을 시프트한다. 예시된 실시예에서, 전력 분배 회로부는 코어 집약적에서 그래픽 집약적으로 시프트하는 작업부하에 응답하여 전력을 시프트 한다. 예를 들어, 전력 분배 회로부는 제1전력(310)을 제1양만큼 감소시키고 제2전력(315)을 대응하는 양만큼 증가시킨다. 예시된 실시예에서 제1전력(310)의 감소가 제2전력(315)의 증가와 동일하지만, 제2 전력(315)에서의 증가에 대한 제1 전력(310)에서의 감소의 비율은 항상 1:1이 아니고, 그 비율은 APU 및 dGPU의 전력 소비 특성에 따라 상이한 값을 갖는다. APU로부터 dGPU로 전력을 시프트하는 것은 총 분배 전력을 플랫폼 전력 제한(305) 및 감소된 플랫폼 전력 제한(320) 미만으로 여전히 유지하면서 그래픽 집약적 작업부하에 대한 성능을 향상시킨다.
도 4는 일부 실시예에 따른 개별 코프로세서로부터 통합 코프로세서로의 공유 플랫폼 전력의 동적 시프팅을 예시하는 플롯(400)이다. 플롯(400)은 도 1에 도시된 SMU(170) 및 도 2에 도시된 SMU(215)의 일부 실시예와 같은 전력 분배 회로부에 의해 수행되는 전력의 동적 분배를 예시한다. 전력 분배 회로부는 APU 및 dGPU 상에서 실행되는 작업부하의 특성 및 전력 분배 회로부에 의한 분배를 위해 이용가능한 총 전력을 나타내는 플랫폼 전력 제한(405)에 기초하여 전력을 분배한다. 전력 분배 회로부가 APU 및 dGPU에 공급되는 전력을 결정하기 위해 최대 스킨 온도와 같은 열적 제약을 고려하지만, 예시된 실시예에서, 열적 제약은 이용가능한 전력에 대한 큰 제약을 제공하지 않고, 감소된 플랫폼 전력 제한(420)은 플랫폼 전력 제한(405)과 대략 동일하다.
시간 T1이전에, 전력 분배 회로부는 APU에 제1전력(410)을 그리고 dGPU에 제2전력(415)을 제공한다. 예시된 실시예에서, APU 및 dGPU를 포함하는 디바이스는 APU 상에서 실행되는 코어 작업부하와 dGPU 상에서 실행되는 그래픽 작업부하 사이에 대략 균등하게 분할된 작업부하를 실행하고 있다. 따라서, 예시된 실시예에서 제1전력(410)이 제2전력(415)보다 약간 낮지만, 제1전력(410) 및 제2전력(415)은 시간 T1이전의 시간 간격에서 대략 동일하다. 제1전력(410) 및 제2전력(415)의 합은 플랫폼 전력 제한(405)에 기초하여 결정된다.
전력 분배 회로부는 시간 T1에서 시작하여 dGPU에서 APU로 전력을 시프트한다. 예시된 실시예에서, 전력 분배 회로부는 그래픽 집약적에서 코어 집약적으로 시프트하는 작업부하에 응답하여 전력을 시프트 한다. 예를 들어, 전력 분배 회로부는 제1전력(410)을 제1양만큼 증가시키고 제2전력(415)을 대응하는 양만큼 감소시킨다. 예시된 실시예에서 제1전력(410)의 증가가 제2전력(415)의 감소와 동일하지만, 제 2전력(415)에서의 감소에 대한 제1 전력(410)에서의 증가의 비율은 항상 1:1이 아니고, 그 비율은 APU 및 dGPU의 전력 소비 특성에 따라 상이한 값을 갖는다. 일부 실시예에서, 제1전력(410)에서의 증가(또는 제1전력(410)의 총 값)는 APU에 대한 TDP 미만인 값으로 제한된다. 따라서 dGPU로부터 APU로 전력을 시프트하는 것은 총 분배 전력을 플랫폼 전력 제한(405) 및 감소된 플랫폼 전력 제한(420) 미만으로 여전히 유지하면서 코어 집약적 작업부하에 대한 성능을 향상시킨다.
도 5는 일부 실시예들에 따른 작업부하 특성 및 플랫폼 전력 제한에 기초하여 통합 코프로세서 및 개별 코프로세서에 대한 전력 할당들을 수정하는 방법(500)의 흐름도이다. 방법(500)은 도 1에 도시된 디바이스(100) 내의 SMU(170) 및 도 2에 도시된 프로세싱 시스템(200) 내의 SMU(215)의 일부 실시예에서 구현된다. 본 명세서에서 논의된 바와 같이, 플랫폼 전력 제한은 APU 및 dGPU 사이에서 공유되고, SMU는 APU 및 dGPU 사이에서 공유 전력을 자유롭게 분배할 수 있다.
블록(505)에서, SMU는 작업부하의 특성을 결정한다. 일부 실시예에서, 특성은 작업부하의 상대적 코어 강도 및 그래픽 강도의 표시를 포함한다. 수많은 계산을 수행하지만 디스플레이용 이미지를 생성하지 않는 작업부하는 더 코어 집약적인 것으로 간주되고 더 적은 계산을 수행하지만 디스플레이용 고해상도 이미지를 생성하는 작업부하는 보다 그래픽 집약적인 것으로 간주된다.
블록(510)에서, SMU는 디바이스 전체에 분포된 하나 이상의 센서로부터 온도 측정값을 수집한다. 일부 실시예에서, 센서에 의해 측정된 온도 값은 (최대 스킨 온도와 같은) 대응하는 열적 제약과 비교되는 (스킨 온도와 같은) 열적 조건을 추론하는데 사용된다. 본 명세서에서 논의된 바와 같이, 열적 조건은 디바이스의 구성 동안 수행되는 교정 프로세스를 사용하여 결정되는 파라미터에 의해 정의된 관계를 사용하여 추론된다.
결정 블록(515)에서, SMU는 APU 또는 dGPU의 작업부하의 변화가 발생했는지 여부를 결정한다. 작업부하의 변화의 예로는 코어 집약적 작업부하에서 그래픽 집약적 작업부하로의 시프트, 그래픽 집약적 작업부하에서 코어 집약적 작업부하로의 시프트, APU 또는 dGPU에 할당된 작업부하의 증가 또는 감소 등을 포함하지만, 이에 제한되지 않는다. 작업부하의 변화가 감지되지 않으면 방법(500)은 블록(505)으로 다시 흐른다. 작업부하의 변화가 감지되면, 방법(500)은 블록(520)으로 흐른다.
블록(520)에서, SMU는 수정된 작업부하 특성 및 플랫폼 전력 제한에 기초하여 APU 및 dGPU에 할당된 전력을 수정한다. 코어 집약적에서 그래픽 집약적으로 시프트하는 작업부하에 응답하여 할당된 전력은 APU에서 dGPU로 시프트된다. 그래픽 집약적에서 코어 집약적으로 시프트하는 작업부하에 응답하여 할당된 전력은 dGPU에서 APU로 시프트된다. 일부 실시예에서, 전력 할당의 수정은 최대 스킨 온도와 같은 열적 제약에 의해 적어도 부분적으로 결정된다. 예를 들어, 디바이스의 스킨 온도는 온도 센서 측정에 기초하여 추정된 다음 최대 스킨 온도와 비교된다. 전력 할당은, 예를 들어 스킨 온도와 최대 스킨 온도의 비교에 기초하여 전력 할당을 증가 또는 감소시킴으로써 스킨 온도를 최대 스킨 온도 미만으로 유지하도록 결정된다.
일부 실시예에서, 장치가 제공된다. 장치는 적어도 하나의 중앙 프로세싱 유닛(CPU) 코어 및 적어도 하나의 그래픽 프로세싱 유닛(GPU) 코어를 포함하는 통합 코프로세서를 포함한다. 통합 코프로세서는 통합 코프로세서 외부의 개별 코프로세서 상에서 실행하기 위한 명령을 생성하도록 구성된다. 장치는 또한 통합 코프로세서 및 개별 코프로세서 상에서 실행되는 작업부하의 특성에 기초하여 그리고 통합 코프로세서 및 개별 코프로세서에 의해 공유되는 플랫폼 전력 제한에 기초하여 통합 코프로세서 및 개별 코프로세서에 전력을 선택적으로 제공하도록 구성된 전력 분배 회로부를 포함한다.
일부 실시예에서 방법이 제공된다. 방법은 적어도 하나의 중앙 프로세싱 유닛(CPU) 코어 및 적어도 하나의 그래픽 프로세싱 유닛(GPU) 코어를 포함하는 통합 코프로세서에 제공되는 제1전력을 결정하는 단계를 포함한다. 통합 코프로세서는 통합 코프로세서 외부의 개별 코프로세서 상에서 실행하기 위한 명령을 생성하도록 구성된다. 방법은 또한 개별 코프로세서에 제공되는 제2전력을 결정하는 단계를 포함한다. 방법은 통합 코프로세서 및 개별 코프로세서에서 실행되는 작업부하의 특성에 기초하여 그리고 통합 코프로세서 및 개별 코프로세서에 의해 공유되는 플랫폼 전력 제한에 기초하여 제1전력 및 제2전력 중 적어도 하나를 수정하는 단계를 더 포함한다.
일부 실시예에서, 장치가 제공된다. 장치는 중앙 프로세싱 유닛(CPU) 및 통합 그래픽 프로세싱 유닛(iGPU)을 포함하는 통합 코프로세서를 포함한다. CPU는 iGPU 및 개별 코프로세서 상에서 실행하기 위한 명령을 생성하도록 구성된다. 장치는 또한, 통합 코프로세서 및 개별 코프로세서에 의해 공유되는 플랫폼 전력 제한에 기초하고 통합 코프로세서 및 개별 코프로세서 상에서 실행되는 작업부하의 특성의 변화에 응답하여 통합 코프로세서 및 개별 코프로세서 사이에서 전력을 동적으로 시프트하도록 구성된 전력 분배 회로부를 포함한다.
컴퓨터 판독가능 저장 매체는 명령 및/또는 데이터를 컴퓨터 시스템에 제공하기 위해 사용하는 동안 컴퓨터 시스템에 의해 액세스 가능한 임의의 비일시적 저장 매체 또는 비일시적 저장 매체의 조합을 포함한다.이러한 저장 매체는 광학 매체(예를 들어, 컴팩트 디스크(CD), 디지털 다기능 디스크(DVD), 블루레이 디스크), 자기 매체(예를 들어, 플로피 디스크, 자기 테이프, 또는 자기 하드 드라이브), 휘발성 메모리(예를 들어, 랜덤 액세스 메모리(RAM) 또는 캐시), 비휘발성 메모리(예를 들어, 리드-온리 메모리(ROM) 또는 플래시 메모리), 또는 MEMS(microelectromechanical systems)-기반 저장 매체를 포함하지만, 이에 제한되지는 않는다.컴퓨터 판독가능 저장 매체는 컴퓨팅 시스템(예를 들어, 시스템 RAM 또는 ROM)에 내장되거나, 컴퓨팅 시스템(예를 들어, 자기 하드 드라이브)에 고정적으로 부착되거나, 컴퓨팅 시스템(예를 들어, 광학 디스크 또는 USB-기반 플래시 메모리)에 제거가능하게 부착되거나, 유선 또는 무선 네트워크(예를 들어, 네트워크 액세스가능 저장(NAS))를 통해 컴퓨터 시스템에 결합된다.
일부 실시예에서, 전술한 기술의 특정 양태는 소프트웨어를 실행하는 프로세싱 시스템의 하나 이상의 프로세서에 의해 구현된다. 소프트웨어는 비일시적 컴퓨터 판독가능 저장 매체에 저장되거나 또는 유형적으로 내장되는 하나 이상의 실행 가능한 명령어 세트를 포함한다. 소프트웨어는 하나 이상의 프로세서에 의해 실행될 때, 전술한 기술의 하나 이상의 양태를 수행하기 위해 하나 이상의 프로세서를 조작하는 명령어 및 특정 데이터를 포함한다. 비일시적 컴퓨터 판독가능 저장 매체는, 예를 들어, 자기 또는 광학 디스크 저장 디바이스, 플래시 메모리, 캐시, 랜덤 액세스 메모리 (RAM)와 같은 고체 상태 저장 디바이스, 또는 다른 비휘발성 메모리 디바이스 또는 디바이스들 등을 포함한다. 비일시적 컴퓨터 판독가능 저장 매체에 저장된 실행가능 명령어는 소스 코드, 어셈블리 언어 코드, 객체 코드, 또는 하나 이상의 프로세서에 의해 해석되거나 달리 실행가능한 다른 명령어 포맷으로 되어 있다.
일반적인 설명에서 전술된 모든 활동 또는 엘리먼트가 요구되는 것은 아니며, 특정 활동 또는 디바이스의 일부가 요구되지 않으며, 설명된 것 이외에 하나 이상의 추가 활동이 수행되거나, 또는 엘리먼트가 포함된다는 것에 유의한다. 또한 활동이 나열된 순서가 반드시 수행되는 순서는 아니다. 또한, 개념은 특정 실시예를 참조하여 설명되었다. 그러나, 통상의 기술자는 이하의 청구범위에 기재된 바와 같은 본 개시의 범위를 벗어나지 않고 다양한 수정 및 변화가 이루어질 수 있음을 이해할 수 있다. 따라서, 명세서 및 도면은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 하며, 이러한 모든 수정은 본 개시의 범위 내에 포함되는 것으로 의도된다.
이익, 다른 이점, 및 문제에 대한 해결책은 특정 실시예와 관련하여 전술되었다. 그러나 이익, 이점, 문제에 대한 해결책 및 임의의 이익, 이점 또는 해결책을 발생시키거나 더 두드러지게 하는 임의의 특징(들)은 임의의 또는 전체 청구항의 중요한, 요구된 또는 필수적인 특징으로 해석되어서는 안 된다. 더욱이, 위에 개시된 특정 실시예는 개시된 주제가 본 명세서의 교시의 이점을 갖는 통상의 기술자에게 명백하지만 상이한 동등한 방식으로 수정 및 실시될 수 있기 때문에 단지 예시적이다. 아래의 청구범위에 기술된 것 이외에는, 본 명세서에 도시된 구성 또는 설계의 세부사항에 어떠한 제한을 두지 않는다. 따라서, 위에 개시된 특정 실시예가 변경되거나 수정될 수 있고 이러한 모든 변형이 개시된 주제의 범위 내에서 고려된다는 것이 명백하다. 따라서, 본 명세서에서 추구하는 보호는 아래의 청구범위에 기재된 바와 같다.

Claims (20)

  1. 장치로서,
    적어도 하나의 중앙 프로세싱 유닛(CPU) 코어 및 적어도 하나의 그래픽 프로세싱 유닛(GPU) 코어를 포함하는 통합 코프로세서 - 상기 통합 코프로세서는 상기 통합 코프로세서 외부의 개별 코프로세서에서 실행하기 위한 명령을 생성하도록 구성됨 -; 및
    상기 통합 코프로세서 및 상기 개별 코프로세서 상에서 실행되는 작업부하의 특성에 기초하여 그리고 상기 통합 코프로세서 및 상기 개별 코프로세서에 의해 공유되는 플랫폼 전력 제한에 기초하여 상기 통합 코프로세서 및 상기 개별 코프로세서에 전력을 선택적으로 제공하도록 구성된 전력 분배 회로부를 포함하는, 장치.
  2. 제1항에 있어서,
    상기 전력 분배 회로부는,
    상기 통합 코프로세서에 제공되는 제1 전력 및 상기 개별 코프로세서에 제공되는 제2 전력을 결정하고, 및
    상기 제1 전력 및 상기 제2 전력의 합을 상기 플랫폼 전력 제한과 비교하도록 더 구성되는, 장치.
  3. 제2항에 있어서,
    상기 전력 분배 회로부는 상기 합이 상기 플랫폼 전력 제한보다 작은 것에 응답하여 상기 개별 코프로세서에 제공되는 상기 제2 전력을 증가시키도록 더 구성되는, 장치.
  4. 제3항에 있어서,
    적어도 하나의 온도를 측정하도록 구성된 적어도 하나의 센서를 더 포함하고; 및
    상기 전력 분배 회로부는 상기 적어도 하나의 온도와 적어도 하나의 열적 제약의 비교에 기초하여 결정되는 양만큼 상기 개별 코프로세서에 제공되는 상기 제2 전력을 증가시키도록 더 구성되는, 장치.
  5. 제4항에 있어서,
    상기 전력 분배 회로부는,
    상기 적어도 하나의 온도에 기초하여 스킨 온도를 결정하고, 및
    상기 적어도 하나의 열적 제약에 의해 결정되는 최대 스킨 온도에 대한 상기 스킨 온도의 비교에 기초하여 결정되는 양만큼 상기 개별 코프로세서에 제공되는 상기 제2 전력을 증가시키도록 더 구성되는, 장치.
  6. 제5항에 있어서,
    상기 전력 분배 회로부는 상기 최대 스킨 온도를 초과하는 상기 스킨 온도에 응답하여 상기 개별 코프로세서에 제공되는 상기 제2 전력을 감소시키도록 더 구성되는, 장치.
  7. 제1항에 있어서,
    상기 전력 분배 회로부는 상기 통합 코프로세서 및 상기 개별 코프로세서 중 적어도 하나에서 실행되는 상기 작업부하의 특성의 변화에 응답하여 상기 통합 코프로세서 및 상기 개별 코프로세서에 제공되는 상기 전력을 수정하도록 더 구성되는, 장치.
  8. 제7항에 있어서,
    상기 전력 분배 회로부는 코어 집약적에서 그래픽 집약적으로 시프트하는 작업부하에 응답하여 상기 통합 코프로세서에서 상기 개별 코프로세서로 전력을 시프트하도록 더 구성되는, 장치.
  9. 제7항에 있어서,
    상기 전력 분배 회로부는 그래픽 집약적에서 코어 집약적으로 시프트하는 작업부하에 응답하여 상기 개별 코프로세서에서 상기 통합 코프로세서로 전력을 시프트하도록 더 구성되는, 장치.
  10. 방법에 있어서,
    적어도 하나의 중앙 프로세싱 유닛(CPU) 코어 및 적어도 하나의 그래픽 프로세싱 유닛(GPU) 코어를 포함하는 통합 코프로세서에 제공되는 제1 전력을 결정하는 단계 - 상기 통합 코프로세서는 상기 통합 코프로세서 외부의 개별 코프로세서에서 실행하기 위한 명령을 생성하도록 구성됨 -;
    상기 개별 코프로세서에 제공되는 제2 전력을 결정하는 단계; 및
    상기 통합 코프로세서 및 상기 개별 코프로세서에서 실행되는 작업부하의 특성에 기초하여 그리고 상기 통합 코프로세서 및 상기 개별 코프로세서에 의해 공유되는 플랫폼 전력 제한에 기초하여 상기 제1 전력 및 상기 제2 전력 중 적어도 하나를 수정하는 단계를 포함하는, 방법.
  11. 제10항에 있어서,
    상기 제1 전력 및 상기 제2 전력의 합을 상기 플랫폼 전력 제한과 비교하는 단계를 더 포함하는, 방법.
  12. 제11항에 있어서,
    상기 합이 상기 플랫폼 전력 제한보다 작은 것에 응답하여 상기 개별 코프로세서에 제공되는 상기 제2 전력을 증가시키는 단계를 더 포함하는, 방법.
  13. 제12항에 있어서,
    상기 통합 코프로세서 및 상기 개별 코프로세서 중 적어도 하나와 연관된 적어도 하나의 온도를 측정하는 단계; 및
    상기 적어도 하나의 온도와 적어도 하나의 열적 제약의 비교에 기초하여 결정되는 양만큼 상기 개별 코프로세서에 제공되는 상기 제2 전력을 증가시키는 단계를 더 포함하는, 방법.
  14. 제13항에 있어서,
    상기 적어도 하나의 온도에 기초하여 스킨 온도를 결정하는 단계;
    상기 스킨 온도를 상기 적어도 하나의 열적 제약에 의해 결정된 최대 스킨 온도와 비교하는 단계; 및
    상기 비교에 기초하여 결정된 양만큼 상기 개별 코프로세서에 제공되는 상기 제2 전력을 증가시키는 단계를 더 포함하는, 방법.
  15. 제14항에 있어서,
    상기 최대 스킨 온도를 초과하는 상기 스킨 온도에 응답하여 상기 개별 코프로세서에 제공되는 상기 제2 전력을 감소시키는 단계를 더 포함하는, 방법.
  16. 제10항에 있어서,
    상기 통합 코프로세서 및 상기 개별 코프로세서 중 적어도 하나에서 실행되는 상기 작업부하의 특성의 변화에 응답하여 상기 통합 코프로세서 및 상기 개별 코프로세서에 제공되는 상기 전력을 수정하는 단계를 더 포함하는, 방법.
  17. 제16항에 있어서,
    코어 집약적에서 그래픽 집약적으로 시프트하는 상기 작업부하에 응답하여 상기 통합 코프로세서에서 상기 개별 코프로세서로 전력을 시프트하는 단계를 더 포함하는, 방법.
  18. 제16항에 있어서,
    그래픽 집약적에서 코어 집약적으로 시프트하는 상기 작업부하에 응답하여 상기 개별 코프로세서에서 상기 통합 코프로세서로 전력을 시프트하는 단계를 더 포함하는, 방법.
  19. 장치로서,
    중앙 프로세싱 유닛(CPU) 및 통합 그래픽 프로세싱 유닛(iGPU)을 포함하는 통합 코프로세서 - 상기 CPU는 상기 iGPU 및 개별 코프로세서에서 실행하기 위한 명령을 생성하도록 구성됨 -; 및
    상기 통합 코프로세서 및 상기 개별 코프로세서에 의해 공유되는 플랫폼 전력 제한에 기초하고 상기 통합 코프로세서 및 상기 개별 코프로세서 상에서 실행되는 작업부하의 특성의 변화에 응답하여 상기 통합 코프로세서 및 상기 개별 코프로세서 사이에서 전력을 동적으로 시프트하도록 구성된 전력 분배 회로부를 포함하는, 장치.
  20. 제19항에 있어서,
    적어도 하나의 온도를 측정하도록 구성된 적어도 하나의 센서를 더 포함하고; 및
    상기 전력 분배 회로부는 상기 적어도 하나의 온도의 변화에 응답하여 상기 통합 코프로세서 및 상기 개별 코프로세서 중 적어도 하나에 제공되는 전력을 수정하도록 구성되고, 및
    상기 전력 분배 회로부는 작업부하 활동 요구 및 전력 제한 정보를 상기 개별 코프로세서와 교환하도록 구성되는, 장치.
KR1020227021103A 2019-12-12 2020-12-11 가속 프로세싱 유닛 및 개별 그래픽 프로세싱 유닛 사이에서 공유되는 전력 분배 KR20220108089A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/712,891 2019-12-12
US16/712,891 US11886878B2 (en) 2019-12-12 2019-12-12 Distributing power shared between an accelerated processing unit and a discrete graphics processing unit
PCT/US2020/064481 WO2021119410A1 (en) 2019-12-12 2020-12-11 Distributing power shared between an accelerated processing unit and a discrete graphics processing unit

Publications (1)

Publication Number Publication Date
KR20220108089A true KR20220108089A (ko) 2022-08-02

Family

ID=76318019

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227021103A KR20220108089A (ko) 2019-12-12 2020-12-11 가속 프로세싱 유닛 및 개별 그래픽 프로세싱 유닛 사이에서 공유되는 전력 분배

Country Status (6)

Country Link
US (1) US11886878B2 (ko)
EP (1) EP4073616A4 (ko)
JP (1) JP2023505762A (ko)
KR (1) KR20220108089A (ko)
CN (1) CN114787751A (ko)
WO (1) WO2021119410A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11829216B2 (en) * 2021-03-22 2023-11-28 Dell Products L.P. System and method of enhancing performances of information handling systems by utilizing graphics processing units
WO2023287576A1 (en) * 2021-07-13 2023-01-19 SiFive, Inc. Selectable and hierarchical power management
JP7218410B1 (ja) 2021-10-04 2023-02-06 レノボ・シンガポール・プライベート・リミテッド 情報処理装置および制御方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7562234B2 (en) * 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
US9275430B2 (en) 2006-12-31 2016-03-01 Lucidlogix Technologies, Ltd. Computing system employing a multi-GPU graphics processing and display subsystem supporting single-GPU non-parallel (multi-threading) and multi-GPU application-division parallel modes of graphics processing operation
US8312026B2 (en) 2009-12-22 2012-11-13 At&T Intellectual Property I, L.P. Compressing massive relational data
US9261949B2 (en) 2010-10-29 2016-02-16 Advanced Micro Devices, Inc. Method for adaptive performance optimization of the soc
US8769316B2 (en) * 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
US9304570B2 (en) 2011-12-15 2016-04-05 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including power and performance workload-based balancing between multiple processing elements
US8984313B2 (en) 2012-08-31 2015-03-17 Intel Corporation Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator
US20140089699A1 (en) 2012-09-27 2014-03-27 Advanced Micro Devices Power management system and method for a processor
US9268378B2 (en) * 2013-06-28 2016-02-23 Intel Corporation Techniques and system for managing platform temperature
US20160266629A1 (en) 2015-03-09 2016-09-15 Advanced Micro Devices, Inc. Changing power limits based on device state
US10649514B2 (en) 2016-09-23 2020-05-12 Advanced Micro Devices, Inc. Method and apparatus for temperature and voltage management control
US10747286B2 (en) * 2018-06-11 2020-08-18 Intel Corporation Dynamic power budget allocation in multi-processor system
WO2020036573A1 (en) * 2018-08-17 2020-02-20 Hewlett-Packard Development Company, L.P. Modifications of power allocations for graphical processing units based on usage
US11011109B1 (en) * 2019-10-24 2021-05-18 Dell Products L.P. Organic light emitting diode display power management based on usage scaling

Also Published As

Publication number Publication date
EP4073616A4 (en) 2024-01-03
JP2023505762A (ja) 2023-02-13
EP4073616A1 (en) 2022-10-19
US20210182066A1 (en) 2021-06-17
US11886878B2 (en) 2024-01-30
CN114787751A (zh) 2022-07-22
WO2021119410A1 (en) 2021-06-17

Similar Documents

Publication Publication Date Title
KR20220108089A (ko) 가속 프로세싱 유닛 및 개별 그래픽 프로세싱 유닛 사이에서 공유되는 전력 분배
CN110199241B (zh) 自适应功率控制环路
EP2766788B1 (en) System and method for determining thermal management policy from leakage current measurement
US8793512B2 (en) Method and apparatus for thermal control of processing nodes
TWI430079B (zh) 用於多處理器核心之電力管理的裝置、系統及方法
US11157328B2 (en) Distributed processing QoS algorithm for system performance optimization under thermal constraints
JP6231578B2 (ja) ポータブルコンピューティングデバイスから周囲温度を推定するためのシステムおよび方法
JP5689965B2 (ja) コンピュータシステムにおける電流および電力管理
US9703336B2 (en) System and method for thermal management in a multi-functional portable computing device
TWI518586B (zh) 協同處理器與系統效能及電力管理技術
CN110637271B (zh) 用于对便携式计算设备中的沉浸式多媒体工作负载的智能调整的系统和方法
US10831254B2 (en) Allocating power between multiple central processing units (CPUs) in a multi-CPU processor based on total current availability and individual CPU quality-of-service (QoS) requirements
US10067555B2 (en) Control of performance levels of different types of processors via a user interface
CN105829991B (zh) 操作计算系统的方法及其计算系统
US9753516B2 (en) Method, apparatus, and system for energy efficiency and energy conservation by mitigating performance variations between integrated circuit devices
WO2024006019A1 (en) Platform efficiency tracker

Legal Events

Date Code Title Description
A201 Request for examination