KR20160136410A - 공유 전력 도메인에서의 이종의 프로세서들에 걸친 동적 전력 관리를 위한 장치, 시스템 및 방법 - Google Patents
공유 전력 도메인에서의 이종의 프로세서들에 걸친 동적 전력 관리를 위한 장치, 시스템 및 방법 Download PDFInfo
- Publication number
- KR20160136410A KR20160136410A KR1020167029506A KR20167029506A KR20160136410A KR 20160136410 A KR20160136410 A KR 20160136410A KR 1020167029506 A KR1020167029506 A KR 1020167029506A KR 20167029506 A KR20167029506 A KR 20167029506A KR 20160136410 A KR20160136410 A KR 20160136410A
- Authority
- KR
- South Korea
- Prior art keywords
- processing resources
- power
- power domain
- computing device
- controller
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0251—Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
-
- Y02B60/1217—
-
- Y02B60/1285—
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Sources (AREA)
Abstract
휴대용 컴퓨팅 디바이스에서의 전력 도메인에 대한 입력 파라미터를 동적으로 조정하기 위한 시스템들 및 방법들이 개시된다. 전력 도메인은 전원을 공유하는 2 이상의 프로세싱 자원들을 포함한다. 2 이상의 프로세싱 자원들의 동적 사용은 전력 도메인에서의 프로세싱 자원과 연관된 상태 변경이 발생한 경우에 입력 파라미터를 조정할 기회를 생성한다. 전력 도메인에서의 제어기는 디바이스에게 입력 전압 및 클록 주파수 중 하나 또는 양자 모두를 조정하도록 지시하는 제어 신호를 생성함으로써 전력 도메인에서의 각각의 프로세싱 자원과 연관된 상태 표시자에 응답하는 로직을 포함한다.
Description
본 출원은 2014년 3월 25일자로 출원된, 발명의 명칭이 "Apparatus, System and Method for Dynamic Power Management Across Heterogeneous Processors in a Shared Power Domain" (대리인 정리 번호 141870P1) 인 미국 가출원 제 61/970,290 호의 출원일에 대한 우선권 및 이익을 주장하며, 그 전체 내용들이 여기에 참조로 포함된다.
컴퓨팅 디바이스들은 편재해 있다. 일부 컴퓨팅 디바이스들은 스마트폰들, 태블릿들 및 랩톱 컴퓨터들과 같이 휴대가능하다. 이들 디바이스들의 일차적 기능에 더하여, 다수는 주변적 기능들을 지원하는 엘리먼트들을 포함한다. 예를 들어, 셀룰러 전화는 셀룰러 전화 통화들을 가능하게 하고 지원하는 일차적 기능 및 스틸 카메라, 비디오 카메라, 음악 플레이어, 글로벌 포지셔닝 시스템 (GPS) 네비게이션, 웹 브라우징, 이메일들의 전송 및 수신, 텍스트 메시지들의 전송 및 수신, 푸시-투-토크 능력들 등의 주변적 기능들을 포함할 수도 있다.
핸드헬드 휴대용 컴퓨팅 디바이스들에 대한 일부 종래의 설계들은 특정의 컴퓨팅 디바이스에 대해 원해지는 여러 일차적 및 주변적 기능들을 지원하기 위해 다수의 프로세서들 및/또는 다수의 코어들을 갖는 프로세서들을 포함한다. 그러한 설계들은 종종 또한 단일의 기판상에 아날로그, 디지털 및 무선 주파수 회로들 또는 기능들을 통합하고 통상적으로 시스템 온 칩 (SoC) 으로서 지칭된다. 이들 상이한 회로들 및 기능들은 종종 상이한 동작 주파수들 및 전압 레벨들을 요구할 것이고, 때때로 공통 입력 요건들에 기초하여 구분된다. 그러한 구분이 입력 전압에 기초하는 경우, 상이한 회로들은 공통 전원을 공유할 수도 있다.
그러한 휴대용 디바이스들에 전력을 제공하는 배터리에 저장된 에너지를 보존하려는 희망은 동적 전력 관리 기법들의 구현을 야기했다. 이들 기법들은 원하는 회로 성능을 달성하기 위해 클록 주파수, 입력 전압, 또는 양자 모두를 조정하는 것을 포함한다.
SoC 설계에서 적용된 종래의 다중 코어 전력 감소 기술은 원하는 목표 성능을 달성하기 위해 반도체 제조 프로세스 변동을 보상하기 위해 측정된 회로 성능의 함수로서 입력 전압을 스케일링한다. 단일의 전력 도메인에서의 다수의 코어들 또는 기능 블록들이 동일한 입력 전압에 대한 상이한 응답들을 갖는 경우, 가장 늦게 응답하는 코어 또는 기능 블록은 요구되는 입력 전압에 영향을 준다. 이에 따라, 원하는 성능을 달성하기 위해 필요한 입력 전압이 전력 도메인에 적용된다.
도 1 은 별개의 반도체들에 집적된 테스트 회로에 적용된 전압 및 주파수의 플롯 (10) 을 포함한다. 입력 전압은 수평축을 따라 도시되는 반면, 테스트 회로의 주파수 응답은 수직축을 따라 도시된다. 제 1 반도체 다이에서의 테스트 회로의 응답성은 라인 (12) 에 의해 묘사되는 반면, 제 2 반도체 다이에서의 각각의 테스트 회로의 응답성은 라인 (14) 에 의해 도시된다. 제 1 반도체 다이에서의 제 1 테스트 회로는 제 2 반도체 다이에서의 동일한 테스트 회로보다 더 적은 시간에 그리고 더 낮은 입력 전압에서 응답한다. 플롯에서 도시된 바와 같이, 기준 전압 VREF 이 인가되면, 고속 실리콘은 목표 주파수, f_target 을 초과하는 주파수 (예를 들어, f1_measured) 를 달성할 수 있다. 또한 플롯에서 도시된 바와 같이, 제 1 반도체 다이의 테스트 회로에 인가된 공급 전압 VREF - V1 은 테스트 회로가 목표 동작 주파수를 달성하는 것을 가능하게 한다. 역으로, VREF 이 제 2 반도체 다이에 인가되면, 테스트 회로는 목표 주파수보다 낮은 주파수 f2_measured 를 달성한다. 공급 전압 VREF + V2 은 테스트 회로가 목표 주파수를 달성하는 것을 가능하게 하기 위해 제 2 반도체 다이에 인가되어야 한다. 이들 상황들 하에서, 제 1 반도체 다이는 종종 "고속" 실리콘을 갖는 것으로서 지칭되는 반면, 제 2 반도체 다이는 "저속" 실리콘을 갖는 것으로서 기술된다. 또한 도 1 에 도시된 바와 같이, 제 1 및 제 2 반도체 다이들의 각각의 응답성 사이의 변동은, 양자의 다이들에 걸쳐 소망의 또는 목표 주파수를 달성하기 위해, 목표 주파수를 달성하기 위해 저속 실리콘에 대해 요구되는 입력 전압이 요구된다는 것을 보여준다. 따라서, 고속 실리콘은 V1 및 V2 의 합의 등가인 전압 마진으로 동작될 것이다.
정적 CMOS 게이트들을 사용하는 반도체에 의해 소산된 스위칭 전력은 C x V2 x f 이며, 여기서 C 는 클록 사이클 마다 스위칭되는 커패시턴스이고, V 는 공급 전압이며, f 는 스위칭 주파수이고, 따라서, 전력 소비의 이러한 부분이 공급 전압에서의 변경들에 따라 2차식으로 감소한다. 그러나, 그 공식은 많은 현대의 디지털 신호 프로세서들 (DSPs) 및 다중 코어 프로세서들이 CMOS 만으로 구현되는 것이 아니고, 특수 메모리 회로들, 도미노 로직과 같은 동적 로직 등도 사용하기 때문에 정확하지 않다. 게다가, 반도체 디바이스 피쳐 사이즈들이 더 작아지고 임계 레벨들이 감소함에 따라 점점더 감쇠된 정적 누설 전류가 또한 존재한다.
이에 따라, 동적 전압 스케일링이 배터리에 의해 전력이 공급되는 디바이스들에서의 스위칭 전력 소비를 관리하기 위한 전략들에서 널리 사용된다. 낮은 전압 모드들이 다중 코어 프로세서들 및 DSP 들과 같은 컴포넌트들과 연관된 전력 소비를 감소시키기 위해 저하된 클록 주파수들과 결합하여 사용된다. 원하는 성능이 상당한 계산 전력을 요구하는 경우, 전압 및 주파수는 증가된다.
그러나, 이들 종래의 기법들은 휴대용 컴퓨팅 디바이스가 전력 도메인 내의 다수의 코어들 또는 다른 기능 블록들에 영향을 주기 때문에 휴대용 컴퓨팅 디바이스의 사용에 응답적이지 않다. 전력 도메인에서, 각 프로세싱 자원은 공통 전원을 공유한다.
예를 들어, 휴대용 스마트폰의 경우에, 디바이스가 파워 온되는 대부분의 시간 동안, 다수의 기능 유닛들 및 프로세싱 코어들은 저전력 소비 상태에 있을 것이거나 심지어 파워 오프될 수도 있는 반면, 선택 프로세싱 코어들 또는 선택 기능 회로들은 공유 전력 도메인에서 전력이 공급되고 사용된다. 일부 사용 케이스들 동안, 일부 코어들 또는 기능 회로들은 전력이 공급되고 사용될 것이고, 소정 시간 후에 더이상 요구되지 않을 수도 있고 파워 오프되거나 저전력 상태로 복귀된다.
도 2 는 공유된 클록 및 입력 전압들이 다수의 프로세싱 자원들 또는 코어들에 분배되는 종래의 전력 도메인 (20) 을 도시한다. 도시된 바와 같이, 버스 (18) 는 프로세싱 코어들 (22-28) 로 입력된 각각이 클록에서 주기적 신호를 제공한다. 코어 전력 감소 제어기 (또는 CPR 제어기) (15) 는 파워 서플라이로부터 제 1 전압을 수신하고, 하나 이상의 센서들로부터의 제어 신호에 응답하여 버스 (16) 상에 조정된 전압을 제공한다. 조정된 전압은 각각의 프로세싱 코어들 (22-28) 로 그 조정된 전압을 제어가능하게 제공하도록 배열된 스위치들 (21-27) 각각에 분배된다. 또한 도 2 에 도시된 바와 같이, 코어 (22) 는 f_target 에 대응하는 원하는 응답성을 달성하기 위해 VREF + V2 의 입력 전압을 요구한다. 대조적으로, 코어 (24) 는 전력 도메인에 대한 원하는 응답성을 달성하기 위해 VREF + V2 - X 의 입력 전압을 요구한다. 반면에, 코어 (26) 및 코어 (28) 는 원하는 응답성을 달성하기 위해 VREF + V2 - 2X 의 입력 전압을 요구한다
주어진 순간에, 휴대용 컴퓨팅 디바이스는 원하는 클록 주파수에서 코어들 각각의 컴퓨팅 자원들을 필요로 할 수도 있다. 도 1 에 도시된 바와 같이, 도 2 의 종래의 전력 관리 기법은 전력 도메인에서의 각 코어가 원하는 목표 주파수를 지원할 수 있도록 입력 전압 VIN = (VREF + V2) 을 적용할 것이다. 이후의 시간에, 휴대용 컴퓨팅 디바이스는 더이상 코어들 각각의 컴퓨팅 자원들을 필요로 하지 않을 수도 있다. 그러나, 전력 도메인에 대한 종래의 전력 분배 설계는 이들 고속 코어들에 대해 요구되는 것보다 더 높은 입력 전압을 계속 인가한다. 이러한 더 높은 입력 전압은 하나 이상의 코어들이 대기중이거나 저전력 모드에 있는 경우에도 인가된다.
따라서, 전력 도메인 내의 전력을 보존하기 위한 개선된 메카니즘들에 대한 필요가 존재한다.
휴대용 컴퓨팅 디바이스에서 전력 도메인에 대한 입력을 동적으로 조정하는 시스템들 및 방법들이 개시된다. 전력 도메인은 전원을 공유하는 2 이상의 프로세싱 자원들을 포함한다. 2 이상의 프로세싱 자원들의 동적 사용은 전력 도메인에서의 프로세싱 자원과 연관된 상태 변경이 발생한 경우에 입력을 조정할 기회를 생성한다. 전력 도메인에서의 제어기는 전력 도메인에서의 각각의 프로세싱 자원과 연관된 상태 표시자에 응답하는 로직을 포함한다. 제어기 로직은 디바이스가 입력 전압 및 클록 주파수 중 하나 또는 양자 모두를 조정하도록 지시하는 신호를 생성한다.
예시의 실시형태는 전력 도메인을 갖는 휴대용 컴퓨팅 디바이스를 포함한다. 전력 도메인은 공유 전원으로부터 입력 전력을 수신하는 프로세싱 자원들을 포함한다. 적어도 2 개의 프로세싱 자원들에 커플링된 제어기는 전력 관리기로부터 정보를 수신하도록 구성된다. 제어기는 전력 도메인에 원하는 입력 전압을 제공하기 위해 파워 서플라이에 의해 사용되는 제 1 제어 신호를 생성하기 위해 자원 상태 로직을 사용한다.
하나의 예시의 실시형태는 프로세싱 자원들에 커플링된 전력 도메인 제어기를 갖는 휴대용 컴퓨팅 디바이스를 포함한다. 전력 도메인 제어기는 변경된 센서 체인 신호 프로토콜로부터 정보를 수신한다. 체인 내의 센서들은 각각의 회로 영역 또는 기능 블록의 동작 상태에 대한 정보를 임베딩한다. 그 정보는 전력 상태 및 클록 주파수 중 하나 또는 양자 모두를 포함한다. 제어기는 그 정보를 수신하고 이에 따라 응답한다. 예를 들어, 전력 도메인 제어기는 오프 상태에 있는 선택 프로세싱 자원으로부터의 센서 정보를 마스킹하거나 무시할 수도 있다. 다른 예에서, 전력 도메인 제어기는 각각의 프로세싱 자원이 오프 상태에 있는 경우 센서를 턴 오프하거나 센서를 바이패스할 수도 있다.
또 다른 예시의 실시형태에서, 제어기는 소정의 조건들 하에서 전력 도메인 내의 하나 이상의 프로세싱 자원들에 대한 선호도를 식별하는 친화도 로직을 포함한다. 제어기는 식별된 프로세싱 자원들에 태스크들을 할당하는 스케쥴러로 이러한 정보를 통신하는 제 2 제어 신호를 생성한다. 스케쥴러는 별개의 전력 도메인들에 위치된 프로세싱 자원들 사이의 협조를 요구하는 사용 케이스들을 위해 그리고 별도의 전력 도메인들에 걸쳐 이종의 기능 블록들을 관리하기 위해 사용될 수 있다.
다른 예시의 실시형태는 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법이다. 전력 도메인은 전원을 공유하는 프로세싱 자원들을 포함한다. 방법은 휴대용 컴퓨팅 디바이스에서의 전력 도메인에서 적어도 2 개의 프로세싱 자원들의 현재의 조건을 식별하는 단계, 그 현재의 조건에서의 변경에 응답하여, 입력의 조정을 개시하는 단계 및 전력 도메인에 입력을 적용하는 단계를 포함한다.
도면에서, 유사한 참조 번호들은 달리 표시되지 않는 한 여러 도면들에 걸쳐 유사한 부분들을 지칭한다. "102A" 또는 "102B" 와 같은 문자 지정들을 갖는 참조 번호들의 경우, 그 문자 지정들은 동일한 도면에 존재하는 2 개의 유사한 부분들 또는 엘리먼트들을 구별할 수도 있다. 참조 번호들에 대한 문자 지정들은 참조 번호가 모든 도면들에서 동일한 참조 번호를 갖는 모든 부분들을 포함하도록 의도되는 경우 생략될 수도 있다.
도 1 은 별개의 반도체들에 집적된 테스트 회로에 인가된 전위 및 주파수의 플롯이다.
도 2 는 4 개의 코어 프로세서들을 포함하는 전력 도메인에서 종래의 전력 감소 기법의 예시의 실시형태를 도시하는 개략도이다.
도 3 은 예시의 휴대용 컴퓨팅 디바이스를 도시하는 개략도이다.
도 4 는 자원 상태 로직을 갖는 변경된 전력 도메인의 실시형태를 도시하는 개략도이다.
도 5 는 변경된 전력 도메인의 대안적인 실시형태의 개략도이다.
도 6 은 스케쥴러에 커플링된 변경된 전력 도메인의 실시형태의 개략도이다.
도 7 은 변경된 전력 도메인의 다른 예시의 실시형태의 개략도이다.
도 8 은 휴대용 컴퓨팅 디바이스에서 전력 도메인에 대한 입력을 동적으로 제어하는 방법의 예시의 실시형태를 도시하는 플로우챠트이다.
도 1 은 별개의 반도체들에 집적된 테스트 회로에 인가된 전위 및 주파수의 플롯이다.
도 2 는 4 개의 코어 프로세서들을 포함하는 전력 도메인에서 종래의 전력 감소 기법의 예시의 실시형태를 도시하는 개략도이다.
도 3 은 예시의 휴대용 컴퓨팅 디바이스를 도시하는 개략도이다.
도 4 는 자원 상태 로직을 갖는 변경된 전력 도메인의 실시형태를 도시하는 개략도이다.
도 5 는 변경된 전력 도메인의 대안적인 실시형태의 개략도이다.
도 6 은 스케쥴러에 커플링된 변경된 전력 도메인의 실시형태의 개략도이다.
도 7 은 변경된 전력 도메인의 다른 예시의 실시형태의 개략도이다.
도 8 은 휴대용 컴퓨팅 디바이스에서 전력 도메인에 대한 입력을 동적으로 제어하는 방법의 예시의 실시형태를 도시하는 플로우챠트이다.
단어 "예시적인" 은 "예, 예시, 또는 설명으로서 작용하는" 을 의미하는 것으로서 여기서 사용된다. "예시적인" 으로서 여기에 기술된 임의의 양태는 반드시 다른 양태들에 비해 바람직한 것으로 또는 이로운 것으로 해석될 필요는 없다.
본 설명에서, 용어 "애플리케이션" 은 또한 오브젝트 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들, 및 패치들과 같은 실행가능한 컨텐츠를 갖는 파일들을 포함할 수도 있다. 또한, 여기서 참조되는 "애플리케이션" 은 또한 오픈될 필요가 있을 수도 있는 문서들 또는 액세스될 필요가 있는 다른 데이터 파일들과 같은 본성상 실행가능하지 않은 파일들을 포함할 수도 있다.
용어 "컨텐츠" 는 또한 오브젝트 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들, 및 패치들과 같은 실행가능한 컨텐츠를 갖는 파일들을 포함할 수도 있다. 또한, 여기서 참조되는 "컨텐츠" 는 또한 오픈될 필요가 있을 수도 있는 문서들 또는 액세스될 필요가 있는 다른 데이터 파일들 또는 데이터 값들과 같은 본성상 실행가능하지 않은 파일들을 포함할 수도 있다.
본 설명에서 사용되는 바와 같이, 용어들 "컴포넌트", "데이터베이스", "모듈", "시스템" 등은 컴퓨터 관련 엔티티, 즉, 하드웨어, 펌웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어, 또는 실행 중인 소프트웨어 중 어느 것을 지칭하도록 의도된다. 예를 들어, 컴포넌트는 프로세서 상에서 실행중인 프로세스, 프로세서, 오브젝트, 실행가능물, 실행의 스레드, 프로그램, 및/또는 컴퓨터일 수도 있지만, 이들에 제한되지 않는다. 예시로써, 컴퓨팅 디바이스 상에서 실행하는 애플리케이션 및 컴퓨팅 디바이스 양자 모두가 컴포넌트일 수도 있다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행의 스레드 내에 상주할 수도 있고, 컴포넌트는 둘 이상의 컴퓨터들 사이에 분포되고 및/또는 하나의 컴퓨터 상에 로컬화될 수도 있다. 또한, 이들 컴포넌트들은 저장된 여러 데이터 구조들을 갖는 여러 컴퓨터 판독가능 매체들로부터 실행될 수도 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷들 (예를 들어, 로컬 시스템, 분포된 시스템 내의 다른 컴포넌트와, 및/또는 인터넷과 같은 네트워크를 가로질러 신호에 의해 다른 시스템들과 상호작용하는 하나의 컴포넌트로부터의 데이터) 을 갖는 신호에 따라 로컬 및/또는 원격 프로세스들에 의해 통신할 수도 있다.
본 설명에서, 용어 "휴대용 컴퓨팅 디바이스" 또는 PCD 는 배터리 및/또는 커패시터와 같은 제한된 용량 재충전가능한 전원 상에서 동작하는 임의의 디바이스를 기술하기 위해 사용된다. 재충전가능한 전원을 갖는 PCD 들이 수십년 동안 사용되어 왔지만, 제 3 세대 ("3G") 및 제 4 세대 ("4G") 무선 기술의 출현과 커플링된 재충전 가능 배터리들에서의 기술적 진보들은 다수의 능력들을 갖는 다수의 PCD 들을 가능하게 했다. 따라서, PCD 는 다른 것들 중에서 셀룰러 전화, 위성 전화, 페이저, PDA, 스마트폰, 네비게이션 디바이스, 스마트북 또는 리더, 미디어 플레이어, 상술된 디바이스들의 조합, 무선 연결을 갖는 랩톱 또는 태블릿 컴퓨터일 수도 있다.
휴대용 컴퓨팅 디바이스에서 전력 도메인에 대한 입력 파라미터를 동적으로 조정하는 시스템들 및 방법들이 개시된다. 전력 도메인은 전원을 공유하는 2 이상의 프로세싱 자원들을 포함한다. 2 이상의 프로세싱 자원들의 동적 사용은 전력 도메인에서의 프로세싱 자원과 연관된 상태 변경이 발생한 경우에 그 입력 파라미터를 조정할 기회를 생성한다. 전력 도메인에서의 제어기는 디바이스에게 입력 전압 및 클록 주파수 중 하나 또는 양자 모두를 조정하도록 지시하는 제어 신호를 생성함으로써 전력 도메인에서의 각각의 프로세싱 자원과 연관된 상태 표시자에 응답하는 로직을 포함한다.
제 1 실시형태에서, 상태 표시자는 전력 도메인 밖의 소스로부터 수신된다. 상태 표시자는 대응하는 프로세싱 자원이 파워 온되는지, 파워 오프되는지, 또는 저전력 상태에 있는지를 표시한다. 이러한 제 1 실시형태의 변형에서, 다중 조건 표시자는 전력 도메인에 통신되는 입력 전압 및 클록 주파수에 응답하는 정보를 포함한다. 또 다른 변형에서, 다중 조건 표시자들은 전력 도메인에 제공된 입력 전압 뿐아니라 전력 도메인 내의 각각의 별개의 프로세싱 자원에 제공된 클록 주파수에 응답하는 정보를 포함한다.
제 2 실시형태에서, 전력 도메인의 각 프로세싱 자원에 통합된 센서들을 포함하는, 전력 도메인을 가로질러 분포된 일련의 센서로부터의 정보를 통신하기 위해 사용되는 프로토콜은 각각의 프로세싱 자원의 전력 상태에 응답하는 정보를 포함하도록 변경된다. 그 정보는 대응하는 프로세싱 자원이 파워 온되는지, 파워 오프되는지, 또는 저전력 상태에 있는지를 반영한다. 또, 그 정보는 각 프로세싱 자원에 제공되는 클록 주파수를 더 포함할 수도 있다. 센서가 파워 오프되는 프로세싱 자원 내에 있는 경우, 변경된 신호 프로토콜은 파워 도메인 제어기에게 각각의 센서로부터의 정보를 무시하거나 마스킹하도록 지령하는 마스크 비트를 포함할 수도 있다. 제 2 실시형태의 대안에서, 비활성 기능 블록들 또는 프로세싱 자원들 내의 센서들은 센서 체인 내에서 파워 오프되고 바이패스된다.
다른 실시형태에서, 전력 도메인은 자원 상태 로직 및 주파수 튜닝 로직 양자 모두로 배열된 제어기를 포함한다. 제어기는 전력 도메인에서의 다른 프로세싱 자원들 대신에 하나 이상의 프로세싱 자원들에 대한 친화도 또는 선호도를 포함하는 제 2 제어 신호를 생성한다. 제 2 제어 신호는 어느 프로세싱 자원들이 현재의 요구를 충족시키기 위해 필요한지를 결정하기 위해 친화도 또는 선호도 정보를 사용하는 스케쥴러로 통신된다. 스케쥴러는 회로들 (하드웨어) 로 또는 소프트웨어로 구현될 수도 있다.
추가적인 실시형태들에서, 공유된 전력 버스를 통해 전력을 수신하는 여러 다른 또는 이종의 프로세싱 자원들은 전력 도메인을 정의한다. 이들 추가적인 실시형태들이 비디오 프로세서 및 디스플레이 프로세서를 포함하는 경우, 아이들 타임들 동안에 도메인 제어기는 원하는 성능을 달성하기 위해 소비된 전력을 감소시키기 위해 공유된 전력 버스상의 입력 전압을 조정할 수 있다.
특히 PCD 내에서의 동작을 참조하여 기술되지만, 기술된 전력 관리 시스템들 및 방법들은 입력 전압에 대한 상이한 응답성 특징들을 갖는 기능 회로들을 포함하는 하나 이상의 별개의 전력 도메인들을 갖는 임의의 컴퓨팅 시스템에 적용가능하다. 다른 방식으로 진술하면, 전력 관리 시스템들 및 방법들은 프로세싱 자원들에 단일의 입력 전압을 제공하는 공유 파워 서플라이에 의해 전력이 공급되는 프로세싱 자원들을 갖는 데스크톱 컴퓨터들, 서버 컴퓨터들 또는 임의의 전자 디바이스에 적용가능하다.
이제 도시된 예들에 대한 참조가 행해진다. 도 3 을 먼저 참조하면, 휴대용 컴퓨팅 디바이스 (PCD) 의 예시적인, 비제한적인 양태가 도시되고 일반적으로 100 으로 지정된다. 도시된 바와 같이, PCD (100) 는 멀티코어 CPU (210) 를 포함하는 온-칩 시스템 (120) 을 포함한다. 멀티코어 CPU (210) 는 제 0 코어 (211), 제 1 코어 (212), 및 제 N 코어 (214) 를 포함한다. 코어들 또는 프로세싱 자원들 (211-214) 은 개선된 전력 도메인 (400) 내의 엘리먼트들이다.
개선된 전력 도메인 (400) 은 자율적으로 동작할 수도 있거나 하이퍼바이저 (240) 에 의해 인에이블된 제어 스킴 하에서 동작될 수도 있다. 하이퍼바이저 (240) 는 디지털 신호 프로세서 (DSP) (220) 및 그래픽 프로세서 유닛 (GPU) (190) 와 같은 그러나 이들에 제한되지 않는 온-칩 시스템 (120) 의 선택 엘리먼트들 및 일부 배열들에서 휴대용 컴퓨팅 디바이스 (100) 상의 전력 소비를 감소시키기 위해 실시간으로 적용될 수도 있는 하나 이상의 전력 관리 기법들의 지원하에서 다른 선택 주변 엘리먼트들과 연관된 상태 정보를 기록한다. 개선된 전력 도메인 (400) 의 아키텍쳐 및 동작은 도 4 내지 도 7 에 도시된 예시의 실시형태들의 설명과 연관하여 더 기술된다.
도 3 에 도시된 바와 같이, 디스플레이 제어기 (128) 및 터치 스크린 제어기 (130) 는 멀티코어 CPU (210) 에 커플링된다. 차례로, 온-칩 시스템 (120) 의 외부의 디스플레이/터치스크린 (132) 은 디스플레이 제어기 (128) 및 터치 스크린 제어기 (130) 에 커플링된다. 비디오 코덱 (134), 예를 들어 PAL (phase alternating line) 인코더, SECAM (sequential couleur a memoire) 인코더, 또는 NTSC (national television system(s) committee) 인코더가 멀티코어 CPU (210) 에 커플링된다. 또한, 비디오 증폭기 (136) 는 비디오 코덱 (134) 및 디스플레이/터치스크린 (132) 에 커플링된다. 또한, 비디오 포트 (138) 는 비디오 증폭기 (136) 에 커플링된다. 도 3 에 도시된 바와 같이, 유니버셜 시리얼 버스 (USB) 제어기 (140) 은 멀티코어 CPU (210) 에 커플링된다. 또한, USB 포트 (142) 는 USB 제어기 (140) 에 커플링된다. 시스템 메모리 (250) 및 가입자 아이덴티티 모듈 (SIM) 카드 (146) 가 또한 멀티코어 CPU (210) 에 커플링될 수도 있다. 하이퍼바이저 (240) 는 시스템 메모리 (250) 에 또는 대안적인 비휘발성 메모리 엘리먼트 (도시하지 않음) 에 저장된 명령들에 따라 하나 이상의 알고리즘들을 실행한다. 또, 도 3 에 도시된 바와 같이, 디지털 카메라 (148) 가 멀티코어 CPU (210) 에 커플링될 수도 있다. 예시적인 양태에서, 디지털 카메라 (148) 는 전하 커플링 디바이스 (CCD) 카메라 또는 상보적 금속 산화물 반도체 (CMOS) 카메라이다.
도 3 에 도시된 바와 같이, 스테레오 오디오 코덱 (150) 이 멀티코어 CPU (210) 에 커플링될 수도 있다. 게다가, 오디오 증폭기 (152) 가 스테레오 오디오 코덱 (150) 에 커플링될 수도 있다. 예시적인 양태에서, 제 1 스테레오 스피커 (154) 및 제 2 스테레오 스피커 (156) 는 오디오 증폭기 (152) 에 커플링된다. 도 3 은 마이크로폰 증폭기 (158) 가 또한 스테레오 오디오 코덱 (150) 에 커플링될 수도 있다는 것을 보여준다. 대안적으로 마이크로폰 (116) 이 마이크로폰 증폭기 (158) 에 커플링될 수도 있다. 특정의 양태에서, 주파수 변조 (FM) 라디오 튜너 (162) 가 스테레오 오디오 코덱 (150) 에 커플링될 수도 있다. 또한, FM 안테나 (164) 가 FM 라디오 튜너 (162) 에 커플링된다. 또, 스테레오 포트 (166) 는 스테레오 오디오 코덱 (150) 에 커플링될 수도 있다.
도 3 은 또한 무선 주파수 (RF) 시스템 또는 송수신기 (212) 가 멀티코어 CPU (210) 에 커플링되는 것을 나타낸다. RF 스위치 (170) 는 RF 송수신기 (212) 및 RF 안테나 (172) 에 커플링될 수도 있다. 도 3 에 도시된 바와 같이, 키패드 (174) 는 멀티코어 CPU (210) 에 커플링된다. 또한, 마이크로폰 (176) 을 갖는 모노 헤드셋이 멀티코어 CPU (210) 에 커플링될 수도 있다. 또한, 진동기 디바이스 (178) 가 멀티코어 CPU (210) 에 커플링될 수도 있다. 도 3 은 또한 파워 서플라이 (180) 가 USB 제어기 (140) 을 통해 온-칩 시스템 (120) 에 커플링될 수도 있다는 것을 보여준다. 특정의 양태에서, 파워 서플라이 (180) 는 전력을 요구하는 PCD (100) 의 여러 컴포넌트들로 전력을 제공하는 직류 (DC) 파워 서플라이이다. 또, 특정의 양태에서, 파워 서플라이는 AC 전원에 연결되는 교류 (AC) 대 DC 변압기로부터 도출되는 재충전가능한 DC 배터리 또는 DC 파워 서플라이이다.
도 3 은 또한 PCD (100) 가 또한 데이터 네트워크, 예를 들어 로컬 영역 네트워크, 개인 영역 네트워크, 또는 임의의 다른 네트워크를 액세스하기 위해 사용될 수도 있는 네트워크 카드 (188) 를 포함할 수도 있다는 것을 나타낸다. 네트워크 카드 (188) 는 블루투스 네트워크 카드, WiFi 네트워크 카드, 개인 영역 네트워크 (PAN) 카드, 또는 본 기술분야에서 잘 알려진 임의의 다른 네트워크 카드일 수도 있다. 또한, 네트워크 카드 (188) 는 집적회로에 통합될 수도 있다. 즉, 네트워크 카드 (188) 는 칩에서 풀 솔루션일 수도 있고, 별개의 네트워크 카드 (188) 가 아닐 수도 있다.
도 3 에 도시된 바와 같이, 디스플레이/터치스크린 (132), 비디오 포트 (138), USB 포트 (142), 카메라 (148), 제 1 스테레오 스피커 (154), 제 2 스테레오 스피커 (156), 마이크로폰 (116), FM 안테나 (164), 스테레오 포트 (166), RF 스위치 (170), RF 안테나 (172), 키패드 (174), 모노 헤드셋 (176), 진동기 (178), 및 파워 서플라이 (180) 는 온-칩 시스템 (120) 의 외부에 있다.
하나 이상의 모뎀들을 포함할 수도 있는 RF 시스템 또는 송수신기 (212) 는 이동통신을 위한 글로벌 시스템 ("GSM"), 코드 분할 다중 액세스 ("CDMA"), 광대역 코드 분할 다중 액세스 ("W-CDMA"), 시분할 동기 코드 분할 다중 액세스 ("TDSCDMA"), 롱 텀 에볼루션 ("LTE"), 및 FDB/LTE, PDD/LTE 등과 같은 그러나 이들에 제한되지 않는 LTE 의 변형들, 및 미래의 무선 프로토콜들 중 하나 이상을 지원할 수도 있다. 도시된 실시형태들에서, RF 시스템 (212) 은 온-칩 시스템 (120) 과 통합된다. 대안적인 실시형태들에서, RF 시스템 (212) 및 RF 스위치 (170) 는 온-칩 시스템 (120) 과는 별개인 통합된 RF 모듈에서 지원될 수도 있다. 또 다른 실시형태들에서, RF 시스템 (212) 및 RF 스위치 (170) 의 양자 모두는 온-칩 시스템 (120) 으로부터 그리고 서로로부터 별개이다.
도시된 실시형태에서, 멀티코어 CPU (210) 의 단일의 인스턴스가 묘사된다. 그러나, 임의의 수의 유사하게 구성된 멀티코어 CPU 들이 PCD (100) 와 연관된 여러 주변 디바이스들 및 기능들을 지원하기 위해 포함될 수 있다는 것이 이해되어야 한다. 대안적으로, 각각 단일의 산술 로직 유닛 또는 코어를 갖는 단일의 프로세서 또는 다수의 프로세서들은 소망될 수도 있는 대로 PCD (100) 와 연관된 여러 주변 디바이스들 및 기능들을 지원하기 위해 PCD (100) 또는 다른 컴퓨팅 디바이스들에서 전개될 수 있을 것이다.
특정의 양태에서, 여기에 기술된 방법 단계들 중 하나 이상은 시스템 메모리 (250) 에 저장된 데이터 및 프로세서 명령들의 조합을 통해 가능하게 될 수도 있다. 이들 명령들은 여기에 기술된 방법들을 수행하기 위해 멀티코어 CPU (210) 에 의해 실행될 수도 있다. 또한, 멀티코어 CPU (210), 시스템 메모리 (250), EEPROM (도시하지 않음) 또는 이들의 조합은 여기에 기술된 방법 단계들 중 하나 이상을 실행하기 위해 자원 상태 로직, 주파수 튜닝 로직, 응답성 데이터 및 구성 파라미터들을 포함하는, 전력 관리 로직의 비일시적 표현을 저장하는 수단으로서 작용할 수도 있다.
도 4 는 변경된 또는 개선된 전력 도메인 또는 전력 도메인 (400) 을 도시하는 개략도이다. 전력 도메인 (400) 은 파워 서플라이 (180) 및 다수의 클록 신호들에 커플링된다. 도시된 실시형태에서, 전력 도메인 (400) 은 각 프로세싱 자원에 대한 각각의 클록 신호를 수신한다. 기능 블록들 (402-408) 각각은 개별적으로 적어도 하나의 프로세싱 자원을 표현한다. 제 1 클록 신호 입력 (416) 은 제 1 기능 블록 (402) 에 커플링된다. 제 2 클록 신호 입력 (417) 은 제 2 기능 블록 (404) 에 커플링된다. 제 3 클록 신호 입력 (418) 은 제 3 기능 블록 (406) 에 커플링된다. 제 4 클록 신호 입력 (419) 은 제 4 기능 블록 (408) 에 커플링된다. 각각의 클록 신호 입력들 (416-419) 은 하이퍼바이저 (240) 로부터 각각의 위상 고정 루프 클록 소스로 통신된 제어 입력들에 응답한다. 대안적인 실시형태들에서, 전력 도메인 (400) 은 2 개, 3 개 또는 4 개보다 많은 기능 블록들로 배열될 수도 있다. 이들 대안적인 실시형태들 중에서, 클록 신호 소스는 입력 전압에서의 변동들에 유사하게 응답하는 기능 블록들 중에서 공유될 수도 있다.
도시된 실시형태들에서, 전력 도메인 (400) 은 각각의 스위치 (401-407) 가 대응하는 기능 블록으로 입력 전압을 전달하도록 구성되는 경우 기능 블록들 (402-408) 로 조정가능한 입력 전압을 제공하는 버스 (185) 를 포함한다. 제어기 (420) 는 파워 서플라이 (180) 로 연결 (425) 을 통해 제어 신호를 제공한다. 그 제어 신호는 전력 도메인 (400) 의 외부의 소스로부터 연결 (415) 상에서 통신된 상태 정보에 응답한다. 제어기 (420) 는 파워 서플라이 출력에서 원하는 전압을 야기하는 방식으로 제어 신호을 변경하도록 배열되는 자원 상태 로직 (422) 을 포함한다. 자원 상태 로직 (422) 은 제어 신호에 대한 조정을 개시하거나 지시하는 로직 회로들 및/또는 실행가능한 명령들을 실행함으로써 연결 (415) 상에서 수신된 상태 정보에 원하는 그리고 일관성 있는 방식으로 응답한다. 상태 정보는 기능 블록들 (402-408) 각각이 파워 온되는지, 파워 오프되는지를 포함하고, 또는 대안적으로 파워 온되는 경우, 상태 정보는 기능 블록들 (402-408) 이 고전력, 중간, 스탠바이 또는 저전력 상태에 있는지를 추가로 포함할 수도 있다. 상태 정보는 전력 도메인 (400) 내에서 동작하는 프로세싱 자원들 또는 기능 블록들 (402-408) 의 현재의 조건을 식별한다. 다른 방식으로 진술하면, 자원 상태 로직 (422) 은 전력 도메인 내의 프로세싱 자원들에 대한 각각의 공급 전압의 존재에 응답한다. 연결 (415) 상에서 통신된 상태 정보는 휴대용 컴퓨팅 디바이스 (100) 에서 하드웨어 또는 소프트웨어에서 (예를 들어, 하이퍼바이저 (240) 에서) 인에이블된 시스템 전력 관리기에서 생성될 수도 있다.
일부 실시형태들에서, 상태 정보는 이진 상태 (예를 들어, 온 또는 오프; 즉 전력이 인가되거나 전력이 인가되지 않음) 이다. 예를 들어, 전력 인가 상태는 스위치 (401-407) 중 하나가 폐쇄되는 경우 통신될 수도 있다. 무슨 현재의 조건이 식별되던지 기능 블록들 (402-408) 과 같은 프로세싱 자원들과 각각의 일대일 관계에서 연관된다. 상태 정보가 파워 온 조건에 더하여 고전력, 중간, 스탠바이 또는 저전력 상태를 추가로 식별하는 경우, 이러한 추가적인 정보는 단일의 이진 비트보다 더 많은 것에 의해 표현된다. 조정되거나 원하는 전압은 각각의 기능 블록들 (402-408) 로 조정된 전압을 제어가능하게 제공하기 위해 스위치 (401-407) 각각으로 분배된다. 기능 블록들 (402-408) 의 동적 사용은 전력 도메인 (400) 내의 기능 블록 (즉, 프로세싱 자원) 과 연관된 상태 변경 또는 상태에서의 변경이 발생하는 경우 입력 전압, 클록 주파수, 또는 양자 모두와 같은 입력 파라미터를 조정할 기회를 생성한다.
상태 정보 또는 상태 표시자는 전력 도메인 (400) 외부의 소스로부터 수신된다. 이러한 제 1 실시형태의 변형에서, 다중 조건 표시자는 전력 도메인에 통신되는 입력 전압 및 클록 주파수에 응답하는 정보를 포함한다. 또 다른 변형에서, 다중 조건 표시자들은 전력 도메인 (400) 에 제공된 입력 전압 뿐아니라 전력 도메인 (400) 내의 각각의 별개의 프로세싱 자원에 제공된 클록 주파수에 응답하는 정보를 포함한다.
전력 도메인 (400) 은 또한 해당 센서들 각각에 근접한 회로들의 응답성을 결정하도록 구성된 테스트 회로들과 배열된 센서들의 세트로 배열된다. 도시된 바와 같이, 센서들의 세트는 제어기 (420) 에서 시작하고 종료하는 센서 버스 (421) 상에서 서로 직렬로 커플링된다. 센서 (431) 는 제어기 (420) 와 기능 블록 (402) 사이의 회로 영역에서 버스 (421) 를 따라 위치된다. 유사하게, 센서 (436) 는 제어기 (420) 와 기능 블록 (408) 사이의 회로 영역에서 버스 (421) 를 따라 위치된다. 버스 (421) 를 따라 위치된 센서들은 응답성 데이터와 함께 표시자 또는 인덱스를 제공하도록 배열된다. 표시자 또는 인덱스는 전력 도메인 (400) 내의 대응하는 회로 영역 또는 기능 블록을 정의한다. 기능 블록들 밖의 또는 대응하는 기능 블록 (402-408) 내의 여러 회로 영역들로부터의 제공된 응답성 정보는 연결 (425) 상의 제어 신호를 조정하기 위해 제어기 (420) 내의 자원 상태 로직 또는 다른 로직 회로들에 의해 사용될 수도 있다. 일부 배열들에서, 제공된 응답성 정보는 제 2 회로 영역 또는 제 2 기능 블록에 대한 제 1 회로 영역 또는 기능 블록의 상대적인 응답성의 척도일 수도 있다.
도 5 는 변경된 전력 도메인 (500) 의 대안적인 실시형태의 개략도이다. 변경된 전력 도메인 (500) 은 전력 도메인 (500) 이 외부 소스로부터 상태 정보를 수신하도록 배열되지 않는다는 점에서 전력 도메인 (400) 과는 상이하다. 전력 관리 애플리케이션 또는 하이퍼바이저 (240) 와 같은 외부 소스로부터 상태 정보를 수신하는 대신, 변경된 전력 도메인 (500) 은 변경된 센서 체인 신호 프로토콜로부터 상태 정보 및 추가적인 정보를 수신한다. 체인 (521) 에서의 센서들은 해당 기능 블록 또는 센서 (531) 또는 센서 (536) 의 경우 기능 블록 (402-408) 내는 아니지만 여전히 전력 도메인 (500) 내의 회로 영역의 동작 상태에 대한 정보를 임베딩한다. 그 정보는 전력 상태 및 클록 주파수 중 하나 또는 양자 모두를 포함한다. 이러한 예에서, 제어기 (520) 는 상태 정보 및 클록 주파수를 수신하고 버스 (185) 상의 원하는 입력 전압을 달성하기 위해 원하는 방식으로 연결 (525) 상의 제어 신호를 조정함으로써 이에 따라 응답한다.
예를 들어, 제어기 (520) 는 마스킹 또는 무시되어야 하는 특정의 센서 정보를 식별하기 위해 마스킹 로직을 실행한다. 그렇게 마스킹 또는 무시되는 경우, 대응하는 프로세싱 자원 또는 기능 블록 (402-408) 으로부터의 센서 정보는 오프 상태에 있다. 다른 예에서, 제어기 (520) 는 해당 프로세싱 자원이 오프 상태에 있는 경우 선택 센서를 턴 오프하고 그 센서를 바이패스한다. 바이패스 경로 또는 회로가 설명의 간단성을 위해 도시되지 않지만, 전력 도메인 (500) 에 대해 분포되는 하나 이상의 센서들이 그러한 바이패스 회로 또는 경로에 의해 증가될 수도 있다는 것이 이해되어야 한다. 그렇게 제공되는 경우, 임베딩된 상태 정보 및 해당 클록 주파수는, 적용가능한 경우, 제어기 (520) 로 가는 도중에 바이패스된 센서 또는 센서들을 회피하기 위해 버스 (521) 를 따라 통신될 것이다.
상태 정보는 전력 도메인 (500) 내에서 동작하는 프로세싱 자원들 또는 기능 블록 (402-408) 의 현재의 조건을 식별한다. 다른 방식으로 진술하면, 자원 상태 로직 (522) 은 전력 도메인 내의 프로세싱 자원들에 대한 해당 파워 서플라이의 존재에 응답한다. 버스 (521) 상에서 통신된 상태 정보는 변경된 센서 체인 신호 프로토콜에 따라 통신된다. 일부 실시형태들에서, 상태 정보는 이진 상태 (예를 들어, 온/오프; 즉 전력이 인가되거나 전력이 인가되지 않음) 이다. 예를 들어, 전력 인가 상태는 스위치 (401-407) 중 하나가 폐쇄 위치로 제어가능하게 지향되고, 버스 (185) 상에 존재하는 입력 전압이 대응하는 기능 블록으로 제공되거나 공급되는 경우 결정될 수도 있다. 현재의 조건은 해당 기능 블록과의 일대일 관계로 연관된다. 상태 정보가 파워 온 조건에 더하여 높은, 중간, 또는 저전력 상태 또는 조건을 추가로 식별하는 경우, 그 추가적인 정보는 단일의 이진 비트보다 더 많은 것에 의해 표현된다.
도 6 은 변경된 전력 도메인 (600) 의 다른 실시형태의 개략도이다. 변경된 전력 도메인 (600) 은 전력 도메인 (600) 이 자원 상태 로직 (622) 및 주파수 튜닝 로직 (624) 양자 모두를 갖는 제어기 (620) 로 배열된다는 점에서 전력 도메인 (500) 과는 상이하다. 제어기 (620) 는 연결 (625) 상에서 파워 서플라이 (180) 로 포워드되는 제 1 제어 신호를 생성한다. 제어기 (620) 는 또한 전력 도메인 (600) 내의 다른 프로세싱 자원들 대신에 하나 이상의 프로세싱 자원들에 대한 친화도 또는 선호도를 포함하는 연결 (623) 상에서 통신되는 제 2 제어 신호를 생성한다. 제 2 제어 신호는 어느 프로세싱 자원들 또는 기능 블록들이 현재의 성능 요구를 충족시키기 위해 필요한지를 결정하기 위해 그 친화도 또는 선호도 정보를 사용하는 스케쥴러 (630) 로 통신된다. 스케쥴러 (630) 는 전력 관리기 또는 하이퍼바이저에서와 같이 회로들 (하드웨어) 에서 또는 소프트웨어에서 구현될 수도 있다. 그러나 구현되는 경우, 스케쥴러 (630) 는 프로세싱 자원들로 태스크들을 할당하는 로직을 적용한다. 태스크 할당들은 전력 도메인 (600) 의 기능 블록 (402-408) 각각으로 또는 대안적으로 연결 (416-419) 의 각각에 커플링된 클록 신호 소스들로 연결 (635) 상에서 통신되는 제어 정보의 형태로 통신된다.
도시된 바와 같이, 센서들의 세트는 제어기 (620) 에서 시작하고 종료하는 센서 버스 (521) 상에서 서로 직렬로 커플링된다. 센서 (631) 는 제어기 (620) 와 기능 블록 (402) 사이의 회로 영역에 버스 (521) 를 따라 위치된다. 유사하게, 센서 (636) 는 기능 블록 (408) 과 제어기 (620) 사이의 회로 영역에서 버스 (521) 를 따라 위치된다. 버스 (521) 를 따라 위치된 센서들은 응답성 데이터와 함께 표시자 또는 인덱스를 제공한다. 표시자 또는 인덱스는 전력 도메인 (600) 내의 대응하는 회로 영역 또는 기능 블록을 정의한다. 기능 블록들 밖이나 대응하는 기능 블록 (402-408) 내의 여러 회로 영역들로부터의 제공된 응답성 정보는 연결 (625) 상의 제 1 제어 신호를 조정하기 위해 제어기 (620) 내의 자원 상태 로직 (622) 에 의해 사용된다. 또, 기능 블록 (402-408) 의 하나 이상 내에 위치된 센서들은 제어기 (620) 내의 주파수 튜닝 로직 (624) 으로 버스 (521) 를 따라 클록 주파수 정보를 제공할 수도 있다. 주파수 튜닝 로직 (624) 은 연결 (623) 상의 제 2 제어 신호를 조정하기 위해 상태 정보와 함께 클록 주파수 정보를 사용한다. 바이패스 경로 또는 회로가 도시의 간단성을 위해 도시되지 않지만, 전력 도메인 (600) 주위에 분포되는 하나 이상의 센서들이 그러한 바이패스 회로 또는 경로에 의해 증가될 수도 있다는 것이 이해되어야 한다. 그렇게 제공되는 경우, 임베딩된 상태 정보 및 해당 클록 주파수는, 적용가능한 경우, 버스 (521) 를 따라 통신되어, 제어기 (620) 로의 도중에 바이패스되는 센서 또는 센서들을 회피할 것이다.
도 7 은 변경된 전력 도메인 (700) 의 예시의 실시형태의 개략도이다. 전력 도메인 (700) 은 공유 전력 버스 (185) 를 통해 전력을 수신하는 여러 상이한 또는 이종의 프로세싱 자원들을 포함한다. 전력 도메인 (700) 은 멀티코어 프로세서 (210), GPU (190), 비디오 코덱 (134) 및 스테레오/오디오 코덱 (150) 을 포함한다. 이들 상이한 프로세싱 자원들 중 하나 이상이 아이드인 시간들 동안 제어기 (720) 는 여전히 원하는 성능을 달성하면서 소비되는 전력을 감소시키기 위해 파워 서플라이 (180) 로의 연결 (725) 상의 제어 신호를 조작함으로써 공유 전력 버스 (185) 상의 입력 전압을 조정할 수 있다.
전력 도메인 (700) 은 다수의 클록 신호들을 수신한다. 도시된 실시형태에서, 전력 도메인 (700) 은 각각의 프로세싱 자원에 대한 해당 클록 신호를 수신한다. 제 1 클록 신호 입력 (716) 은 CPU (210) 에 커플링된다. 제 2 클록 신호 입력 (717) 은 GPU (190) 에 커플링된다. 제 3 클록 신호 입력 (718) 은 비디오 코덱 (134) 에 커플링된다. 제 4 클록 신호 입력 (719) 은 스테레오/오디오 코덱 (150) 에 커플링된다. 각각의 클록 신호 입력들 (716-719) 은 하이퍼바이저 (240) 로부터 각각의 위상 고정 루프 클록 소스로 통신된 제어 입력들에 응답한다. 대안적인 실시형태들에서, 전력 도메인 (700) 은 더 많거나 더 적은 기능 블록들로 배열될 수도 있다. 이들 대안적인 실시형태들 사이에서, 클록 신호 소스는 입력 전압에서의 변동들에 유사하게 응답하는 기능 블록들 사이에서 공유될 수도 있다.
도시된 실시형태에서, 전력 도메인 (700) 은 CPU (210), GPU (190), 비디오 코덱 (134), 및 스테레오/오디오 코덱 (150) 으로 조정가능한 입력 전압을 제공하는 버스 (185) 를 포함한다. 도시된 실시형태에서, 버스 (185) 상의 입력 전압은 CPU (210) 에 제공되기 전에 스위칭되지 않는다. CPU (210) 와는 달리, 버스 (185) 상의 입력 전압은 각각 스위치 (701), 스위치 (702), 및 스위치 (703) 를 통해 GPU (190), 비디오 코덱 (134) 및 스테레오/오디오 코덱 (150) 으로 전달된다. 제어기 (720) 는 파워 서플라이 (180) 로 연결 (725) 을 통해 제어 신호를 제공한다. 제어 신호는 버스 (721) 상에서 통신된 상태 정보에 응답한다. 제어기 (720) 는 파워 서플라이 출력에서 원하는 전압을 야기하는 방식으로 제어 신호를 변경하도록 배열되는 자원 상태 로직 (722) 을 포함한다. 자원 상태 로직 (722) 은 버스 (721) 상에서 수신된 상태 정보에 원하는 그리고 일관된 방식으로 응답한다. 상태 정보는 GPU (190), 비디오 코덱 (134), 또는 스테레오/오디오 코덱 (150) 각각이 파워 온되는지, 파워 오프되는지, 또는 중간, 스탠바이 또는 저전력 상태에 있는지 여부를 포함한다. 조정된 또는 원하는 전압은 GPU (190), 비디오 코덱 (134) 및 스테레오/오디오 코덱 (150) 으로 조정된 전압을 제어가능하게 제공하기 위해 스위치들 (701-703) 각각으로 분배된다. 이들 프로세싱 자원들의 동적 사용은 전력 도메인 (700) 에서의 프로세싱 자원과 연관된 상태 변경 또는 상태에서의 변경이 발생한 경우에 입력 전압, 클록의 주파수, 또는 양자 모두와 같은 입력 파라미터를 조정할 기회를 생성한다.
전력 도메인 (700) 은 또한 해당 센서들 각각에 근접한 회로들의 응답성을 결정하도록 구성된 테스트 회로들로 배열된 센서들의 세트로 배열된다. 도시된 바와 같이, 센서들의 세트는 제어기 (720) 에서 시작하고 종료하는 센서 버스 (721) 상에서 직렬로 커플링된다. 센서 (731) 는 제어기 (720) 와 멀티코어 CPU (210) 사이의 회로 영역에서 버스 (721) 를 따라 위치된다. 유사하게, 센서 (736) 는 스테레오/오디오 코덱 (150) 과 제어기 (720) 사이의 회로 영역에서 버스 (721) 를 따라 위치된다. 버스 (721) 상의 센서들은 응답성 데이터와 함께 표시자 또는 인덱스를 제공하도록 배열된다. 표시자 또는 인덱스는 전력 도메인 (700) 내의 대응하는 회로 영역 또는 기능 블록을 정의한다. 프로세싱 자원들 밖의 또는 대응하는 CPU (210), GPU (190), 비디오 코덱 (134) 또는 스테레오/오디오 코덱 (150) 내의 여러 회로 영역들로부터의 제공된 응답성 정보는 연결 (725) 상의 제어 신호를 조정하기 위해 제어기 (720) 내의 자원 상태 로직 (722) 또는 다른 로직 회로들에 의해 사용될 수도 있다. 바이패스 경로 또는 회로가 도시의 간단성을 위해 도시되지 않지만, 전력 도메인 (700) 주위에 분포된 하나 이상의 센서들이 그러한 바이패스 회로 또는 경로에 의해 증가될 수도 있다는 것이 이해되어야 한다. 그렇게 제공되는 경우, 임베딩된 상태 정보는 버스 (721) 를 따라 통신되어, 제어기 (720) 로 가는 도중에 바이패스된 센서 또는 센서들을 회피할 것이다.
도 8 은 휴대용 컴퓨팅 디바이스에서 전력 도메인에 대한 입력을 동적으로 제어하는 방법 (800) 의 예시의 실시형태를 도시하는 플로우챠트이다. 블록 (802) 에서, 휴대용 컴퓨팅 디바이스의 전력 도메인에서의 적어도 2 개의 프로세싱 자원들의 현재의 조건이 식별된다. 기술된 바와 같이, 현재의 조건은 프로세싱 자원들 각각에 대한 적어도 온/오프 상태를 포함한다. 일부 배열들에서, 현재의 조건은 저전력 또는 스탠바이 상태를 정의할 것이다. 일부 다른 배열들에서, 현재의 조건은 클록 주파수와 같은 추가적인 정보를 포함할 수도 있다. 블록 (804) 에서, 입력 파라미터가 블록 (802) 에서 식별된 전력 도메인에서의 조건에서의 변경에 응답하여 조정된다. 그 조정은 전력 도메인에서의 입력 레일에 커플링되는 파워 서플라이에 의해 인가된 전위에서의 증가 또는 감소를 포함한다. 일부 배열들에서, 그 조정은 전력 도메인 내의 각각의 프로세싱 자원에 커플링된 클록 신호의 주파수에서의 증가 또는 감소를 포함할 수도 있다. 블록 (806) 에서, 입력 파라미터가 전력 도메인에 적용된다.
본 명세서에 기술된 프로세스들 또는 프로세스 플로우들에서의 소정의 단계들은 당연히 본 발명이 기술된 바와 같이 기능하기 위해 다른 것들에 선행한다. 그러나, 본 발명은 그러한 순서 또는 시퀀스가 본 발명의 기능성을 변경하지 않는다면 기술된 단계들의 순서에 제한되지 않는다. 즉, 일부 단계들은 본 발명의 범위로부터 일탈하지 않고 다른 단계들 전에, 후에, 또는 병렬로 (실질적으로 동시에) 수행될 수도 있다. 일부 예들에서, 소정의 단계들은 본 발명으로부터 일탈하지 않고 생략되거나 수행되지 않을 수도 있다. 또한, "이후에", "그 후", "다음에", "후속적으로" 등과 같은 단어들은 단계들의 순서를 제한하는 것으로 의도되지 않는다. 이들 단어들은 단지 예시적인 방법의 설명을 통해 독자를 안내하도록 사용된다.
추가적으로, 휴대용 컴퓨팅 디바이스 내의 전력 관리에서의 통상의 기술자는 예를 들어 본 명세서에서의 플로우 챠트들 및 연관된 설명에 기초하여 어려움 없이 개시된 발명을 구현하기 위해 적절한 하드웨어 및/또는 회로들을 식별하고 및/또는 적절한 로직 및 결정들을 식별할 수 있다. 따라서, 프로그램 코드 명령들의 특정의 세트, 결정 임계값들 또는 상세한 하드웨어 디바이스들의 개시는 본 발명을 실시하고 사용하는 방법에 대한 적절한 이해를 위해 필수적인 것으로 고려되지 않는다. 청구된 프로세서-가능 프로세스들 및 회로 아키텍쳐들의 발명적 기능 및 양태들은 여러 프로세스 플로우들을 도시할 수도 있는 도면들과 결합하여 그리고 상기 설명에서 더욱 상세히 설명된다.
상술된 하나 이상의 예시적인 양태들에서, 기술된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 그 기능들은 비일시적 프로세서 판독가능 매체와 같은 컴퓨터 판독가능 매체상에서 하나 이상의 명령들 또는 코드로서 저장될 수도 있다. 컴퓨터 판독가능 매체들은 데이터 저장 매체들을 포함한다.
저장 매체들은 컴퓨터 또는 프로세서에 의해 액세스될 수도 있는 임의의 이용가능한 매체들일 수도 있다. 제한이 아닌 예시로서, 그러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM, 또는 다른 광디스크 스토리지, 자기 디스크 스토리지, 또는 다른 자기 저장 디바이스들, 또는 컴퓨터에 의해 액세스될 수 있고 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 반송 또는 저장하는데 사용될 수 있는 임의의 다른 매체를 포함할 수도 있다. 디스크 (disk 및 disc) 는 본원에서 사용되는 바와 같이, 콤팩트 디스크 (compact disc, CD), 레이저 디스크, 광 디스크, 디지털 다용도 디스크 (DVD), 플로피 디스크 (floppy disk) 및 블루레이 디스크를 포함하는데, disk들은 보통 데이터를 자기적으로 재생하지만, disc들은 레이저들로써 광학적으로 데이터를 재생한다. 상기한 것들의 조합들은 또한 비일시적 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
선택된 양태들이 상세하게 도시되고 기술되었지만, 여러 치환들 및 변경들이 다음의 청구범위에 의해 정의된 본 시스템들 및 방법들로부터 일탈하지 않고 그것에 행해질 수도 있다는 것이 이해될 것이다.
Claims (30)
- 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법으로서,
상기 전력 도메인은 전원을 공유하는 프로세싱 자원들을 포함하고,
상기 방법은:
상기 휴대용 컴퓨팅 디바이스에서의 상기 전력 도메인에서 적어도 2 개의 프로세싱 자원들의 현재의 조건을 식별하는 단계;
상기 휴대용 컴퓨팅 디바이스에서의 상기 전력 도메인에서 상기 적어도 2 개의 프로세싱 자원들 중 하나의 상기 현재의 조건에서의 변경에 응답하여, 입력 파라미터의 조정을 개시하는 단계; 및
상기 전력 도메인에 상기 입력 파라미터를 적용하는 단계를 포함하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 1 항에 있어서,
상기 적어도 2 개의 프로세싱 자원들 중 하나의 현재의 조건을 식별하는 단계는 상기 적어도 2 개의 프로세싱 자원들 중 하나와 각각의 관계로 연관된 이진 상태인, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 2 항에 있어서,
상기 이진 상태는 전력 인가 상태 및 전력 비인가 상태 중 하나를 정의하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 1 항에 있어서,
상기 적어도 2 개의 프로세싱 자원들 중 하나의 현재의 조건을 식별하는 단계는 상기 적어도 2 개의 프로세싱 자원들 중 하나와 각각의 관계에 있는 클록 주파수를 정의하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 1 항에 있어서,
상기 적어도 2 개의 프로세싱 자원들 중 하나의 현재의 조건을 식별하는 단계는 시스템 전력 관리기로부터 신호를 수신하는 단계를 포함하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 1 항에 있어서,
상기 조정을 개시하는 단계는 자원 상태 로직을 실행하는 단계를 포함하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 6 항에 있어서,
상기 자원 상태 로직을 실행하는 단계는 파워 서플라이로 지향된 제어 신호를 생성하는 단계를 포함하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 7 항에 있어서,
상기 제어 신호는 상기 파워 서플라이에게 전압을 조정하도록 지시하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 1 항에 있어서,
상기 적어도 2 개의 프로세싱 자원들 중 하나의 현재의 조건을 식별하는 단계는 센서로부터 신호를 수신하는 단계를 포함하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 9 항에 있어서,
상기 센서로부터의 신호는 클록 주파수를 식별하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 9 항에 있어서,
상기 센서로부터의 신호는 전력이 인가되는 때를 식별하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 9 항에 있어서,
상기 조정을 개시하는 단계는 마스킹 로직을 실행하는 단계를 포함하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 9 항에 있어서,
상기 센서로부터의 신호는 제 2 센서를 바이패스하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 1 항에 있어서,
상기 입력 파라미터의 조정을 개시하는 단계는 상기 적어도 2 개의 프로세싱 자원들로 태스크들을 할당할 때 로직을 적용하는 스케쥴러로 정보를 통신하는 단계를 포함하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 14 항에 있어서,
상기 정보는 상기 적어도 2 개의 프로세싱 자원들과 일대일 관계에서 회로들의 전압 마진 및 상대적 응답성 중 하나 이상으로부터 선택되는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 휴대용 컴퓨팅 디바이스에서 배열된 전력 도메인으로서,
공유된 전력 소스에 의해 전력이 공급되는 적어도 2 개의 프로세싱 자원들; 및
상기 적어도 2 개의 프로세싱 자원들에 커플링되고, 전력 관리기로부터 정보를 수신하도록 구성된 제어기로서, 상기 제어기는 상기 전력 도메인에서의 상기 적어도 2 개의 프로세싱 자원들로 원하는 입력 전압을 제공하기 위해 파워 서플라이에 의해 사용되는 제 1 제어 신호를 생성하기 위해 자원 상태 로직으로 상기 정보를 프로세싱하도록 배열된, 상기 제어기를 포함하는, 휴대용 컴퓨팅 디바이스에서 배열된 전력 도메인. - 제 16 항에 있어서,
상기 자원 상태 로직은 상기 적어도 2 개의 프로세싱 자원들에 대한 각각의 서플라이 전압의 존재에 응답하는, 휴대용 컴퓨팅 디바이스에서 배열된 전력 도메인. - 제 16 항에 있어서,
상기 자원 상태 로직은 상기 적어도 2 개의 프로세싱 자원들에 대한 각각의 클록 주파수에 응답하는, 휴대용 컴퓨팅 디바이스에서 배열된 전력 도메인. - 제 16 항에 있어서,
상기 자원 상태 로직은 센서 체인 신호 프로토콜에 임베딩된 상태 정보에 응답하는, 휴대용 컴퓨팅 디바이스에서 배열된 전력 도메인. - 제 16 항에 있어서,
상기 제어기는 또한 상기 적어도 2 개의 프로세싱 자원들에 태스크들을 할당할 때 로직을 적용하는 스케쥴러에 의해 사용되는 제 2 제어 신호를 생성하도록 배열되는, 휴대용 컴퓨팅 디바이스에서 배열된 전력 도메인. - 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법으로서,
상기 전력 도메인은 전원을 공유하는 프로세싱 자원들을 포함하고,
상기 방법은:
상기 휴대용 컴퓨팅 디바이스에서의 상기 전력 도메인에서 적어도 2 개의 프로세싱 자원들의 현재의 조건을 식별하는 단계;
전력 관리기로부터 수신된 상태 정보에 응답하여, 입력 파라미터의 조정을 개시하는 단계;
상기 적어도 2 개의 프로세싱 자원들의 상기 현재의 조건에 응답하여, 상기 전력 도메인에서의 센서 버스를 변경하는 단계; 및
상기 전력 도메인에 상기 입력 파라미터를 적용하는 단계를 포함하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 21 항에 있어서,
상기 적어도 2 개의 프로세싱 자원들 중 하나의 현재의 조건을 식별하는 단계는 적어도 2 개의 전력 공급 상태들을 정의하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 21 항에 있어서,
상기 적어도 2 개의 프로세싱 자원들 중 하나의 현재의 조건을 식별하는 단계는 상기 적어도 2 개의 프로세싱 자원들 중 하나와 각각의 관계에 있는 클록 주파수를 정의하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 21 항에 있어서,
상기 센서 버스를 변경하는 단계는 센서를 바이패스하는 단계를 포함하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 제 21 항에 있어서,
상기 센서 버스를 변경하는 단계는 센서로부터 전력을 제거하는 단계를 포함하는, 휴대용 컴퓨팅 디바이스에서의 전력 도메인을 동적으로 제어하는 방법. - 휴대용 컴퓨팅 디바이스에서 배열된 전력 도메인으로서,
공유된 전력 소스에 의해 전력이 공급되는 적어도 2 개의 프로세싱 자원들; 및
상기 적어도 2 개의 프로세싱 자원들에 커플링되고, 상기 적어도 2 개의 프로세싱 자원들을 모니터링하는 각각의 센서들로부터 정보를 수신하도록 구성된 제어기로서, 상기 제어기는 상기 전력 도메인에서의 상기 적어도 2 개의 프로세싱 자원들로 원하는 입력 전압을 제공하기 위해 파워 서플라이에 의해 사용되는 제 1 제어 신호를 생성하기 위해 자원 상태 로직으로 상기 정보를 프로세싱하도록 배열된, 상기 제어기를 포함하는, 휴대용 컴퓨팅 디바이스에서 배열된 전력 도메인. - 제 26 항에 있어서,
상기 자원 상태 로직은 상기 적어도 2 개의 프로세싱 자원들에 대한 각각의 클록 주파수에 응답하는, 휴대용 컴퓨팅 디바이스에서 배열된 전력 도메인. - 제 26 항에 있어서,
상기 자원 상태 로직은 센서 체인 신호 프로토콜에 임베딩된 상태 정보에 응답하는, 휴대용 컴퓨팅 디바이스에서 배열된 전력 도메인. - 제 26 항에 있어서,
상기 제어기는 또한 상기 적어도 2 개의 프로세싱 자원들에 태스크들을 할당할 때 로직을 적용하는 스케쥴러에 의해 사용되는 제 2 제어 신호를 생성하도록 배열되는, 휴대용 컴퓨팅 디바이스에서 배열된 전력 도메인. - 제 29 항에 있어서,
상기 스케쥴러는 상기 입력 전압 및 이용가능한 클록 주파수로 상기 태스크를 수행할 수 있는 프로세싱 자원의 식별에 응답하여 태스크들을 할당하는, 휴대용 컴퓨팅 디바이스에서 배열된 전력 도메인.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461970290P | 2014-03-25 | 2014-03-25 | |
US61/970,290 | 2014-03-25 | ||
US14/266,642 US9671857B2 (en) | 2014-03-25 | 2014-04-30 | Apparatus, system and method for dynamic power management across heterogeneous processors in a shared power domain |
US14/266,642 | 2014-04-30 | ||
PCT/US2015/022326 WO2015148565A1 (en) | 2014-03-25 | 2015-03-24 | Apparatus, system and method for dynamic power management across heterogeneous processors in a shared power domain |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160136410A true KR20160136410A (ko) | 2016-11-29 |
Family
ID=54190265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167029506A KR20160136410A (ko) | 2014-03-25 | 2015-03-24 | 공유 전력 도메인에서의 이종의 프로세서들에 걸친 동적 전력 관리를 위한 장치, 시스템 및 방법 |
Country Status (7)
Country | Link |
---|---|
US (2) | US9671857B2 (ko) |
EP (1) | EP3129855A1 (ko) |
JP (1) | JP6203425B2 (ko) |
KR (1) | KR20160136410A (ko) |
CN (1) | CN106133641B (ko) |
BR (1) | BR112016022266B1 (ko) |
WO (1) | WO2015148565A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023048930A1 (en) * | 2021-09-24 | 2023-03-30 | Apple Inc. | Global integrated circuit power control |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9671857B2 (en) | 2014-03-25 | 2017-06-06 | Qualcomm Incorporated | Apparatus, system and method for dynamic power management across heterogeneous processors in a shared power domain |
US10488902B2 (en) | 2015-02-23 | 2019-11-26 | Qualcomm Innovation Center, Inc. | Dynamic multi-core processor voltage scaling based on online core count |
US10142196B1 (en) * | 2016-04-15 | 2018-11-27 | Senseware, Inc. | System, method, and apparatus for bridge interface communication |
US10896138B2 (en) * | 2016-05-27 | 2021-01-19 | Apple Inc. | Dynamically controlling random access memory retention in a wireless device |
US20180150256A1 (en) * | 2016-11-29 | 2018-05-31 | Intel Corporation | Technologies for data deduplication in disaggregated architectures |
US10401938B1 (en) | 2017-04-10 | 2019-09-03 | Apple Inc. | Single power plane dynamic voltage margin recovery for multiple clock domains |
US11080095B2 (en) * | 2017-06-04 | 2021-08-03 | Apple Inc. | Scheduling of work interval objects in an AMP architecture using a closed loop performance controller |
KR102563648B1 (ko) * | 2018-06-05 | 2023-08-04 | 삼성전자주식회사 | 멀티 프로세서 시스템 및 그 구동 방법 |
CN110442224A (zh) * | 2019-09-17 | 2019-11-12 | 联想(北京)有限公司 | 电子设备的电源功率分配方法、电子设备和可读存储介质 |
TWI708957B (zh) * | 2019-12-12 | 2020-11-01 | 聚眾聯合科技股份有限公司 | 動態功率定位方法及其動態功率定位系統 |
US20210200298A1 (en) * | 2019-12-30 | 2021-07-01 | Advanced Micro Devices, Inc. | Long-idle state system and method |
CN113311934B (zh) * | 2021-04-09 | 2022-10-11 | 北京航空航天大学 | 一种多核异构域控制器动态功耗调整方法及*** |
CN114297131B (zh) * | 2021-11-15 | 2024-06-11 | 杭州中天微***有限公司 | 传感器控制***、片上***和计算装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3068394B2 (ja) * | 1993-12-16 | 2000-07-24 | 株式会社東芝 | センサシステム |
US6802014B1 (en) * | 2000-10-26 | 2004-10-05 | Apple Computer, Inc. | Method and apparatus for managing power in computer systems |
WO2002050645A1 (fr) * | 2000-12-20 | 2002-06-27 | Hitachi, Ltd. | Circuit electronique a faible consommation d'energie et procede de reduction de la consommation d'energie |
US6952748B1 (en) | 2001-01-02 | 2005-10-04 | Advanced Micro Devices, Inc. | Voltage request arbiter |
US7302599B2 (en) * | 2004-02-12 | 2007-11-27 | Via Technologies, Inc. | Instantaneous frequency-based microprocessor power management |
GB2403561A (en) | 2003-07-02 | 2005-01-05 | Advanced Risc Mach Ltd | Power control within a coherent multi-processor system |
US7039539B2 (en) * | 2003-10-07 | 2006-05-02 | Hewlett-Packard Development Company, L.P. | Rack equipment environmental condition adjustment system and method |
US7526661B2 (en) * | 2004-12-02 | 2009-04-28 | Intel Corporation | Performance state-based thread management |
KR101054946B1 (ko) | 2005-02-23 | 2011-08-08 | 삼성전자주식회사 | 전압 레벨 조정 기능을 가진 시스템 온 칩 및 전압 레벨 조정 방법 |
US8327158B2 (en) * | 2006-11-01 | 2012-12-04 | Texas Instruments Incorporated | Hardware voting mechanism for arbitrating scaling of shared voltage domain, integrated circuits, processes and systems |
US8725488B2 (en) | 2007-07-26 | 2014-05-13 | Qualcomm Incorporated | Method and apparatus for adaptive voltage scaling based on instruction usage |
JP4800289B2 (ja) | 2007-11-30 | 2011-10-26 | 富士通セミコンダクター株式会社 | 電源制御装置及びその電源制御装置を有するシステムlsi |
US8051320B2 (en) | 2007-12-12 | 2011-11-01 | Mips Technologies, Inc. | Clock ratio controller for dynamic voltage and frequency scaled digital systems, and applications thereof |
US8370663B2 (en) | 2008-02-11 | 2013-02-05 | Nvidia Corporation | Power management with dynamic frequency adjustments |
KR101512493B1 (ko) | 2009-02-06 | 2015-04-15 | 삼성전자주식회사 | 저전력 시스템온칩 |
US8904115B2 (en) | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
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 |
US9268382B2 (en) * | 2013-07-01 | 2016-02-23 | Oracle International Corporation | Method and system for monitoring resource usage of logical domains |
US9671857B2 (en) | 2014-03-25 | 2017-06-06 | Qualcomm Incorporated | Apparatus, system and method for dynamic power management across heterogeneous processors in a shared power domain |
-
2014
- 2014-04-30 US US14/266,642 patent/US9671857B2/en active Active
-
2015
- 2015-03-24 JP JP2016558082A patent/JP6203425B2/ja active Active
- 2015-03-24 BR BR112016022266-0A patent/BR112016022266B1/pt active IP Right Grant
- 2015-03-24 CN CN201580015545.2A patent/CN106133641B/zh active Active
- 2015-03-24 KR KR1020167029506A patent/KR20160136410A/ko not_active Application Discontinuation
- 2015-03-24 WO PCT/US2015/022326 patent/WO2015148565A1/en active Application Filing
- 2015-03-24 EP EP15715920.3A patent/EP3129855A1/en not_active Withdrawn
- 2015-08-28 US US14/839,836 patent/US9733694B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023048930A1 (en) * | 2021-09-24 | 2023-03-30 | Apple Inc. | Global integrated circuit power control |
Also Published As
Publication number | Publication date |
---|---|
CN106133641B (zh) | 2019-08-06 |
WO2015148565A1 (en) | 2015-10-01 |
US20150277536A1 (en) | 2015-10-01 |
CN106133641A (zh) | 2016-11-16 |
US9671857B2 (en) | 2017-06-06 |
BR112016022266A2 (ko) | 2017-08-15 |
JP6203425B2 (ja) | 2017-09-27 |
US20150370316A1 (en) | 2015-12-24 |
US9733694B2 (en) | 2017-08-15 |
JP2017511538A (ja) | 2017-04-20 |
EP3129855A1 (en) | 2017-02-15 |
BR112016022266B1 (pt) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6203425B2 (ja) | 共有電力領域における異種プロセッサにわたる動的電力管理のための装置、システムおよび方法 | |
CN107924225B (zh) | 用于动态地调整存储器状态转变定时器的***和方法 | |
US9378536B2 (en) | CPU/GPU DCVS co-optimization for reducing power consumption in graphics frame processing | |
CN106415521B (zh) | 多处理动态非对称和对称模式切换的硬件设备和方法 | |
EP3097488A1 (en) | System and method for synchronous task dispatch in a portable device | |
CN107077397B (zh) | 用于多处理器动态不对称和对称模式切换的硬件装置和方法 | |
US10296069B2 (en) | Bandwidth-monitored frequency hopping within a selected DRAM operating point | |
US20150261583A1 (en) | System and method for providing dynamic clock and voltage scaling (dcvs) aware interprocessor communication | |
US10234932B2 (en) | Method and apparatus for a multiple-processor system | |
US10928882B2 (en) | Low cost, low power high performance SMP/ASMP multiple-processor system | |
US20160335127A1 (en) | System and method for dynamic granularity control of parallelized work in a portable computing device (pcd) | |
US8700926B2 (en) | System and method of tuning a dynamic clock and voltage switching algorithm based on workload requests | |
EP3646162B1 (en) | System and method for dynamic buffer sizing in a computing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |