KR20170039132A - Pcd 내의 전력 소비를 감소시키기 위해 코어 전압 레벨을 최적화하고 개개의 서브컴포넌트들의 주파수 성능을 향상시키기 위한 방법 및 시스템 - Google Patents

Pcd 내의 전력 소비를 감소시키기 위해 코어 전압 레벨을 최적화하고 개개의 서브컴포넌트들의 주파수 성능을 향상시키기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20170039132A
KR20170039132A KR1020177001665A KR20177001665A KR20170039132A KR 20170039132 A KR20170039132 A KR 20170039132A KR 1020177001665 A KR1020177001665 A KR 1020177001665A KR 20177001665 A KR20177001665 A KR 20177001665A KR 20170039132 A KR20170039132 A KR 20170039132A
Authority
KR
South Korea
Prior art keywords
voltage level
computing device
portable computing
subsystem
frequency performance
Prior art date
Application number
KR1020177001665A
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
Priority claimed from US14/338,342 external-priority patent/US9690363B2/en
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20170039132A publication Critical patent/KR20170039132A/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
    • 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
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • Y02B60/1217
    • Y02B60/1282
    • Y02B60/1285
    • 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

휴대용 컴퓨팅 디바이스 ("PCD") 의 코어 전압 레벨을 최적화하고 개개의 서브컴포넌트들의 주파수 성능을 향상시키기 위한 방법 및 시스템이 개시된다. 복수의 서브시스템들에 대한 복수의 전압 값들이 결정된다. 적어도 하나의 서브시스템은 멀티플렉싱된 서브시스템이다. 다음에, 전압 값들의 감소된 세트가 복수의 전압 값들에 기초하여 계산되고 최적화된 전압 레벨이 공유 전력 도메인을 위해 결정된다. 공유 전력 도메인은 최적화된 전압 레벨로 후속하여 설정된다. 최적화된 전압 레벨이 적어도 하나의 멀티플렉싱된 서브시스템이 복수의 프로세싱 엔진들을 실행중일 때 그 적어도 하나의 멀티플렉싱된 서브시스템에 대한 요구된 전압 레벨을 초과하는 것으로 결정되면, 복수의 프로세싱 엔진들의 서브세트는 전체 복수의 프로세싱 엔진들보다 더 효율적인 레벨의 전력 소비로 멀티플렉싱된 시스템의 작업부하를 프로세싱하기 위해 식별될 수도 있다.

Description

PCD 내의 전력 소비를 감소시키기 위해 코어 전압 레벨을 최적화하고 개개의 서브컴포넌트들의 주파수 성능을 향상시키기 위한 방법 및 시스템{METHOD AND SYSTEM FOR OPTIMIZING A CORE VOLTAGE LEVEL AND ENHANCING FREQUENCY PERFORMANCE OF INDIVIDUAL SUBCOMPONENTS FOR REDUCING POWER CONSUMPTION WITHIN A PCD}
관련 출원들 진술
본 출원은, 35 U.S.C. §119(e) 하에서, 2013년 11월 21일자로 출원되고 발명의 명칭이 "METHOD AND SYSTEM FOR OPTIMIZING A CORE VOLTAGE LEVEL OF A PCD AND ENHANCING FREQUENCY PERFORMANCE OF INDIVIDUAL SUBCOMPONENTS IN ORDER TO REDUCE POWER CONSUMPTION WITHIN THE PCD" 인 미국 가특허 출원 번호 제61/907,382호에 대해 우선권을 주장하고, 그 전체 내용은 여기에 참조로 통합된다. 본 출원은 또한, 2014년 2월 22일자로 출원되고 발명의 명칭이 "METHOD AND SYSTEM FOR OPTIMIZING A CORE VOLTAGE LEVEL AND ENHANCING FREQUENCY PERFORMANCE OF INDIVIDUAL SUBCOMPONENTS FOR REDUCING POWER CONSUMPTION WITHIN A PCD" 인 미국 정규특허 출원 번호 제14/187,270호에 관련된다.
관련 기술의 설명
휴대용 컴퓨팅 디바이스들 ("PCD들") 은 개인적 및 전문적 수준으로 사람들에게 필수품이 되어 가고 있다. 이들 디바이스들은 셀룰러 전화기들, PDA ("portable digital assistant") 들, 휴대용 게임 콘솔들, 팜톱 컴퓨터들, 및 다른 휴대용 전자 디바이스들을 포함할 수도 있다.
PCD들이 사람들에게 필수품이 되어 가고 있기 때문에, 재충전 기간들 사이에 PCD 를 동작시키는데 충분한 에너지를 갖는 측면에서의 최적의 성능은 사용자의 관점에서 중요한 팩터일 수도 있다. 배터리 전력 상에서 PCD 를 동작시키는데 충분한 에너지는 종종 디바이스의 전력 소비에 의해 좌우된다. 그리고 배터리-전력공급 PCD 내의 카메라 및 모바일 디스플레이와 같은 PCD 의 각각의 서브컴포넌트는 궁극적으로 전력을 소비하고 PCD 의 전체 전력 소비 및 성능에 기여한다.
종래의 PCD들이 가진 하나의 문제점은 가장 많은 작업부하를 가진 PCD 의 서브컴포넌트에 의해 요망되는 최고 전압이 전체 PCD 및 그의 다른 서브컴포넌트들의 전압 레벨을 결정한다는 것이다. 이것은 가장 많은 작업부하를 가진 단일의 컴포넌트에 의해 요청되는 더 높은 전압을 필요로 하지 않는 그들 서브컴포넌트들에서의 전류 누설 증가를 초래한다.
예를 들어, 이미지 프로세서 같은 PCD 의 서브컴포넌트가 그의 작업부하의 급등 때문에 전압의 증가를 요청한다고 가정한다. 한편, 모바일 디스플레이용 디스플레이 프로세서, 내부 회로 버스, 및 비디오 인코더와 같은 PCD 의 다른 서브컴포넌트들은 그들의 전압의 증가를 필요로 하지 않을 수도 있다. 많은 작업부하를 가진 이미지 프로세서와 비교하여, 많은 작업 부하를 갖지 않는 이들 다른 서브컴포넌트들에 대한 전압의 증가는 PCD 에 대하여 이들 가벼운 작업부하 컴포넌트들로부터의 상당한 전류 누설 및 그에 따른 이들 가벼운 작업부하 컴포넌트들로부터의 상당한 전력 손실을 초래한다.
이에 따라, PCD 내의 전력 소비를 감소시키기 위하여 PCD 의 코어 전압 레벨을 최적화하면서 개개의 서브컴포넌트들의 주파수 성능을 향상시키기 위한 방법 및 시스템이 당업계에 필요하다. 게다가, PCD 의 코어 전압 레벨이 이러한 서브컴포넌트들에 필요한 것보다 더 높을 때 멀티플렉싱된 서브컴포넌트들에서의 코어 선택 및 주파수를 최적화하기 위한 방법 및 시스템이 당업계에 필요하다.
휴대용 컴퓨팅 디바이스 ("PCD") 의 코어 전압 레벨을 최적화하고 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 방법 및 시스템이 개시된다. 일 예시적인 실시형태에서, 휴대용 컴퓨팅 디바이스 내의 복수의 서브시스템들에 대한 복수의 전압 값들이 결정된다. 적어도 하나의 서브시스템은 복수의 프로세싱 엔진들을 포함하는 멀티플렉싱된 서브시스템이다. 다음에, 전압 값들의 감소된 세트가 복수의 전압 값들에 기초하여 계산되고 최적화된 전압 레벨이 전압 값들의 감소된 세트로부터 휴대용 컴퓨팅 디바이스 내의 공유 전력 도메인을 위해 결정된다. 공유 전력 도메인은 최적화된 전압 레벨로 후속하여 설정된다. 적어도 하나의 멀티플렉싱된 서브시스템이 복수의 프로세싱 엔진들을 실행중일 때 그 적어도 하나의 멀티플렉싱된 서브시스템에 대한 요구된 전압 레벨을 최적화된 전압 레벨이 초과하는 것으로 결정되면, 복수의 프로세싱 엔진들의 서브세트가 전체 복수의 프로세싱 엔진들보다 더 효율적인 레벨의 전력 소비로 멀티플렉싱된 시스템의 작업부하를 프로세싱하기 위해 식별될 수도 있다.
PCD 의 각각의 서브시스템들은 이미징 프로세서, 디스플레이, 통신 버스, 비디오 코더, 비디오 디코더, 및 신호 프로세서 중 적어도 하나를 포함할 수도 있다. 주파수 성능 향상기 (frequency performance enhancer) 는 또한, 온도 및 최적화된 전압 레벨 중 적어도 하나에 기초하여 서브시스템들의 누설 전력을 추정할 수도 있다. 주파수 성능 향상기는 또한, 다음 중 임의의 하나를 계산할 수도 있다: 서브시스템의 현재의 작업부하; 현재의 작업부하를 프로세싱하기 위해 요구된 최소 동작 주파수; 최적화된 전압 레벨에 기초하여 이용가능한 이상적인 동작 주파수; 및 최적화된 전압 레벨에 기초하여 이용가능한 최대 동작 주파수.
도면들에서, 다르게 나타내지 않는다면 동일한 참조 부호들이 여러 도면들 전반에 걸쳐 동일한 부분들을 지칭한다. "102A" 또는 "102B" 와 같은 문자 부호 지정들을 가진 참조 부호들의 경우, 그 문자 부호 지정들은 동일한 도면에 존재하는 2 개의 동일한 부분들 또는 엘리먼트들을 구별할 수도 있다. 참조 부호들에 대한 문자 부호 지정들은 참조 부호가 모든 도면들에 있어서 동일한 참조 부호를 가지는 모든 부분들을 포괄하도록 의도되는 경우에 생략될 수도 있다.
도 1a 는 휴대용 컴퓨팅 디바이스 ("PCD") 의 일 실시형태를 예시하는 기능적 블록 다이어그램이다;
도 1b 는 모바일 폰과 같은 휴대용 컴퓨팅 디바이스의 일 예시적인 실시형태의 정면도이다;
도 2a 는 PCD 내의 전력 소비를 감소시키기 위하여 PCD 의 코어 전압 레벨을 최적화하고 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 일 예시적인 시스템을 예시하는 기능적 블록 다이어그램이다;
도 2b 는 도 2a 시스템의 멀티플렉싱된 서브시스템에서의 최적의 프로세싱 엔진 조합 및 주파수 설정을 선택하기 위한 시스템을 예시하는 기능적 블록 다이어그램이다;
도 3a 는 PCD 내의 전력 소비를 감소시키기 위하여 PCD 의 코어 전압 레벨을 최적화하고 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 방법을 예시하는 논리적 플로우차트이다; 및
도 3b 는 PCD 내에서 서브시스템들의 동작 주파수를 최적화하고, 멀티플렉싱된 서브시스템들에서의 최적의 코어 조합들을 선택하고 서브시스템들의 전력 붕괴 지속기간을 최적화하기 위한 도 3a 의 방법의 서브방법 또는 루틴을 예시하는 논리적 플로우차트이다.
도 4 는 개별 주파수 성능 향상기 모듈에 의한 전력 붕괴 지속기간 계산에서 유용한 2 개의 그래프들의 예시이다.
단어 "예시적인" 은 본 명세서에서 "일 예, 인스턴스, 또는 예시로서 기능하는 것" 을 의미하는데 사용된다. 본 명세서에서 "예시적인" 으로서 설명된 임의의 양태는 반드시 선호되거나 또는 다른 양태들에 비해 유리한 것으로 해석되는 것은 아니다.
이 설명에서, 용어 "애플리케이션" 은 또한 오브젝트 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들, 및 패치들과 같은 실행가능한 콘텐츠를 갖는 파일들을 포함할 수도 있다. 추가로, 본 명세서에서 언급된 "애플리케이션" 은 또한, 개방될 필요가 있을 수도 있는 문서들 또는 액세스될 필요가 있는 다른 데이터 파일들과 같은 사실상 실행가능하지 않은 파일들을 포함할 수도 있다.
용어 "콘텐츠" 는 또한, 오브젝트 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들, 및 패치들과 같은 실행가능한 콘텐츠를 갖는 파일들을 포함할 수도 있다. 추가로, 본 명세서에서 언급된 "콘텐츠" 는 또한, 개방될 필요가 있을 수도 있는 문서들 또는 액세스될 필요가 있는 다른 데이터 파일들과 같은 사실상 실행가능하지 않은 파일들을 포함할 수도 있다.
이 설명에서 사용한 바와 같이, 용어들 "컴포넌트", "데이터베이스", "모듈", "시스템" 등은 컴퓨터 관련 엔티티, 즉 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어 중 어느 하나를 지칭하도록 의도된다. 예를 들어, 컴포넌트는 프로세서 상에서 실행되는 프로세스, 프로세서, 오브젝트, 실행가능물 (executable), 실행 스레드, 프로그램, 및/또는 컴퓨터일 수도 있지만, 이들인 것으로 제한되지는 않는다. 예시에 의해, 컴퓨팅 디바이스 상에서 실행되는 애플리케이션과 컴퓨팅 디바이스 양자는 컴포넌트일 수도 있다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수도 있고, 컴포넌트는 하나의 컴퓨터 상에 로컬화되고 및/또는 2 개 이상의 컴퓨터들 사이에 분포될 수도 있다. 추가로, 이들 컴포넌트들은 다양한 데이터 구조들을 저장한 다양한 컴퓨터 판독가능 매체들로부터 실행할 수도 있다. 컴포넌트들은 로컬 및/또는 원격 프로세스들에 의하여, 이를 테면 하나 이상의 데이터 패킷들을 갖는 신호 (예를 들어, 그 신호에 의하여 다른 시스템들과 인터넷과 같은 네트워크를 통해 및/또는 로컬 시스템, 분산 시스템에서의 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터) 에 따라 통신할 수도 있다.
이 설명에서, 용어들 "프로세서", "프로세싱 엔진", "코어" 등은 작업부하를 프로세싱하기 위해 전력을 소비하는 컴포넌트를 지칭하기 위해 상호교환가능하게 사용된다. 이로써, "멀티플렉싱된" 시스템 또는 서브시스템 또는 서브컴포넌트에 대한 언급은 서브시스템이 하나보다 더 많은 프로세싱 엔진을 포함한다는 것을 의미하는 것으로 이해될 것이다. 구상된 멀티플렉싱된 서브시스템들의 비제한적 테이블이 뒤따른다:
Figure pct00001
이 설명에서, 카메라 또는 카메라 서브시스템에 대한 언급은 비디오 프로세싱 엘리먼트들을 포괄할 수도 있는 이미지 프로세서를 구상하는 것으로 이해될 것이다. 이렇게 하여, 용어 카메라 또는 카메라 서브시스템의 사용은 센서를 포함하는 카메라 또는 카메라 서브시스템의 보다 광범위한 정의로의 적용가능성을 위해 솔루션들의 범위를 제한하지 않을 것이다.
이 설명에서, 용어들 "통신 디바이스", "무선 디바이스", "무선 전화기", "무선 통신 디바이스", 및 "무선 핸드셋" 은 상호교환가능하게 사용된다. 제 3 세대 ("3G") 및 제 4 세대 ("4G") 무선 기술의 도래로, 더 큰 대역폭 이용가능성은 보다 다양한 무선 능력들을 가진 더 많은 휴대용 컴퓨팅 디바이스들을 가능하게 하였다.
이 설명에서, 용어 "휴대용 컴퓨팅 디바이스" ("PCD") 는 배터리와 같은 제한된 용량의 전력 공급기 상에서 동작하는 임의의 디바이스를 설명하는데 사용된다. 배터리 동작식 PCD들이 수십 년간 사용되어 왔지만, 제 3 세대 ("3G") 무선 기술의 도래와 결합된 재충전가능한 배터리들의 기술적 진보가 다수의 능력들을 가진 수많은 PCD들을 가능하게 하였다. 따라서, PCD 는 다른 것들 중에서도, 셀룰러 전화기, 위성 전화기, 페이저, PDA, 스마트폰, 내비게이션 디바이스, 스마트북 또는 리더, 미디어 플레이어, 전술한 디바이스들의 조합, 및 무선 연결을 가진 랩톱 컴퓨터일 수도 있다.
도 1a 를 참조하면, 이 도면은 PCD (100) 내의 전력 소비를 감소시키기 위하여 PCD (100) 의 코어 전압 레벨을 최적화하고 PDC (100) 의 최적화된 코어 전압 레벨에 기초하여 멀티플렉싱된 서브시스템들에서의 최적의 코어 조합들을 선택하고, 그리고 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 방법들 및 시스템들을 구현하기 위한 무선 전화기의 형태의 PCD (100) 의 예시적인, 비제한적 양태의 기능적 블록 다이어그램이다. 도시한 바와 같이, PCD (100) 는 함께 커플링되는 멀티-코어 중앙 프로세싱 유닛 ("CPU") (110) 및 아날로그 신호 프로세서 (126) 를 포함하는 온-칩 시스템 (102) 을 포함한다. CPU (110) 는 당업자에 의해 이해되는 바와 같이, 제 0 코어 (222), 제 1 코어 (224), 및 제 N 코어 (230) 를 포함할 수도 있다. CPU (110) 대신에, 디지털 신호 프로세서 ("DSP") 가 또한, 당업자에 의해 이해되는 바와 같이 채용될 수도 있다. 더욱이, 제 0 코어 (222), 제 1 코어 (224), 및 제 N 코어 (230) 중 임의의 하나 또는 전부는 당업자에 의해 이해될 바와 같이, 이미징 프로세서 또는 모바일 디스플레이 프로세서일 수도 있다.
CPU (110) 는 또한, 하나 이상의 내부, 온-칩 열 센서들 (157A 및 157B) 뿐만 아니라 하나 이상의 외부, 오프-칩 열 센서들 (157C) 에 커플링될 수도 있다. 온-칩 열 센서들 (157A 및 157B) 은 수직 PNP 구조에 기초하고 상보형 금속 산화물 반도체 ("CMOS") 초고밀도 집적 회로 ("VLSI") 회로들에 보통 전용되는 하나 이상의 PTAT ("proportional to absolute temperature") 온도 센서들을 포함할 수도 있다. 오프-칩 열 센서들 (157C) 은 하나 이상의 서미스터들을 포함할 수도 있다. 열 센서들 (157) 은 아날로그-디지털 컨버터 ("ADC") (예시되지 않음) 로 디지털 신호들로 컨버팅되는 전압 강하 (및/또는 전류) 를 생성할 수도 있다. 그러나, 다른 타입들의 열 센서들 (157) 이 본 발명의 범위로부터 벗어남 없이 채용될 수도 있다.
도 1a 의 PCD (100) 는 CPU (110) 에 커플링되고 및/또는 CPU (110) 상에서 실행되는 향상된 전압 어그리게이터 (103) 를 포함할 수도 있다. 향상된 전압 어그리게이터 (103) 는 하드웨어, 소프트웨어, 펌웨어, 또는 그 조합을 포함할 수도 있다. 전압 최적화기 (101) 는 향상된 전압 어그리게이터 (103) 에 커플링되고/논리적으로 커플링될 수도 있다. 향상된 전압 어그리게이터 (103) 와 유사하게, 전압 최적화기 (101) 는 하드웨어, 소프트웨어, 펌웨어, 또는 그 조합을 포함할 수도 있다.
향상된 전압 어그리게이터 (103) 는 칩 (102) 및 오프-칩 (102) 상의 다양한 서브컴포넌트들로부터 전압 "보트 (vote) 들" 을 수집하는 것을 담당할 수도 있다. 전압 "보트들" 을 어그리게이트한 후에, 향상된 전압 어그리게이터 (103) 는 전압 "보트들" 을 좁히거나 정제하고 그의 출력을 전압 최적화기 (101) 로 전송할 수도 있다. 전압 최적화기는 PCD (100) 에 대한 최적의 코어 전압 레벨을 결정하고 이 최적의 코어 전압 레벨을 전력 관리 집적 회로 ("PMIC") (107) 로 전송한다. 향상된 전압 어그리게이터 (103) 및 전압 최적화기 (101) 의 추가 상세들이 도 2 와 관련하여 이하 더 상세히 설명될 것이다.
카메라 서브시스템 (148), 모바일 디스플레이 (128, 130) 등과 같은 각각의 서브시스템에 존재할 수도 있는 주파수 성능 향상기 모듈들 (203) 은 PCD (100) 의 실제 및 현재의 전압 레벨을 모니터링할 수도 있다. 각각의 주파수 성능 향상기 모듈 (203) 은 이하 설명될 바와 같이 그의 개별 서브시스템의 동작 주파수를 조정할 수도 있다. 추가로, 멀티플렉싱된 서브시스템, 즉, 2 개 이상의 이용가능한 작업부하 프로세싱 엔진들 또는 "코어들" 을 갖는 서브시스템과 연관된 각각의 주파수 성능 향상기 모듈 (203) 은 이하 설명될 바와 같이 작업부하를 프로세싱하기 위한 프로세싱 엔진들의 최적의 조합을 결정할 수도 있다.
특정한 양태에서, 본 명세서에서 설명된 방법 단계들의 하나 이상은, 향상된 전압 어그리게이터 (103), 전압 최적화기 (101), 및 주파수 성능 향상기 모듈 (203) 의 소프트웨어 실시형태들을 형성할 수도 있는, 메모리 (112) 에 저장된, 실행가능한 명령들 및 파라미터들에 의해 구현될 수도 있다. 향상된 전압 어그리게이터 및 전압 최적화기 모듈(들) (101, 103) 뿐만 아니라 주파수 성능 향상기 모듈 (203) 을 형성하는 이들 명령들은 CPU (110), 아날로그 신호 프로세서 (126), 또는 임의의 다른 프로세서에 의해 실행될 수도 있다. 추가로, 프로세서들 (110, 126), 메모리 (112), 그 안에 저장된 명령들, 또는 그 조합은 본 명세서에서 설명된 방법 단계들의 하나 이상을 수행하는 수단으로서 기능할 수도 있다.
PMIC (107) 는 칩 (102) 상에 존재하는 다양한 하드웨어 컴포넌트들에 전력을 분배하는 것을 담당할 수도 있다. PMIC 는 전력 공급기 (180) 에 커플링된다. 전력 공급기 (180) 는 배터리를 포함할 수도 있고 그것은 온-칩 시스템 (102) 에 커플링될 수도 있다. 특정한 양태에서, 전력 공급기는 교류 ("AC") 전력 소스에 연결되는 AC-직류 ("DC") 변압기 (transformer) 로부터 도출되는 재충전가능한 DC 배터리 또는 DC 전력 공급기를 포함할 수도 있다.
도 1a 에 예시한 바와 같이, 디스플레이 제어기 (128) 및 터치스크린 제어기 (130) 는 멀티-코어 프로세서 (110) 에 커플링된다. 온-칩 시스템 (102) 외부의 터치스크린 디스플레이 (132) 는 디스플레이 제어기 (128) 및 터치스크린 제어기 (130) 에 커플링된다.
도 1a 는 비디오 디코더 (134) 를 포함하는 휴대용 컴퓨팅 디바이스 (PCD) 의 일 실시형태를 예시하는 개략적 다이어그램이다. 비디오 디코더 (134) 는 멀티코어 중앙 프로세싱 유닛 ("CPU") (110) 에 커플링된다. 비디오 증폭기 (136) 는 비디오 디코더 (134) 및 터치스크린 디스플레이 (132) 에 커플링된다. 비디오 포트 (138) 는 비디오 증폭기 (136) 에 커플링된다. 도 1a 에 나타낸 바와 같이, 범용 직렬 버스 ("USB") 제어기 (140) 는 CPU (110) 에 커플링된다. 또한, USB 포트 (142) 는 USB 제어기 (140) 에 커플링된다. 메모리 (112) 및 가입자 식별 모듈 (SIM) 카드 (146) 는 CPU (110) 에 또한 커플링될 수도 있다.
추가로, 도 1a 에 도시한 바와 같이, 디지털 카메라 또는 카메라 서브시스템 (148) 은 CPU (110) 에 커플링될 수도 있다. 예시적인 양태에서, 디지털 카메라/카메라 서브시스템 (148) 은 CCD ("charge-coupled device") 카메라 또는 상보형 금속-산화물 반도체 ("CMOS") 카메라이다.
도 1a 에 추가로 예시한 바와 같이, 스테레오 오디오 코덱 (CODEC) (150) 은 아날로그 신호 프로세서 (126) 에 커플링될 수도 있다. 더욱이, 오디오 증폭기 (152) 는 스테레오 오디오 코덱 (150) 에 커플링될 수도 있다. 예시적인 양태에서, 제 1 스테레오 스피커 (154) 및 제 2 스테레오 스피커 (156) 는 오디오 증폭기 (152) 에 커플링된다. 도 1a 는 마이크로폰 증폭기 (158) 가 스테레오 오디오 코덱 (150) 에 또한 커플링될 수도 있다는 것을 도시한다. 추가적으로, 마이크로폰 (160) 은 마이크로폰 증폭기 (158) 에 커플링될 수도 있다.
특정한 양태에서, 주파수 변조 ("FM") 라디오 튜너 (162) 는 스테레오 오디오 코덱 (150) 에 커플링될 수도 있다. 또한, FM 안테나 (164) 는 FM 라디오 튜너 (162) 에 커플링된다. 추가로, 스테레오 헤드폰 (166) 은 스테레오 오디오 코덱 (150) 에 커플링될 수도 있다.
도 1a 는 무선 주파수 ("RF") 트랜시버 (168) 가 아날로그 신호 프로세서 (126) 에 커플링될 수도 있다는 것을 추가로 나타낸다. RF 스위치 (170) 는 RF 트랜시버 (168) 및 RF 안테나 (172) 에 커플링될 수도 있다. 도 1a 에 도시한 바와 같이, 키패드 (174) 는 아날로그 신호 프로세서 (126) 에 커플링될 수도 있다. 또한, 마이크로폰을 가진 모노 헤드셋 (176) 은 아날로그 신호 프로세서 (126) 에 커플링될 수도 있다. 추가로, 진동기 디바이스 (178) 는 아날로그 신호 프로세서 (126) 에 커플링될 수도 있다.
도 1a 에 나타낸 바와 같이, 터치스크린 디스플레이 (132), 비디오 포트 (138), USB 포트 (142), 카메라 (148), 제 1 스테레오 스피커 (154), 제 2 스테레오 스피커 (156), 마이크로폰 (160), FM 안테나 (164), 스테레오 헤드폰 (166), RF 스위치 (170), RF 안테나 (172), 키패드 (174), 모노 헤드셋 (176), 진동기 (178), 열 센서들 (157B), 및 전력 공급기 (180) 는 온-칩 시스템 (102) 외부에 있다.
이제 도 1b 를 참조하면, 이 도면은 모바일 폰과 같은 휴대용 컴퓨팅 디바이스 ("PCD") (100) 의 하나의 예시적인 실시형태의 정면도이다. PCD (100) 는 그의 중간-섹션에 큰 터치스크린 (132) 및 디바이스 (100) 의 더 아래쪽의, 제 1 단부 근처에 더 작은 키패드/버튼들 (174) 을 갖는다. "전방/사용자" 대향 카메라 (148) 는 디바이스 (100) 의 맨 위의, 제 2 단부 근처에 포지셔닝될 수도 있다. 터치스크린 타입 모바일 폰 (100) 이 예시되었지만, 다른 모바일 폰 타입들, 이를 테면, 고정된 포지션에 배치될 수도 있거나 또는 디바이스 (100) 에 대하여 안쪽으로 (숨겨진 포지션으로) 및 바깥쪽으로 (가시/사용가능한 포지션으로) 슬라이딩가능할 수도 있는 전용 키보드들을 갖는 모바일 폰들 (100) 이 가능하고 본 개시의 범위 내에 있다.
도 2a 는 PCD (100) 내의 전력 소비를 감소시키기 위하여 PCD (100) 의 코어 전압 레벨을 최적화하고 개개의 서브컴포넌트들 (즉, 이를 테면 카메라 서브시스템 (148), 모바일 디스플레이 (128, 130), 비디오 코덱 (134) 등) 의 주파수 성능을 향상시키기 위한 일 예시적인 시스템 (104) 을 예시하는 기능적 블록 다이어그램이다. 시스템 (104) 은 예를 들어, 카메라 서브시스템 ("CAMSS") (148) (이는 하나 이상의 이미징 프로세서들을 포함할 수도 있다), 모바일 디스플레이 ("MDP") (128, 130) (이는 하나 이상의 디스플레이 프로세서들을 포함할 수도 있다), 시스템 통신 버스 (220), 비디오 코덱 (134), 및 모바일 디바이스 (100) 내의 다른 서브시스템들 (N) (즉, 이를 테면 아날로그 신호 프로세서 (126), 그러나 이것으로 제한되지는 않음) 을 포함할 수도 있다. 특히, 서브시스템들 중 임의의 하나 이상은 다수의 프로세싱 엔진들을 포함하는 멀티플렉싱된 서브시스템들일 수도 있다는 것이 구상된다. 예를 들어, CAMSS (148) 는 다수의 이미지 프로세서들을 포함할 수도 있다 (도 2b 참조).
이들 서브시스템들 (CAMSS (148); MDP (128, 130); 버스 (BUS) (220); 코덱 (CODEC) (134); 등) 내지 N 서브시스템의 각각은 향상된 전압 어그리게이터 (103) 에 (논리적으로 및/또는 직접적으로) 커플링된다. 상기 언급한 바와 같이, 서브시스템들 중 임의의 하나 이상은 다수의 프로세싱 컴포넌트들이 작업부하를 프로세싱하기 위해 서브시스템 내에서 이용가능하도록 멀티플렉싱될 수도 있다는 것이 구상된다. 향상된 전압 어그리게이터 (103) 는 전압 최적화기 (101) 에 (논리적으로 및/또는 직접적으로) 커플링된다.
전압 최적화기 (101) 는 코어 전압 플랜 (201) 에 일반적으로 대응할 출력으로서 최적의 전압 레벨 (215) 을 제공한다. 코어 전압 플랜 (201) 은 복수의 전압 레벨들, 이를 테면 제 1 레벨 (Level 1), 제 2 레벨 (Level 2), 제 3 레벨 (Level 3), 및 제 4 레벨 (Level 4) 을 포함할 수도 있고 여기서 하위 레벨들은 더 작은 전압을 포함하고 상위 레벨들은 더 큰 전압을 포함한다. 예를 들어, 제 4 레벨 (Level 4) 은 당업자에 의해 이해되는 바와 같이 모바일 디바이스 (100) 에 대한 "터보" 동작 모드를 면밀하게 트래킹할 수도 있다. 전압 레벨들의 수 및 규모는 증가 또는 감소될 수도 있고 당업자에 의해 이해되는 바와 같이 본 개시의 범위 내에 속한다. 코어 전압 플랜 (201) 에 대한 이들 개개의 전압 레벨들은 전압 최적화기 (101) 에 의해 생성되는 최적화된 전압 레벨 (215) 에 기초하여 선택될 수도 있다.
서브시스템들의 각각 -- 보통 개별 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 내의 CPU 는 향상된 전압 어그리게이터 (103) 에 송신되는 복수의 전압 보트들 (205) 을 생성할 수도 있다. 전압 보트들 (205) 은 요구된 전압 레벨 (V_req), 최적의 전압 레벨 (V_opt), 및 최대 전압 레벨 (V_limit) 을 포함할 수도 있다. 최대 전압 레벨 (V_limit) 은 서브시스템의 현재의 전력 버짓 (power budget) 또는 전압 제약 하에서 이용가능한 최대 전압을 포함할 수도 있다. 요구된 전압 레벨 (V_req) 은 그의 현재의 작업부하에 대해 최소 주파수 레벨에서 특정한 서브시스템을 실행하기 위해 요구되는 최소 전압을 포함할 수도 있다. 일부 예시적인 실시형태들에서, 최대 전압 레벨 (V_limit) 은 각각의 서브시스템에 의해 선택/변경/보트되도록 허용되지 않을 수도 있다는 것에 주목한다.
한편, 최적의 전압 레벨 (V_opt) 은 서브시스템의 현재의 온도 및 그의 대응하는 누설 전류에 기초하여 가장 에너지-효율적인 주파수에 대한 전압 레벨을 포함할 수도 있다. 당업자에 의해 이해되는 바와 같이, 누설 전류는 일반적으로 (회로/칩이 스위칭하지 않고 입력들이 정적 값들로 유지될 때) 휴지 (Q) 상태에서 측정된 공급 전류 ("Idd") 를 포함하고 따라서 그것은 ("IDDQ") 로 약칭된다. 최적의 전압 레벨 (V_opt) 을 결정하기 위해, 각각의 서브시스템은 각각의 시스템 내에 저장된 전력 모델 (207) 또는 각각의 서브시스템에 저장되는 룩업 테이블 (예시되지 않음) 중 어느 하나를 활용할 수도 있다. 각각의 전력 모델 (207) 또는 룩업 테이블은 누설 전류 값들 ("IDDQ"), 온도 값들, 주파수 값들, 및 출력 전력 추정치를 포함할 수도 있다. 더욱이, 멀티플렉싱된 서브시스템들의 경우, 전력 모델 (207) 또는 룩업 테이블은 이용가능한 프로세싱 엔진들의 다양한 조합들에 대한 IDDQ 값들, 온도 값들, 주파수 값들, 및 출력 전력 추정치들을 더 포함할 수도 있다. 각각의 서브시스템은 그의 최적의 전압 레벨 (V_opt) 을 결정하기 위하여 그의 전력 모델 (207) 또는 룩업 테이블을 리뷰한다. 그리고, 도 2b 에 대하여 이하 설명될 바와 같이, 멀티플렉싱된 서브시스템은 또한, 전압 최적화기 (101) 에 의해 드라이빙된 코어 전압 선택을 보트하기 이전에 및/또는 그 코어 전압 선택에 응답하여 최적의 프로세싱 코어 조합들을 결정하기 위하여 그의 전력 모델 (207) 또는 룩업 테이블을 리뷰할 수도 있다.
일단 각각의 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 이 그의 3 개의 전압 보트들 (205) 을 결정하면, 각각은 그의 3 개의 별개의 보트들을 향상된 전압 어그리게이터 (103) 에 송신한다. 특히, 일부 실시형태들에서, 멀티플렉싱된 서브시스템에서 나오는 3 개의 전압 보트들 (205) 은 멀티플렉싱된 서브시스템에 의해 식별된 프로세싱 코어들의 소정의 최적의 조합과 연관될 수도 있다는 것이 구상된다. 향상된 전압 어그리게이터 (103) 는 단일의 요구된 코어 전압 레벨 (CX V_req), 단일의 최적의 코어 전압 레벨 (CX V_opt), 및 단일의 최대 코어 전압 레벨 (CX V_limit) 을 포함하는 3 개의 코어 ("CX") 전압 보트들의 단일 세트 (210) 가 전압 최적화기 (101) 에 통신되도록 보트들 (205) 을 요약 또는 어그리게이트한다.
요구된 코어 전압 레벨 (CX V_req) 을 결정하기 위해, 향상된 전압 어그리게이터 (103) 는 다음의 식에 따라 이 값을 결정하고:
CX V_req = max(V_req1, V_req2, ..., V_req(n)) [식 1]
여기서 향상된 전압 어그리게이터 (103) 는 모든 이용가능한 서브시스템 코어 전압 레벨들 (V_req) 의 최대 값을 취한다.
유사하게, 최대 코어 전압 레벨 (CX V_limit) 을 결정하기 위해, 향상된 전압 어그리게이터 (103) 는 다음의 식에 따라 이 값을 결정하고:
CX V_limit = min(V_limit1, V_limit2, ..., V_limit(n)) [식 2]
여기서 향상된 전압 어그리게이터 (103) 는 모든 이용가능한 서브시스템 최대 전압 레벨들 (V_limit) 의 최소 값을 취한다.
최적의 코어 전압 레벨 (CX V_opt) 을 결정하기 위해, 향상된 전압 어그리게이터 (103) 는 다음의 식에 따라 이 값을 결정한다:
CX V_opt = function(V_opt1, V_opt2, ..., V_opt(n)) [식 3]
여기서 이 값은 이용가능한 서브시스템 최적의 전압 레벨들 (V_opt) 전부를 통합하는 함수로부터 도출된다. 이 함수는 최소 MSE (Mean Squared Error) 를 가진 값 또는 가중치 값으로서 각각의 서브시스템의 전력 소비에 의한 가중된 평균을 포함할 수도 있다. 그러나, 당업자에 의해 이해되는 바와 같이 다른 함수들이 이용될 수도 있다.
3 개의 코어 ("CX") 전압 보트들의 단일 세트 (210) 를 수신한 후에, 전압 최적화기 (101) 는 그 단일 세트 (210) 를 단일, 최적화된 코어 전압 (V_opt prime') (215) 까지로 좁힌다. 전압 최적화기 (101) 는 요구된 코어 전압 레벨 (CX V_req) 및 최대 코어 전압 레벨 (CX V_limit) 에 의해 정의된 범위 내에 있는 최적의 코어 전압 레벨 (CX V_opt) 에 가장 가까운 전압을 결정하는 것에 의해 전압 보트들의 단일 세트 (210) 를 코어 전압 (V_opt prime') 까지로 좁힌다.
전압 최적화기 (101) 는 그 다음에 단일, 최적화된 코어 전압 (V_opt prime') (215) 을 코어 전압 플랜 선택기 모듈 (201) 에 송신한다. 코어 전압 플랜 선택기 모듈 (201) 은 (V_opt prime') (215) 에 가장 가까운 전압 플랜의 미리결정된 전압 레벨들 중 하나를 선택한다. 코어 전압 플랜 선택기 모듈 (201) 에 의한 이 선택은 PCD (100) 내의 공유 전력 도메인 또는 전체 PCD (100) 에 대한 코어 전압 (220) 이 되고 전력 관리 집적 회로 (PMIC) (107) 에 통신된다.
일부 예시적인 실시형태들에서, 여러 상이한 공유 "전압 도메인들" 또는 "전력 도메인들" 은 PCD (100) 내에 공존할 수도 있다. 이것은 PCD (100) 에서의 소정의 서브시스템들이 서로에 대하여 상이하고 독립적인 전압 레벨들에서 실행될 수도 있고 서브-컴포넌트들의 각각의 세트에 대해 전압 최적화기가 존재할 수도 있어 다수의 전압 최적화기들 (101) 이 PCD (100) 내에 존재할 수도 있다는 것을 의미한다.
코어 전압 플랜 선택기 모듈 (201) 은 이 모듈 (201) 이 옵션적임을 나타내기 위해 파선들로 예시되었다. 일부 예시적인 실시형태들에서, 코어 전압 플랜 선택기 모듈 (201) 의 기능들/동작들은 전압 최적화기 (101) 에 의해 수행될 수도 있고, 따라서 코어 전압 플랜 선택기 모듈 (201) 은 당업자에 의해 이해되는 바와 같이 제거될 수도 있다.
일단 코어 전압 (220) 이 확립되었다면, 카메라 서브시스템 (148), 모바일 디스플레이 (128, 130) 등과 같은 각각의 서브시스템에 존재할 수도 있는 주파수 성능 향상기 모듈들 (203) 은 모니터링 라인 (225) (이는 단지 개념적/논리적이고 PCD (100) 내의 물리적 라인이 아니다) 에 의해 나타낸 바와 같이 PCD (100) 의 실제 및 현재의 전압 레벨을 모니터링할 수도 있다. 개념적 모니터링 라인 (225) 에 의해 나타낸 바와 같이 전력 도메인 또는 PCD (100) 의 현재의 전압 레벨을 모니터링하는 것과 병행하여, 각각의 주파수 성능 향상기 모듈 (203) 은 열 센서들 (157) 로 그의 서브시스템의 온도를 모니터링할 수도 있다.
각각의 주파수 성능 향상기 모듈 (203) 은 그 다음에 개별 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 의 모니터링된 전압 및 전류 온도에 기초하여 그의 서브시스템에 대한 누설 전력을 추정할 수도 있다. 일단 누설 전력이 개별 서브시스템에 대해 추정되었다면, 주파수 성능 향상기 모듈 (203) 은 측정되는 현재의 전압 레벨에서의 에너지 효율을 최대화하기 위하여 이 추정된 누설 전력에 기초하여 서브시스템의 전력 붕괴 지속기간 뿐만 아니라 서브시스템의 동작 또는 실제 주파수 (F_act) 를 최적화할 수도 있다. 멀티플렉싱된 서브시스템에서, 주파수 성능 향상기 모듈 (203) 은 F_act 및 코어 전압 (220) 에서, 작업부하를 프로세싱하기에 가장 효율적인 전력 소비를 제공하는 프로세싱 엔진들의 조합에 기초하여 F_act 및 전력 붕괴 지속기간을 선택할 수도 있다.
서브시스템이 모든 그의 이용가능한 프로세싱 엔진들을 실행중이든 또는 단지 그의 이용가능한 프로세싱 엔진들의 조합만을 실행중이든 간에, 서브시스템에서의 최적화된 동작 또는 실제 주파수 (F_act) 는 보통 주어진 또는 현재의 코어 전압 레벨 (220) 에서 가장 에너지-효율적인 동작 주파수이다. 주파수 성능 향상기 모듈 (203) 은 가장 효율적인 F_act 를 결정하기 위해 테이블에 액세스할 수도 있다. 특정한 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 에 대해 주어진 전압 레벨에서 이용가능한 주파수들을 리스팅하는 이하의 테이블 1 을 참조한다. 이 예시적인 테이블 1 에서, 제시된 값들은 원하는 대로 사용할 수 있는 단일 프로세싱 엔진을 갖는 모바일 디스플레이 프로세서 (128) 서브시스템에 대한 값들이다 (즉, 예시적인 MDP (128) 는 멀티플렉싱되지 않는다). 각각의 서브시스템은 당업자에 의해 이해되는 바와 같이 그 자신의 테이블/엔트리들을 가질 것이다. 주파수 성능 향상기 모듈 (203) 은 개별 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 에 대한 개별 테이블에서 리스팅된 서브시스템에 대해 현재의 전압 레벨에서 이용가능한 주파수들 및 프로세싱 엔진 조합들을 이용하여 계산들을 수행할 수도 있다.
Figure pct00002
예를 들어, 주파수 성능 향상기 모듈 (203) 은 PCD (100) 의 특정한 서브시스템에 대한 동작 주파수를 높이거나 낮출 수도 있다. 추가적으로, 멀티플렉싱된 서브시스템에서, 주파수 성능 향상기 모듈 (203) 은 액티브이고 작업부하를 프로세싱하고 있는 프로세싱 엔진들의 조합을 조정할 수도 있다. 동작 주파수의 이러한 조정 및/또는 액티브 프로세싱 엔진들의 조합은 당업자에 의해 이해되는 바와 같이 PCD (100) 의 개개의 서브시스템에 의해 소비된 누설 전력을 최소화할 수도 있다.
서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 의 동작 또는 실제 주파수 (F_act) 를 최적화하기 위하여, 개별 서브시스템의 주파수 성능 향상기 모듈 (203) 은 공유 전력 도메인에 대한 임의의 추가적인 전압 마진을 활용하고 아이들 시간 동안 누설을 최소화하기 위하여 전력 붕괴의 가장 긴 지속기간 및 PMIC (107) 로부터 주어진 전압 레벨 (220) 에서 서브시스템이 실행할 수 있는 최고 가능한 주파수를 찾을 수도 있다. 최고 가능한 주파수는 그 다음에 최적화된 동작 또는 실제 주파수 (F_act) 로서 설정될 수도 있다.
최고 가능한 주파수 (F_act) 를 찾기 위해, 주파수 성능 향상기 모듈 (203) 은 다음의 예시적인 서브시스템 주파수 파라미터들 (209) 중 임의의 하나를 평가할 수도 있다: (a) 서브시스템에 대한 현재의 작업부하 (작업부하); (b) (서브시스템이 멀티플렉싱되면) 이용가능한 프로세싱 엔진들의 다수의 조합들에 의한 현재의 작업부하를 프로세싱하기 위해 요구되는 최소 동작 주파수 (F_req); (c) (서브시스템이 멀티플렉싱되면) 이용가능한 프로세싱 엔진들의 다수의 조합들에 대한 코어 전압 범위 내에서 이용가능한 가장 에너지-효율적인 (이상적인) 동작 주파수 (F_opt); 및 (d) 및 주어진 전력 버짓 및/또는 전압 한계들 하에서 이용가능한 최대 동작 주파수 (F_limit).
하나의 예시적인 실시형태에서, 각각의 주파수 성능 향상기 모듈 (203) 은 F_req, F_opt, 및 F_limit 를 평가할 수도 있다. 향상기 모듈 (203) 은 F_act 를 F_req 값보다 더 높게 설정할 수도 있다. F_act 는 보통 서브시스템들 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 로부터의 F_limit 값보다 더 낮아야 한다. 범위 내에서, F_act 는 주파수 성능 향상기 모듈 (203) 에 의해, 액티브 (실행) 시간을 최소화하기 위해 그의 개별 서브시스템의 현재의 전압 레벨에서 가능한 최대 주파수로 설정될 수도 있다.
도 2b 는 도 2a 시스템의 멀티플렉싱된 서브시스템에서의 최적의 프로세싱 엔진 조합 및 주파수 설정을 선택하기 위한 시스템을 예시하는 기능적 블록 다이어그램이다. 상기 설명한 바와 같이, 도 2b 예시의 예시적인 공유 전력 도메인에 나타낸 멀티플렉싱된 CAMSS (148), 코덱 (134) 및 "다른" 기능 블록(들) 과 같은 전력 도메인에서의 다양한 서브시스템들은 그들의 선호된 전압 레벨들에 대해 보트했을 수도 있다. 도 2b 예시의 CAMSS (148) 는 멀티플렉싱되기 때문에, 그것은 그의 프로세싱 엔진들 (즉, 이미지 프로세서들 (0, 1, 및 3)) 의 서브세트에 기초하여 선호된 전압 레벨에 대해 보트했을 수도 있다. 즉, 보트를 제공할 것을 요청할 때, 멀티플렉싱된 CAMSS (148) 는 그의 동작 온도, 작업부하, 서비스 품질 ("QoS") 예상들 및 다른 팩터들을 고려했고 그의 가장 효율적인 프로세싱 모드가 예를 들어, 소정의 주파수 및 전압 레벨에서 작동하는 이미지 프로세서 0, 이미지 프로세서 1 및 이미지 프로세서 3 (이미지 프로세서 2 는 필요로 하지 않고 따라서 전력 붕괴되거나 아이들 상태로 트랜지션됨) 일 것이라고 결정했을 수도 있다. 결과적으로, CAMSS (148) 로부터의 보트는 이러한 결정에 의해 좌우된 최적의 전압을 포함했을 수도 있다.
그러나, 상기 설명한 바와 같이, 공유 전력 도메인에 궁극적으로 공급된 전압 레벨 (220) 은 도 2b 예시에서 CAMSS (148) 가 보트한 동일한 전압이 아닐 수도 있다. 이러한 상황에서, 멀티플렉싱된 CAMSS (148) 에서 실행되는 특정한 프로세싱 엔진들 및 주파수는 가장 전력 효율적인 조합을 나타내지 않을 수도 있다.
예를 들어, CAMSS (148) 가 그의 보트를 행했고 그 보트 시에 액티브로 공급된 전압 레벨에 기초하여, 주어진 주파수에서 그의 이미지 프로세서들 4 개 모두를 실행중이었다는 것을 가정한다. 추가로, "승리한 (winning)" 보트가 모든 4 개의 이미지 프로세서들을 실행할 때 CAMSS (148) 에 필요한 최적의 전압 레벨을 초과한 공유 전력 도메인에 공급된 전압 레벨 (220) 을 좌우했다는 것을 가정한다. 이러한 시나리오에서, 멀티플렉싱된 CAMSS (148) 는 그것이 액티브로 실행중인 프로세싱 엔진들의 수를 조정하지 않았다면 덜 효율적이게 될 수도 있다. 즉, 새로 상승한 전압 레벨 (220) 에서 모든 4 개의 이미지 프로세서들을 계속 실행하는 것에 의해, CAMSS (148) 는 그 새로 상승한 전압 레벨 (220) 에 의해 드라이빙된 상승한 동작 조건들을 이용하는데 실패할 수도 있다. 그 결과는, CAMSS (148) 가 조정하는데 실패했다면, 비효율적인 코어 활용도 및 더 높은 동적 전력 소비를 초래할 수도 있다.
유리하게는, 솔루션의 실시형태들은 도 2b 예시에서의 예시적인 멀티플렉싱된 CAMSS (148) 와 같은 멀티플렉싱된 서브시스템이, 액티브로 실행중인 코어들의 수를 변경하고, 그에 더하여 이러한 코어들에 공급된 주파수를 조정하여, 공유 전력 도메인에 공급된 전압 레벨 (220) 이 필요한 것보다 더 높은 경우라도 그의 작업부하를 위해 전력 소비가 최적화되게 하기 위해 제공된다. 상기 설명한 바와 같이, 전압 레벨 (220) 에 응답하여 최적의 주파수 및 코어들의 최적의 조합을 결정하기 위해, CAMSS (148) 와 연관된 주파수 성능 향상기 (203A) 는 온도 판독치들과 같은 다양한 입력들을 고려하고 그 다음에 룩업 테이블 또는 전력 모델에 질의할 수도 있다. 후속하여, 이미지 프로세서들의 식별된 조합은 활성화될 수도 있고, 나머지 및 불필요한 이미지 프로세서들은 전력 붕괴되거나 절전 모드로 트랜지션되고, 전압 레벨 (220) 은 최적의 주파수에서 전달된다. 이렇게 하여, 멀티플렉싱된 서브시스템은 그것이 연관하는 공유 전력 도메인에 대하여 높은 전압 레벨을 전달할 때 그의 전력 소비를 최적화할 수도 있다.
이제 도 3a 를 참조하면, 이 도면은 PCD (100) 내의 전력 소비를 감소시키기 위하여 PCD (100) 의 코어 전압 레벨을 최적화하고 PCD (100) 내의 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 방법 (300) 을 예시하는 논리적 플로우차트이다. 블록 (305) 은 방법 (300) 의 제 1 단계이다. 블록 (305) 에서, PCD (100) 내의 각각의 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 은 정적 정보 (static information) 를 결정할 수도 있다. 이러한 정적 정보는 개별 서브시스템 내에서 이용가능한 프로세싱 엔진들의 수, 개별 서브시스템 내의 누설 전류 (IDDQ) 의 현재의 레벨들 등을 포함할 수도 있지만 이들을 포함하는 것으로 제한되지는 않는다.
다음에, 블록 (310) 에서, 각각의 서브시스템 -- 보통 개별 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 내의 CPU 는 PCD (100) 내의 동적 정보를 평가할 수도 있다. 이러한 동적 정보는 각각의 서브시스템의 현재의 온도 뿐만 아니라 각각의 서브시스템의 현재의 작업부하를 포함할 수도 있지만 이들에 제한되지는 않는다,
블록 (315) 에서, 각각의 서브시스템 -- 보통 개별 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 내의 CPU 는 도 2a 및 도 2b 와 관련하여 상기 설명된 전압 보트들 (205) 과 대응하는 복수의 전압 값들을 계산할 수도 있다. 구체적으로, 각각의 서브시스템은 요구된 전압 레벨 (V_req), 최적의 전압 레벨 (V_opt), 및 최대 전압 레벨 (V_limit) 을 포함하는 적어도 3 개의 상이한 전압 값들을 계산할 수도 있다. 멀티플렉싱된 서브시스템들의 경우, 전압 보트들 (205) 은 이용가능한 프로세싱 엔진들의 서브세트에 기초할 수도 있다.
다음에, 블록 (320) 에서, 향상된 전압 어그리게이터 (103) 는 PCD (100) 내의 서브시스템들 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 의 각각으로부터 복수의 전압 보트들 (205) 을 수신한다. 도 2 와 관련하여 상기 설명한 바와 같이, 향상된 전압 어그리게이터 (103) 는 단일의 요구된 코어 전압 레벨 (CX V_req), 단일의 최적의 코어 전압 레벨 (CX V_opt), 및 단일의 최대 코어 전압 레벨 (CX V_limit) 을 포함하는 3 개의 코어 ("CX") 전압 보트들의 단일 세트 (210) 가 전압 최적화기 (101) 에 통신되도록 전압 보트들 (205) 을 요약 또는 어그리게이트한다.
후속하여, 블록 (325) 에서, 전압 최적화기 (101) 는 PCD (100) 에 걸쳐 예시적인 공유 전력 도메인에 대해 에너지-효율적인 전압 레벨인 도 2a 와 관련하여 상기 설명한 바와 같은 단일의, 최적화된 코어 전압 (V_opt prime') (215) 을 결정할 수도 있다. 다음에, 판정 블록 (327) 에서, 전압 최적화기 (101) 는 현재의 전압 레벨이 블록 (325) 에서 계산된 단일의 코어 전압 (V_opt prime') 보다 더 높은지를 결정한다. 판정 블록 (327) 에 대한 문의가 부정적이면, "아니오" 브랜치를 따라 블록 (330) 으로 간다.
판정 블록 (327) 에 대한 문의가 긍정적이면, "예" 브랜치를 따라 루틴 블록 (329) 으로 간다. 루틴 또는 서브방법 블록 (329) 에서, 각각의 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 의 동작 주파수는 그 다음에 주파수 성능 향상기 (203) 로 최적화될 수도 있다. 게다가, 이 루틴 블록 (329) 에서, 각각의 주파수 성능 향상기 (203) 는 또한 최적화된 주파수에 따라 그의 개별 서브시스템에 대한 전력 붕괴 지속기간 및 (멀티플렉싱된 서브시스템과 연관된다면) 프로세싱 코어 조합을 최적화할 수도 있다. 동작 주파수, 프로세싱 엔진 조합 및 전력 붕괴 지속기간의 이 조합은 PCD (100) 내의 각각의 서브시스템에 대한 누설 전력을 최소화할 수도 있다. 루틴 블록 (329) 의 추가 상세들이 도 3b 와 관련하여 이하 설명될 것이다. 이 루틴 블록 (329) 은 단계 (330) 에서의 전압 변화 이전에 단계 (325) 에서 결정된 전압에 대한 최적화된 값들로 주파수가 조정되는 것을 허용한다.
블록 (330) 에서, 전압 최적화기 (101) 는 최적화된 코어 전압 (V_opt prime') (215) 을 코어 전압 플랜 선택기 모듈 (201) 에 통신할 수도 있다. 코어 전압 플랜 선택기 모듈 (201) 은 그 다음에 최적화된 코어 전압 (V_opt prime') (215) 에 대응하는 복수의 미리결정된 전압 레벨들 (즉, Level 1, Level 2, Level 3, Level 4, 등) 중 하나로부터 선택할 수도 있다. 상기 언급한 바와 같이, 대안적으로는, 코어 전압 플랜 선택기 모듈 (201) 이 제공되지 않는다면 코어 전압 플랜 선택기 모듈 (201) 대신에 전압 최적화기 (101) 가 전압 레벨을 선택할 수도 있다. 선택된 전압 레벨은 PCD (100) 내의 소정의 전력 도메인 또는 전체 PCD (100) 에 대한 공유 전력 도메인 전압 레벨이 된다.
공유 전력 도메인 전압 레벨이 블록 (330) 에서 설정된 후에, 그 다음에 루틴 또는 서브방법 블록 (335) 에서, 각각의 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 의 동작 주파수는 그 다음에, 전압이 오르고 있는 경우에만 주파수 성능 향상기 (203) 로 최적화될 수도 있다. 다시 말해서, 판정 블록 (327) 이 긍정적이고, "예" 브랜치를 따라가면, 주파수 최적화가 루틴 블록 (329) 에서 이미 수행되었기 때문에 이 루틴 블록 (335) 은 스킵될 수도 있다. 게다가, 이 루틴 블록 (335) 에서, 각각의 주파수 성능 향상기 (203) 는 또한, 최적화된 주파수, 및 서브시스템이 멀티플렉싱되면, 최적화된 프로세싱 엔진 조합에 따라 그의 개별 서브시스템에 대한 전력 붕괴 지속기간을 최적화할 수도 있다. 동작 주파수, 프로세싱 엔진 조합 및 전력 붕괴 지속기간의 이 최적화는 PCD (100) 내의 각각의 서브시스템에 대한 누설 전력을 최소화할 수도 있다.
도 2a 및 도 2b 와 관련하여 상기 설명한 바와 같이, PCD (100) 의 각각의 서브시스템에는 하드웨어, 소프트웨어, 및/또는 그 조합을 포함할 수도 있는 주파수 성능 향상기 (203) 가 제공될 수도 있다. 개별 서브시스템의 각각의 주파수 성능 향상기 (203) 는 그의 동작 주파수를 최적화하고, 프로세싱 엔진들의 조합을 선택하고, 및/또는 그의 최적의 전력 붕괴 지속기간을 계산하기 위하여 몇몇 상이한 계산들을 수행할 수도 있다. 이 루틴 블록 (335) 의 추가 상세들이 도 3b 와 관련하여 이하 설명될 것이다.
루틴 블록 (335) 후에, 블록 (340) 에서, 각각의 서브시스템은 미리결정된 지속기간 동안 그의 개별 작업부하를 계속 프로세싱할 것이다. 후속하여, 판정 블록 (345) 에서, 각각의 서브시스템 -- 보통 개별 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 내의 CPU 는 그 다음에, 작업부하의 변화가 PCD (100) 내의 공유 전력 도메인에 대한 최적의 동작 주파수 및 최적의 전압이 무엇인지에 영향을 줄 수도 있기 때문에, 그의 작업부하가 변화했는지를 결정할 수도 있다.
판정 블록 (345) 에 대한 문의가 부정적이면, "아니오" 브랜치를 따라 다시 블록 (340) 으로 간다. 판정 블록 (345) 에 대한 문의가 긍정적이면, "예" 브랜치를 따라 다시 블록 (310) 으로 간다.
이제 도 3b 를 참조하면, 이 도면은 PCD (100) 내에서 서브시스템들의 동작 주파수를 최적화하고, 멀티플렉싱된 서브시스템들에서의 프로세싱 엔진 조합들을 결정하고, 그리고 서브시스템들의 전력 붕괴 지속기간을 최적화하기 위한 도 3a 의 방법 (300) 의 서브방법 또는 루틴 (329, 335) 을 예시하는 논리적 플로우차트이다. 블록 (350) 은 서브방법 또는 루틴 (335) 의 제 1 블록이다. 블록 (350) 에서, 개별 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 의 각각의 주파수 성능 향상기 (203) 는 열 센서들 (157) 에 의해 측정한 바와 같은 그의 현재의 온도 및 블록 (330) 에서 확립된 액티브 프로세싱 엔진들의 수 및 현재의 전압에 기초하여 그의 누설 전력을 추정할 수도 있다.
다음에, 판정 블록 (355) 에서, 각각의 주파수 성능 향상기 (203) 는 그의 개별 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 에 대한 그의 누설 전력 추정치가 설정 또는 미리결정된 임계치보다 더 큰지를 결정할 수도 있다. 누설 전력의 이 설정 또는 미리결정된 임계치는 PCD (100) 의 제조자가 요망하는 바대로 정적으로 설정되거나 또는 동적으로 설정될 수도 있다.
판정 블록 (355) 에 대한 문의가 부정적이면, "아니오" 브랜치를 따라가고 서브 방법 (335) 은 도 3a 의 블록 (329) 또는 블록 (340) 중 어느 하나로 리턴한다. 판정 블록 (355) 에 대한 문의가 긍정적이면, "예" 브랜치를 따라 블록 (360) 으로 간다.
블록 (360) 에서, 각 개별 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 의 주파수 성능 향상기 (203) 는 개별 서브시스템의 현재의 작업부하를 결정할 수도 있다. 다음에, 판정 블록 (363) 에서, 서브-방법은 주파수 성능 향상기 (203) 가 연관하는 특정한 서브시스템이 멀티플렉싱된 서브시스템인지 여부를 결정할 수도 있다. 서브시스템이 멀티플렉싱되지 않으면, 즉, 서브시스템이 그의 작업부하를 위해 단일의 프로세싱 엔진만을 가지면, "아니오" 브랜치를 따라 블록 (365) 으로 간다. 그렇지 않으면, "예" 브랜치를 따라 블록 (375) 으로 간다.
블록 (365) 에서, 개별 서브시스템의 주파수 성능 향상기 모듈 (203) 은 공유 전력 도메인에 대한 임의의 추가적인 전압 마진을 활용하고 아이들 시간 동안 누설을 최소화하기 위하여 전력 붕괴의 가장 긴 지속기간 및 PMIC (107) 로부터 주어진 전압 레벨에서 서브시스템이 실행할 수도 있는 최고 가능한 주파수를 찾을 수도 있다. 블록 (365) 의 추가 상세들이 도 4 와 관련하여 이하 설명될 것이다. 블록 (370) 에서, 최고 가능한 주파수는 그 다음에 주파수 성능 향상기 모듈 (203) 에 의해, 이 전력 붕괴 지속기간에 기초하여 최적화된 동작 또는 실제 주파수 (F_act) 로서 설정될 수도 있다. 방법은 그 다음에 도 3a 의 블록 (329) 또는 블록 (340) 중 어느 하나로 리턴한다.
판정 블록 (363) 으로 리턴하여, 특정한 서브시스템이 멀티플렉싱되면, "예" 브랜치를 따라 블록 (375) 으로 간다. 블록 (375) 에서, 멀티플렉싱된 서브시스템의 주파수 성능 향상기 모듈 (203) 은 공유 전력 도메인에 대한 임의의 추가적인 전압 마진을 활용하고 아이들 시간 동안 누설을 최소화하기 위하여 전력 붕괴의 가장 긴 지속기간 및 PMIC (107) 로부터 주어진 전압 레벨에서 서브시스템의 이용가능한 프로세싱 엔진들의 서브세트가 실행할 수도 있는 최고 가능한 주파수를 찾을 수도 있다. 블록 (375) 의 추가 상세들이 도 4 와 관련하여 이하 설명될 것이다. 블록 (380) 에서, 최고 가능한 주파수는 그 다음에 주파수 성능 향상기 모듈 (203) 에 의해, 액티브 프로세싱 엔진들의 최적의 조합과 함께, 이 전력 붕괴 지속기간에 기초하여 최적화된 동작 또는 실제 주파수 (F_act) 로서 설정될 수도 있다. 방법은 그 다음에 도 3a 의 블록 (329) 또는 블록 (340) 중 어느 하나로 리턴한다.
하나의 예시적인 실시형태에서 및 블록 (365, 375) 에서의 전력 붕괴 지속기간 계산에 추가하여, 블록들 (365, 375) 에서의 각각의 주파수 성능 향상기 모듈 (203) 은 각각의 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 에 의해 계산된 F_req, F_opt, 및 F_limit 를 평가할 수도 있다. 상기 설명한 바와 같이, 주파수 성능 향상기 모듈 (203) 은 가장 효율적인 F_act 및 프로세싱 컴포넌트들의 조합을 결정하기 위해 테이블에 액세스할 수도 있다. 특정한 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 에 대해 주어진 전압 레벨에서 이용가능한 주파수들을 리스팅하는 상기 테이블 1 을 참조한다. 이 예시적인 테이블 1 에서, 제시된 값들은 모바일 디스플레이 프로세서 (128) 서브시스템에 대한 값들이다. F_act 는 향상기 모듈 (203) 에 의해 F_req 값보다 더 높게 설정될 수도 있다. 주파수 성능 향상기 모듈 (203) 은 보통 F_req 값을 다른 서브시스템들로부터의 F_limit 값보다 더 낮게 설정할 것이다. 범위 내에서, 향상기 모듈은 액티브 (실행) 시간을 최소화하기 위해, 멀티플렉싱된 서브시스템에서의 이용가능한 프로세싱 컴포넌트들의 전부 또는 서브세트를 인가하는 것과 함께, 그의 개별 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 의 현재의 전압 레벨에서 가능한 최대 주파수로 F_act 를 설정할 수도 있다.
이제 도 4 를 참조하면, 이 도면은 단일의 이용가능한 프로세싱 컴포넌트를 갖는 서브시스템과 연관된 개별 주파수 성능 향상기 모듈 (203) 에 의한 전력 붕괴 지속기간 또는 아이들 상태 지속기간 계산에서 유용한 2 개의 그래프들 (365A 및 365B) 의 예시이다. 특히, 도 4 예시는 단일의 이용가능한 프로세싱 컴포넌트를 가진 서브시스템의 맥락 내에서 설명되지만, 유사한 계산이 멀티플렉싱된 시스템에서 이용가능한 프로세싱 엔진들의 다수의 조합들에 대해 개별 주파수 성능 향상기 모듈 (203) 에 의해 이루어질 수도 있다는 것이 당업자에게 명백할 것이다. 이로써, 멀티플렉싱된 서브시스템과 연관된 주파수 성능 향상기 모듈 (203) 은 모든 이용가능한 프로세싱 엔진들을 실행할 때 멀티플렉싱된 서브시스템에 대해 최적일 수도 있는 것을 초과한 전력 레벨을 공급하는 공유 전력 도메인 내에서 작업부하를 프로세싱하기 위한 프로세싱 엔진들의 최적의 조합을 식별할 수도 있다.
상기 언급한 바와 같이, 도 3b 의 블록 (365) 에서, 개별 서브시스템의 주파수 성능 향상기 모듈 (203) 은 공유 전력 도메인에 대한 임의의 추가적인 전압 마진을 활용하고 아이들 시간 동안 누설을 최소화하기 위하여 전력 붕괴의 가장 긴 지속기간 및 PMIC (107) 로부터 주어진 전압 레벨에서 서브시스템이 실행할 수 있는 최고 가능한 주파수를 찾을 수도 있다.
개별 서브시스템 (CAMSS (148); MDP (128, 130); 버스 (220); 코덱 (134); 등) 에 대한 최고 가능한 주파수를 찾기 위해, 주파수 성능 향상기 모듈 (203) 은 도 4 에 예시한 바와 같이 시간의 경과에 따른 전력 값들을 플롯함으로써 손실된 누설 전력 및 액티브 동적 전력을 평가할 수도 있다. 제 1 전력 붕괴 지속기간 계산 플롯 (365A) 은 서브시스템에 대한 작업부하 시간을 트래킹하는 X-축 (410A) 에 대하여 플롯되는 서브시스템의 전력을 트래킹하는 Y-축 (405A) 을 갖는 그래프를 포함할 수도 있다. 예를 들어, 서브시스템이 코덱 (134) 을 포함하면, 작업부하 및 작업부하 종료 시간은 비디오 데이터에 대한 비디오 프레임 지속기간을 트래킹할 수도 있다.
전력 붕괴 지속기간 또는 아이들 상태 지속기간의 제 1 그래프 (365) 에서, 코덱 서브시스템 (134) 의 코어 전압은 코덱 서브시스템 (134) 에 의해 향상된 전압 어그리게이터 (103) 에 제출된 전압 보트와 동일하게 설정될 수도 있다. 이 전압 설정은 제 1 지속기간을 갖는 액티브 동적 전력 소비 (425A) 뿐만 아니라 제 1 지속기간을 갖는 누설 전력 손실 (420A) 을 산출한다. 전압 설정은 또한, 전력 소비가, 서브시스템이 전력 붕괴되면 본질적으로 '0' 의 붕괴 누설 (415) 또는 서브시스템이 아이들 상태로 트랜지션되면 낮은 아이들 누설 (416) 일 수도 있는 제 1 지속기간을 갖는 붕괴된 또는 아이들 전력 상태 (367A) 를 산출한다.
전체 시스템 (104) 의 코어 전압 값 (CX_voltage) (220) 이 코덱 서브시스템 (134) 과 같은 서브시스템의 전압 보트보다 더 크면, 주파수 성능 향상기 모듈 (203) 은 누설 전력 손실 (420B) 을 감소시키고 서브시스템 (134) 의 붕괴된 전력 상태 (367B) 를 증가시키기 위하여 더 높은 주파수로 실험할 수도 있다. 서브시스템 (134) 에 대한 전압의 이러한 증가들은 서브시스템 (134) 이 더 높은 주파수에서 실행하게 하고 그의 작업부하를 더 빨리 끝낼 수도 있다. 차례로, 붕괴된 전력 상태 (367B) 의 지속기간은 도 4 에 예시한 바와 같이 증가된다. 이것은 제 1 그래프 (365A) 에서 예시된 동일한 작업부하가 서브시스템 (134) 의 전압과 동작 주파수 양자가 증가될 때 제 2 그래프 (365B) 에서 예시한 바와 같은 더 짧은 양의 시간에서 완료될 수도 있다는 것을 의미한다. 예시되지 않은 다른 예시적인 실시형태에 따르면, 전압 최적화기 (101) 및/또는 전압 어그리게이터는 V_opt 도 V_limit 도 아닌 V_req (이것을 빠르게 실행해야 하기 때문에 이 전압을 필요로 한다) 에 대한 보트들을 단지 수신할 수도 있다.
본 명세서에서 설명된 프로세스들 또는 프로세스 플로우들에서의 소정의 단계들은 설명한 바와 같이 본 발명이 기능하게 하기 위해 당연히 다른 것들에 선행한다. 그러나, 본 발명은 이러한 순서 또는 시퀀스가 본 발명의 기능성을 변경하지 않는다면 설명된 단계들의 순서에 제한되지 않는다. 즉, 일부 단계들이 본 발명의 범위 및 사상으로부터 벗어남 없이 다른 단계들 전에, 후에, 또는 병행하여 (실질적으로는 다른 단계들과 동시에) 수행될 수도 있다는 것이 인지된다. 일부 인스턴스들에서, 소정의 단계들은 본 발명으로부터 벗어남 없이 생략되거나 또는 수행되지 않을 수도 있다. 게다가, "그 후", "그 다음에", "다음에" 등과 같은 단어들은 단계들의 순서를 제한하도록 의도되지 않는다. 이들 단어들은 예시적인 방법의 설명을 통하여 독자를 안내하기 위해 단순히 사용된다.
추가적으로, 프로그래밍에 숙련된 자는 예를 들어, 본 명세서에서의 플로우 차트들 및 연관된 설명에 기초하여 어려움 없이 개시된 발명을 구현하기 위해 적절한 하드웨어 및/또는 회로들을 식별하거나 컴퓨터 코드를 기록하는 것이 가능하다.
따라서, 특정한 세트의 프로그램 코드 명령들 또는 상세한 하드웨어 디바이스들의 개시는 본 발명을 제조 및 이용하는 방법의 충분한 이해를 위해 반드시 필요한 것으로 간주되지 않는다. 청구된 컴퓨터 구현 프로세스들의 발명적 기능성은 상기 설명에서 그리고 다양한 프로세스 플로우들을 예시할 수도 있는 도면들과 함께 더 상세히 설명된다.
하나 이상의 예시적인 양태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 그 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되면, 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령들 또는 코드 상에 저장되거나 이들로서 송신될 수도 있다.
본 문서의 맥락에서, 컴퓨터 판독가능 매체는 컴퓨터 관련 시스템 또는 방법에 의한 이용을 위해 또는 이들과 관련하여 컴퓨터 프로그램 및 데이터를 포함 또는 저장할 수도 있는 전자, 자기, 광학, 또는 다른 물리 디바이스 또는 수단이다. 다양한 논리 엘리먼트들 및 데이터 스토어들은 명령 실행 시스템, 장치, 또는 디바이스, 이를 테면, 그 명령 실행 시스템, 장치, 또는 디바이스로부터 명령들을 인출하고 그 명령들을 실행할 수 있는 컴퓨터 기반 시스템, 프로세서 포함 시스템, 또는 다른 시스템에 의한 이용을 위해 또는 이들과 관련하여 임의의 컴퓨터 판독가능 매체에 수록될 수도 있다. 이 문서의 맥락에서, "컴퓨터 판독가능 매체" 는 명령 실행 시스템, 장치, 또는 디바이스에 의한 이용을 위해 또는 이들과 관련하여 프로그램을 저장, 통신, 전파, 또는 전송할 수도 있는 임의의 수단을 포함할 수도 있다.
컴퓨터 판독가능 매체는 예를 들어, 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템, 장치, 디바이스, 또는 전파 매체일 수 있지만 이들에 제한되지 않는다. 컴퓨터 판독가능 매체의 보다 구체적인 예들 (비포괄적 리스트) 은 다음을 포함할 것이다: 하나 이상의 와이어들을 갖는 전기 연결 (전자), 휴대용 컴퓨터 디스켓 (자기), 랜덤 액세스 메모리 (RAM) (전자), 판독 전용 메모리 (ROM) (전자), 소거가능한 프로그래밍가능 판독 전용 메모리 (EPROM, EEPROM, 또는 플래시 메모리) (전자), 광섬유 (광학), 및 휴대용 콤팩트 디스크 판독 전용 메모리 (CDROM) (광학). 컴퓨터 판독가능 매체는 심지어는, 프로그램이 인쇄되는 종이 또는 다른 적합한 매체일 수 있는데, 프로그램은 예를 들어 종이 또는 다른 매체의 광학 스캐닝을 통해 전자적으로 캡처되고, 그 다음에, 컴파일링되거나, 인터프리팅되거나 또는 다르게는 필요하다면 적합한 방식으로 프로세싱되고, 그 다음에 컴퓨터 메모리에 저장될 수 있기 때문인 것에 주목한다.
컴퓨터 판독가능 매체들은 일 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체들과 컴퓨터 저장 매체들 양자를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수도 있는 임의의 이용가능한 매체들일 수도 있다. 제한이 아닌 일 예로, 이러한 컴퓨터 판독가능 매체들은 임의의 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 운반 또는 저장하는데 이용될 수도 있고 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다.
또한, 임의의 접속이 적절히 컴퓨터 판독가능 매체라 불린다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 트위스티드 페어, 디지털 가입자 회선 ("DSL"), 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들을 이용하여 송신되면, 동축 케이블, 광섬유 케이블, 트위스티드 페어, DSL, 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들이 매체의 정의에 포함된다.
디스크 (disk) 및 디스크 (disc) 는 본 명세서에서 사용한 바와 같이, 콤팩트 디스크 ("CD"), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 ("DVD"), 플로피 디스크 및 블루 레이 디스크를 포함하고, 여기서 디스크 (disk) 들은 보통 데이터를 자기적으로 재생하는 한편, 디스크 (disc) 들은 레이저로 데이터를 광학적으로 재생한다. 상기의 조합들이 또한 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
따라서, 선택된 양태들은 상세히 예시 및 설명되었지만, 다양한 치환들 및 변경들이 다음의 청구항들에 의해 정의한 바와 같이, 본 발명의 사상 및 범위로부터 벗어남 없이 본 명세서에서 이루어질 수도 있다는 것이 이해될 것이다.

Claims (30)

  1. 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 방법으로서,
    상기 휴대용 컴퓨팅 디바이스 내의 복수의 서브시스템들에 대한 복수의 전압 값들을 결정하는 단계로서, 적어도 하나의 서브시스템은 복수의 프로세싱 엔진들을 포함하는 멀티플렉싱된 서브시스템인, 상기 복수의 전압 값들을 결정하는 단계;
    상기 복수의 전압 값들에 기초하여 전압 값들의 감소된 세트를 계산하는 단계;
    상기 전압 값들의 감소된 세트로부터 상기 휴대용 컴퓨팅 디바이스 내의 공유 전력 도메인에 대한 최적화된 전압 레벨을 결정하는 단계;
    상기 공유 전력 도메인을 상기 최적화된 전압 레벨로 설정하는 단계;
    상기 최적화된 전압 레벨이 상기 복수의 프로세싱 엔진들을 실행할 때 적어도 하나의 멀티플렉싱된 서브시스템에 대한 요구된 전압 레벨을 초과한다고 결정하는 단계;
    상기 복수의 프로세싱 엔진들의 서브세트를 식별하는 단계; 및
    상기 프로세싱 엔진들의 서브세트로 상기 적어도 하나의 멀티플렉싱된 서브시스템의 작업부하를 프로세싱하는 단계
    를 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 방법.
  2. 제 1 항에 있어서,
    상기 최적화된 전압 레벨에 기초하여 서브시스템의 동작 주파수를 최적화하는 단계를 더 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 방법.
  3. 제 1 항에 있어서,
    적어도 하나의 서브시스템은 카메라, 디스플레이, 통신 버스, 비디오 코더, 비디오 디코더, 및 신호 프로세서 중 하나를 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 방법.
  4. 제 1 항에 있어서,
    온도 및 상기 최적화된 전압 레벨 중 적어도 하나에 기초하여 서브시스템의 누설 전력을 추정하는 단계를 더 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 방법.
  5. 제 1 항에 있어서,
    서브시스템의 현재의 작업부하를 결정하는 단계를 더 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 방법.
  6. 제 5 항에 있어서,
    상기 현재의 작업부하를 프로세싱하는 것에 대응하는 최적의 전력 붕괴 지속기간을 결정하는 단계를 더 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 방법.
  7. 제 1 항에 있어서,
    최적의 전력 붕괴 지속기간에 기초하여 이용가능한 이상적인 동작 주파수를 결정하는 단계를 더 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 방법.
  8. 제 1 항에 있어서,
    현재의 작업부하를 완료하기 위해 적어도 2 개의 상이한 전압 값들로 계산들을 수행하는 단계를 더 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 방법.
  9. 제 8 항에 있어서,
    상기 상이한 전압 값들에 대응하는 누설 전력을 계산하는 단계를 더 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 방법.
  10. 제 1 항에 있어서,
    상기 휴대용 컴퓨팅 디바이스는 모바일 전화기, 개인 휴대 정보 단말기, 페이저, 스마트폰, 내비게이션 디바이스, 및 무선 연결 또는 링크를 가진 핸드-헬드 컴퓨터 중 적어도 하나를 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 방법.
  11. 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템으로서,
    상기 휴대용 컴퓨팅 디바이스 내의 복수의 서브시스템들에 대한 복수의 전압 값들을 결정하는 것으로서, 적어도 하나의 서브시스템은 복수의 프로세싱 엔진들을 포함하는 멀티플렉싱된 서브시스템인, 상기 복수의 전압 값들을 결정하고;
    상기 복수의 전압 값들에 기초하여 전압 값들의 감소된 세트를 계산하고;
    상기 전압 값들의 감소된 세트로부터 상기 휴대용 컴퓨팅 디바이스 내의 공유 전력 도메인에 대한 최적화된 전압 레벨을 결정하고;
    상기 공유 전력 도메인을 상기 최적화된 전압 레벨로 설정하고;
    상기 최적화된 전압 레벨이 상기 복수의 프로세싱 엔진들을 실행할 때 적어도 하나의 멀티플렉싱된 서브시스템에 대한 요구된 전압 레벨을 초과한다고 결정하고;
    상기 복수의 프로세싱 엔진들의 서브세트를 식별하고; 그리고
    상기 프로세싱 엔진들의 서브세트로 상기 적어도 하나의 멀티플렉싱된 서브시스템의 작업부하를 프로세싱하기 위해
    동작가능한 프로세서를 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템.
  12. 제 11 항에 있어서,
    상기 프로세서는 또한, 상기 최적화된 전압 레벨에 기초하여 서브시스템의 동작 주파수를 최적화하기 위해 동작가능한, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템.
  13. 제 11 항에 있어서,
    적어도 하나의 서브시스템은 카메라, 디스플레이, 통신 버스, 비디오 코더, 비디오 디코더, 및 신호 프로세서 중 하나를 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템.
  14. 제 11 항에 있어서,
    상기 프로세서는 또한, 온도 및 상기 최적화된 전압 레벨 중 적어도 하나에 기초하여 서브시스템의 누설 전력을 추정하기 위해 동작가능한, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템.
  15. 제 11 항에 있어서,
    상기 프로세서는 또한, 서브시스템의 현재의 작업부하를 결정하기 위해 동작가능한, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템.
  16. 제 15 항에 있어서,
    상기 프로세서는 또한, 상기 현재의 작업부하를 프로세싱하는 것에 대응하는 최적의 전력 붕괴 지속기간을 결정하기 위해 동작가능한, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템.
  17. 제 11 항에 있어서,
    상기 프로세서는 또한, 최적의 전력 붕괴 지속기간에 기초하여 이용가능한 이상적인 동작 주파수를 결정하기 위해 동작가능한, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템.
  18. 제 11 항에 있어서,
    상기 프로세서는 또한, 현재의 작업부하를 완료하기 위해 적어도 2 개의 상이한 전압 값들로 계산들을 수행하기 위해 동작가능한, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템.
  19. 제 18 항에 있어서,
    상기 프로세서는 또한, 상기 상이한 전압 값들에 대응하는 누설 전력을 계산하기 위해 동작가능한, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템.
  20. 제 11 항에 있어서,
    상기 휴대용 컴퓨팅 디바이스는 모바일 전화기, 개인 휴대 정보 단말기, 페이저, 스마트폰, 내비게이션 디바이스, 및 무선 연결 또는 링크를 가진 핸드-헬드 컴퓨터 중 적어도 하나를 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브시스템들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템.
  21. 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브컴포넌트들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템으로서,
    상기 휴대용 컴퓨팅 디바이스 내의 복수의 서브시스템들에 대한 복수의 전압 값들을 결정하는 수단으로서, 적어도 하나의 서브시스템은 복수의 프로세싱 엔진들을 포함하는 멀티플렉싱된 서브시스템인, 상기 복수의 전압 값들을 결정하는 수단;
    상기 복수의 전압 값들에 기초하여 전압 값들의 감소된 세트를 계산하는 수단;
    상기 전압 값들의 감소된 세트로부터 상기 휴대용 컴퓨팅 디바이스 내의 공유 전력 도메인에 대한 최적화된 전압 레벨을 결정하는 수단;
    상기 공유 전력 도메인을 상기 최적화된 전압 레벨로 설정하는 수단;
    상기 최적화된 전압 레벨이 상기 복수의 프로세싱 엔진들을 실행할 때 적어도 하나의 멀티플렉싱된 서브시스템에 대한 요구된 전압 레벨을 초과한다고 결정하는 수단;
    상기 복수의 프로세싱 엔진들의 서브세트를 식별하는 수단; 및
    상기 프로세싱 엔진들의 서브세트로 상기 적어도 하나의 멀티플렉싱된 서브시스템의 작업부하를 프로세싱하는 수단
    을 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브컴포넌트들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템.
  22. 제 21 항에 있어서,
    상기 최적화된 전압 레벨에 기초하여 서브시스템의 동작 주파수를 최적화하는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브컴포넌트들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템.
  23. 제 21 항에 있어서,
    적어도 하나의 서브시스템은 카메라, 디스플레이, 통신 버스, 비디오 코더, 비디오 디코더, 및 신호 프로세서 중 하나를 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브컴포넌트들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템.
  24. 제 21 항에 있어서,
    온도 및 상기 최적화된 전압 레벨 중 적어도 하나에 기초하여 서브시스템의 누설 전력을 추정하는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브컴포넌트들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템.
  25. 제 21 항에 있어서,
    서브시스템의 현재의 작업부하를 결정하는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브컴포넌트들의 주파수 성능을 향상시키기 위한 컴퓨터 시스템.
  26. 컴퓨터 판독가능 프로그램 코드를 수록하고 있는 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 컴퓨터 판독가능 프로그램 코드는 휴대용 컴퓨팅 디바이스의 코어 전압 레벨을 최적화하고 상기 휴대용 컴퓨팅 디바이스 내의 개개의 서브컴포넌트들의 주파수 성능을 향상시키기 위한 방법을 구현하기 위해 실행되도록 구성되고,
    상기 방법은 :
    상기 휴대용 컴퓨팅 디바이스 내의 복수의 서브시스템들에 대한 복수의 전압 값들을 결정하는 단계로서, 적어도 하나의 서브시스템은 복수의 프로세싱 엔진들을 포함하는 멀티플렉싱된 서브시스템인, 상기 복수의 전압 값들을 결정하는 단계;
    상기 복수의 전압 값들에 기초하여 전압 값들의 감소된 세트를 계산하는 단계;
    상기 전압 값들의 감소된 세트로부터 상기 휴대용 컴퓨팅 디바이스 내의 공유 전력 도메인에 대한 최적화된 전압 레벨을 결정하는 단계;
    상기 공유 전력 도메인을 상기 최적화된 전압 레벨로 설정하는 단계;
    상기 최적화된 전압 레벨이 상기 복수의 프로세싱 엔진들을 실행할 때 적어도 하나의 멀티플렉싱된 서브시스템에 대한 요구된 전압 레벨을 초과한다고 결정하는 단계;
    상기 복수의 프로세싱 엔진들의 서브세트를 식별하는 단계; 및
    상기 프로세싱 엔진들의 서브세트로 상기 적어도 하나의 멀티플렉싱된 서브시스템의 작업부하를 프로세싱하는 단계
    를 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  27. 제 26 항에 있어서,
    상기 방법을 구현하는 상기 컴퓨터 판독가능 프로그램 코드는 상기 최적화된 전압 레벨에 기초하여 서브시스템의 동작 주파수를 최적화하는 것을 더 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  28. 제 26 항에 있어서,
    적어도 하나의 서브시스템은 카메라, 디스플레이, 통신 버스, 비디오 코더, 비디오 디코더, 및 신호 프로세서 중 하나를 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  29. 제 26 항에 있어서,
    상기 방법을 구현하는 상기 컴퓨터 판독가능 프로그램 코드는 온도 및 상기 최적화된 전압 레벨 중 적어도 하나에 기초하여 서브시스템의 누설 전력을 추정하는 것을 더 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
  30. 제 26 항에 있어서,
    상기 방법을 구현하는 상기 컴퓨터 판독가능 프로그램 코드는 서브시스템의 현재의 작업부하를 결정하는 것을 더 포함하는, 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품.
KR1020177001665A 2014-07-22 2015-07-14 Pcd 내의 전력 소비를 감소시키기 위해 코어 전압 레벨을 최적화하고 개개의 서브컴포넌트들의 주파수 성능을 향상시키기 위한 방법 및 시스템 KR20170039132A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/338,342 US9690363B2 (en) 2013-11-21 2014-07-22 Method and system for optimizing a core voltage level and enhancing frequency performance of individual subcomponents for reducing power consumption within a PCD
US14/338,342 2014-07-22
PCT/US2015/040426 WO2016014295A1 (en) 2014-07-22 2015-07-14 Method and system for optimizing a core voltage level and enhancing frequency performance of individual subcomponents for reducing power consumption within a pcd

Publications (1)

Publication Number Publication Date
KR20170039132A true KR20170039132A (ko) 2017-04-10

Family

ID=53761556

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177001665A KR20170039132A (ko) 2014-07-22 2015-07-14 Pcd 내의 전력 소비를 감소시키기 위해 코어 전압 레벨을 최적화하고 개개의 서브컴포넌트들의 주파수 성능을 향상시키기 위한 방법 및 시스템

Country Status (4)

Country Link
EP (1) EP3172637B1 (ko)
KR (1) KR20170039132A (ko)
CN (1) CN106575141B (ko)
WO (1) WO2016014295A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362186B (zh) * 2019-07-17 2021-02-02 Oppo广东移动通信有限公司 图层处理方法、装置、电子设备及计算机可读介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US9063730B2 (en) * 2010-12-20 2015-06-23 Intel Corporation Performing variation-aware profiling and dynamic core allocation for a many-core processor
US9383804B2 (en) * 2011-07-14 2016-07-05 Qualcomm Incorporated Method and system for reducing thermal load by forced power collapse

Also Published As

Publication number Publication date
EP3172637A1 (en) 2017-05-31
EP3172637B1 (en) 2019-03-13
CN106575141A (zh) 2017-04-19
CN106575141B (zh) 2019-03-01
WO2016014295A1 (en) 2016-01-28

Similar Documents

Publication Publication Date Title
KR102464295B1 (ko) 휴대 컴퓨팅 디바이스 내의 전력 소비를 감소시키기 위해 코어 전압 레벨 및 개개의 서브컴포넌트들의 동작 주파수를 최적화하기 위한 방법 및 시스템
US9665161B2 (en) Method and computer-readable medium for dynamically managing power of multi-core processor
US9378536B2 (en) CPU/GPU DCVS co-optimization for reducing power consumption in graphics frame processing
KR101553201B1 (ko) 포터블 컴퓨팅 디바이스에서 프로세서를 지원하는 인터럽트 레이턴시 임계 및 리소스의 동적 조정
US10389147B2 (en) Method for charging battery and electronic device thereof
US9733694B2 (en) Apparatus, system and method for dynamic power management across heterogeneous processors in a shared power domain
JP2018501569A (ja) ポータブルコンピューティングデバイスにおけるピーク動的電力管理のためのシステムおよび方法
US20130013936A1 (en) Dynamic power management system for universal serial bus (usb) hub and method thereof
WO2015010044A1 (en) System and method for idle state optimization in a multi-processor system on a chip
US10064141B2 (en) Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit
EP2974470A1 (en) System and method for managing electrical current in a portable computing device
JP2013543698A (ja) モバイルデバイスにおける作業負荷予測子の有効性を測定するためのシステムおよび方法
EP3005022A2 (en) System and method for managing rechargeable power sources in a portable computing device with two or more usage modes
KR20170039132A (ko) Pcd 내의 전력 소비를 감소시키기 위해 코어 전압 레벨을 최적화하고 개개의 서브컴포넌트들의 주파수 성능을 향상시키기 위한 방법 및 시스템
US20150161070A1 (en) Method and system for managing bandwidth demand for a variable bandwidth processing element in a portable computing device
TW202248852A (zh) 核心電壓調節器能量感知任務排程
KR20130063374A (ko) 이동 단말기 및 그 제어 방법
US11644853B2 (en) Power delivery system having low- and high-power power supplies

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application