CN105247442B - 用于管理多部件平台中的活动的技术和系统 - Google Patents
用于管理多部件平台中的活动的技术和系统 Download PDFInfo
- Publication number
- CN105247442B CN105247442B CN201380077038.2A CN201380077038A CN105247442B CN 105247442 B CN105247442 B CN 105247442B CN 201380077038 A CN201380077038 A CN 201380077038A CN 105247442 B CN105247442 B CN 105247442B
- Authority
- CN
- China
- Prior art keywords
- forced idle
- activity
- period
- shallow
- cycle
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 230000000694 effects Effects 0.000 title claims abstract description 216
- 238000005516 engineering process Methods 0.000 title description 5
- 238000002955 isolation Methods 0.000 claims abstract description 20
- 238000003860 storage Methods 0.000 claims description 37
- 239000000872 buffer Substances 0.000 claims description 13
- 239000004065 semiconductor Substances 0.000 claims description 11
- 238000004064 recycling Methods 0.000 claims 2
- 239000000306 component Substances 0.000 description 139
- 238000000034 method Methods 0.000 description 23
- 238000012545 processing Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 230000008878 coupling Effects 0.000 description 8
- 238000010168 coupling process Methods 0.000 description 8
- 238000005859 coupling reaction Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 5
- 239000000428 dust Substances 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 238000002156 mixing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000008358 core component Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- MKYBYDHXWVHEJW-UHFFFAOYSA-N N-[1-oxo-1-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propan-2-yl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C(C(C)NC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F)N1CC2=C(CC1)NN=N2 MKYBYDHXWVHEJW-UHFFFAOYSA-N 0.000 description 1
- AFCARXCZXQIEQB-UHFFFAOYSA-N N-[3-oxo-3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propyl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C(CCNC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F)N1CC2=C(CC1)NN=N2 AFCARXCZXQIEQB-UHFFFAOYSA-N 0.000 description 1
- VCUFZILGIRCDQQ-KRWDZBQOSA-N N-[[(5S)-2-oxo-3-(2-oxo-3H-1,3-benzoxazol-6-yl)-1,3-oxazolidin-5-yl]methyl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C1O[C@H](CN1C1=CC2=C(NC(O2)=O)C=C1)CNC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F VCUFZILGIRCDQQ-KRWDZBQOSA-N 0.000 description 1
- JAWMENYCRQKKJY-UHFFFAOYSA-N [3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-ylmethyl)-1-oxa-2,8-diazaspiro[4.5]dec-2-en-8-yl]-[2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidin-5-yl]methanone Chemical compound N1N=NC=2CN(CCC=21)CC1=NOC2(C1)CCN(CC2)C(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F JAWMENYCRQKKJY-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000004217 heart function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
-
- 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/3246—Power saving characterised by the action undertaken by software initiated power-off
-
- 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/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- 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
-
- 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/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
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)
- Software Systems (AREA)
- Microcomputers (AREA)
Abstract
在一个实施例中,一种装置包括多个处理器部件;一个或多个设备部件,其通信地耦合到所述多个处理器部件中的一个或多个处理器部件;以及控制器,其包括其中的至少一部分是硬件的逻辑,所述逻辑用于安排与一个或多个活动周期穿插的一个或多个强制空闲周期,强制空闲周期跨越一持续时间,在所述持续时间期间所述多个处理器部件以及所述一个或多个设备部件同时置于各自的空闲状态,所述空闲状态定义在所述强制空闲周期的隔离的子周期期间的强制空闲功率状态。公开并要求保护其它实施例。
Description
技术领域
本文所描述的实施例总体上涉及集成电路设备中的功率管理,并且具体地涉及在多个不同处理器部件和/或设备之中控制设备活动。
背景技术
在当今的计算和通信设备平台中,许多不同设备部件通常布置在印刷电路板、封装或者甚至单个半导体管芯上,后者通常被称作片上系统(SoC)。存在于SoC芯片上的设备部件包括例如:通用处理器核心、图形处理单元、存储器控制器、显示引擎、高速缓存以及若干部件。诸如功率管理单元的其它部件可以布置在SoC芯片上或在另一管芯中。管理跨每个子系统的活动以达到最佳高效性能产生了关于一些SoC架构的高效操作的问题。每当外围区域变为活动的且生成诸如直接存储器存取、中断或其它信号的事件时,包括处理器核心、图形处理器单元的其它部件被强制驻留在消耗过多功率的相对高的功率状态,即使不需要处理器核心功能。这可能成为在多种类型或工作负荷情况下且尤其在半活动的工作负荷情况下的对高效操作的减损。
因此,需要改进的技术和装置来解决这些和其它问题。
附图说明
图1示出了示例性系统的框图。
图2示出了工作循环的第一实施例的操作。
图3示出了工作循环的第二实施例的操作。
图4示出了工作循环的第三实施例的操作。
图5A示出了工作循环的第四实施例的操作。
图5B示出了工作循环的第五实施例的操作。
图5C示出了工作循环的第六实施例的操作。
图6呈现了示例性第一逻辑流。
图7呈现了示例性第二逻辑流。
图8呈现了示例性第三逻辑流。
图9是示例性系统实施例的图。
发明内容
一种用于功率管理的装置,包括:多个处理器部件;一个或多个设备部件,其通信地耦合到所述多个处理器部件中的一个或多个处理器部件;以及控制器,其包括其中的至少一部分是硬件的逻辑,所述逻辑用于安排与一个或多个活动周期穿插的一个或多个强制空闲周期,强制空闲周期跨越一持续时间,在所述持续时间期间所述多个处理器部件中的一个或多个以及一个或多个设备部件同时置于空闲状态,所述空闲状态定义在所述强制空闲周期的隔离的子周期期间的强制空闲功率状态。
一种用于功率管理的装置,包括:多个处理器部件;一个或多个设备部件,其通信地耦合到所述多个处理器部件中的一个或多个处理器部件;以及处理器,其包括其中的至少一部分是硬件的逻辑,所述逻辑用于安排与一个或多个活动周期穿插的一个或多个强制空闲周期,强制空闲周期跨越一持续时间,在所述持续时间期间所述多个处理器部件中的一个或多个以及所述一个或多个设备部件中的至少一个同时置于空闲状态,所述空闲状态定义在所述强制空闲周期的隔离的子周期期间的强制空闲功率状态。
一种用于功率管理的系统,包括:多个处理器部件;一个或多个设备部件,其通信地耦合到所述多个处理器部件中的一个或多个处理器部件;以及
控制器和处理器,其耦合到所述多个处理器部件,所述控制器和/或处理器包括其中的至少一部分是硬件的逻辑,所述逻辑用于安排与一个或多个活动周期穿插的一个或多个强制空闲周期,强制空闲周期跨越一持续时间,在所述持续时间期间所述多个处理器部件中的一个或多个以及所述一个或多个设备部件中的至少一个同时置于空闲状态,所述空闲状态定义在所述强制空闲周期的隔离的子周期期间的强制空闲功率状态。
至少一种包括指令的计算机可读存储介质,所述指令当被执行时,使得控制器:安排与针对平台的一个或多个活动周期穿插的一个或多个强制空闲周期;以及在所述强制空闲周期的隔离的子周期期间,同时地将所述平台的多个处理器部件中的一个或多个处理器部件置于空闲状态并将所述平台的一个或多个设备部件置于空闲状态。
一种用于管理功率的装置,包括:包括指令的存储器;以及与所述存储器耦合的处理器,所述指令由所述处理器执行,用于:安排与针对平台的一个或多个活动周期穿插的一个或多个强制空闲周期;以及在所述强制空闲周期的隔离的子周期期间,同时地将所述平台的多个处理器部件中的一个或多个处理器部件置于空闲状态并将所述平台的一个或多个设备部件置于空闲状态。
具体实施方式
各种实施例涉及在多部件平台中协调活动。多部件平台可以形成计算设备、通信设备、混合通信/计算设备、控制器设备或其它硬件的部分。本实施例的多部件平台包括多个电子处理部件,例如,图形处理器单元(GPU)和通用处理器,其在本文中称作“CPU”。通用处理器可以包括一个或多个处理器核心或“CPU核心”。多部件平台包括各种额外部件,其可以包括:CPU本地的高速缓存、存储器、系统时钟、输入/输出(I/O)设备、显示引擎、存储器控制器、I/O控制器、数字信号处理器、磁盘驱动器、射频通信电路、数字摄像机设备或其它传感器设备、包括天线的通信接口、通用串行总线(USB)接口、以及功率控制单元(功率管理单元)等。实施例并不限于该上下文。
与本实施例一致地,提供了用于执行部件工作循环以协调平台的多个不同部件之间的活动的方法和装置。本文所使用的术语“工作循环(duty cycling)”通常是指强制或安排地对准在平台的多个部件之中的一系列空闲周期。工作循环还可以进一步限定强制对准在多个平台部件之间的活动周期。因此,工作循环限定强制空闲周期和活动周期之间的循环。特别地,本实施例有效地定义了强制空闲周期,在该周期期间,多个平台部件同时放置在空闲或低功率状态,其定义强制空闲状态。在各个实施例中,如下所描述的,为了容纳多部件系统的不同部件的不同要求,执行混合或嵌套的工作循环,其中将较小的周期(其在本文可替代地可被称作“子周期”)安排到强制空闲周期内。
图1示出了符合本实施例的平台或系统100的框图。系统100通常涉及至少执行通用计算和图形处理功能。然而,在各个实施例中,除了图1中所示的那些之外,诸如系统100的系统可以包括常规的部件,并且可以执行附加功能,例如进行无线通信、执行电子成像以及其它功能。
如图所示,系统100包括一组部件102。在一些实施例中,所述一组部件102可以位于单个半导体管芯(芯片)上,形成所谓的片上系统。然而,在其它实施例中,所述一组部件102的各个部件可以被分散到多个不同芯片之中,或者可以被分散跨不同的物理系统且通过有线或无线网络或其它通信介质被连接。在图1的具体实施例中,系统100包括CPU核心104、图形处理器单元(GPU)106、高速缓存108、I/O控制器110、存储器控制器112、功率控制单元114、显示引擎116、I/O设备118、存储器120以及传感器122。在各个实施例中,CPU核心104可以包括一个或多个CPU核心。
系统100可以提供更高效和有效的功率管理方案,以在系统100的各个部件之中协调活动,而不会过度地牺牲期望的性能。特别地,系统100包括工作循环控制部件,以通过对准系统100的各个部件的空闲周期而促进维护低平台功率消耗,所述系统100包括CPU核心104、GPU 106和系统100的其它部件。这有助于避免与常规平台操作相关联的问题,其中在不需要CPU或GPU处理功率的平台部件中的甚至较小级别的活动可以使这种设备产生过度功率消耗。通过对准CPU核心104、GPU 106以及其它部件的空闲周期,可以减少整体平台功率消耗,而不影响系统100在完全活动时的性能能力。
与本实施例一致且关于后续附图详细描述的,通过强制对准或安排跨系统100的多个部件的活动,工作循环控制部件124定义针对平台100的一个或多个新的轻量功率状态。与在当今计算平台中定义的常规部件级别功率状态相比,这产生了对系统100可行的更宽动态范围的功率级别。
工作循环控制部件124可以包括各种硬件元件、软件元件或两者的组合。硬件元件的例子可以包括设备、部件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、感应器等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等。软件元件的例子包括软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、进程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或者其任意组合。确定实施例是否利用硬件元件和/或软件元件来实施,可以根据很多因素而改变,例如期望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束,如针对给定实现方式所期望的那样。
在具体实施例中,工作循环控制部件124包括逻辑,其至少一部分是硬件并且包含于控制器或处理器中。例如,所述逻辑可以包含于链接到系统100的其它部件上的处理器电路中。在一个具体例子中,所述逻辑形成处理器的一部分(例如,CPU核心104),并且通信地链接到系统100的其它部件上。在其它实施例中,工作循环控制部件124的逻辑可以位于例如功率控制单元114的控制器中。在另外的实施例中,工作循环控制部件可以被分布跨多个平台部件,包括高速缓存和/或存储器部件。在操作中,工作循环控制部件124可以在适于针对系统100的操作时调用工作循环。在一些实施例中,工作循环可以建立作为系统100的操作的默认模式。在具体实施例中,工作循环控制部件124可以在系统100的不同部件上独立地或一致地执行强制空闲状态,并可以以使系统部件的部分与其它部分分离地进行循环的方式执行工作循环。另外,工作循环控制部件124可以生成多个不同级别的工作循环,以适应系统100的不同部件的要求。
在具体实施例中,如上所述,工作循环控制部件124启动嵌套或混合工作循环,其中其活动被对准的部件的数量在不同周期之间变化。这对于处理在所有部件之中或在系统100的某些部件之中同时对准活动是不可能的或不期望的情况尤其有用。例如,针对给定I/O设备(给定例如有限缓冲容量)的有限空闲持续时间,可能损害对CPU核心104、GPU 106和I/O设备118的空闲周期的强制对准。
图2描绘了与本实施例一致的工作循环的一个例子的细节。在图2中,示出了工作循环安排200,其包括与空闲周期穿插的一系列活动周期。单个全局循环持续时间或全局工作循环可以通过活动周期和其后跟随的且相邻的空闲周期来定义,例如,全局工作循环202、204。在本实施例中,活动周期206、210、214可以具有相同或类似的持续时间,或者持续时间在活动周期之间可以变化。在活动周期期间,处理器核心104、GPU 106和系统100的其它部件可以在相对较高的状态运行。例如,一组P(或PC)状态可以对应于功率性能状态,其包括最高性能状态(P0或PC0)。在空闲周期期间,其在本文中被称作强制空闲周期208、212等,包括处理器核心104、GPU 106和其它目标系统部件的多个目标系统部件被对准,以使得每个目标系统部件与其它目标系统部件同时被置于空闲状态并持续强制空闲周期的至少一部分。在图2的例子中,强制空闲周期208在长度上不同于强制空闲周期212,但是在其它实施例中,强制空闲周期可以具有相同或类似的持续时间。
进一步如图2所示,每个强制空闲周期包括与一个或多个浅活动子周期216穿插的空闲子周期218。空闲子周期218可以对应于所谓的空闲状态,其中一个或多个处理器核心104可以以低功率状态操作,例如C状态(或PC状态),其可以反映与PC0状态相比较低的处理器时钟频率、较低的电压等。例如,一系列核心C状态可以表示硬件状态,并可以包括可以应用到一组核心的若干不同核心空闲状态。同时,GPU 106可以以较低功率状态或空闲状态操作,其可以由RC状态表示,例如RC6。最后,其它平台部件(例如,控制器、I/O设备)可以在空闲子周期218期间置于空闲状态。一起地,在整个平台范围上,对准针对CPU核心104、GPU106和其它平台部件的空闲状态定义了强制空闲状态。在所有部件(它们的空闲周期被布置在空闲子周期218内)位于共同(单个)半导体管芯上的实施例中,强制空闲状态可以表示所谓的SoC空闲状态。
进一步如图2所示,浅活动子周期216和相邻的空闲子周期218定义了嵌套的工作循环220,其在每个强制空闲周期208、212等内发生一次或多次。嵌套的工作循环220的功能是分配浅活动时隙或子周期,在其间将系统部件的功率状态向上调整(到较高功率状态),以使循环适应于针对系统100的一个或多个部件(如果在强制空闲周期的持续时间内维持在空闲状态,则这些部件可能无法正确运行)的活动状态。图2还描绘了系统100的处理器部件的状态或活动性级别,其可以表示各个部件(例如,CPU核心104、GPU 106)的活动性级别,或者可以是多个部件(包括CPU核心104、GPU 106、存储器部件等)之中的复合活动性级别。如图所示,在每个活动周期期间,活动性级别可以在活动状态222(参见部分230、232)和中间状态220(参见部分234)之间变化。这一变化可以根据常规过程且响应于当前处理条件而发生。
在每个强制空闲周期208、212期间,将CPU核心104、GPU 106和其它部件置于强制空闲状态,以使得针对每个强制空闲周期的部分(参见部分236、238)活动性级别降低到强制空闲状态226。例如,部分236对应于空闲子周期218。另外,在浅活动子周期216期间,活动性升高到浅活动状态228(参见部分240)。如图2所示,在这些浅活动周期期间,可以使针对一个或多个系统部件的通往存储器的路径保持活跃。以这种方式,在给定的浅活动子周期216期间可以促进某些系统部件的适当功能。这在图2中也进行了强调,图2进一步描绘了系统部件的活动,标记为dev0。在一个例子中,dev0表示I/O部件,其具有尺寸受限的缓冲器,从而需要以比强制空闲周期208、212的持续时间小的间隔进行刷新。如图所示,dev0部件在活动状态244和缓冲的状态246之间交替。
在活动周期206、210等期间,dev0的活动性状态的特征在于多个活动部分,例如部分248、252,其可以根据常规过程进行安排。在活动状态期间,可以例如将数据转移到诸如高速缓存或系统存储器的存储器中。在活动周期206、210期间,安排dev0的活动状态可以根据当前处理需求来进行。
在强制空闲周期208、212期间,工作循环控制部件124安排dev0的活动,以使得dev0仅在以规律间隔隔开的浅活动子周期216期间处于活动状态。与图2的实施例一致,布置浅活动子周期216的间隔,以使得活动子周期218的持续时间不超过与部件dev0的操作相关的阈值时间。所述阈值时间可以例如基于dev0的缓冲器容量。特别地,所述阈值时间可以是计算出的或估计出的用于安全操作dev0而无需执行直接存储器访问或类似操作以将数据从dev0的缓冲器转移从而避免数据损失的最大时间。因此,如图2所示,dev0的活动性级别增加到活动级别244,如活动部分250、254、256所例示的,其每一个在强制空闲周期期间发生。显著地,浅活动子周期216适应了下述需求:在比由相邻的活动周期210、214所提供的间隔更短的间隔所隔开的不同实例处,将dev0置为活动状态。
一旦完成浅活动子周期,dev0中的活动性循环降到缓冲的状态,并且诸如另外的DMA之类的后续活动可以延迟到下一浅活动子周期。因此,通过提供嵌套的工作循环,在强制空闲周期期间,通过允许CPU核心和GPU活动维持在低活动性级别(例如,强制空闲级别226和浅活动状态228),平台的大部分(诸如CPU核心、GPU和其它部件)的全部活动性级别被维持在深度功率管理状态。同时,在多个实例处,“轻”浅活动状态可以在强制空闲周期内循环,以生成具有必要频率的到存储器的路径(path-to-memory),从而服务那些具有有限缓冲容量的部件。更一般地,嵌套的工作循环允许例如Dev0之类的设备周期性地以实时方式执行任何所需活动,例如DMA操作,其不影响CPU处理器核心活动或其它处理器活动,且没有将CPU核心104和/或GPU 106循环到不必要的高功率状态。在特定例子中,强制空闲周期可以跨高达一毫秒或更多,且相邻浅活动子周期之间的嵌套的工作循环可以是大约100μs。
图3描绘了与本实施例一致的工作循环的第二例子的细节。图3的布置300中描绘的场景可以看作是图2所描绘的变型,并且在两图中类似的元件保持相同的附图标记和/或标签。特别地,图3的场景与图2的场景有一方面不同,在于第二部件dev1的活动是额外描绘的,其在活动级别322与324之间交替。另外,活动周期302、306、310与穿插的强制空闲周期304、308由转变间隔312分隔开。
如图所示,dev1部件展示了活动部分326、328、330、332、334、336和338,其发生于活动周期302、306和强制空闲周期304、308二者期间。特别地,活动部分330、336和338中的每个在浅活动周期216期间发生。如图3进一步示出的,在浅活动周期216期间的针对处理器的复合活动性状态由部分340定义,部分340的功率由浅活动状态342定义。在一些实例中,浅活动状态342的功率级别可能高于部分240的浅活动状态228的功率级别,这是由于需要在浅活动周期内容纳多个活动的设备。例如,针对部件dev0和dev1的各自(活动)部分256和338在单个浅活动周期216内重叠。
如图3所示,本实施例利用嵌套的工作循环促进对平台的不同部件的活动进行对准,从而可以适应由除了处理器部件之外的平台部件执行的偶然活动,而不会损害平台部件操作且不会在强制空闲周期期间不必要地唤醒处理器部件。在本实施例中,除了仅在浅活动周期期间安排DMA活动外,可以类似地限制其它过程或信号发送(signaling)。例如,可以在强制空闲周期内的给定浅活动周期中处理硬件或软件生成的中断,其后可以延迟处理进一步的中断,例如,直到下一活动周期。
在进一步的实施例中,在给定的强制空闲周期内提供用于工作循环的多个嵌套级别。这在以下情况下是有利的:其中,不同的平台部件需要以不同频率被服务以进行适当操作。例如,平台摄像机传感器中的有限的缓冲器需要被频繁服务(例如,50μs)。在一个场景中,在跨越50μs的“内部级别”工作循环,流送到摄像机传感器缓冲器的数据可以进入到驻留在平台中的较大的共享SRAM中。在SRAM中累积的摄像机传感器数据然后可以在对应于“内部级别”工作循环的每五个周期的“中间级别”工作循环或每250μs被冲洗到主存储器。存储于主存储器的摄像机数据然后每1ms(表示1ms的最高工作循环级别)可以由诸如图像信号处理器(ISP)加速器之类的部件来服务。
图4描绘了与本实施例一致的工作循环的第三例子的细节,其中在强制空闲周期内容纳多个工作循环嵌套级别。在该例子中,活动周期206、210与强制空闲周期404、406交替。除了上述部件dev0和dev1外,在该例子中,多个嵌套布置400容纳第三部件dev2的活动,其特征在于这样一个不同的工作循环:其中活动性在活动状态428和缓冲的状态426之间循环。如图所示,除了浅活动子周期216外,多个嵌套布置400包括在每个强制空闲周期内的浅活动子周期408。浅活动子周期408以比浅活动子周期216大的频率发生,并由如图所示的针对浅活动状态420的一个不同的活动性级别来定义。在该情况下,在每个浅活动子周期408期间,平台活动性的部分422由持续相对短的持续时间的针对浅活动状态420的活动性级别来定义,其可以对应于促进诸如摄像机传感器数据转移到存储器之类的操作所必需的时间和功率。接着,dev2设备的每个活动部分430A-430D在活动周期206(430A)、210(430C)或在强制空闲周期404(430B)、406(430D)内发生。如图2和图3之前所描绘的场景,工作循环定义了浅活动状态228、420的活动性级别以及容纳部件dev0、dev1和dev2的操作所需的各个浅活动子周期216、408的持续时间,所述工作循环允许使强制空闲周期404、406等的全部或平均功率最小化的同时,执行必要的部件功能。
在附加的实施例中,工作循环控制部件可以与诸如图形驱动器之类的软件部件进行协调,以对准不同平台部件的活动。特别地,工作循环控制部件可以与安排GPU在活动状态周期和空闲或深度功率管理状态的周期之间转换的图形驱动器进行协调。在这些实施例中,工作循环控制部件可以协调在硬件和软件部件之间(例如,在功率控制单元和图形驱动器之间)的对策略提示和其它信息的共享。示例性场景包括协调操作系统驱动的CPU核心的工作循环与基于驱动器的GPU和硬件驱动的I/O的工作循环。
图5A描绘了“混合”工作循环的一个实施例,其中硬件工作循环与软件工作循环相协调,在所述软件工作循环中,图形驱动器使GPU在活动(GPU活动)和空闲(GPU空闲)状态之间循环。每个软件循环502包括活动周期(例如,活动周期504)和强制空闲周期(例如,空闲周期506)。后续的活动周期508形成新的软件循环的一部分。活动性曲线510表示GPU在活动状态507和空闲状态512(在一个例子中,其可以是RC6状态)之间循环。如图5进一步示出的,针对包括CPU核心和非核心元件的硬件部件的强制空闲周期的时序,被安排为与由图形驱动器设置的空闲状态512一致。换言之,在活动周期和强制空闲周期之间的基于硬件的工作循环仅发生于其中GPU处于空闲状态的图形驱动器设置的空闲周期期间。特别地,对准硬件设置的活动周期514以与(软件驱动的)活动周期504一致,对准硬件设置的工作循环周期516以与(软件驱动的)空闲周期506一致,对准硬件设置的活动周期524以与(软件驱动的)活动周期508一致,等等。
在图5A的场景中,工作循环周期516包括活动周期520,其与空闲周期518和522穿插。如活动性曲线528所示,在硬件设置的活动周期514、524期间,CPU核心和非核心元件可以在活动状态530(其中,CPU核心(IA)和非核心部件二者均是活动的(参见部分540、542、544))和中间状态534(其中,非核心是活动的而CPU核心是不活动的,如部分546所例示的)之间循环。非核心元件的例子包括CPU核心本地的特定高速缓存、控制器、以及与CPU核心驻留在共同管芯上的其它元件,不包括GPU。在活动状态530和中间状态534之间的循环可以根据常规过程发生,并且通常不涉及对多个平台部件的活动的对准。
在(软件驱动的)空闲周期506期间,工作循环控制部件在空闲周期518期间安排部件活动,空闲周期518对应于强制空闲部分548,强制空闲部分548表示跨整个系统(平台)的深度功率管理或空闲状态536,在所述状态536中,CPU核心、非核心以及GPU都处于低功率或空闲状态。工作循环周期516因此可被看作是强制空闲周期,其包括隔离的子周期(例如,空闲周期518),在隔离的子周期中CPU核心、GPU和非核心部件全部置于空闲状态,所述空闲状态定义了强制空闲状态548。应该注意,在工作循环周期516期间,GPU、非核心和CPU核心部件的操作也可以对准以转换到自然空闲状态532,如发生在空闲周期522中的部分552所例示的那样。
在混合工作循环的其它实施例中,GPU部件可以在图形驱动器定义的活动周期和空闲周期二者中在活动状态和空闲或中间状态之间循环。图5B描绘了这种实施例。布置550包括软件循环551,其包括活动周期(例如,活动周期552)和强制空闲周期(例如,前述空闲周期506)。在该例子中,布置工作循环以使得在空闲周期506期间对准CPU核心、非核心和GPU活动如关于图5A所描述的那样。因此,在活动周期520之间设置了一系列空闲(子)周期518,在空闲(子)周期518中CPU核心、GPU和非核心同时置于各自的空闲状态,其定义空闲状态536。
在活动周期552期间,软件驱动器可以设置针对GPU的默认操作,以对应于活动状态507。然而,工作循环控制部件在CPU核心、GPU和其它部件之中协调工作循环,以在活动周期552内建立一系列强制空闲周期562。如图5B所示,GPU因此在活动周期556和强制空闲周期558之间循环,强制空闲周期558对应于平台范围的强制空闲子周期或强制空闲周期562。空闲周期558被标识为空闲1,以将其与图形驱动器设置的空闲周期506区别开来,空闲周期506对应于不同的活动性状态且被标识为空闲2。如图5B进一步示出的,在空闲周期558(强制空闲周期562)期间,GPU置于活动性状态560中,其不和空闲状态512一样深。在一个实例中,活动性状态560可以对应于RC3 GPU状态,而空闲状态512可以对应于RC6 GPU状态。此外,如示出平台范围的活动的活动性部分566所示,强制空闲周期562定义另一活动性状态564,其不和空闲状态536一样深。因此,在图5B的实施例中,虽然工作循环连续地发生在活动(556)和空闲(506)GPU驱动器定义的周期内,但只有在强制空闲周期(例如,周期506)期间,GPU以及从而平台作为整体循环到最低活动性状态,而在活动周期中,GPU和平台在空闲子周期期间循环到较浅的状态。
图5C描绘了混合工作循环的另一实施例,其中协调硬件工作循环与软件工作循环,其中图形驱动器使GPU在活动(GPU活动)和空闲(GPU空闲)状态之间循环。在布置570中,图形驱动器基本上与图5A的例子一样动作,以生成软件循环502,其包括活动周期504和空闲周期506,其可以重复其自身。然而,在空闲周期506期间,工作循环控制部件执行基本上与图2针对强制空闲周期212所示的相同的嵌套的工作循环。因此,图形驱动用于建立“外部”工作循环,其定义活动和强制空闲周期(例如,空闲周期506),而发生于强制空闲周期内的“内部”工作循环由工作循环控制部件设置,其可以主要是硬件驱动的。
本文所包含的一组流程图,其表示用于执行所公开架构的新颖方面的示例性方法。同时,出于解释简单的目的,将例如以流程图表或流程图形式的本文示出的一个或多个方法示出且描述为一些列动作,可以理解和意识到的是,所述方法并不局限于动作的次序,一些动作可以根据本文示出和描述的其它动作一致、与其以不同次序发生和/或与其并发发生。例如,那些本领域技术人员将理解和意识到的是,方法可以可替代地表示为例如状态图中一系列相互联系的状态或事件。此外,不是所有在方法中示出的动作都要求新颖的实现方式。
图6示出了示例性第一逻辑流600。在一些实现方式中,第一逻辑流600。在框602处,进入工作循环模式,其中对CPU、GPU和I/O活动进行同步。在一个实施例中,由包含CPU和GPU部件(例如,SoC芯片)的平台的部件来设置工作循环模式。
在框604处,进入或维持活动周期,其中包括CPU核心部件、GPU和I/O部件的平台部件维持在活动状态。在一些变型中,部件中的一个或多个可以循环到比活动状态低的功率状态持续活动周期的至少一部分。
在框606处,确定是否已经到达强制空闲周期。在一些例子中,可以通过硬件部件来设置强制空闲周期,而在其它例子中,可以通过例如图形驱动器的软件元件来设置强制空闲周期。如果没有,则流程进行到框608,其中活动周期继续,且后续返回到框606。
在框606处,如果已经到达强制空闲周期,则流程进行到框610,其中CPU核心活动、GPU活动和I/O活动同时降低到低功率或空闲状态以定义强制空闲状态。在一些情况下,强制空闲状态对应于平台范围的空闲状态,例如,SoC管芯的SoC空闲状态。
然后流程进行到框612,其中确定在强制空闲周期内的空闲子周期是否已经过期。在各个实施例中,可以将空闲子周期设置为在根据一个或多个I/O部件的操作确定的间隔之后则过期。例如,空闲子周期持续时间可以对应于I/O部件能够维持在空闲状态而不必执行DMA操作以防止缓冲器溢出的持续时间。如果空闲子周期尚未过期,则流程进行到框614,在其中维持CPU、CPU和I/O部件是空闲的强制空闲状态。然后流程返回到框612。
在框612处,如果空闲子周期已经过期,则流程移动到框616。在框616处,唤醒一个或多个I/O设备到活动状态持续强制空闲周期的浅活动子周期的持续时间。浅活动周期持续时间可以根据一个或多个I/O设备的要求来设置,例如,以适应在一个或多个I/O设备和其它平台部件之间的信号发送和数据转移。
然后流程进行到框618,其中一个或多个I/O设备在浅活动子周期过期之后置于空闲状态,由此平台返回到强制空闲状态。然后流程移动到框620,其中确定强制空闲周期是否已经过期。如果否,则流程返回到框612。如果是,则流程进行到框622,其中决定是否要结束工作循环模式。如果否,则流程返回到框604,其中恢复活动状态。如果是,则流程结束。
图7示出了示例性第二逻辑流700。在框702处,进入或启动混合图形驱动器/硬件工作循环控制模式。在框704处,确定是否已经达到图形软件功率管理的周期。图形软件功率管理的周期可以定义其中驱动器将GPU的活动设置到低功率状态(例如,空闲状态)的周期。如果否,则流程进行到框706,其中发生CPU核心和另外的平台元件的未对准的操作。CPU核心和/或另外的平台元件可以例如独立于彼此在不同活动性(功率)状态之间转换。如果已经到达图形软件功率管理的周期,则流程进行到框708,其中CPU核心和I/O和/或其它平台部件的各个活动和空闲周期被对准。
然后流程进行到框710,其中确定图形软件功率管理的周期是否已经过期。如果否,则流程返回到框708。如果是,则流程移动到框712,其中决定是否继续图形驱动器/硬件工作循环控制模式。如果是,则流程返回到框706。如果否,则流程结束。
图8描绘了示例性第三逻辑流800。在框802处,进入包括多个图形低功率状态的混合图形驱动器/硬件工作循环控制模式。在框804处,确定是否已经到达图形软件功率管理的周期。如果否,则流程进行到框806。
在框806处,CPU核心、GPU和I/O部件的活动被对准以周期性地进入和退出对应于第一GPU功率状态的第一强制空闲状态。例如,第一强制空闲状态可以将CPU核心和I/O部件置于空闲状态,同时将GPU置于功率管理的状态,例如RC3状态。然后流程返回到框804。
如果在框804处已经到达图形软件功率管理的周期,则流程进行到框808。在框808处,CPU核心、GPU和I/O部件的活动对准以周期性地进入和退出第二强制空闲状态,该状态对应于比第一GPU功率状态低的第二GPU功率状态。例如,第二强制空闲状态可以将CPU核心和I/O部件置于空闲状态,同时将GPU置于空闲或RC6状态。然后流程进行到框810。
在框810处,决定是否软件功率管理的周期已经过期。如果否,则流程返回到框808。如果是,则流程移动到框812。
在框812处,确定是否继续混合图形驱动器/硬件工作循环控制模式。如果是,则流程返回到框806。如果否,则流程结束。
图9是示例性系统实施例的图,具体地,图9是示出了包括各种元件的平台900的图。例如,图9示出了平台(系统)900可以包括处理器/图形核心902、芯片组/平台控制中心(PCH)904、输入/输出(I/O)设备906、随机存取存储器(RAM)(例如动态RAM(DRAM))908、以及只读存储器(ROM)910、显示电子件920、显示背光922、以及各种其它平台部件914(例如,风扇、横流式鼓风机、散热器、DTM系统、冷却系统、外壳、通风口等)。系统900还可以包括无线通信芯片916和图形设备918。然而,实施例并不限于这些元件。
如图9所示,I/O设备906、RAM 908和ROM 910通过芯片组904耦合到处理器902。芯片组904可以通过总线912耦合到处理器902。因此,总线912可以包括多条线。
处理器902可以是中央处理单元,其包括一个或多个处理器核心,并可以包括具有任意数量的处理器核心的任意数量的处理器。处理器902可以包括任意类型的处理单元,例如,CPU、多处理单元、精简指令集计算机(RISC)、具有管线的处理器、复杂指令集计算机(CISC)、数字信号处理器(DSP)等。在一些实施例中,处理器902可以是位于分离的集成电路芯片上的多个分离的处理器。在一些实施例中,处理器902可以是具有集成的图形的处理器,而在其它实施例中,处理器902可以是一个或多个图形核心。
以下例子属于进一步的实施例。
例子1是一种用于功率管理的装置,包括:多个处理器部件;一个或多个设备部件,其通信地耦合到所述多个处理器部件中的一个或多个处理器部件;以及控制器,其包括其中的至少一部分是硬件的逻辑,所述逻辑用于安排与一个或多个活动周期穿插的一个或多个强制空闲周期,强制空闲周期跨越持续时间,在所述持续时间期间所述多个处理器部件中的一个或多个以及一个或多个设备部件同时置于各自空闲状态,所述状态定义在所述强制空闲周期的隔离的子周期期间的强制空闲功率状态。
在例子2中,例子1的多个处理器部件可以可选地包括一个或多个通用处理器核心和图形处理单元,并且所述一个或多个设备部件包括一个或多个各自的输入/输出设备。
在例子3中,例子1-2中任一项的控制器可选地在所述一个或多个强制空闲周期期间安排一个或多个浅活动周期,所述浅活动周期包括在所述强制空闲功率状态和活动功率状态之间的中间的功率状态,在所述中间的功率状态期间所述一个或多个设备部件中的至少一个是活动的。
在例子4中,根据权利要求1-3中任一项所述的一个或多个浅活动周期可选地包括由所述一个或多个设备部件中的至少一个的缓冲器容量所确定的间隔所隔开的多个浅活动周期。
在例子5中,例子1-4中任一项的控制器可选地设置在强制空闲周期内在浅活动周期之间循环的多个嵌套级别,一个嵌套级别的嵌套周期与另一嵌套级别的嵌套周期不同。
在例子6中,例子1-5中任一项的一个或多个浅活动周期可选地包括这样的周期:在其中,所述一个或多个设备部件中的一个或多个是活动的且到存储器的路径对于一个或多个设备部件的活动的设备是活动的。
在例子7中,例子1-6中任一项的控制器可选地对准所述多个处理器部件的两个或更多个的活动以定义一个或多个活动周期,活动周期包括活动功率状态,在活动功率状态中多个处理器部件的两个或更多个是同时活动的并持续活动周期的至少一部分。
在例子8中,例子1-7的任一项的多个处理器部件可以包括图形处理器单元,工作循环控制部件对准一个或多个强制空闲周期以与图形驱动器针对图形处理器单元所定义的至少一个图形空闲周期一致。
在例子9中,例子1-8中任一项的控制器可选地包括功率管理单元,其通信地耦合到图形驱动器以交换信息,从而对准强制空闲周期的一个或多个以及至少一个图形空闲周期中的一个或多个。
在例子10中,权利要求1-9的任一项的控制器可选地在所述一个或多个强制空闲周期中的一个强制空闲周期内生成一个或多个强制空闲子周期,所述强制空闲周期对应于在其中处理器核心、图形处理器单元以及一个或多个设备部件不活动的周期。
在例子11中,例子1-10的任一项的控制器可选地安排在一个或多个图形空闲周期内的一个或多个深强制空闲子周期以及在活动周期内的一个或多个浅强制空闲子周期,在所述一个或多个深强制空闲子周期中的深图形功率状态低于在所述一个或多个浅强制空闲子周期中的浅图形功率状态。
在例子12中,例子1-11中任一项的装置的所述一个或多个处理器部件中的至少一个和一个或多个设备部件中的至少一个位于包括单个半导体管芯的片上系统上。
在例子13中,至少一种包括指令的计算机可读存储介质,当所述指令被执行时,使得控制器:安排在各个针对平台的一个或多个活动周期之间穿插的一个或多个强制空闲周期;以及在所述强制空闲周期的隔离的子周期期间,同时地,将所述平台的多个处理器部件中的一个或多个处理器部件置于空闲状态,并将所述平台的一个或多个设备部件置于各自的空闲状态。
在例子14中,例子13的至少一种可选地包括指令的计算机可读存储介质,当所述指令被执行时,使得控制器:在所述一个或多个强制空闲周期期间安排一个或多个浅活动周期,所述浅活动周期包括在所述强制空闲功率状态和活动功率状态之间的中间的功率状态,在所述中间的功率状态期间所述一个或多个设备部件中的至少一个是活动的。
在例子15中,例子13-14中任一项的至少一种可选地包括指令的计算机可读存储介质,当所述指令被执行时,使得控制器:安排多个浅活动周期,其是由一个或多个设备部件的至少一个的缓冲器容量所确定的间隔所隔开的。
在例子16中,例子13-15中任一项的至少一种可选地包括指令的计算机可读存储介质,当所述指令被执行时,使得控制器:设置在强制空闲周期内在浅活动周期之间循环的多个嵌套级别,一个嵌套级别的嵌套周期与另一嵌套级别的嵌套周期不同。
在例子17中,例子13-16中任一项的至少一种可选地包括指令的计算机可读存储介质,当所述指令被执行时,使得控制器:在一个或多个浅活动周期期间,对于一个或多个设备部件维持到存储器的路径为活动的。
在例子18中,例子13-17中任一项的至少一种可选地包括指令的计算机可读存储介质,当所述指令被执行时,使得控制器:对准多个处理器部件的两个或更多个处理器部件的活动,以定义一个或多个活动周期,活动周期包括活动功率状态,其中多个处理器部件的两个或更多个处理器部件是同时活动的并持续活动周期的至少一部分。
在例子19中,例子13-18中任一项的至少一种可选地包括指令的计算机可读存储介质,当所述指令被执行时,使得控制器:对准一个或多个强制空闲周期,以与图形驱动器所定义的至少一个图形空闲周期一致。
在例子20中,例子13-19中任一项的至少一种可选地包括指令的计算机可读存储介质,当所述指令被执行时,使得控制器:在所述一个或多个强制空闲周期中的一个强制空闲周期内生成一个或多个强制空闲子周期,所述强制空闲周期对应于在其中处理器核心、图形处理器单元以及一个或多个设备部件不活动的周期。
在例子21中,例子13-20中任一项的至少一种可选地包括指令的计算机可读存储介质,当所述指令被执行时,使得控制器:安排在一个或多个图形空闲周期内的一个或多个深强制空闲子周期以及在活动周期内的一个或多个浅强制空闲子周期,在所述一个或多个深强制空闲子周期中的深图形功率状态低于在所述一个或多个浅强制空闲子周期中的浅图形功率状态。
在例子22中,一种用于功率管理的装置,包括:多个处理器部件;一个或多个设备部件,其通信地耦合到所述多个处理器部件中的一个或多个处理器部件;以及处理器,其包括其中的至少一部分是硬件的逻辑,所述逻辑用于安排与一个或多个活动周期穿插的一个或多个强制空闲周期,强制空闲周期跨越持续时间,在所述持续时间期间所述多个处理器部件中的一个或多个以及所述一个或多个设备部件中的至少一个同时置于空闲状态,所述空闲状态定义在所述强制空闲周期的隔离的子周期期间的强制空闲功率状态。
在例子23中,例子22的多个处理器部件可选地包括一个或多个通用处理器核心和图形处理单元,并且所述一个或多个设备部件包括一个或多个输入/输出设备。
在例子24中,例子22-23中任一项的处理器可选地在所述一个或多个强制空闲周期期间安排一个或多个浅活动周期,所述浅活动周期包括在所述强制空闲功率状态和活动功率状态之间的中间的功率状态,在所述中间的功率状态期间所述一个或多个设备部件中的至少一个是活动的。
在例子25中,根据权利要求22-24中任一项的一个或多个浅活动周期可选地包括由所述一个或多个设备部件中的至少一个的缓冲器容量所确定的间隔所隔开的多个浅活动周期。
在例子26中,例子22-25中任一项的处理器可选地设置在强制空闲周期内在浅活动周期之间循环的多个嵌套级别,一个嵌套级别的嵌套周期与另一嵌套级别的嵌套周期不同。
在例子27中,例子22-26中任一项的一个或多个浅活动周期可选地包括这样的周期:在其中,所述一个或多个设备部件的一个或多个是活动的且到存储器的路径针对一个或多个设备部件的活动的设备是活动的。
在例子28中,例子22-27中任一项的处理器可选地对准多个处理器部件的两个或更多个的活动以定义一个或多个活动周期,活动周期包括活动功率状态,其中多个处理器部件的两个或更多个是同时活动的并持续活动周期的至少一部分。
在例子29中,例子22-28的任一项的多个处理器部件可选地包括图形处理器单元,处理器可选地对准一个或多个强制空闲周期,以与图形驱动器针对所述图形处理器单元所定义的至少一个图形空闲周期一致。
在例子30中,例子22-29中任一项的处理器可选地包括功率管理单元,其通信地耦合到图形驱动器以交换信息,从而对准强制空闲周期的一个或多个以及至少一个图形空闲周期的一个或多个。
在例子31中,例子22-30的任一项的处理器可选地在所述一个或多个强制空闲周期中的一个强制空闲周期内生成一个或多个强制空闲子周期,所述强制空闲周期对应于在其中处理器核心、图形处理器单元以及一个或多个设备部件不活动的周期。
在例子32中,例子22-31的任一项的处理器可选地安排在一个或多个图形空闲周期内的一个或多个深强制空闲子周期以及在活动周期内的一个或多个浅强制空闲子周期,在所述一个或多个深强制空闲子周期中的深图形功率状态低于在所述一个或多个浅强制空闲子周期中的浅图形功率状态。
在例子33中,例子22-32中任一项的装置的所述一个或多个处理器部件中的至少一个和一个或多个设备部件中的至少一个位于包括单个半导体管芯的片上系统上。
在例子34中,至少一种包括指令的计算机可读存储介质,当所述指令被执行时,使得处理器:安排在各个针对平台的一个或多个活动周期之间穿插的一个或多个强制空闲周期;以及在所述强制空闲周期的隔离的子周期期间,同时地,将所述平台的多个处理器部件中的一个或多个处理器部件置于空闲状态,并将所述平台的一个或多个设备部件置于各自的空闲状态。
在例子35中,例子34的至少一种可选地包括指令的计算机可读存储介质,当所述指令被执行时,使得处理器:在所述一个或多个强制空闲周期期间安排一个或多个浅活动周期,所述浅活动周期包括在所述强制空闲功率状态和活动功率状态之间的中间的功率状态,在所述中间的功率状态期间所述一个或多个设备部件中的至少一个是活动的。
在例子36中,例子34-35中任一项的至少一种可选地包括指令的计算机可读存储介质,当所述指令被执行时,使得处理器:安排多个浅活动周期,其是由一个或多个设备部件的至少一个的缓冲器容量所确定的间隔所隔开的。
在例子37中,例子34-36中任一项的至少一种可选地包括指令的计算机可读存储介质,当所述指令被执行时,使得处理器:设置在强制空闲周期内在浅活动周期之间循环的多个嵌套级别,一个嵌套级别的嵌套周期与另一嵌套级别的嵌套周期不同。
在例子38中,例子34-37中任一项的至少一种可选地包括指令的计算机可读存储介质,当所述指令被执行时,使得处理器:在一个或多个浅活动周期期间,针对一个或多个设备部件维持到存储器的路径为活动的。
在例子39中,例子34-38中任一项的至少一种可选地包括指令的计算机可读存储介质,当所述指令被执行时,使得处理器:对准多个处理器部件的两个或更多个的活动以定义一个或多个活动周期,活动周期包括活动功率状态,其中多个处理器部件的两个或更多个是同时活动的并持续活动周期的至少一部分。
在例子40中,例子34-39中任一项的至少一种可选地包括指令的计算机可读存储介质,当所述指令被执行时,使得处理器:对准一个或多个强制空闲周期,以与图形驱动器所定义的至少一个图形空闲周期一致。
在例子41中,例子34-40中任一项的至少一种可选地包括指令的计算机可读存储介质,当所述指令被执行时,使得处理器:在所述一个或多个强制空闲周期中的一个强制空闲周期内生成一个或多个强制空闲子周期,所述强制空闲周期对应于在其中处理器核心、图形处理器单元以及一个或多个设备部件不活动的周期。
在例子42中,例子34-41中任一项的至少一种可选地包括指令的计算机可读存储介质,当所述指令被执行时,使得处理器:安排在一个或多个图形空闲周期内的一个或多个深强制空闲子周期以及在活动周期内的一个或多个浅强制空闲子周期,在所述一个或多个深强制空闲子周期中的深图形功率状态低于在所述一个或多个浅强制空闲子周期中的浅图形功率状态。
在例子43中,一种用于功率管理的系统,包括:多个处理器部件;一个或多个设备部件,其通信地耦合到所述多个处理器部件中的一个或多个处理器部件;以及控制器和处理器,其耦合到所述多个处理器部件,所述控制器和/或处理器包括其中的至少一部分是硬件的逻辑,所述逻辑用于安排与一个或多个活动周期穿插的一个或多个强制空闲周期,强制空闲周期跨越持续时间,在所述持续时间期间所述多个处理器部件中的一个或多个以及所述一个或多个设备部件中的至少一个同时置于空闲状态,所述空闲状态定义在所述强制空闲周期的隔离的子周期期间的强制空闲功率状态。
在例子44中,例子43的多个处理器部件可选地包括一个或多个通用处理器核心和图形处理单元,并且所述一个或多个设备部件包括一个或多个输入/输出设备。
在例子45中,例子43-44中任一项的逻辑可选地在所述一个或多个强制空闲周期期间安排一个或多个浅活动周期,所述浅活动周期包括在所述强制空闲功率状态和活动功率状态之间的中间的功率状态,在所述中间的功率状态期间所述一个或多个设备部件中的至少一个是活动的。
在例子46中,例子43-45中的一个或多个浅活动周期可选地包括由所述一个或多个设备部件中的至少一个的缓冲器容量所确定的间隔所隔开的多个浅活动周期。
在例子47中,例子43-46中任一项的逻辑可选地设置在强制空闲周期内在浅活动周期之间循环的多个嵌套级别,一个嵌套级别的嵌套周期与另一嵌套级别的嵌套周期不同。
在例子48中,例子43-47中任一项的一个或多个浅活动周期可选地包括这样的周期:在其中,所述一个或多个设备部件的一个或多个是活动的且到存储器的路径针对一个或多个设备部件中的活动的设备是活动的。
在例子49中,例子43-48中任一项的逻辑可选地对准多个处理器部件的两个或更多个的活动以定义一个或多个活动周期,活动周期包括活动功率状态,其中多个处理器部件的两个或更多个是同时活动的并持续活动周期的至少一部分。
在例子50中,例子43-49的任一项的多个处理器部件可以包括图形处理器单元,所述逻辑对准一个或多个强制空闲周期,以与图形驱动器针对所述图形处理器单元所定义的至少一个图形空闲周期一致。
在例子51中,例子43-50中的任一项的逻辑可选地包括功率管理单元,其通信地耦合到图形驱动器以交换信息,从而对准强制空闲周期的一个或多个以及至少一个图形空闲周期。
在例子52中,例子43-51的任一项的逻辑可选地在所述一个或多个强制空闲周期中的一个强制空闲子周期内生成一个或多个强制空闲周期,所述强制空闲周期对应于在其中处理器核心、图形处理器单元以及一个或多个设备部件不活动的周期。
在例子53中,例子43-52的任一项的逻辑可选地安排在一个或多个图形空闲周期内的一个或多个深强制空闲子周期以及在活动周期内的一个或多个浅强制空闲子周期,在所述一个或多个深强制空闲子周期中的深图形功率状态低于在所述一个或多个浅强制空闲子周期中的浅图形功率状态。
在例子54中,例子43-53中任一项的系统的所述一个或多个处理器部件中的至少一个和一个或多个设备部件中的至少一个位于包括单个半导体管芯的片上系统上。
可以利用表达“一个实施例”或“实施例”及其衍生词描述一些实施例。这些术语表示结合实施例描述的特定特征、结构或特性包含于至少一个实施例中。在说明书各处出现的短语“在一个实施例中”不必都指的是同一实施例。此外,可以利用表达“耦合”和“连接”及其衍生词描述一些实施例。这些术语不必作为彼此的同义词。例如,可以利用术语“连接”和/或“耦合”描述一些实施例,来表示两个或更多个元件彼此直接物理或电接触。然而,术语“耦合”还可以表示两个或更多个元件不直接接触彼此,但是仍然彼此合作或交互。
需要强调的是,提供了本公开的摘要以允许读者快速确认技术公开的本质。可以理解的是,其不用于解释或限制权利要求的范围或含义。另外,在前述详细描述中,可以看出出于简化本公开的目的将各种特征一起分组到单个实施例中。公开的该方法不应被解释为反映要求保护的实施例要求比在每个权利要求明确引用的更多的特征的意图。而是,如后续权利要求反映的,本发明的主题在于少于单个公开实施例的所有特征。因此,后续权利要求并入到详细描述中,每个权利要求自身独立作为单独的实施例。在随附权利要求中,术语“包括”和“其中”分别用作各个术语“包含”和“在其中”的简明英语等价物。此外,所使用的术语“第一”、“第二”、“第三”等仅作为标记,而并不意图对其对象施加数字要求。
以上所述包括公开架构的例子。当然,不能描述部件和/或方法的每个想到的组合,但是本领域技术人员可以认识到,多个进一步的组合和排列是可能的。因此,新颖的架构旨在涵盖所有这样的替代、修改和变型,其落入随附权利要求的精神和范围内。
可以利用硬件元件、软件元件或两者的组合实现各种实施例。硬件元件的例子包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等。软件的例子可以包括软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或任意其组合。确定实施例是利用硬件元件和/或软件元件实现可以根据多种因素而变化,所述因素例如期望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其它设计或性能约束。
可以利用表达“耦合”和“连接”及其衍生词描述一些实施例。这些术语并不意图作为彼此的同义词。例如,可以利用术语“连接”和/或“耦合”描述一些实施例,以表示两个或更多元件彼此直接物理或电接触。然而,术语“耦合”还可以表示两个或更多元件彼此不直接接触,但是仍然彼此合作或交互。
可以例如利用存储指令或指令集的计算机可读介质或物品来实现一些实施例,当由计算机执行时,所述指令或指令集使得计算机执行根据实施例的方法和/或操作。这种计算机可以包括例如任意适当的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器等,并可以利用任意适当的硬件和/或软件组合来实现。计算机可读介质或物品可以包括例如,任意适合类型的存储器单元、存储器设备、存储器物品、存储器介质、存储设备、存储物品、存储介质和/或存储单元,例如存储器、可移除或不可移除介质、可擦除或不可擦除介质、可写入或可重写介质、数字或模拟介质、硬盘、软盘、压缩盘只读存储器(CD-ROM)、可记录压缩盘(CD-R)、可重写压缩盘(CD-RW)、光盘、磁盘、磁光介质、可移除存储器卡或盘、各种类型的数字通用盘(DVD)、磁带、盒式磁带等。指令可以包括任意适当类型的代码,例如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、加密代码等,其利用任意适当的高级、低级、面向对象、可视、编译和/或解释编程语言来实现。
除非另外明确指出,否则可以意识到诸如“处理”、“计算”、“运算”、“确定”等的术语指的是计算机或计算系统或者类似电子计算设备的动作和/或处理,其操纵和/或转变表示为计算系统的寄存器和/或存储器内的物理量(例如,电子)的数据为类似表现为计算系统的存储器、寄存器或其它这种信息存储、传输或显示设备中的物理量的其它数据。实施例并不限于该上下文。
虽然以专用于结构特征和/或方法动作的语言描述了主题,但可以理解的是,在随附权利要求中定义的主题不必局限于上述具体特征或动作。而是,上述具体特征和动作经公开作为实现权利要求的示例形式。
Claims (29)
1.一种用于功率管理的装置,包括:
多个处理器部件;
一个或多个设备部件,其通信地耦合到所述多个处理器部件中的一个或多个处理器部件;
控制器,其包括其中的至少一部分是硬件的逻辑,所述逻辑用于:
安排与一个或多个活动周期穿插的一个或多个强制空闲周期,强制空闲周期跨越一持续时间,在所述持续时间期间所述多个处理器部件中的一个或多个以及一个或多个设备部件同时置于空闲状态,所述空闲状态定义在所述强制空闲周期的隔离的子周期期间的强制空闲功率状态;以及
在所述一个或多个强制空闲周期期间安排一个或多个浅活动周期,所述浅活动周期包括在所述强制空闲功率状态和活动功率状态之间的中间的功率状态,在所述中间的功率状态期间所述一个或多个设备部件中的至少一个是活动的。
2.根据权利要求1所述的装置,所述一个或多个浅活动周期包括由所述一个或多个设备部件中的至少一个的缓冲器容量所确定的间隔所隔开的多个浅活动周期。
3.根据权利要求1所述的装置,所述逻辑用于设置在强制空闲周期内在浅活动周期之间循环的多个嵌套级别,一个嵌套级别的嵌套周期与另一嵌套级别的嵌套周期不同。
4.根据权利要求1所述的装置,所述多个处理器部件包括图形处理器单元,所述逻辑用于对准一个或多个强制空闲周期,以与图形驱动器针对所述图形处理器单元所定义的至少一个图形空闲周期一致。
5.根据权利要求4所述的装置,所述逻辑用于在所述一个或多个强制空闲周期中的一个强制空闲周期内生成一个或多个强制空闲子周期,所述强制空闲周期对应于在其中处理器核心、图形处理器单元以及一个或多个设备部件不活动的周期。
6.根据权利要求4所述的装置,所述逻辑用于安排在一个或多个图形空闲周期内的一个或多个深强制空闲子周期以及在活动周期内的一个或多个浅强制空闲子周期,在所述一个或多个深强制空闲子周期中的深图形功率状态低于在所述一个或多个浅强制空闲子周期中的浅图形功率状态。
7.根据权利要求1所述的装置,其中,所述一个或多个处理器部件中的至少一个和所述一个或多个设备部件中的至少一个位于包括单个半导体管芯的片上系统上。
8.一种用于功率管理的装置,包括:
多个处理器部件;
一个或多个设备部件,其通信地耦合到所述多个处理器部件中的一个或多个处理器部件;
处理器,其包括其中的至少一部分是硬件的逻辑,所述逻辑用于:
安排与一个或多个活动周期穿插的一个或多个强制空闲周期,强制空闲周期跨越一持续时间,在所述持续时间期间所述多个处理器部件中的一个或多个以及所述一个或多个设备部件中的至少一个同时置于空闲状态,所述空闲状态定义在所述强制空闲周期的隔离的子周期期间的强制空闲功率状态;以及
在所述一个或多个强制空闲周期期间安排一个或多个浅活动周期,所述浅活动周期包括在所述强制空闲功率状态和活动功率状态之间的中间的功率状态,在所述中间的功率状态期间所述一个或多个设备部件中的至少一个是活动的。
9.根据权利要求8所述的装置,所述逻辑用于设置在强制空闲周期内在浅活动周期之间循环的多个嵌套级别,一个嵌套级别的嵌套周期与另一嵌套级别的嵌套周期不同。
10.根据权利要求8所述的装置,所述多个处理器部件包括图形处理器单元,所述逻辑用于对准一个或多个强制空闲周期,以与图形驱动器针对所述图形处理器单元所定义的至少一个图形空闲周期一致。
11.根据权利要求10所述的装置,所述逻辑用于在所述一个或多个强制空闲周期中的一个强制空闲周期内生成一个或多个强制空闲子周期,所述强制空闲周期对应于在其中处理器核心、图形处理器单元以及一个或多个设备部件不活动的周期。
12.根据权利要求10所述的装置,所述逻辑用于安排在一个或多个图形空闲周期内的一个或多个深强制空闲子周期以及在活动周期内的一个或多个浅强制空闲子周期,在所述一个或多个深强制空闲子周期中的深图形功率状态低于在所述一个或多个浅强制空闲子周期中的浅图形功率状态。
13.根据权利要求8所述的装置,其中,所述一个或多个处理器部件中的至少一个和所述一个或多个设备部件中的至少一个位于包括单个半导体管芯的片上系统上。
14.一种用于功率管理的系统,包括:
多个处理器部件;
一个或多个设备部件,其通信地耦合到所述多个处理器部件中的一个或多个处理器部件;以及
控制器和处理器,其耦合到所述多个处理器部件,所述控制器和/或处理器包括其中的至少一部分是硬件的逻辑,所述逻辑用于:
安排与一个或多个活动周期穿插的一个或多个强制空闲周期,强制空闲周期跨越一持续时间,在所述持续时间期间所述多个处理器部件中的一个或多个以及所述一个或多个设备部件中的至少一个同时置于空闲状态,所述空闲状态定义在所述强制空闲周期的隔离的子周期期间的强制空闲功率状态;
在所述一个或多个强制空闲周期期间安排一个或多个浅活动周期,所述浅活动周期包括在所述强制空闲功率状态和活动功率状态之间的中间的功率状态,在所述中间的功率状态期间所述一个或多个设备部件中的至少一个是活动的。
15.根据权利要求14所述的系统,所述多个处理器部件包括图形处理器单元,所述逻辑用于对准一个或多个强制空闲周期,以与图形驱动器针对所述图形处理器单元所定义的至少一个图形空闲周期一致。
16.根据权利要求15所述的系统,所述逻辑用于安排在一个或多个图形空闲周期内的一个或多个深强制空闲子周期以及在活动周期内的一个或多个浅强制空闲子周期,在所述一个或多个深强制空闲子周期中的深图形功率状态低于在所述一个或多个浅强制空闲子周期中的浅图形功率状态。
17.根据权利要求14所述的系统,其中,所述一个或多个处理器部件中的至少一个和所述一个或多个设备部件中的至少一个位于包括单个半导体管芯的片上系统上。
18.至少一种包括指令的计算机可读存储介质,所述指令当被执行时,使得控制器:
安排与针对平台的一个或多个活动周期穿插的一个或多个强制空闲周期;
在所述强制空闲周期的隔离的子周期期间,同时地将所述平台的多个处理器部件中的一个或多个处理器部件置于空闲状态并将所述平台的一个或多个设备部件置于空闲状态;以及
在所述一个或多个强制空闲周期期间安排一个或多个浅活动周期,所述浅活动周期包括在强制空闲功率状态和活动功率状态之间的中间的功率状态,在所述中间的功率状态期间所述一个或多个设备部件中的至少一个是活动的。
19.根据权利要求18所述的至少一种计算机可读存储介质,所述计算机可读存储介质包括指令,所述指令当被执行时使得控制器:设置在强制空闲周期内在浅活动周期之间循环的多个嵌套级别,一个嵌套级别的嵌套周期与另一嵌套级别的嵌套周期不同。
20.根据权利要求18所述的至少一种计算机可读存储介质,所述计算机可读存储介质包括指令,所述指令当被执行时使得控制器:对准一个或多个强制空闲周期,以与图形驱动器所定义的至少一个图形空闲周期一致。
21.至少一种包括指令的计算机可读存储介质,所述指令当被执行时,使得处理器:
安排在各个针对平台的一个或多个活动周期之间穿插的一个或多个强制空闲周期;
在所述强制空闲周期的隔离的子周期期间,同时地将所述平台的多个处理器部件中的一个或多个处理器部件置于空闲状态并将所述平台的一个或多个设备部件置于各自的空闲状态;以及
在所述一个或多个强制空闲周期期间安排一个或多个浅活动周期,所述浅活动周期包括在强制空闲功率状态和活动功率状态之间的中间的功率状态,在所述中间的功率状态期间所述一个或多个设备部件中的至少一个是活动的。
22.根据权利要求21所述的至少一种计算机可读存储介质,所述计算机可读存储介质包括指令,所述指令当被执行时使得处理器:设置在强制空闲周期内在浅活动周期之间循环的多个嵌套级别,一个嵌套级别的嵌套周期与另一嵌套级别的嵌套周期不同。
23.根据权利要求21所述的至少一种计算机可读存储介质,所述计算机可读存储介质包括指令,所述指令当被执行时使得处理器:对准一个或多个强制空闲周期,以与图形驱动器所定义的至少一个图形空闲周期一致。
24.一种用于管理功率的装置,包括:
包括指令的存储器;以及
与所述存储器耦合的处理器,所述指令由所述处理器执行,用于:
安排与针对平台的一个或多个活动周期穿插的一个或多个强制空闲周期;
在所述强制空闲周期的隔离的子周期期间,同时地将所述平台的多个处理器部件中的一个或多个处理器部件置于空闲状态并将所述平台的一个或多个设备部件置于空闲状态;以及
在所述一个或多个强制空闲周期期间安排一个或多个浅活动周期,所述浅活动周期包括在强制空闲功率状态和活动功率状态之间的中间的功率状态,在所述中间的功率状态期间所述一个或多个设备部件中的至少一个是活动的。
25.根据权利要求24所述的装置,还包括指令,所述指令由所述处理器执行时,用于:设置在强制空闲周期内在浅活动周期之间循环的多个嵌套级别,一个嵌套级别的嵌套周期与另一嵌套级别的嵌套周期不同。
26.根据权利要求24所述的装置,还包括指令,所述指令由所述处理器执行时,用于:对准一个或多个强制空闲周期,以与图形驱动器所定义的至少一个图形空闲周期一致。
27.一种用于管理功率的装置,包括:
包括指令的存储器;以及
与所述存储器耦合的处理器,所述指令由所述处理器执行,用于:
安排在各个针对平台的一个或多个活动周期之间穿插的一个或多个强制空闲周期;
在所述强制空闲周期的隔离的子周期期间,同时地将所述平台的多个处理器部件中的一个或多个处理器部件置于空闲状态并将所述平台的一个或多个设备部件置于各自的空闲状态;以及
在所述一个或多个强制空闲周期期间安排一个或多个浅活动周期,所述浅活动周期包括在强制空闲功率状态和活动功率状态之间的中间的功率状态,在所述中间的功率状态期间所述一个或多个设备部件中的至少一个是活动的。
28.根据权利要求27所述的装置,还包括指令,所述指令由所述处理器执行时,用于:设置在强制空闲周期内在浅活动周期之间循环的多个嵌套级别,一个嵌套级别的嵌套周期与另一嵌套级别的嵌套周期不同。
29.根据权利要求27所述的装置,还包括指令,所述指令由所述处理器执行时,用于:对准一个或多个强制空闲周期,以与图形驱动器所定义的至少一个图形空闲周期一致。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/048778 WO2014209400A1 (en) | 2013-06-28 | 2013-06-28 | Techniques and system for managing activity in multicomponent platform |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105247442A CN105247442A (zh) | 2016-01-13 |
CN105247442B true CN105247442B (zh) | 2018-06-08 |
Family
ID=52142521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380077038.2A Active CN105247442B (zh) | 2013-06-28 | 2013-06-28 | 用于管理多部件平台中的活动的技术和系统 |
Country Status (6)
Country | Link |
---|---|
US (3) | US9442558B2 (zh) |
JP (1) | JP6162329B2 (zh) |
KR (1) | KR101707087B1 (zh) |
CN (1) | CN105247442B (zh) |
TW (1) | TWI518493B (zh) |
WO (1) | WO2014209400A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI641943B (zh) * | 2013-03-15 | 2018-11-21 | 美商英特爾公司 | 控制電源供應單元於閒置狀態期間的功率消耗之技術 |
KR102325453B1 (ko) * | 2014-12-04 | 2021-11-11 | 삼성전자주식회사 | 반도체 장치의 동작 방법 |
KR102576707B1 (ko) * | 2016-12-26 | 2023-09-08 | 삼성전자주식회사 | 전자 시스템 및 그 동작 방법 |
US20190163254A1 (en) * | 2017-11-30 | 2019-05-30 | Nvidia Corporation | Core off sleep mode with low exit latency |
US10712800B2 (en) * | 2018-02-28 | 2020-07-14 | Advanced Micro Devices, Inc. | Aligning active and idle phases in a mixed workload computing platform |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1637711A (zh) * | 2003-12-23 | 2005-07-13 | 三星电子株式会社 | 使用工作调度程序初始化多装置的方法 |
CN1938685A (zh) * | 2004-02-06 | 2007-03-28 | 英特尔公司 | 用于缩减使用同时多线程处理器的带缓冲的应用的能耗的方法 |
CN101458558A (zh) * | 2007-12-10 | 2009-06-17 | 英特尔公司 | 将处理器封装转换到低功率状态 |
CN102792279A (zh) * | 2009-11-19 | 2012-11-21 | 高通股份有限公司 | 用于测量多线程处理器的性能的方法和装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5390350A (en) * | 1991-04-22 | 1995-02-14 | Western Digital Corporation | Integrated circuit chip core logic system controller with power saving features for a microcomputer system |
US7171542B1 (en) * | 2000-06-19 | 2007-01-30 | Silicon Labs Cp, Inc. | Reconfigurable interface for coupling functional input/output blocks to limited number of i/o pins |
US20030093702A1 (en) * | 2001-03-30 | 2003-05-15 | Zheng Luo | System on a chip with multiple power planes and associate power management methods |
US7454632B2 (en) * | 2005-06-16 | 2008-11-18 | Intel Corporation | Reducing computing system power through idle synchronization |
US8799687B2 (en) * | 2005-12-30 | 2014-08-05 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including optimizing C-state selection under variable wakeup rates |
US7949889B2 (en) * | 2008-01-07 | 2011-05-24 | Apple Inc. | Forced idle of a data processing system |
US7949888B2 (en) * | 2008-01-07 | 2011-05-24 | Apple Inc. | Forced idle of a data processing system |
US20090320031A1 (en) * | 2008-06-19 | 2009-12-24 | Song Justin J | Power state-aware thread scheduling mechanism |
US8607075B2 (en) * | 2008-12-31 | 2013-12-10 | Intel Corporation | Idle duration reporting for power management |
US8645729B2 (en) | 2010-01-21 | 2014-02-04 | Microchip Technology Incorporated | External device power control during low power sleep mode without central processing unit intervention |
JP5614347B2 (ja) * | 2011-03-18 | 2014-10-29 | 富士通株式会社 | 情報処理装置、電力制御方法、および電力制御プログラム |
US9086883B2 (en) * | 2011-06-10 | 2015-07-21 | Qualcomm Incorporated | System and apparatus for consolidated dynamic frequency/voltage control |
US10712800B2 (en) * | 2018-02-28 | 2020-07-14 | Advanced Micro Devices, Inc. | Aligning active and idle phases in a mixed workload computing platform |
US11435813B2 (en) * | 2018-08-29 | 2022-09-06 | Advanced Micro Devices, Inc. | Neural network power management in a multi-GPU system |
-
2013
- 2013-06-28 KR KR1020157033465A patent/KR101707087B1/ko active IP Right Grant
- 2013-06-28 JP JP2016516496A patent/JP6162329B2/ja active Active
- 2013-06-28 CN CN201380077038.2A patent/CN105247442B/zh active Active
- 2013-06-28 US US14/129,950 patent/US9442558B2/en not_active Expired - Fee Related
- 2013-06-28 WO PCT/US2013/048778 patent/WO2014209400A1/en active Application Filing
-
2014
- 2014-06-05 TW TW103119563A patent/TWI518493B/zh not_active IP Right Cessation
-
2016
- 2016-09-12 US US15/263,274 patent/US10114441B2/en active Active
-
2018
- 2018-10-11 US US16/158,190 patent/US10761585B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1637711A (zh) * | 2003-12-23 | 2005-07-13 | 三星电子株式会社 | 使用工作调度程序初始化多装置的方法 |
CN1938685A (zh) * | 2004-02-06 | 2007-03-28 | 英特尔公司 | 用于缩减使用同时多线程处理器的带缓冲的应用的能耗的方法 |
CN101458558A (zh) * | 2007-12-10 | 2009-06-17 | 英特尔公司 | 将处理器封装转换到低功率状态 |
CN102792279A (zh) * | 2009-11-19 | 2012-11-21 | 高通股份有限公司 | 用于测量多线程处理器的性能的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
JP6162329B2 (ja) | 2017-07-12 |
US20150205344A1 (en) | 2015-07-23 |
US20190107879A1 (en) | 2019-04-11 |
TW201518921A (zh) | 2015-05-16 |
US10761585B2 (en) | 2020-09-01 |
US9442558B2 (en) | 2016-09-13 |
WO2014209400A1 (en) | 2014-12-31 |
CN105247442A (zh) | 2016-01-13 |
US20170097670A1 (en) | 2017-04-06 |
JP2016520933A (ja) | 2016-07-14 |
US10114441B2 (en) | 2018-10-30 |
TWI518493B (zh) | 2016-01-21 |
KR101707087B1 (ko) | 2017-02-15 |
KR20160003760A (ko) | 2016-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105247442B (zh) | 用于管理多部件平台中的活动的技术和系统 | |
CN102495756B (zh) | 操作系统在不同的中央处理器之间切换的方法及系统 | |
KR101457262B1 (ko) | 코어 및 어플리케이션 특성에 기초하여 멀티프로세서 시스템상에서 실행하는 어플리케이션에 대한 코어 선택 | |
US8607177B2 (en) | Netlist cell identification and classification to reduce power consumption | |
CN102662458B (zh) | 一种pcie设备动态节能方法、装置及其通信系统 | |
TWI493332B (zh) | 用於電力管理的方法與設備及其平台與電腦可讀取媒體 | |
TWI454904B (zh) | 具有適應性快取清除之計算平台的電力管理的方法與設備及其計算平台 | |
CN112486312B (zh) | 一种低功耗的处理器 | |
CN101901159B (zh) | 一种多核CPU加载Linux操作系统的方法及系统 | |
US20230088994A1 (en) | Low power state selection based on idle duration history | |
CN103294641A (zh) | 用于系统管理的有限状态机 | |
CN107346170A (zh) | 一种fpga异构计算加速系统及方法 | |
CN107533479A (zh) | 功率知晓调度和功率管理器 | |
CN103902324B (zh) | 系统启动方法和电子设备 | |
CN103970255B (zh) | 一种信息处理方法及电子设备 | |
CN101573698B (zh) | 用于计算机系统的高效功率管理的产品和方法 | |
CN111858241B (zh) | 一种fpga云平台的监控方法、装置、设备及存储介质 | |
CN114281559A (zh) | 多核处理器、用于多核处理器的同步方法及相应产品 | |
CN113608604A (zh) | 基于龙芯处理器的计算机电源管理系统、方法、介质及设备 | |
CN112579513B (zh) | 芯片自适应控制电路、方法和系统级芯片 | |
RU2477525C2 (ru) | Микроконтроллер с аппаратным нечетким вычислителем переменной структуры | |
CN109739797B (zh) | 一种电子设备 | |
RU109890U1 (ru) | Микроконтроллер с аппаратным нечетким вычислителем переменной структуры | |
CN111062469B (zh) | 计算装置及相关产品 | |
EP3465382A1 (en) | Power aware packet distribution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |