CN104054057A - 基于性能及能量消耗的有效代码分派 - Google Patents
基于性能及能量消耗的有效代码分派 Download PDFInfo
- Publication number
- CN104054057A CN104054057A CN201380005125.7A CN201380005125A CN104054057A CN 104054057 A CN104054057 A CN 104054057A CN 201380005125 A CN201380005125 A CN 201380005125A CN 104054057 A CN104054057 A CN 104054057A
- Authority
- CN
- China
- Prior art keywords
- sensing
- processor
- output
- voltage
- voltage regulator
- 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.)
- Pending
Links
Classifications
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- 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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
- Analogue/Digital Conversion (AREA)
- Measurement Of Current Or Voltage (AREA)
Abstract
本发明提供一种多路复用器,其选择来自感测电路的多个感测输出中的一者。所述感测电路中的每一者位于将电力供应到子系统中的处理器的电压调节器中的对应电压调节器中。电压调节器中的所述对应电压调节器与处理器中的一者相关联。模/数转换器将所述多个感测输出中的所述选定感测输出转换成数字参数,所述数字参数表示所述处理器中与所述电压调节器中的所述对应电压调节器相关联的所述处理器的能量消耗。所述能量消耗用于分派动态产生的代码。
Description
技术领域
目前揭示的实施例涉及代码指配领域,且更具体来说,涉及代码分派。
背景技术
近来,以多处理器环境为目标的用于便携式代码的技术已在能力及风行度方面发展。代码便携性的实例包含虚拟机、动态二进制转译器及多处理器语言。在各种技术当中,在软件执行环境中代码的指配对设计者来说已变成挑战。主要归因于在系统芯片(SoC)架构上存在多个处理器,所述问题是困难的。多个处理器通常具有经最佳地设计以执行特定功能或一组专门功能从而将各种功能性提供给系统的架构。举例来说,移动装置可包含用以支持游戏应用程序的图形功能性、用以显示视频或图像的成像功能性、用以提供音乐或语音处理的音频功能性,等等。对于具有明确要求的完备的应用程序来说,选择恰当的处理器以供执行是相对不难的。然而,当在应用程序中存在涵盖各种架构的特征时,有时难以确定合适的处理器以供执行。对于具有动态产生的代码的实时应用程序来说,所述问题特别麻烦。对于许多高级平台(尤其是移动装置)来说,各种处理器的可用性已在将动态产生的代码有效地分派到多处理器环境中的恰当处理器同时使所述处理器的能量消耗最小化方面产生具挑战性的设计问题。
发明内容
本发明的示范性实施例涉及用于有效代码分派的系统及方法。一种多路复用器选择来自感测电路的多个感测输出中的一者。所述感测电路中的每一者位于将电力供应到子系统中的处理器的电压调节器中的对应电压调节器。电压调节器中的所述对应电压调节器与处理器中的一者相关联。模/数转换器将所述多个感测输出中的所述选定感测输出转换成数字参数,所述数字参数表示所述处理器中与所述电压调节器中的所述对应电压调节器相关联的所述处理器的能量消耗。所述能量消耗用于分派动态产生的代码。
附图说明
呈现随附图式以协助描述本发明的实施例,且提供随附图式仅用于说明实施例而不是对其加以限制。
图1为说明其中可实践本发明的一个实施例的环境的图。
图2为说明根据一个实施例的子系统的图。
图3为说明根据一个实施例的感测电路的图。
图4为说明根据一个实施例的控制器的图。
图5为说明根据一个实施例的用以执行有效代码分派的过程的流程图。
图6为说明根据一个实施例的用以执行选择多个感测输出中的一者的过程的流程图。
图7为说明根据一个实施例的用以执行有效代码分派的过程的流程图。
图8为说明根据一个实施例的用以执行获得能量消耗的过程的流程图。
图9为说明根据一个实施例的控制器的图。
具体实施方式
本发明的方面揭示于针对本发明的特定实施例的以下描述及相关图式中。可设计出替代实施例而不脱离本发明的范围。另外,本发明的众所熟知的元件将不作详细描述或将被省略以便不使本发明的相关细节混淆。
可将实施例的一个所揭示特征描述为通常经描绘为流程图、流程框图、结构图或框图的过程。尽管流程图可将操作描述为顺序过程,但操作中的许多操作可并行或同时执行。另外,可重新布置所述操作的次序。当一过程的操作完成时,所述过程终止。过程可对应于方法、程序(program、procedure)、制造或制作方法等。可通过描绘物理结构的示意图来描述一个实施例。应理解,示意图说明基本概念且可能未按比例绘制或未以确切比例描绘结构。
本发明的实施例可涉及一种用于基于移动装置上的便携式及动态产生的代码的性能及能量消耗进行有效代码分派的系统及方法。所述技术提供建置到将电力提供给系统中的多个处理器的多个电压调节器中的集成的、动态功率测量能力。所述电压调节器中的每一者通过一感测电路增强。一种多路复用器选择来自感测电路的多个感测输出中的一者。所述感测电路中的每一者位于将电力供应到子系统中的处理器的电压调节器中的对应电压调节器中。电压调节器中的所述对应电压调节器与处理器中的一者相关联。模/数转换器将多个感测输出中的所述选定感测输出转换成数字参数,所述数字参数表示处理器中与电压调节器中的所述对应电压调节器相关联的所述处理器的能量消耗。使用由感测电路提供的电压及/或电流的测量结果,可计算在执行动态产生的代码时处理器中的每一者的能量消耗。根据此信息,可将代码指配给处理器以满足用于有效代码分派的一或多个最佳化准则。
图1为说明其中可实践本发明的一个实施例的环境10的图。环境10可包含硬件组件与软件组件两者。其可包含代码20及平台30。环境10可包含多于或少于图1中所示的组件的组件。
代码20可为应用程序、程序、指令集或软件模块。其可为便携式的,这是因为其可在具有恰当接口及软件支持的任何环境中执行。在一个实施例中,其可从网络(例如,互联网)下载。代码20可为系统公用程序、娱乐应用程序(例如,游戏)、媒体应用程序(例如,音频、视频、成像、图形)、财务应用程序(例如,股票)、新闻应用程序等。取决于应用,如果代码20由适当的处理器执行,那么对代码20的执行可为最佳的或有效的。举例来说,媒体应用程序可由数字信号处理器(DSP)最有效地执行,游戏应用程序可由图形处理单元(GPU)处理器最适当地执行。对于其中响应时间与用户体验或交互同等重要的实时应用程序来说,由适当的处理器来有效地执行代码20是有用的。
平台30可表示执行代码20的任何平台。其可为移动平台、桌上型平台、网络密集型平台等。在一个实施例中,平台30为多处理器平台,其中将数个处理器用以执行包含代码20的各种应用程序。平台30可包含目标中编译器(in-target compi1er)40、动态二进制转译器45、分派器55、N个处理器60k(其中k=1,...,N)、N个电压调节器70k(其中k=1,...,N)及感测输出收集器80。平台30可包含多于或少于以上组件的组件。
目标中编译器40编译代码20。其通常将代码20的源程序转译成可执行代码。动态二进制转译器45可为用以在运行时间将如由目标中编译器40编译的可执行代码转译成底层架构的可执行代码的程序或模块。其产生动态产生的代码50。分派器55将动态转译的可执行代码50分派到经指配的处理器以供执行。分派器55使用由感测输出收集器80提供的结果来动态地执行其功能。
处理器60k{k=1,...,N}(也指示为601∶N)可表示由平台30利用的任何处理器。其可包含通用中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、媒体处理器、网络处理器、存储处理器或具有针对特定功能而最佳化的架构的任何处理器。电压调节器70k{k=1,...,N}(也指示为701∶N)将经调节电力提供给对应处理器60k{k=1,...,N}。在一个实施例中,电压调节器70k{k=1,...,N}中的每一者并有电路中感测电路以提供被供应到对应处理器的感测电压或电流。感测输出收集器80收集如由电压调节器70k{k=1,...,N}中的感测电路提供的感测输出且将此信息供应到分派器55。
图2为说明根据一个实施例的子系统200的图。子系统200可涵盖如较早描述的组件。其可包含N个电压调节器70k{k=1,...,N}及感测输出收集器80。通常,N个电压调节器701∶N含有相同组件或执行类似或等效功能性的组件。为了清晰性起见,将仅描述N个电压调节器701∶N中的一者且以下描述使用下标k,其中k=1,...,N。
电压调节器70k将电力供应到子系统200中的对应处理器60k。其将经调节的供应电压或功率235k提供给对应处理器60k。其可具有包含电感器220k及电容器230k的外部电路。电感器220k及电容器230k形成用以对输出电压进行滤波的滤波器。电感器220k的电感及电容器230k的电容的值取决于所要滤波的量。电压调节器70k可包含调节器电路212k及感测电路214k。调节器电路212k表示典型调节器电路或现有调节器电路。其可为切换电压调节器或线性电压调节器。切换电压调节器可为步降(例如,降压式转换器)切换调节器或步升(例如,降压升压式转换器)切换调节器。感测电路214k将感测输出218k提供给感测输出收集器80。感测电路214k{k=1,...,N}(也指示为2141∶N)中的每一者位于电压调节器70k{k=1,...,N}中与处理器60k{k=1,...,N}中的一者相关联的对应电压调节器70k中。感测输出218k可包含一感测信号或表示正被测量或感测的多个参数的多个信号。在一个实施例中,感测输出218k包含电压信号及电流信号,其分别表示供应到对应处理器60k的电压及电流。感测电路214k为添加到现有调节器电路212k的附加或额外电路。其通常不需要对调节器电路212k的重新设计或修改。另外,其可用小型组件构造。
感测输出收集器80收集感测输出218k{k=1,...,N}(也指示为2181∶N)且将结果转发到分派器55(图1)。其可包含多路复用器250、模/数转换器(ADC)260、接口逻辑电路270及控制器280。感测输出收集器80可包含多于或少于以上组件的组件。
多路复用器250可选择来自感测电路214k{k=1,...,N}的多个感测输出218k{k=1,...,N}中的一者。多路复用器250可为根据来自控制器280的选择器控制信号将感测输出218k{k=1,...,N}中的一者传送到ADC260的模拟数据选择器或数据导引电路。ADC260耦合到多路复用器250以将多个感测输出218k{k=1,...,N}中的选定感测输出转换成数字参数265,所述数字参数265表示处理器60k{k=1,...,N}中与电压调节器70k{k=1,..,N}中的对应电压调节器相关联的所述处理器的能量消耗。数字参数可为表示选定感测输出218k的值的数字字。字长度可根据所要准确度来确定。举例来说,其范围可为8位到16位。接口逻辑电路270提供到其它装置的总线接口,其可包含并联到串联转换器、电平转换器或任何其它接口功能性,以将数字参数变换成与控制器280及其它通信与处理要求兼容的量。接口逻辑电路270还可将输入或控制信号提供给电压调节器70k{k=1,...,N}以在适当的操作模式下配置电压调节器70k{k=1,...,N}。
图3为说明根据一个实施例的图2中所示的感测电路214k的图。感测电路214k可表示图2中所示的感测电路214k{k=1,...,N}中的任一者。感测电路214k可包含电压感测电路310及电流感测电路320。感测电路214k可包含多于或少于以上组件的组件。
电压感测电路310可通过电感器220k来感测电压调节器70k(图2)的经调节电压输出235。其可包含具有固定增益或可编程增益的增益或缓冲放大器以提供电压感测输出318。
电流感测电路320可感测电压调节器70k的经调节电压输出235的电流。其可产生电流感测输出238。其可通过若干种方法来实施。对于切换模式功率管理中的电流感测来说,其可通过以下各者来实施:(1)通过集成低通滤波器进行的电感器电压降感测;(2)通过外部低通滤波器进行的电感器电压降感测;或(3)在接通时间期间的通道晶体管(例如,场效应晶体管)的漏极到源极电压感测。对于线性低压降调节器中的电流感测来说,其可通过分数电流镜电路来实施。在一个实施例中,其可包含低通滤波器322及放大器324。低通滤波器322对电感器220k上的电压降进行滤波以消除例如噪声或电流尖峰等高频分量。低通滤波器322可位于电压调节器70k的内部或外部。放大器324可为缓冲放大器,其执行电压到电流转换以提供与电流成比例的量。
电压感测输出318及电流感测输出328可形成到多路复用器250的感测输出218k。取决于要求,将其中的一者或其两者用作感测输出218k。还可使用额外感测电路来提供额外测量结果。感测输出218k因此表示如由对应处理器70k在任何特定时刻或在预定的时间间隔中消耗的功率或能量。
添加到现有调节器的额外电路可占据非常小的面积。缓冲放大器及ADC260可经构造而具有非常小的面积。举例来说,取决于数据转换的架构及工艺技术,ADC260的大小可小于1毫米2。
图4为说明根据一个实施例的图2中所示的控制器280的图。控制器280可为专用控制器或其可为平台30中所使用的中央处理单元的部分。其可包含用以执行控制及监视功能的电路及/或软件模块。其可包含能量消耗计算器410、代码指配器420及选择器控制器430。控制器280可包含多于或少于以上组件的组件且以上组件中的任一者可通过硬件、软件、固件或其组合中的任一者来实施。
能量消耗计算器410可基于如由ADC260转换且由接口逻辑电路270处理的感测输出218k来计算如由对应处理器60k消耗的能量或功率,且输出结果415。举例来说,其可将功率计算为电压感测输出318与电流感测输出328的乘积。其可计算瞬间功率或在预定时间间隔中确定的积分或平均功率。可进一步根据正规化因子将能量消耗正规化,以便可恰当地解译由处理器60k{k=1,...,N}进行的各种能量消耗的比较。此正规化可考虑例如平台30的操作模式(例如,待用、低功率、全操作)、动态产生的代码50的大小等因子。
代码指配器420可使用一或多个最佳化准则440将动态产生的代码50指配给适当的处理器60k。最佳化准则440可基于总体或个别功率消耗、执行时间、分配给处理器的存储器的量。其可为表示这些性能因子的多个参数的组合。代码指配器420可累积在某一时间周期中的能量消耗的读数。其还可存储一个处理器或一个以上处理器的读数。可使用所存储的信息来执行指配程序以使最佳化准则440最大化。指配的结果是确定依据最佳化准则440最适合于动态产生的代码50的处理器。代码指配器420可将一或多个指配结果转发到代码分派器55以将动态产生的代码50分派到所指配的处理器。代码指配器420的所有或部分功能性可集成到分派器55中。
选择器控制器430提供用以控制多路复用器250以选择所要感测输出的控制信号。代码指配器420可控制选择器控制器430以选择针对一时间间隔中的一或多个瞬间读数的感测输出。因此可将能量消耗计算为瞬间能量消耗或平均能量消耗。
图5为说明根据一个实施例的用以执行有效代码分派的过程500的流程图。
在开始时,过程500选择来自感测电路的多个感测输出中的一者(框510)。所述感测电路中的每一者位于将电力供应到子系统中的处理器的多个电压调节器中的对应电压调节器中。多个电压调节器中的所述对应电压调节器与处理器中的一者相关联。紧接着,过程500将多个感测输出中的选定感测输出转换成数字参数,所述数字参数表示处理器中与电压调节器中的所述对应电压调节器相关联的所述处理器的能量消耗(框520)。接着,过程500获得处理器中的所述处理器的能量消耗(框530)。此操作可通过计算功率消耗且用正规化因子将所计算的功率消耗正规化来执行。将能量消耗用于分派动态产生的代码。
紧接着,过程500确定是否存在需要获得的更多能量消耗(框540)。如果存在需要获得的更多能量消耗,那么过程500返回到框510以选择另一感测输出。否则,过程500基于能量消耗根据最佳化准则将一或多个动态产生的代码指配给处理器(框550)。过程500接着被终止。
图6为说明根据一个实施例的用以执行选择多个感测输出中的一者的图5中所示的过程510的流程图。
在开始时,过程510感测电压调节器中的对应电压调节器的经调节电压输出(框610)。紧接着,过程510产生对应于多个感测输出中的所述感测输出的电压感测输出(框620)。接着,过程510感测电压调节器中的所述对应电压调节器的经调节电压输出的电流(框630)。此操作可通过若干种方法来执行。一种方法包含对经调节电压输出进行滤波、感测电感器上的电压降及将电感器上所感测的电压降转换成电流感测输出。另一种方法包含在接通时间期间感测漏极到源极电压及从所感测的漏极到源极电压产生电流感测输出。另一种方法为镜射分数电流。紧接着,过程510产生对应于多个感测输出中的所述感测输出的电流感测输出(框640)。过程510接着被终止。
图7为说明根据一个实施例的用以执行有效代码分派的过程700的流程图。
在开始时,过程700获得在动态产生的代码的执行期间多处理器子系统中的处理器中的一者的能量消耗(框710)。紧接着,过程700确定是否存在需要获得的更多能量消耗(框720)。如果存在需要获得的更多能量消耗,那么过程700返回到框710以获得另一处理器的能量消耗。否则,过程700基于能量消耗根据最佳化准则将动态产生的代码指配给处理器(框730)。过程700接着被终止。
图8为说明根据一个实施例的用以执行获得能量消耗的图7中所示的过程710的流程图。
在开始时,过程710选择来自感测电路的多个感测输出中的一者(框810)。所述感测电路中的每一者位于将电力供应到处理器的多个电压调节器中的对应电压调节器中。多个电压调节器中的所述对应电压调节器与处理器中的一者相关联。感测电路可如上文所描述加以构造。紧接着,过程710将多个感测输出中的选定感测输出转换成数字参数,所述数字参数表示处理器中的所述处理器的能量消耗(框820)。过程710接着被终止。
图9为说明根据一个实施例的图2中所示的控制器280的图。控制器280包含处理器910、芯片组920、存储器930、互连件940、大容量存储媒体950、输入/输出(I/O)接口960。控制器280可包含多于或少于以上组件的组件。
处理器910表示具有任何类型的架构的中央处理单元,例如使用超线程、安全性、网络、数字媒体技术的处理器、单核心处理器、多核心处理器、嵌入式处理器、移动处理器、微控制器、数字信号处理器、超标量计算机、向量处理器、单指令多数据(SIMD)计算机、复杂指令集计算机(CISC)、精简指令集计算机(RISC)、超长指令字(VLIW)或混合架构。
芯片组920提供对例如存储器930、大容量存储媒体950及I/O接口960等存储器及输入/输出装置的控制及配置。芯片组920可集成多个功能性,例如图形、媒体、主机到外围总线接口、存储器控制、功率管理等。其还可包含若干接口及I/O功能,例如外围组件互连(PCI)总线接口、处理器接口、中断控制器、直接存储器存取(DMA)控制器、功率管理逻辑、计时器、系统管理总线(SMBus)、通用串行总线(USB)接口、大容量存储接口、低接脚计数(LPC)接口、无线互连件、直接媒体接口(DMI)等。
存储器930存储代码及数据。存储器930通常用动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)或包含不需要刷新的存储器的任何其它类型的存储器来实施。存储器930可包含执行上文所描述的所有或部分操作的代码指配器及分派器模块935。
互连件940提供到外围装置的接口。互连件940可为点对点型或连接到多个装置。为了清晰性起见,未展示所有互连件。预期互连件940可包含任何互连件或总线,例如外围组件互连(PCI)、PCI Express、通用串行总线(USB)、小型计算机系统接口(SCSI)、串行SCSI及直接媒体接口(DMI)等。
大容量存储媒体950包含到大容量存储装置的接口以存储例如代码、程序、文件、数据及应用程序等存档信息。大容量存储接口可包含SCSI、串行SCSI、高级附接技术(ATA)(并联及/或串联)、集成驱动电子装置(IDE)、增强型IDE、ATA包接口(ATAPI)等。大容量存储装置可包含压缩光盘(CD)只读存储器(ROM)、数字影音光盘(DVD)、软盘驱动器、硬盘驱动器、磁带机及任何其它磁性或光学存储装置。大容量存储装置提供用以读取机器可存取媒体的机构。在一个实施例中,大容量存储媒体950可包含快闪存储器。
I/O接口960提供到例如平板显示器或输入键入装置等I/O装置的接口。I/O接口960可提供到图形显示器中的触摸屏、小键盘及例如摄像机、蓝牙接口等其它通信或成像装置的接口。
词“示范性”在本文中用以意味“充当一实例、例子或说明”。不必将本文中描述为“示范性”的任何实施例解释为比其它实施例优选或有利。同样,术语“本发明的实施例”并不需要本发明的所有实施例包含所论述的特征、优点或操作模式。“处理器可读或可存取媒体”或“机器可读或可存取媒体”可包含可存储或传送信息的任何媒体。处理器可读或机器可存取存储媒体的实例包含电子电路、半导体存储器装置、只读存储器(ROM)、快闪存储器、可抹除可编程ROM(EPROM)、软磁盘、压缩光盘(CD)ROM、光盘、硬盘等。机器可存取存储媒体可体现于制造物品中。机器可存取存储媒体可包含信息或数据,当由机器存取时,所述信息或数据致使机器执行上文所描述的操作或动作。机器可存取存储媒体还可包含程序代码、嵌入于其中的一或多个指令。程序代码可包含机器可读代码、一或多个指令以执行上文所描述的操作或动作。术语“信息”或“数据”在此处指经编码以用于机器可读目的的任何类型的信息。因此,其可包含程序、代码、数据、文件等。
本文中所使用的术语仅用于实现描述特定实施例的目的且不希望限制本发明的实施例。如本文中所使用,除非上下文另有清晰指示,否则单数形式“一”及“所述”希望还包含复数形式。应进一步理解,术语“包括”、“包含”在本文中使用时指定所陈述的特征、整数、步骤、操作、元件及/或组件的存在,但不排除一或多个其它特征、整数、步骤、操作、元件、组件及/或其群组的存在或添加。
另外,许多实施例是依据待由(例如)计算装置的元件执行的动作顺序来描述。应认识到,本文中所描述的各种动作可由特定电路(例如,专用集成电路(ASIC))、由一或多个处理器执行的程序指令或两者的组合来执行。另外,可将本文中所描述的这些动作顺序视为完全体现于任何形式的计算机可读存储媒体内,所述计算机可读存储媒体具有存储于其中的在执行时将致使相关联的处理器执行本文中所描述的功能性的对应计算机指令集。因此,本发明的各种方面可以许多不同形式体现,其皆预期在所主张的标的物的范围内。另外,对于本文中所描述的实施例中的每一者来说,任何此类实施例的对应形式可在本文中被描述为(例如)“经配置以执行所描述的动作的逻辑”。
另外,可根据特定特征、功能、取决于应用而通过各种装置来实施实施例的全部或部分。这些装置可包含硬件、软件或固件或其任何组合。硬件、软件或固件元件可具有耦合到彼此的若干模块。硬件模块通过机械、电、光学、电磁或任何物理连接而耦合到另一模块。软件模块通过函数、程序、方法、子程序、或子程序呼叫、跳跃、连结、参数、变量及自变量传递、函数返回等而耦合到另一模块。软件模块耦合到另一模块以接收变量、参数、自变量、指针等及/或产生或传递结果、经更新的变量、指针等。固件模块通过上文的硬件及软件耦合方法的任一组合而耦合到另一模块。硬件、软件或固件模块可耦合到另一硬件、软件或固件模块中的任一者。模块还可为软件驱动器或接口以与在平台上执行的操作系统交互。模块还可为硬件驱动器以配置、设置、初始化、发送数据到硬件装置及从硬件装置接收数据。设备可包含硬件、软件及固件模块的任何组合。
所属领域的技术人员应了解,可使用各种不同技术及技艺中的任一者来表示信息及信号。举例来说,可用电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示可贯穿以上描述引用的数据、指令、命令、信息、信号、位、符号及码片。
另外,所属领域的技术人员应了解,结合本文中所揭示的实施例所描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此可互换性,上文已一般地在功能性方面描述了各种说明性组件、块、模块、电路及步骤。此功能性实施为硬件还是软件取决于特定应用及强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以变化的方式实施所描述的功能性,但不应将此类实施决策解译为导致脱离本发明的范围。
结合本文中所揭示的实施例所描述的方法、顺序及/或算法可直接体现于硬件中、由处理器执行的软件模块中,或两者的组合中。软件模块可驻留于RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可卸除式磁盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。将示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息及将信息写入到存储媒体。在替代例中,存储媒体可与处理器成一体式。
因此,本发明的实施例可包含体现一种用于有效代码分派的方法的计算机可读媒体。因此,本发明不限于所说明的实例且用于执行本文中所描述的功能性的任何装置包含于本发明的实施例中。
虽然前述揭示内容展示本发明的说明性实施例,但应注意,在不脱离如由附加权利要求书界定的本发明的范围的情况下可在本文中作出各种改变及修改。无需以任何特定次序执行根据本文中描述的本发明的实施例的方法权利要求的功能、步骤及/或动作。此外,尽管可能以单数形式描述或主张本发明的元件,但除非明确陈述限于单数形式,否则也预期复数形式。
Claims (27)
1.一种设备,其包括:
多路复用器,其耦合到将电力供应到子系统中的处理器的多个电压调节器以选择来自感测电路的多个感测输出中的一者,所述感测电路中的每一者位于所述电压调节器中与所述处理器中的一者相关联的对应电压调节器中;以及
模/数转换器,其耦合到所述多路复用器以将所述多个感测输出中的所述选定感测输出转换成数字参数,所述数字参数表示所述处理器中与所述电压调节器中的所述对应电压调节器相关联的所述处理器的能量消耗,所述能量消耗用于分派动态产生的代码。
2.根据权利要求1所述的设备,其中所述感测电路中的每一者包括:
电压感测电路,其用以感测所述电压调节器中的所述对应电压调节器的经调节电压输出,所述电压感测电路产生对应于所述多个感测输出中的一者的电压感测输出。
3.根据权利要求2所述的设备,其中所述感测电路中的每一者进一步包括:
电流感测电路,其用以感测所述电压调节器中的所述对应电压调节器的经调节电流输出,所述电流感测电路产生对应于所述多个感测输出中的所述感测输出的电流感测输出。
4.根据权利要求3所述的设备,其中所述电流感测电路包括:
低通滤波器,其用以对所述经调节电压输出进行滤波;以及
电感器电压降传感器,其耦合到所述低通滤波器以感测电感器上的电压降,所述电感器电压降传感器将所述电感器上的所述所感测的电压降转换成所述电流感测输出。
5.根据权利要求3所述的设备,其中所述电流感测电路包括用以在接通时间期间感测漏极到源极电压的通道晶体管,所述通道晶体管从所述所感测的漏极到源极电压产生所述电流感测输出。
6.根据权利要求3所述的设备,其中所述电流感测电路包括分数电流镜。
7.根据权利要求1所述的设备,其进一步包括:
用以获得所述处理器中的所述处理器的所述能量消耗的控制器,所述能量消耗用以根据最佳化准则将所述动态产生的代码指配给所述处理器。
8.一种方法,其包括:
选择来自感测电路的多个感测输出中的一者,所述感测电路中的每一者位于将电力供应到子系统中的处理器的多个电压调节器中的对应电压调节器中,所述多个电压调节器中的所述对应电压调节器与所述处理器中的一者相关联;以及
将所述多个感测输出中的所述选定感测输出转换成数字参数,所述数字参数表示所述处理器中与所述电压调节器中的所述对应电压调节器相关联的所述处理器的能量消耗,所述能量消耗用于分派动态产生的代码。
9.根据权利要求8所述的方法,其中选择包括:
感测所述电压调节器中的所述对应电压调节器的经调节电压输出;以及
产生对应于所述多个感测输出中的所述感测输出的电压感测输出。
10.根据权利要求9所述的方法,其中选择进一步包括:
感测所述电压调节器中的所述对应电压调节器的经调节电流输出;以及
产生对应于所述多个感测输出中的所述感测输出的电流感测输出。
11.根据权利要求10所述的方法,其中感测所述经调节电流输出包括:
对所述经调节电压输出进行滤波;
感测电感器上的电压降;以及
将所述电感器上的所述所感测的电压降转换成所述电流感测输出。
12.根据权利要求10所述的方法,其中感测所述经调节电流输出包括:
在接通时间期间感测漏极到源极电压;以及
从所述所感测的漏极到源极电压产生所述电流感测输出。
13.根据权利要求10所述的方法,其中感测所述经调节电流输出包括镜射分数电流。
14.根据权利要求8所述的方法,其进一步包括:
获得所述处理器中的所述处理器的所述能量消耗,以及
基于所述能量消耗根据最佳化准则将所述动态产生的代码指配给所述处理器。
15.一种方法,其包括:
在动态产生的代码的执行期间获得多处理器子系统中的处理器中的一者的能量消耗,以及
基于所述能量消耗根据最佳化准则将所述动态产生的代码指配给所述处理器。
16.根据权利要求15所述的方法,其中获得包括:
选择来自感测电路的多个感测输出中的一者,所述感测电路中的每一者位于将电力供应到所述处理器的多个电压调节器中的对应电压调节器中,所述多个电压调节器中的所述对应电压调节器与所述处理器中的一者相关联;以及
将所述多个感测输出中的所述选定感测输出转换成数字参数,所述数字参数表示所述处理器中的所述处理器的所述能量消耗。
17.一种制造物品,其包括包含数据的机器可存取存储媒体,所述数据在由机器存取时致使所述机器执行包括以下各者的操作:
在动态产生的代码的执行期间获得多处理器子系统中的处理器中的一者的能量消耗,以及
基于所述能量消耗根据最佳化准则将所述动态产生的代码指配给所述处理器。
18.根据权利要求17所述的制造物品,其中致使所述机器执行获得的所述数据包括在由所述机器执行时致使所述机器执行包括以下各者的操作的数据:
选择来自感测电路的多个感测输出中的一者,所述感测电路中的每一者位于将电力供应到所述处理器的多个电压调节器中的对应电压调节器中,所述多个电压调节器中的所述对应电压调节器与所述处理器中的一者相关联;以及
将所述多个感测输出中的所述选定感测输出转换成数字参数,所述数字参数表示所述处理器中的所述处理器的所述能量消耗。
19.一种设备,其包括:
用于选择来自感测电路的多个感测输出中的一者的装置,所述感测电路中的每一者位于将电力供应到子系统中的处理器的多个电压调节器中的对应电压调节器中,所述多个电压调节器中的所述对应电压调节器与所述处理器中的一者相关联;以及
用于将所述多个感测输出中的所述选定感测输出转换成数字参数的装置,所述数字参数表示所述处理器中与所述电压调节器中的所述对应电压调节器相关联的所述处理器的能量消耗,所述能量消耗用于分派动态产生的代码。
20.根据权利要求19所述的设备,其中所述用于选择的装置包括:
用于感测所述电压调节器中的所述对应电压调节器的经调节电压输出的装置;以及
用于产生对应于所述多个感测输出中的所述感测输出的电压感测输出的装置。
21.根据权利要求20所述的设备,其中所述用于选择的装置进一步包括:
用于感测所述电压调节器中的所述对应电压调节器的经调节电流输出的装置;以及
用于产生对应于所述多个感测输出中的所述感测输出的电流感测输出的装置。
22.根据权利要求21所述的设备,其中所述用于感测所述经调节电流输出的装置包括:
用于对所述经调节电压输出进行滤波的装置;
用于感测电感器上的电压降的装置;以及
用于将所述电感器上的所述所感测的电压降转换成所述电流感测输出的装置。
23.根据权利要求21所述的设备,其中所述用于感测所述经调节电流输出的装置包括:
用于在接通时间期间感测漏极到源极电压的装置;以及
用于从所述所感测的漏极到源极电压产生所述电流感测输出的装置。
24.根据权利要求21所述的设备,其中所述用于感测所述经调节电流输出的装置包括用于镜射分数电流的装置。
25.根据权利要求19所述的设备,其进一步包括:
用于获得所述处理器中的所述处理器的所述能量消耗的装置,以及
用于基于所述能量消耗根据最佳化准则将所述动态产生的代码指配给所述处理器的装置。
26.一种设备,其包括:
用于在动态产生的代码的执行期间获得多处理器子系统中的处理器中的一者的能量消耗的装置,以及
用于基于所述能量消耗根据最佳化准则将所述动态产生的代码指配给所述处理器的装置。
27.根据权利要求26所述的设备,其中所述用于获得的装置包括:
用于选择来自感测电路的多个感测输出中的一者的装置,所述感测电路中的每一者位于将电力供应到所述处理器的多个电压调节器中的对应电压调节器中,所述多个电压调节器中的所述对应电压调节器与所述处理器中的一者相关联;以及
用于将所述多个感测输出中的所述选定感测输出转换成数字参数的装置,所述数字参数表示所述处理器中的所述处理器的所述能量消耗。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/352,670 | 2012-01-18 | ||
US13/352,670 US20130185581A1 (en) | 2012-01-18 | 2012-01-18 | Efficient Code Dispatch Based on Performance and Energy Consumption |
PCT/US2013/021850 WO2013109697A1 (en) | 2012-01-18 | 2013-01-17 | Efficient code dispatch based on performance and energy consumption |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104054057A true CN104054057A (zh) | 2014-09-17 |
Family
ID=47780173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380005125.7A Pending CN104054057A (zh) | 2012-01-18 | 2013-01-17 | 基于性能及能量消耗的有效代码分派 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20130185581A1 (zh) |
EP (1) | EP2805240A1 (zh) |
JP (1) | JP2015505412A (zh) |
KR (1) | KR20140117551A (zh) |
CN (1) | CN104054057A (zh) |
IN (1) | IN2014CN04651A (zh) |
TW (1) | TW201342035A (zh) |
WO (1) | WO2013109697A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799693B2 (en) | 2011-09-20 | 2014-08-05 | Qualcomm Incorporated | Dynamic power optimization for computing devices |
US9098309B2 (en) | 2011-09-23 | 2015-08-04 | Qualcomm Incorporated | Power consumption optimized translation of object code partitioned for hardware component based on identified operations |
DE112012006242T5 (de) * | 2012-04-19 | 2014-12-31 | Intel Corporation | Ein Signalverstärker mit aktivem Energiemanagement |
KR102251992B1 (ko) * | 2014-02-28 | 2021-05-14 | 삼성전자주식회사 | 전류를 제어하는 방법과 전자 장치 |
US9384787B2 (en) | 2014-09-03 | 2016-07-05 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Selecting a voltage sense line that maximizes memory margin |
US10078364B2 (en) * | 2016-01-14 | 2018-09-18 | Hcl Technologies Limited | System and method for optimizing power consumption of one or more devices |
US10732694B2 (en) * | 2017-09-22 | 2020-08-04 | Qualcomm Incorporated | Power state control of a mobile device |
JP6844511B2 (ja) * | 2017-11-21 | 2021-03-17 | セイコーエプソン株式会社 | 携帯型情報処理装置、集積回路、及び、電池パック |
US11693472B2 (en) | 2021-08-31 | 2023-07-04 | Apple Inc. | Multi-die power management in SoCs |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201024950A (en) * | 2008-11-21 | 2010-07-01 | Maxim Integrated Products | Digital compensator for power supply applications |
US20100174923A1 (en) * | 2009-01-07 | 2010-07-08 | International Business Machines | Regulating Power Consumption |
US20110093733A1 (en) * | 2009-10-20 | 2011-04-21 | Ezekiel John Joseph Kruglick | Power Channel Monitor For A Multicore Processor |
CN102121972A (zh) * | 2009-12-29 | 2011-07-13 | 凹凸电子(武汉)有限公司 | 测量电池组中单元电池电压的电路及方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3402953B2 (ja) * | 1996-09-13 | 2003-05-06 | 株式会社東芝 | 通信方法、通信システムおよび通信装置 |
US7313706B2 (en) * | 2002-09-17 | 2007-12-25 | Hewlett-Packard Development Company, L.P. | System and method for managing power consumption for a plurality of processors based on a supply voltage to each processor, temperature, total power consumption and individual processor power consumption |
US6906582B2 (en) * | 2003-08-29 | 2005-06-14 | Freescale Semiconductor, Inc. | Circuit voltage regulation |
US7102338B2 (en) * | 2003-10-23 | 2006-09-05 | Intel Corporation | Multi-sense voltage regulator |
US7386739B2 (en) * | 2005-05-03 | 2008-06-10 | International Business Machines Corporation | Scheduling processor voltages and frequencies based on performance prediction and power constraints |
US7793125B2 (en) * | 2007-01-10 | 2010-09-07 | International Business Machines Corporation | Method and apparatus for power throttling a processor in an information handling system |
US20090271646A1 (en) * | 2008-04-24 | 2009-10-29 | Vanish Talwar | Power Management Using Clustering In A Multicore System |
US9043795B2 (en) * | 2008-12-11 | 2015-05-26 | Qualcomm Incorporated | Apparatus and methods for adaptive thread scheduling on asymmetric multiprocessor |
US8634302B2 (en) * | 2010-07-30 | 2014-01-21 | Alcatel Lucent | Apparatus for multi-cell support in a network |
US8683243B2 (en) * | 2011-03-11 | 2014-03-25 | Intel Corporation | Dynamic core selection for heterogeneous multi-core systems |
US8595520B2 (en) * | 2011-10-12 | 2013-11-26 | Qualcomm Incorporated | System and method for determining thermal management policy from leakage current measurement |
US9098261B2 (en) * | 2011-12-15 | 2015-08-04 | Intel Corporation | User level control of power management policies |
-
2012
- 2012-01-18 US US13/352,670 patent/US20130185581A1/en not_active Abandoned
-
2013
- 2013-01-17 IN IN4651CHN2014 patent/IN2014CN04651A/en unknown
- 2013-01-17 WO PCT/US2013/021850 patent/WO2013109697A1/en active Application Filing
- 2013-01-17 JP JP2014553397A patent/JP2015505412A/ja active Pending
- 2013-01-17 KR KR1020147022859A patent/KR20140117551A/ko not_active Application Discontinuation
- 2013-01-17 CN CN201380005125.7A patent/CN104054057A/zh active Pending
- 2013-01-17 EP EP13707221.1A patent/EP2805240A1/en not_active Withdrawn
- 2013-01-18 TW TW102102095A patent/TW201342035A/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201024950A (en) * | 2008-11-21 | 2010-07-01 | Maxim Integrated Products | Digital compensator for power supply applications |
US20100174923A1 (en) * | 2009-01-07 | 2010-07-08 | International Business Machines | Regulating Power Consumption |
US20110093733A1 (en) * | 2009-10-20 | 2011-04-21 | Ezekiel John Joseph Kruglick | Power Channel Monitor For A Multicore Processor |
CN102121972A (zh) * | 2009-12-29 | 2011-07-13 | 凹凸电子(武汉)有限公司 | 测量电池组中单元电池电压的电路及方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2805240A1 (en) | 2014-11-26 |
JP2015505412A (ja) | 2015-02-19 |
WO2013109697A1 (en) | 2013-07-25 |
IN2014CN04651A (zh) | 2015-09-18 |
KR20140117551A (ko) | 2014-10-07 |
TW201342035A (zh) | 2013-10-16 |
US20130185581A1 (en) | 2013-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104054057A (zh) | 基于性能及能量消耗的有效代码分派 | |
Rossi et al. | Vega: A ten-core SoC for IoT endnodes with DNN acceleration and cognitive wake-up from MRAM-based state-retentive sleep mode | |
CN106843430B (zh) | 用于能效和节能的方法、装置和系统 | |
KR101751358B1 (ko) | 이종 프로세서 컴포넌트들에 지능적으로 전원을 공급하기 위한 장치 및 방법 | |
CN102473110B (zh) | 基于内核和应用特性针对多处理器系统上运行的应用的内核选择 | |
CN103631656A (zh) | 大核和小核中的任务调度 | |
Wang et al. | A systematic methodology for analysis of deep learning hardware and software platforms | |
CN103631655B (zh) | 大核和小核中的任务调度 | |
KR101845328B1 (ko) | 단말 및 그 단말에서 어플리케이션 수행 방법 | |
CN103797436A (zh) | 用于计算装置的动态电力优化 | |
CN103270470A (zh) | 多核系统能耗优化 | |
Goel et al. | Techniques to measure, model, and manage power | |
Contreras et al. | The XTREM power and performance simulator for the Intel XScale core: Design and experiences | |
He et al. | Enabling energy-efficient DNN training on hybrid GPU-FPGA accelerators | |
CN104536936A (zh) | 一种拉杆箱式可编程计算器装置 | |
CN111079909B (zh) | 运算方法、系统及相关产品 | |
CN111079925B (zh) | 运算方法、装置及相关产品 | |
CN111078284B (zh) | 运算方法、系统及相关产品 | |
CN111078291B (zh) | 运算方法、系统及相关产品 | |
Cohen et al. | Android Application Development for the Intel Platform | |
Anzt et al. | Improving the energy efficiency of sparse linear system solvers on multicore and manycore systems | |
CN111079924B (zh) | 运算方法、系统及相关产品 | |
CN104160359A (zh) | 基于优先级的智能平台无源热管理 | |
Jin et al. | Optimizing Radial Basis Function Kernel on OpenCL FPGA Platform | |
Shiue | Retargetable compilation for low power |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140917 |