CN104156051A - 基于数据管理功率的设备和方法 - Google Patents

基于数据管理功率的设备和方法 Download PDF

Info

Publication number
CN104156051A
CN104156051A CN201410204030.4A CN201410204030A CN104156051A CN 104156051 A CN104156051 A CN 104156051A CN 201410204030 A CN201410204030 A CN 201410204030A CN 104156051 A CN104156051 A CN 104156051A
Authority
CN
China
Prior art keywords
power
power information
processor
data
information
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.)
Granted
Application number
CN201410204030.4A
Other languages
English (en)
Other versions
CN104156051B (zh
Inventor
孙民荣
李承远
李时和
李在敦
林采石
郑旻奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN104156051A publication Critical patent/CN104156051A/zh
Application granted granted Critical
Publication of CN104156051B publication Critical patent/CN104156051B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • 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/3243Power saving in microcontroller unit
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4432Reducing the energy consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • 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
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B70/00Technologies for an efficient end-user side electric power management and consumption
    • Y02B70/10Technologies improving the efficiency by using switched-mode power supplies [SMPS], i.e. efficient power electronics conversion e.g. power factor correction or reduction of losses in power supplies or efficient standby modes
    • 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)
  • Software Systems (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)
  • Memory System (AREA)

Abstract

提供了一种基于数据管理功率的设备和方法。所述处理设备可响应于来自处理器的对存储在存储器中的特定数据的访问请求来获得存在的功率信息,其中,所述功率信息具有与特定数据的预定义的一致性;并基于存在的功率信息来控制处理器的功率模式。

Description

基于数据管理功率的设备和方法
本申请要求于2013年5月14日向韩国知识产权局提交的第10-2013-0054522号韩国专利申请的优先权利益,所述专利申请的公开内容通过引用合并于此。
技术领域
一个或更多个实施例涉及移动装置、多媒体装置、嵌入式系统等中的一种可适用于一个或更多个需要功率管理的处理设备和处理方法。
背景技术
目前使用多个具有性能相对低的处理器的多核系统代替性能优良的单处理器被广泛的应用于移动装置和各种嵌入式系统中。例如,因为制造性能优良的处理器的工艺会比制造多个性能较低的处理器更困难,并且因为与这种性能较低的处理器的功耗相比,这种性能优良的处理器所产生功耗会相对较高,所以可以使用多核系统。
可将若干相同处理器用于多核系统中,或者可将多核系统配置为使用若干不同类型的处理器的异构(heterogeneous)多核系统。通过使用多个不同处理器,可减少对资源和功耗的不必要的浪费。
然而,尽管多核系统可以使用相对少量的功率,但是当与具有性能相同的单处理器相比时,在移动装置和高性能超级计算机中可能仍然需要克服功耗问题。
发明内容
一个或更多个实施例提供一种处理设备,所述处理设备包括:处理器;功率信息管理器,响应于请求向处理器提供特定数据的访问请求,确定是否存在与所述特定数据相应的预定义的功率信息,所述功率信息指示当处理器处理所述特定数据时对于处理器建议的功率模式;功率控制器,当确定指示预定义的功率信息存在时,基于预定义的功率信息选择性地控制当处理器处理所述特定数据时处理器的当前功率模式。
预定义的功率信息可指示当处理器处理数据时对于处理器建议的多个功率模式中的一个,其中,所述建议的多个功率模式至少包括低功率模式、高功率模式和介于低功率模式和高功率模式之间的功率模式。
功率信息管理器可确定预定义的功率信息是否存在于产生的功率信息表中,其中,产生的功率信息表分别包括不同特定数据的地址信息和相应的预定义的功率信息。
功率信息管理器可通过分析与执行代码关联的功率信息代码来产生功率信息表,其中,所述执行代码将关于处理特定数据的执行指令提供给处理器。
可由编译系统的链接器对功率信息代码与执行代码进行链接以产生二进制文件,其中,编译系统的编译器从源代码提取包括在功率信息代码中的分别在源代码中针对数据识别的功率信息,与从源代码的编译中产生执行代码的过程区分开来。
对于存在功率信息的编译器识别的每个数据,功率信息代码可包括用于编译器识别的每个数据的地址信息和编译器识别的每个数据的功率模式信息,并且产生的功率信息表可包括提取的编译器识别的每个数据的地址信息和提取的编译器识别的每个数据的功率模式信息。
通过将包括在访问请求中的数据地址与在产生的功率信息表中表示的多个地址的不同确定范围进行比较,确定包括在访问请求中的数据地址是否落在地址的不同确定范围中的任何一个确定范围内,功率信息管理器可确定预定义的功率信息是否存在于产生的功率信息表中,并且如果存在于产生的功率信息表中,则针对包括在访问请求中的数据地址落在其中的找到的地址的确定范围,定位在产生的功率信息表中识别的相应功率信息,其中,地址的不同确定范围中的每一个表示存储在存储器中的处理器被设置当执行执行代码时处理的不同数据。
功率信息管理器可确定预定义的功率信息是否存在于产生的功率信息表中,其中,所述功率信息表至少包括存储在存储器中的多个数据中的存在功率信息的选择的数据的地址信息,其中,存储在存储器中的多个数据是用于由处理器当运行执行代码时处理的数据集。
通过将包括在访问请求中的数据地址与在产生的功率信息表中表示的地址的多个不同确定范围进行比较,确定包括在访问请求中的数据地址是否落在地址的不同确定范围中的任何一个范围内,功率信息管理器可确定预定义的功率信息是否存在,并且如果确定预定义的功率信息存在,则针对包括在访问请求中的数据地址落入其中的找到的地址的确定范围,定位相应的功率信息,其中,地址的不同确定范围中的每一个表示存储在存储器中的处理器被设置当运行执行代码时处理的不同数据。
所述设备还可包括存储器管理器,所述存储器管理器用于执行读取操作以基于包括在访问请求中的数据地址从存储器读取特定数据,其中,当在读取操作中读取与所述特定数据相应的功率信息时,功率信息管理器可产生或添加功率信息表以将所述特定数据的地址信息包括在功率信息表中。
在产生或添加功率信息表的步骤中,功率信息管理器可将读取的与所述特定数据相应的功率信息包括在功率信息表中。
所述设备还可包括存储器,所述存储器存储处理器被设置当执行执行代码时处理的不同数据,其中,所述不同数据包括所述特定数据。
所述功率信息管理器可包括:地址获得器,获得包括在对存储器中的特定数据的访问请求中的存储器地址;功率信息验证器,基于对获得的存储器地址和功率信息表中的多个地址信息的比较来确定预定义的功率信息是否存在,其中,功率信息表中的所述多个地址信息中的每一个表示用于存储在存储器中的不同数据中的存在相应的预定义的功率信息的数据的地址信息;功率信息提供器,当功率信息验证器确定预定义的功率信息存在时,将预定义的功率信息提供给功率控制器。
功率信息表可包括多个功率信息元组,其中,所述多个功率信息元组中的每一个可包括以下项中的至少一个:存在功率信息的各个存储的数据在存储器中的初始地址;所述各个存储的数据的长度;当处理器处理所述各个存储的数据时用于处理器的与所述各个存储的数据相应的建议功率模式的指示。
所述多个功率信息元组中的每一个还可包括与所述各个存储的数据相应的建议的功率模式的各个权重,并且当处理器处理所述各个存储的数据时,功率控制器可使用所述各个权重来控制处理器根据确定的适当功率模式进行操作。
功率控制器可与功率信息表分开地存储处理器的前一功率模式和/或用于处理器的前一确定的适当功率模式的功率信息,并基于存储的前一功率模式的功率信息、前一确定的适当功率模式的功率信息和与当前各个存储的数据相应的当前各个权重中的至少两个,来确定用于处理器的当前适当功率模式,以在处理器处理当前各个存储的数据时被实现。
功率控制器可包括:功率模式确定器,基于预定义的功率信息来确定用于处理器的适当功率模式,以在处理器处理特定数据时实现;功率模式控制器,控制处理器的当前功率模式为适当功率模式。
所述设备还可包括:二进制文件处理器,获得二进制文件并从二进制文件提取执行代码和功率信息代码;存储器加载器,将执行代码加载到存储器,其中,功率信息管理器可基于功率信息代码产生或更新功率信息表,并且,其中,对于存储在存储器中的不同数据中的选择数据中的每个,功率信息代码可被配置为包括用于识别不同数据中的所述选择数据的信息、和当处理器处理所述选择数据时实现的用于处理器的相应的建议的功率模式。
功率信息管理器可基于功率信息代码和将执行代码加载到存储器的结果来产生或更新功率信息表。
功率信息表可基于功率信息代码中作为选择数据的虚拟地址的用于识别选择数据的信息和包括作为存储器的物理地址的用于识别来自存储在存储器中的不同数据的选择数据的相应信息的功率信息表被产生或更新。
可由编译系统的编译器和链接器来产生二进制文件,其中,链接器将执行代码和功率信息代码进行链接来产生二进制文件,使得功率信息代码是基于由编译器使用包括在源代码中的识别源代码中的特定各个数据的功率模式指示符从源代码中提取的功率信息,与由编译器对源代码的编译而产生执行代码的区分开。
一个或更多个实施例提供一种处理设备,所述处理设备包括:多个处理器;功率信息管理器,响应于请求向所述多个处理器中的选择的处理器提供特定数据的访问请求,确定是否存在与所述特定数据相应的预定义的功率信息,所述功率信息指示当选择的处理器执行所述特定数据时对于所述多个处理器中的任何一个处理器建议的功率模式;功率控制器,当确定指示预定义的功率信息存在时,基于预定义的功率信息选择性地控制当选择的处理器处理所述特定数据时的选择的处理器的当前功率模式。
所述处理设备还可包括存储器,所述存储器存储所述多个处理器被设置当执行执行代码时处理的不同数据,其中,所述不同数据包括所述特定数据。
响应于请求将特定数据提供给其他处理器的访问请求,功率信息管理器可将预定义的功率信息提供给功率控制器以在选择的处理器处理特定数据时控制选择的处理器的当前功率模式,并将预定义的功率信息提供给功率控制器以控制所述多个处理器中的至少另一个处理器的功率模式,使得对于特定数据,预定义的功率信息被提供给功率控制器,而不考虑所述多个处理器中的哪个处理器请求所述特定数据。
当所述多个处理器中的第一处理器和第二处理器请求分别存在相应的相同功率信息的各个数据时,功率控制器可基于所述相同功率信息来不同地控制第一处理器的功率模式和第二处理器的功率模式。
一个或更多个实施例包括用于基于数据管理功率的设备,所述设备包括:处理器;存储器控制器,响应于请求将特定数据提供给处理器的访问请求,从包括不同数据的存储器读取包括特定数据并来自用于在执行处理期间通过处理器进行选择性处理的不同数据集的选择数据,并将读取的特定数据提供给处理器;功率控制器,根据对功率信息被包括在读取的选择数据的确定,基于包括在读取的选择数据中的功率信息来控制处理器的当前功率模式,其中,功率信息包括当处理器处理所述特定数据时对于处理器建议的功率模式。
所述设备可包括存储器,所述存储器存储不同数据,其中,所述不同数据包括存在用于控制处理器的各个功率模式的各个功率信息的数据以及不存在用于控制处理器的各个功率模式的各个功率信息的数据。
包括在具有特定数据的读取的选择数据中的功率信息可不同于包括在包含另一特定数据的另一读取的选择数据中的另一功率信息,使得其他功率信息包括当处理器处理其他特定数据时对于处理器建议的不同的功率模式。
当确定指示功率信息被包括在读取的选择数据中时,存储器控制器可将功率信息提供给功率控制器,以在处理器处理特定数据时控制用于处理器的当前功率模式。
一个或更多个实施例包括处理方法,所述处理方法包括:响应于请求将特定数据提供给处理器的访问请求,确定是否存在与所述特定数据相应的预定义的功率信息,所述功率信息指示当处理器执行所述特定数据时对于处理器建议的功率模式;控制处理器使用多个功率模式选择性地进行操作,其中,所述控制的步骤包括:当确定指示预定义的功率信息存在时,基于预定义的功率信息控制处理器的当前功率模式。
所述方法还可包括:检测对于特定数据的访问请求。
其中,所述访问请求可以是从用于在执行处理期间由处理器进行选择性处理的不同数据集请求提供来自存储器的特定数据。
检测访问请求的步骤可包括获得包括在检测到的访问请求中的存储器地址,并且确定与特定数据相应的预定义的功率信息是否存在可以是基于获得到的存储器地址和功率信息表的比较,其中,获得的存储器地址与特定数据在存储器中的地址相应。
当基于所述比较确定与特定数据相应的预定义的功率信息是否存在时,可从功率信息表获得与特定数据相应的预定义的功率信息。
功率信息表可包括多个功率信息元组,其中,所述多个功率信息元组中的每一个可包括以下项中的至少一个:存在功率信息的各个存储的数据在存储器中的初始地址;所述各个存储的数据的长度;当处理器处理所述各个存储的数据时与所述各个存储的数据相应的对于处理器建议的功率模式的指示。
所述多个功率信息元组中的每一个还可包括与所述各个存储的数据相应的建议的功率模式的各个权重,并且控制处理器的当前功率模式的步骤包括:当处理器处理所述各个存储的数据时,基于所述各个权重来控制处理器根据确定的适当功率模式进行操作。
所述方法还可包括:与功率信息表分开地存储处理器的前一功率模式和/或用于处理器的前一确定的适当功率模式的功率信息;基于存储的前一功率模式的功率信息、前一确定的适当功率模式的功率信息和与当前各个存储的数据相应的当前各个权重中的至少两个,来确定用于处理器的当前适当功率模式,以在处理器处理当前各个存储的数据时被实现。
控制处理器的当前功率模式的步骤可包括:基于预定义的功率信息来确定处理器的功率模式是否将被改变,以在处理器处理特定数据时实现;基于指示处理器的功率模式将被改变的用于确定处理器的功率模式是否将被改变的结果来促使处理器的功率模式改变。
所述方法还可包括:获得二进制文件,并从二进制文件提取执行代码和功率信息代码;将执行代码加载到存储器;基于功率信息代码产生或更新功率信息表,其中,对于存储在存储器中的不同数据中的选择数据中的每个,功率信息代码可被配置为包括用于从不同数据识别所述选择数据的信息、和当处理器处理所述选择数据时实现的用于处理器的相应的建议的功率模式。
产生或更新功率信息表可以是基于功率信息代码和将执行代码加载到存储器的结果。
功率信息表可基于功率信息代码中作为选择数据的虚拟地址的用于识别选择数据的信息以及包括作为存储器的物理地址的用于识别来自存储在存储器中的不同数据的选择数据的相应信息的功率信息表被产生或更新。
可由编译系统的编译器和链接器来产生二进制文件,其中,链接器将执行代码和功率信息代码进行连接来产生二进制文件,使得功率信息代码是基于由编译器使用包括在源代码中的识别源代码中的特定各个数据的功率模式指示符从源代码中提取的功率信息,与由编译器对源代码的编译而产生执行代码的区分开。
另外的方面和/或优点将在以下描述中被部分阐述,并且将部分地从所述描述清楚,或通过本公开的实践被学习到。
附图说明
从以下结合附图对实施例进行的描述,这些和/或其他方面将变得清楚并且更容易理解,其中:
图1示出根据一个或更多个实施例的包括多个处理器的处理设备;
图2示出根据一个或更多个实施例的基于数据管理功率的方法;
图3示出根据一个或更多个实施例的指定基于数据的功率信息的方法;
图4示出根据一个或更多个实施例的产生基于数据的功率信息的方法;
图5示出根据一个或更多个实施例的功率信息集;
图6示出根据一个或更多个实施例的处理设备;
图7示出根据一个或更多个实施例的加载基于数据的功率信息的方法;
图8示出根据一个或更多个实施例的用于基于数据管理功率的功率控制器的操作方法;和
图9示出根据一个或更多个实施例的用于基于数据管理功率的存储器控制器的操作方法。
具体实施方式
现在将详细参照在附图中示出的一个或更多个实施例,其中,相同的参考标号始终指的是相同的元件。在这方面,本发明的实施例可以以多种不同的形式来实现,并且不应被解释为受限于阐述于此的实施例。因此,以下仅通过参照附图来描述实施例,以解释本发明的多个方面。此外,在此使用的术语被定义为适当地描述示例性实施例,并因此可依据用户、操作者的意图或惯例而改变。不管怎样,应基于本发明中的全部公开内容来定义所述术语。
图1示出根据一个或更多个实施例的包括多个处理器的处理设备100。
参照图1,处理设备100可执行以数据为中心的功率管理。在与用于处理设备100的数据相应的各个功率信息可用的情况下,当所述数据被处理时,处理器可基于相应功率信息来管理功率。仅作为示例,在一个或更多个实施例中,当用于特定数据的功率信息已由例如用户预先指定时,所有处理器可基于各个处理器请求访问哪个特定数据来自动地管理功率。
因此,当使用处理设备100时,可提高用户的便利性。另外,精细的功率管理会是可能的。
当与单核系统相比时,在多核系统中,存储器大小或访问速度在系统性能中可起到决定性的作用,这表明多核系统的性能可基于被处理的数据、而不只是所述数据的计算来确定。当使用处理设备100时,可因此提供适用于多核系统的功率管理技术。
处理设备100可适用于多媒体应用。例如,在数据是多媒体数据的一个或更多个实施例中,可以以类似于流媒体(flowing stream)(例如,流水线(pipeline)计算)的方式对所述数据进行处理。当基于数据执行计算时,可根据用于执行所述计算的特定数据来改变功率管理。
因此,根据一个或更多个实施例,处理设备100可包括例如存储器110、存储器控制器120、功率控制器130、处理器140和功率信息管理器。
处理器140可使用多种被控制的功率模式进行操作。存储器110可存储可在处理器140的操作期间被使用的数据。
响应于来自处理器140的对存储器110的访问请求信号,功率信息管理器可验证与根据所述访问请求信号的将被处理器140请求访问的特定数据相应的功率信息是否存在。根据实施例,仅作为示例,功率信息管理器可包括在存储器控制器120或功率控制器130中。可选地,还可与存储器控制器120和功率控制器130分开地提供功率信息管理器。
以下,仅为了易于描述,功率信息管理器可被认为是包括在存储器控制器120中。然而,如上所述,功率信息管理器的实现不限于功率信息管理器包括在存储器控制器120中的情况。
因此,当确定与例如基于处理器140的访问请求信号被请求访问的特定数据相应的功率信息存在时,功率控制器130可基于被确定为存在的用于所述特定数据的功率信息来控制处理器140的功率模式。
处理器140可执行处理,例如,使用存储在存储器110中的数据来执行计算。处理器140可以是包括多个异构子处理器(例如,一个或更多个中央处理单元(CPU)141、一个或更多个图形处理单元(GPU)142、一个或更多个硬件加速器(HWA)143、以及一个或更多个数字信号处理器(DSP)144等)的多核系统。根据实施例,可选地,处理器140可包括包含多个同构(homogeneous)子处理器的多核系统,例如,仅作为示例,处理器140可仅包括多个CPU141,仅包括多个GPU142,仅包括多个HWA143,或仅包括多个DSP144。
处理器140可通过存储器控制器120访问存储器110。更具体地讲,包括在处理器140中的子处理器可通过一个或更多个这样的存储器控制器120来分别访问存储器110。
这里,根据实施例,可改变关于图1所描述的每个硬件元件的连接结构、数量和/或构造。
根据一个或更多个实施例,存储器控制器120可将被确定为与被请求访问的同一特定数据相应的相同功率信息提供给功率控制器130,而不管请求对该特定数据的访问的子处理器的类型如何。
例如,CPU141和GPU142可在相同时间或不同时间请求访问存储在特定地址处的同一特定数据。在这种情况下,对于CPU141和GPU142,存储器控制器120可基于功率信息和请求的特定数据的预定对应性,将被确定为与被请求的特定数据相应的相同功率信息提供给功率控制器130。
然而,根据实施例,功率控制器130可基于从存储器控制器120接收到的相同功率信息来选择性地不同地控制CPU141的功率模式和GPU142的功率模式。
具体地讲,在一个或更多个实施例中,当功率控制器130接收到相同的功率信息时,功率控制器130仍可基于内部规则来不同地控制CPU141的功率模式和GPU142的功率模式。因此,仅作为示例,虽然基于相同的功率信息,但是处理器140的各个子处理器的最终的功率管理根据对于每个子处理器的各自的功率管理规则可以是相同的或不同的。
根据一个或更多个实施例,存储器110可存储并维护数据,其中,将被分别使用的功率管理的各个类型在所述数据中被分类。仅作为示例,存储器110可将在处理器140进行处理期间将被使用的特定数据与其相应功率信息一起存储。作为另一示例,存储器110可将功率信息代码与例如正由处理器140执行的底层应用的二进制文件一起存储,并且,功率信息管理器可产生包括从功率信息代码提取的各个功率信息的功率信息表。
因此,基于处理器140(或任何子处理器)对特定数据的请求,当存储器控制器120针对被处理器140请求的特定数据访问存储器110时,存储器控制器120还可将表示与请求的特定数据相应的功率信息的信号发送到功率控制器130,并且,功率控制器130可基于从存储器控制器120发送的信号来调整处理器140的功率使用。这里,可在存储器控制器针对用于提供给处理器140的请求的特定数据访问存储器110之前、同时或之后,由功率信息管理器确定功率信息。
例如,存储器控制器120可针对特定数据从存储器110读取数据,并按照请求的将所述特定数据提供给处理器140。在这个示例中,并且根据一个或更多个实施例,存储器控制器120还可验证对将用于特定数据的功率管理模式或功率的类型的指示是否也包括在读取的数据中。当将用于特定数据的功率的类型被验证为包括在读取的数据中时,存储器控制器120可将经验证的将使用的功率的类型或功率管理模式例如作为相应功率信息提供给功率控制器130。然后,针对特定数据,功率控制器130可基于如从存储器控制器120传送的将使用的功率的类型来选择性地控制处理器140的功率。因此,在此示例中,针对被处理器140请求的特定数据,功率控制器130可基于在读取的数据中包括的将使用的功率的类型来控制处理器140的功率。
可选地,在一个或更多个实施例中,并且仅作为示例,相应功率信息可独立于将由处理器140处理的数据而存在,例如,存在于设置有执行代码(例如,控制处理器140的处理操作的特定应用)的功率信息代码中。这里,功率信息管理器例如可访问功率信息代码并产生功率信息表,其中,仅作为示例,所述功率信息表类似于图5所示的表。因此,当特定数据被处理器140请求时,基于来自执行代码的指令,可确定是否发现在产生的功率信息表中存在用于该请求的特定数据的相应功率信息,并且如果发现在产生的功率信息表中存在用于该请求的特定数据的相应功率信息,则存储器控制器120可从存储器110读取请求的特定数据,并将该请求的特定数据提供给处理器140,同时,功率信息管理器将发现的功率信息提供给功率控制器130,从而处理器140基于提供的功率信息进行最终功率管理。
这里,在另一示例中,如果确定针对请求的特定数据不存在相应功率信息,则存储器管理器130可仅将请求的特定数据提供给处理器140,并且处理器140可继续以与处理器140先前进行操作的功率模式相同的功率模式进行操作。虽然可确定针对请求的特定数据不存在功率信息,但是功率控制器130仍可基于可选的当前也可被实现的功率管理方案和/或基于应用于先前提供的功率信息的不同权重来不同地控制处理器140,以至少控制从存储器110请求特定数据的处理器140(或子处理器)的功率管理模式。
图2示出根据一个或更多个实施例的基于数据管理功率的方法。
参照图2,数据220可包括可被处理器210请求访问的不同数据和数据220的所述不同数据中的一个或更多个的各自的功率信息。
当处理器210使用数据220的不同数据中的特定数据执行操作时,处理器210也可基于包括在数据220中的用于该特定数据的相应功率信息来执行所述操作。如上所述,对所述不同数据中所有数据可能不都存在功率信息,但是当确定针对包括在数据220中的请求的特定数据存在功率信息时,处理器210可基于确定存在的功率信息使用该请求的特定数据来执行所述操作。
图2另外示出了数据220可如何被产生以选择性地包括用于包括在数据220中的不同数据中的各个数据的功率信息。仅作为示例,当用户开发程序源代码230时,用户可将功率管理指示符231与对源代码中的特定数据的参考一起包括在源代码中。当处理器210正执行与源代码相应的执行代码并请求所述特定数据时,功率管理指示符231可识别可应用于处理器210的功率管理的类型。
简单地讲,在源代码中的不同的功率管理指示符231的这种包含仅是用于预先定义当根据与源代码相应的执行代码操作时哪个功率信息与可被处理器最终访问的哪个特定数据相应的示例实施例。例如,可基于包括在源代码中的功率管理指示符231例如在编译源代码期间从源代码中提取功率信息,并且可以以并非从相应目标代码得到的形式将提取的功率信息最终提供给处理设备(诸如图1的处理设备100),其中,从源代码的编译产生所述目标代码。
图3示出根据一个或更多个实施例的指定基于数据的功率信息的方法。
在图3中,如以上所讨论的,例如,与不同数据相应的功率管理的不同类型可由用户通过源代码300的编程(具体地讲,通过将功率管理指示符310、320、330和340包括在源代码中)来指定。
根据一个或更多个实施例,将使用的功率管理的示例类型与功率模式(诸如,低功率(LP)模式、中间功率(MP)模式、高功率(HP)模式等)相应,并且功率管理的这些类型可被分别定义在源代码中作为示例功率管理指示符。
另外,仅作为示例,通用模板功率(GP)模式的功率管理指示符可被定义为用作函数的参数。被声明为通用模板功率GP模式的功率管理指示符的参数可包括与功率模式(例如,LP模式、MP模式、HP模式等)相应的将使用的功率管理的类型的所有数据。
可在源代码300中为属性、数据的类型等指定功率管理指示符,并且功率管理指示符可根据编程语言而不同。
例如,可将功率管理指示符“_lp_”310插入在源代码中以指定将用于特定变量(诸如被分类为整数的“a”)的功率管理的类型,使得可将用于该变量“a”的功率模式定义为LP模式。
可将功率管理指示符“_mp_”320插入在源代码中以指定将用于特定数组变量(诸如被分类为字符的“b[10]”)的功率管理的类型,使得可将用于该数组变量“b[10]”的功率模式定义为MP模式。
可将功率管理指示符“_hp_”330插入在源代码中以指定将在特定函数(诸如“ISR0”)的定义中使用的功率管理的类型,使得可针对函数“ISR0”将功率模式定义为HP模式。
可将功率管理指示符“_gp_”340插入在源代码中以指定将在特定函数(诸如“decode”)的参数之中的“inputData”中使用的功率管理的类型,使得可针对函数“decode”将功率模式定义为GP模式。
因此,仅作为示例,可通过在编写源代码时引入功率管理指示符、用所需的功率管理指示符将新类型的数据引入到现有的源代码、或通过针对将用于各个现有类型的数据的各个所需类型的功率管理将功率管理指示符插入到源代码的现有类型的数据,来实现用于当不同数据被处理设备处理时的针对特定数据设置功率模式的方法。
如以下关于图4进行的讨论,仅作为示例,当分析源文件410时,可基于通过编译器420的操作来得到或提取识别的功率信息450。例如,针对以上所述的功率管理指示符“_lp_”、“_mp_”、“_hp_”、“_gp_”等中的一个或更多个,控制器可搜索例如存储在存储器中的整个源代码。当在源代码中找到至少一个这种功率管理指示符时,可例如由编译器420或这种控制器来产生用于该找到的功率管理指示符的相应数据的功率信息。在实施例中,以下所讨论的图4的功率信息450可以是由这种控制器找到的单个特定数据的功率信息或不同数据的各个功率信息。另外,针对关于在源代码中引用的不同数据的功率信息的信息,这种控制器可搜索可选的存储器源。例如,这种功率管理指示符可被类似地用在这种可选的存储器源中以识别在源代码中引用的不同数据,从而产生示例功率信息450。另外,在可在源代码中使用的这种功率管理指示符以外,可选机制可用于产生示例功率信息450。另外,示例功率信息450可最终处于与被实际提供给处理设备(诸如图1的处理设备)或对所述处理设备可用的功率信息不同的形式,并且可用于例如由控制图1的处理设备100的用户独立地产生、改变或删除包括执行代码的二进制文件。因此,存在用于可针对被图1的处理设备100中的处理器或子处理器请求的特定数据而搜索的功率信息的多个潜在源,并且所述多个潜在源可最终被处理设备100使用以在处理请求的特定数据时控制处理器或子处理器的功率模式。
通常,可基于在执行代码中最终表示的源代码的特定的区段、部分或块来执行功率管理,其中,所述特定的区段、部分或块准确地指定当源代码的所述特定的区段、部分或块被执行时针对特定处理器将如何执行功率管理。例如,编译器可将包括这种特定的区段、部分或块的源代码编译成目标代码,并最终编译成用于底层程序或应用的执行代码。在此常规示例中,可将源代码的一部分设置成低功率区段,并且,当处理所述低功率区段时,可根据低功率模式来管理处理器的功率使用。因此,常规的功率管理是基于代码的功率管理,其中,功率管理信息包含在源代码中、然后包含在目标代码中,并最终包含在相应的执行代码中。例如,常规的功率管理可仅通过用于CPU141的用户应用程序接口(API)、专门用于GPU142的API和/或专门用于DSP144的API是可用的。通常,产生的执行代码可包括与这些特定功率模式限定的原始源代码的区段或部分相应的二进制执行代码,使得执行代码可控制处理器的功率管理。
相反,根据一个或更多个实施例,基于数据的功率管理设备可基于特定数据,而不是上面直接描述的常规的基于代码的功率管理方法,来执行功率管理。具体地讲,在根据一个更多个实施例的基于数据的功率管理设备中,可针对可在处理器的一个或更多个处理操作中使用的特定数据设置功率模式,使得当所述特定数据潜在地由处理器最终处理时,处理器可以以适当功率模式进行操作。在一个或更多个实施例中,用于各个不同数据的潜在的不同功率管理实现的这样的信息可由例如编译器来提取或寻找,或者可以已经由编译器提取或找到,并且可通过与执行代码不同的机制被提供给最终的处理设备。类似地,根据一个或更多个实施例,并仅作为示例,在实现基于数据的功率管理的处理设备中,当例如基于由处理设备的处理器或子处理器正在执行的执行代码,所述处理器或子处理器请求特定数据时,处理设备可独立于执行代码而确定针对该特定数据是否存在功率信息,并可基于相应的找到的用于该特定数据的功率信息来控制处理器或子处理器的功率模式,并且还可将请求的特定数据提供给发出请求的处理器以基于该被控制的功率模式对该特定数据进行处理。
图4示出根据一个或更多个实施例的产生基于数据的功率信息的方法。
例如,图4示出用于产生包括功率信息代码和执行代码的二进制文件的系统和处理400。通常,编译器可将源代码变为目标代码,并且链接器可产生与目标代码的目标相应的二进制文件或代码。
根据一个或更多个实施例,编译器420例如可基于编译器产生的目标文件430来产生执行代码,并基于包括在与源文件410相应的源代码中的功率管理指示符来产生包括功率信息450的功率信息代码。
在这个示例中,链接器440可产生包括所产生的功率信息代码和所产生的执行代码的生成的二进制文件460(例如,二进制代码)。例如,链接器440可在针对目标文件430的执行代码产生二进制文件460的同时还通过链接来将从功率信息450得到的功率信息代码合并到二进制文件460中。链接器440可在针对执行代码产生二进制文件460的同时可选地合并数据代码,例如至少合并功率信息450的数据。所述数据代码可最终提供给图1的示例处理设备100,并且还可包括处理器或子处理器可请求处理操作的不同数据。另外,虽然已讨论了执行代码,但是可由链接器440将从合并目标文件的部分而得到的可选的代码或信息与功率信息代码或数据代码进行链接。根据实施例,图1的示例处理设备100可使用示例功率信息代码或数据代码来确定是否针对由处理器或子处理器请求的特定数据存在功率信息,并将找到的功率信息提供给图1的示例功率控制器130以控制处理设备的一个或更多个处理器或子处理器的功率模式。
在一个或更多个实施例中,图1的处理设备100还可用识别的源文件410、编译器420、功率信息450、目标文件430、链接器440和二进制文件460来实现图4的处理,使得图1的处理器140可执行来自二进制文件460的执行代码,并且例如包括在存储器控制器120中的功率信息管理器可基于在来自二进制文件460的功率信息代码中表示的功率信息集中包括的功率信息和地址来确定针对特定数据是否存在功率信息。
图5示出根据一个或更多个实施例的功率信息集500。
参照图5,功率信息集500可表示包括在功率信息代码中的示例信息,其中,例如,当二进制文件被产生时,可由链接器将功率信息代码与执行代码进行链接。包括在功率信息代码中的此示例信息将在下文中被称为功率信息集。功率信息集500可包括多个功率信息元组(tuple),即,包括信息的多个被排序的列表。例如,功率信息集500的地址列可表示处理器可请求并且存在功率信息的不同数据的各个初始虚拟地址。信息集500的地址可以是被分配给二进制文件的虚拟地址空间中的地址。在一个或更多个实施例中,可存在用于任意特定二进制文件的特定功率信息集。例如,用于第一应用的二进制文件可包括与第一功率信息集相应的功率信息代码,用于第二应用的二进制文件可包括与第二功率信息集相应的功率信息代码。如图5中所示,各个功率信息集500可包括存在功率信息的相应数据的虚拟地址、用于相应数据的长度信息、用于相应数据的各个功率模式、以及用于基于相应数据的功率管理的各个权重。
例如,根据一个或更多个实施例,处理设备可在特定程序或执行代码或文件时访问功率信息代码,并得到与图5的功率信息集500相应的表(例如,功率信息表)。仅作为示例,关于图1的处理设备100的功率信息管理器可产生这种示例功率信息表,所述功率信息表包括与在功率信息集500中识别的各个虚拟地址到物理地址的潜在转换相应的用于各个数据的存储器110的各个初始物理地址、以及各个数据在存储器110中的长度。产生的功率信息表还可包括与在功率信息集500中识别的功率模式和权重相应的各个功率模式和/或权重。因此,对于一个或更多个实施例,图5可被解释为示出了用于功率信息集或这种功率信息表的信息组织(或包涵体),请注意,在此示例中,功率信息集可被表示在功率信息代码并且功率信息表可被表示在处理设备(诸如图1的处理设备100)的例如功率信息管理器的存储器中。在一个或更多个实施例中,在由处理器或子处理器对数据进行处理的期间,示例功率信息管理器可验证由处理器请求的存储器地址是否在存储在存储器110中的请求的数据的相应的物理地址范围内。在这种示例中,在产生的功率信息表中的物理地址的识别的范围可被称为“功率区域”。因此,处理设备可将处理器请求的数据的地址与已知的功率区域进行比较,并能够快速地确定是否针对请求的数据存在功率信息。
在图4的以上示例中,功率信息450可用于基于在示例源代码中存在的功率管理指示符来得到功率信息集(诸如功率信息集500)。正如以上还指出,可从除源代码之外的可选源来得到可用于得到功率信息集的这种功率信息450。包括在产生的与由功率信息代码表示的功率信息集500相应的功率信息表中的信息还可由处理设备的用户来规定,例如除了从功率信息集500接收的信息之外,或者在处理设备的运行时(runtime)期间(相应程序或执行代码被执行时)被重构。产生的功率信息表的权重也可在处理设备的运行时期间被确定或修改,以反映正在使用相应数据的处理器的操作的特性。
另外,如以上所述,在一个或更多个实施例中,数据代码可通过处理400被产生,并可由链接器440包括在二进制文件460中。例如,来自于例如与图5的表示类似的功率信息集的功率信息450的这种信息可被选择性地包括在产生的数据代码中,其中,当产生二进制文件460时将所述数据代码与示例执行代码或文件进行链接。因此,图1的数据处理设备100例如可使用此数据代码来产生存储器110的数据部分,以存储可由处理器请求的不同数据。这种存储器110还可存储包括执行代码的相应的执行文件。在一个或更多个实施例中,针对包括功率信息的特定数据,数据处理设备100可首先分析存储器110的数据代码或数据部分,在这种情况下,处理设备100的示例功率信息管理器可产生功率信息表。当存储器110的数据部分被分析,并且包括功率信息的特定数据被找到时,在存储器110的数据部分中的包括功率信息的特定数据地址和示例长度可被存储在功率信息表中。因此,在此示例中,当对于处理器140,功率信息管理器确定已针对特定数据发出请求时,功率信息管理器可将包括在所述请求中的地址与包括在功率信息表中的各个地址区域进行比较,并可立即获知所述特定数据是否存储在具有所述特定数据的存储器110的数据部分中。
可选地,当处理设备100接收到由处理器或子处理器针对特定数据的请求时,可由图1的存储器控制器120读取存储器110的数据部分的相应部分来提取请求的特定数据,并且在此处理中,如果用于特定数据的相应的功率信息也由存储器控制器120读取,则因为相应的功率信息可与特定数据一起存储,所以可将所读取的功率信息提供给功率信息管理器来将所述功率信息提供给图1的功率控制器130,以管理请求特定数据的处理器或子处理器的功率模式,功率信息管理器可产生或更新类似于图5的功率信息集的示例功率信息表,并且存储器控制器120可将请求的特定数据提供给进行请求的处理器或子处理器。随后,在此示例中,当任何处理器或子处理器例如针对存储在存储器110的数据部分中的特定数据将地址提供给存储器控制器120时,功率信息管理器可仅需要将提供的地址与在功率信息表中识别的已知包括功率信息的地址进行比较,并且可能够使用产生的功率信息表来将相应的功率信息立即提供给功率控制器130,而不是必须等待存储器控制器120从存储器110的数据部分读取这种功率信息。
图6示出根据一个或更多个实施例的处理设备600。
参照图6,处理设备600可验证由处理器610请求的存储器630中的特定数据相应的功率信息是否存在。
当确定与存储器630中的特定数据相应的功率信息存在时,存储器控制器620可将确定的功率信息提供给功率控制器640。因此,功率控制器640可基于提供的功率信息来控制处理器610的功率模式。这里,存储器控制器620可执行地址转换等(例如,由处理器610请求的用于识别用于底层的请求数据的存储器630中的物理地址的地址的地址转换,和/或在包括在例如与图5的功率信息集500相应的二进制文件中的以上示例功率信息代码中识别的虚拟地址的地址转换),并且功率控制器640可基于预定规则(包括基于这种提供的功率信息)来调整处理器610的功率模式。
可改变在处理设备600中的存储器控制器620或功率控制器640的数量或配置。仅作为示例,可根据存储器630相对于处理设备600的类型和位置来改变存储器控制器620相对于处理设备600的位置和配置。
图7示出根据一个或更多个实施例的加载基于数据的功率信息的方法。
参照图7,应用程序二进制文件可包括包含功率信息的功率信息代码和/或数据代码、以及用于相应应用的执行代码。在基于数据的功率管理方法中,在操作701中,可从二进制文件分离出或提取出执行代码和功率信息代码(或数据代码)。
在操作702中,可针对执行代码执行典型的加载处理。当用于程序的存储器的存储器部分的物理地址被确定为例如执行加载处理的结果时,在操作703中,可更新或转换任何已知的或被确定的与功率信息相应的虚拟地址。
在操作704中,例如当存储器控制器包括示例功率信息管理器时,可将功率信息加载到存储器控制器。这里,加载的功率信息可仅包括存在功率信息的特定数据的地址信息,或者可包括随后可被提供给功率控制器以控制处理器的功率模式的地址信息和功率信息。仅作为示例,如上文所述,此地址信息和功率信息可包括在功率信息表中。例如,地址信息可包括特定数据的初始地址和特定数据的长度。
因此,这种地址信息可用于验证针对由处理器请求的特定数据,是否存在相应的功率信息。尽管存储器控制器可执行功率信息的验证和加载,但是另一装置可执行这种处理。例如,功率控制器可执行图7的所有处理。
根据一个或更多个实施例,例如,图1的处理设备100还可包括二进制文件处理器和存储器加载器。
在一个或更多个实施例中,示例二进制文件处理器可获得二进制文件,并从二进制文件提取执行代码和功率信息代码,其中,功率信息代码包括用于例如当执行所述执行代码时处理器或子处理器可请求的不同数据的各个功率信息。另外,执行代码可包括命令代码。
存储器加载器可将所提取的执行代码加载到存储器,并且在一个或更多个实施例中,包括在图1的存储器控制器120中的功率信息管理器例如可基于提取的功率信息代码并潜在地基于执行代码的加载结果(例如,基于加载的执行代码的物理地址和/或可由处理器140基于执行代码处理的相应的加载数据)来更新或产生功率信息表。
图8示出根据一个或更多个实施例的用于基于数据管理功率的功率控制器的操作方法。
参照图8,在根据一个或更多个实施例的基于数据的功率管理方法中,存储器可存储并维护数据,其中,已针对所述数据对功率管理的类型进行了分类。
在基于数据的功率管理方法中,处理器可对不同数据进行处理,使得存储器控制器可从处理器接收对于特定数据的请求,响应于接收到的请求从存储器读取所述特定数据,并将读取的特定数据提供给处理器。
另外,功率控制器可基于确定的与请求的特定数据相应的功率信息,来控制处理器的功率模式。
具体地讲,由处理器发出的用于处理特定数据的请求可以是包括特定存储器地址的对于在特定存储器地址处的特定数据的请求。
存储器控制器可验证请求的存储器地址是否与包括功率信息的数据相应。在此示例中,可将用于存在功率信息的每个特定数据的地址范围称为“功率区域”。当确定了请求的存储器地址在这样的功率区域内时,可将关于请求的数据的相应的功率信息传送到功率控制器,并且在操作801中,功率控制器可收集从存储器控制器传送的功率信息。
在操作802中,功率控制器可基于从存储器控制器传送的功率信息来确定针对请求的数据的处理器的适当功率模式。功率控制器可使用各种方案来确定功率模式。例如,功率控制器可例如基于相应的功率信息和确定的内部规则来确定针对请求的数据的处理器的适当功率模式。
在该示例中,功率控制器可通过应用在从存储器控制器传送的相应的功率信息中指示的功率模式,来确定适当的功率模式。另外,功率控制器可基于分析(profile)已经/先前由功率控制器控制的处理器的现有功率模式的结果,来确定适当的功率模式。
在一个或更多个实施例中,功率控制器可以不在每次交替地将若干条不同的功率信息从存储器控制器传送到功率控制器的情况下,就更新处理器的功率模式。在此示例中,功率控制器可通过获得表示被传送的不同功率信息的各个值的平均值,来确定适当功率模式。
这里,仅作为示例,功率控制器可基于执行代码的编码的当前或先前处理执行计算操作,以通过应用相应功率信息权重(诸如在图5中示出的功率信息权重和/或可选权重因子)来确定适当功率模式。因此,还可在处理器的的处理操作期间确定功率信息权重。例如,当数据在执行代码的重复语句中被使用时,功率控制器可分配相对高的权重,其中,处理器请求的数据通过权重来影响用于处理器的适当功率模式的确定。
在操作803中,功率控制器可基于确定的适当功率模式来确定是否将改变处理器的功率模式。
当确定可改变处理器的功率模式时,在操作804中,功率控制器可执行选择性地改变处理器的功率模式的过程。当确定不必要改变处理器的功率模式时,功率控制器可终止功率管理。
尽管功率模式未被改变,但是可由功控制器单独地管理或存储传送到功率控制器的功率信息以便例如进行未来分析。在一个或更多个实施例中,功率控制器可从-若干个存储器控制器接收多个功率信息输入或从单个存储器控制器接收多个功率信息输入,并基于所述多个功率信息输入的检查和基于先前的功率信息输入的这种潜在的分析,来确定用于处理器的适当功率模式。
在一个或更多个实施例中,图1的功率控制器130可包括功率模式确定器和功率模式控制器。
功率模式确定器可例如基于传送的功率信息,来确定图1的处理器140的适当功率模式。在此示例中,功率模式确定器可基于确定的适当功率模式从用于处理器140的可用功率模式中选择单一功率模式。
在此示例中,功率模式控制器可将处理器140的当前功率模式与所确定的适当功率模式进行比较,从而确定是否将改变处理器140的功率模式。
例如,当处理器140的当前功率模式与所确定的适当功率模式相同时,功率模式控制器可不产生单独的控制信号来改变处理器140的功率模式。相反,当处理器140的当前功率模式不同于所确定的适当功率模式时,功率模式控制器可产生用于改变处理器140的功率模式的控制信号。
图9示出根据一个或更多个实施例的用于基于数据管理功率的存储器控制器的操作方法。
参照图9,在操作901中,存储器控制器可从访问请求信号收集表示由处理器请求的特定数据的存储器地址。
在操作902中,存储器控制器可验证收集到的存储器地址是否在功率区域内,其中,功率区域表示已知存在功率信息的不同数据的地址或地址范围以选择存储在存储器中的不同数据。当收集到的存储器地址在功率区域内时,在操作903中,存储器控制器可将与请求的特定数据相应的功率信息发送到功率控制器。
另外,在操作904中,存储器控制器可使用收集到的存储器地址将来自于存储器的请求的特定数据发送到处理器。例如,存储器控制器可执行将与收集到的地址相应的请求的特定数据从存储器传送到处理器的操作,以对请求的特定数据进行处理。
如果验证了收集到的存储器地址在功率区域之外,则在操作904中,存储器控制器可仅将请求的特定数据从存储器传送到处理器。
例如,在一个或更多个实施例中,当收集到的存储器地址与一个或更多个各个功率区域内的数据不相应时,收集到的存储器地址可表示由处理器请求的和被提供给处理器的常规形式的存储数据,其中,针对所述存储数据不存在功率信息。因此,存储器控制器可执行将与收集到的地址相应的请求的特定数据从存储器传送到处理器的操作。
存储器控制器可执行转换收集到的地址的操作。在一个或更多个实施例中,处理器可包括被配置为将虚拟地址转换为存储器的物理地址的模块。在转换处理中,可另外使用功率区域检测逻辑在没有执行开销的情况下执行功率管理。具体地讲,存储器控制器可包括并行硬件组件,以使得存储器控制器可与潜在的相应功率管理并行地执行转换从一个或更多个处理器收集到的地址的操作,从而在没有执行开销的情况下执行功率管理。
存在功率信息的不同数据的地址的信息(例如,各个功率区域的信息)可被存储为存储器的单元或存储器的各个单元,由存储器控制器维持例如高速缓存行的单元、页和存储器地址(诸如,用于每个特定数据(存在功率信息)的初始地址)的最小单元。如上所述,相应功率信息管理器可可选地包括在功率控制器中,以使得存储器的这种示例单元可由功率控制器来维持。当适用于由处理器请求的存储器地址的映射和管理在现实中是可能的时,可使用任何单元。
在以上示例中,例如,功率信息管理器可被包括在图1的存储器控制器120中,并且可包括地址获得器、功率信息验证器和功率信息提供器。
地址获得器可从图1的处理器140获得/收集在访问请求信号中包括的存储器地址。功率信息验证器可诸如通过查看前述产生的功率信息表,来验证针对存储的与被请求访问的存储器地址相应的数据是否存在功率信息,其中,所述功率信息表可表示与图5的功率信息集500类似的功率信息。
当确定存在与被请求访问的存储器地址相应的功率信息时,功率信息提供器可将功率信息提供给图1的功率控制器130。
一个更多个示例实施例可包括用于基于数据管理功率的设备和方法,其中,所述设备和方法可在硬件级执行以数据为中心的功率管理。
处理器的功率管理可基于与由处理器处理的特定数据相应的功率信息。因此,在一个或更多个实施例中,当用户例如在将功率信息代码(或数据代码)与用于底层应用的执行代码链接的阶段和/或在处理设备接收到用于特定数据的功率信息的编码信息和执行代码之后的阶段规定功率信息时,所有处理器都可针对所述特定数据自动地执行功率管理。
因此,一个或更多个实施例还可包括用于基于数据管理一个或更多个处理器的功率的设备和方法,所述设备和方法可通过指定与特定数据相应的应该被实现的功率管理的类型来实现功率管理,从而与通过执行代码管理所有处理器的功率的常规的以代码为中心的技术相比,提高了用户的便利性。
一个或更多个实施例还可包括用于基于数据来管理功率使用的设备和方法,与用户必须针对每个处理器直接管理功率管理的典型情况的粗糙的功率管理相比,所述设备和方法可使得能够进行精细的功率管理。因为可针对单独的数据来设置功率管理,因此精细的功率管理可以是可用的。
根据实施例,在此描述的设备、系统和单元可分别包括一个或更多个硬件装置或硬件处理元件。例如,在一个或更多个实施例中,任何描述的设备、系统和单元还可包括一个或更多个合适的存储器、和任何期望的硬件输入/输出发送装置。另外,术语设备应被认为等同于物理系统的元件,而不限于所有实施例中的单个装置或封装设备或在单个各个封装设备中实现的所有描述的元件,而是根据实施例,是开放以通过不同硬件元件在不同的封装设备中和/或位置处共同或单独实现。
除了以上描述的实施例,还可用至少一个处理装置(诸如处理器或计算机)来实现实施例。除了以上描述的实施例,还可通过在非暂时性介质(例如,计算机可读介质)中/上的计算机可读代码/指令来实现实施例,以控制至少一个处理装置(诸如处理器或计算机),从而实现任何以上所述实施例。所述介质可与允许对计算机可读代码的存储和/或发送的任何定义的、可测量的和有形的结构相应。
所述介质还可例如与计算机可读代码组合地包括数据文件、数据结构等。计算机可读介质的一个或更多个实施例包括:磁性介质(诸如硬盘、软盘和磁带)、光学介质(诸如CD ROM盘和DVD)、磁光介质(诸如光盘)以及被专门配置为存储并执行程序指令的硬件装置(诸如只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。例如,计算机可读代码可包括诸如由编译器生成的机器代码和包含可由计算机使用解释器执行的更高级代码的文件两者。所述介质还可以是任何定义的、可测量的和有形分布的网络,使得计算机可读代码以分布式方式被存储和执行。另外,仅作为示例,处理元件可包括处理器或计算机处理器,并且处理元件可分布和/或包括在单个装置中。处理元件可以是专门设计的用于实现描述于此的一个或更多个实施例的计算装置。
仅作为示例,计算机可读介质还可实现在执行(或像处理器一样处理)程序指令的至少一个专用集成电路(ASIC)或现场可编程门阵列(FPGA)中。
虽然已参照本发明的不同实施例具体示出并描述的本发明的多个方面,但是应理解,这些实施例应被考虑为描述的意义,而不用于限制的目的。在每个实施例中的特征或方面的描述通常应认为可用于其余实施例中的其他类似特征或方面。如果按不同顺序执行所描述的技术,和/或如果按不同方式组合所描述的系统、架构、装置或电路中的组件、和/或用其他组件或其等同物来取代或补充这些组件,则同样可实现合适的结果。
因此,虽然已经示出并描述了一些实施例,并且另外的实施例同样是可用的,但是本领域的技术人员应理解,在不脱离由本发明的原理和精神的情况下,可在这些实施例中做出变化,其中,本发明的范围在权利要求及其等同物限定。

Claims (43)

1.一种处理设备,包括:
处理器;
功率信息管理器,响应于请求向处理器提供特定数据的访问请求,确定是否存在与所述特定数据相应的预定义的功率信息,所述功率信息指示当处理器处理所述特定数据时对于处理器建议的功率模式;
功率控制器,当确定指示预定义的功率信息存在时,基于预定义的功率信息选择性地控制当处理器处理所述特定数据时处理器的当前功率模式。
2.如权利要求1所述的设备,其中,预定义的功率信息指示当处理器处理数据时对于处理器建议的多个功率模式中的一个,其中,所述建议的多个功率模式至少包括低功率模式、高功率模式和介于低功率模式和高功率模式之间的功率模式。
3.如权利要求2所述的设备,其中,功率信息管理器确定预定义的功率信息是否存在于产生的功率信息表中,其中,产生的功率信息表分别包括不同特定数据的地址信息和相应的预定义的功率信息。
4.如权利要求3所述的设备,其中,功率信息管理器通过分析与执行代码关联的功率信息代码来产生功率信息表,其中,所述执行代码将关于处理特定数据的执行指令提供给处理器。
5.如权利要求4所述的设备,其中,由编译系统的链接器对功率信息代码与执行代码进行链接以产生二进制文件,其中,编译系统的编译器从源代码提取包括在功率信息代码中的分别在源代码中针对数据识别的功率信息,与从源代码的编译中产生执行代码的过程区分开来。
6.如权利要求5所述的设备,其中,对于存在功率信息的编译器识别的每个数据,功率信息代码包括用于编译器识别的每个数据的地址信息和编译器识别的每个数据的功率模式信息,并且产生的功率信息表包括提取的编译器识别的每个数据的地址信息和提取的编译器识别的每个数据的功率模式信息。
7.如权利要求4所述的设备,其中,通过将包括在访问请求中的数据地址与在产生的功率信息表中表示的多个地址的不同确定范围进行比较,确定包括在访问请求中的数据地址是否落在地址的不同确定范围中的任何一个确定范围内,功率信息管理器确定预定义的功率信息是否存在于产生的功率信息表中,并且如果存在于产生的功率信息表中,则针对包括在访问请求中的数据地址落在其中的找到的地址的确定范围,定位在产生的功率信息表中识别的相应功率信息,
其中,地址的不同确定范围中的每一个表示存储在存储器中的处理器被设置当执行执行代码时处理的不同数据。
8.如权利要求2所述的设备,其中,功率信息管理器确定预定义的功率信息是否存在于产生的功率信息表中,其中,所述功率信息表至少包括存储在存储器中的多个数据中的存在功率信息的选择的数据的地址信息,
其中,存储在存储器中的多个数据是用于由处理器当运行执行代码时处理的数据集。
9.如权利要求8所述的设备,其中,通过将包括在访问请求中的数据地址与在产生的功率信息表中表示的地址的多个不同确定范围进行比较,确定包括在访问请求中的数据地址是否落在地址的不同确定范围中的任何一个范围内,功率信息管理器确定预定义的功率信息是否存在,并且如果确定预定义的功率信息存在,则针对包括在访问请求中的数据地址落入其中的找到的地址的确定范围,定位相应的功率信息,
其中,地址的不同确定范围中的每一个表示存储在存储器中的处理器被设置当运行执行代码时处理的不同数据。
10.如权利要求8所述的设备,还包括:存储器管理器,用于执行读取操作以基于包括在访问请求中的数据地址从存储器读取特定数据,
其中,当在读取操作中读取与所述特定数据相应的功率信息时,功率信息管理器产生或添加功率信息表以将所述特定数据的地址信息包括在功率信息表中。
11.如权利要求10所述的设备,其中,在产生或添加功率信息表的步骤中,功率信息管理器将读取的与所述特定数据相应的功率信息包括在功率信息表中。
12.如权利要求1所述是设备,还包括:存储器,存储处理器被设置当执行执行代码时处理的不同数据,其中,所述不同数据包括所述特定数据。
13.如权利要求12所述的设备,其中,功率信息管理器包括:
地址获得器,获得包括在对存储器中的特定数据的访问请求中的存储器地址;
功率信息验证器,基于对获得的存储器地址和功率信息表中的多个地址信息的比较来确定预定义的功率信息是否存在,其中,功率信息表中的所述多个地址信息中的每一个表示用于存储在存储器中的不同数据中的存在相应的预定义的功率信息的数据的地址信息;
功率信息提供器,当功率信息验证器确定预定义的功率信息存在时,将预定义的功率信息提供给功率控制器。
14.如权利要求13所述的设备,其中,功率信息表包括多个功率信息元组,
其中,所述多个功率信息元组中的每一个包括以下项中的至少一个:
存在功率信息的各个存储的数据在存储器中的初始地址;
所述各个存储的数据的长度;
当处理器处理所述各个存储的数据时用于处理器的与所述各个存储的数据相应的建议功率模式的指示。
15.如权利要求14所述的设备,其中,
所述多个功率信息元组中的每一个还包括与所述各个存储的数据相应的建议的功率模式的各个权重,
并且当处理器处理所述各个存储的数据时,功率控制器使用所述各个权重来控制处理器根据确定的适当功率模式进行操作。
16.如权利要求15所述设备,其中,功率控制器与功率信息表分开地存储处理器的前一功率模式和/或用于处理器的前一确定的适当功率模式的功率信息,并基于存储的前一功率模式的功率信息、前一确定的适当功率模式的功率信息和与当前各个存储的数据相应的当前各个权重中的至少两个,来确定用于处理器的当前适当功率模式,以在处理器处理当前各个存储的数据时被实现。
17.如权利要求12所述的设备,其中,功率控制器包括:
功率模式确定器,基于预定义的功率信息来确定用于处理器的适当功率模式,以在处理器处理特定数据时实现;
功率模式控制器,控制处理器的当前功率模式为适当功率模式。
18.如权利要求12所述的设备,还包括:
二进制文件处理器,获得二进制文件并从二进制文件提取执行代码和功率信息代码;
存储器加载器,将执行代码加载到存储器,
其中,功率信息管理器基于功率信息代码产生或更新功率信息表,并且,
其中,对于存储在存储器中的不同数据中的选择数据中的每个,功率信息代码被配置为包括用于识别不同数据中的所述选择数据的信息、和当处理器处理所述选择数据时实现的用于处理器的相应的建议的功率模式。
19.如权利要求18所述的设备,其中,功率信息管理器基于功率信息代码和将执行代码加载到存储器的结果来产生或更新功率信息表。
20.如权利要求19所述的设备,其中,功率信息表基于功率信息代码中作为选择数据的虚拟地址的用于识别选择数据的信息和包括作为存储器的物理地址的用于识别来自存储在存储器中的不同数据的选择数据的相应信息的功率信息表被产生或更新。
21.如权利要求18所述的设备,其中,由编译系统的编译器和链接器来产生二进制文件,其中,链接器将执行代码和功率信息代码进行链接来产生二进制文件,使得功率信息代码是基于由编译器使用包括在源代码中的识别源代码中的特定各个数据的功率模式指示符从源代码中提取的功率信息,与由编译器对源代码的编译而产生执行代码的过程区分开来。
22.一种处理设备,包括:
多个处理器;
功率信息管理器,响应于请求向所述多个处理器中的选择的处理器提供特定数据的访问请求,确定是否存在与所述特定数据相应的预定义的功率信息,所述功率信息指示当选择的处理器执行所述特定数据时对于所述多个处理器中的任何一个处理器建议的功率模式;
功率控制器,当确定指示预定义的功率信息存在时,基于预定义的功率信息选择性地控制当选择的处理器处理所述特定数据时的选择的处理器的当前功率模式。
23.如权利要求22所述的设备,还包括:存储器,存储所述多个处理器被设置当执行执行代码时处理的不同数据,其中,所述不同数据包括所述特定数据。
24.如权利要求22所述的设备,其中,响应于请求将特定数据提供给其他处理器的访问请求,功率信息管理器将预定义的功率信息提供给功率控制器以在选择的处理器处理特定数据时控制选择的处理器的当前功率模式,并将预定义的功率信息提供给功率控制器以控制所述多个处理器中的至少另一个处理器的功率模式,使得对于特定数据,预定义的功率信息被提供给功率控制器,而不考虑所述多个处理器中的哪个处理器请求所述特定数据。
25.如权利要求22所述的设备,其中,当所述多个处理器中的第一处理器和第二处理器请求分别存在相应的相同功率信息的各个数据时,功率控制器基于所述相同功率信息来不同地控制第一处理器的功率模式和第二处理器的功率模式。
26.一种用于基于数据来管理功率的设备,所述设备包括:
处理器;
存储器控制器,响应于请求将特定数据提供给处理器的访问请求,从包括不同数据的存储器读取包括特定数据并来自用于在执行处理期间通过处理器进行选择性处理的不同数据集的选择数据,并将读取的特定数据提供给处理器;
功率控制器,根据对功率信息被包括在读取的选择数据的确定,基于包括在读取的选择数据中的功率信息来控制处理器的当前功率模式,其中,功率信息包括当处理器处理所述特定数据时对于处理器建议的功率模式。
27.如权利要求26所述的设备,还包括:存储器,存储不同数据,其中,所述不同数据包括存在用于控制处理器的各个功率模式的各个功率信息的数据以及不存在用于控制处理器的各个功率模式的各个功率信息的数据。
28.如权利要求26所述的设备,其中,包括在具有特定数据的读取的选择数据中的功率信息不同于包括在包含另一特定数据的另一读取的选择数据中的另一功率信息,使得其他功率信息包括当处理器处理其他特定数据时对于处理器建议的不同的功率模式。
29.如权利要求26所述的设备,其中,当确定指示功率信息被包括在读取的选择数据中时,存储器控制器将功率信息提供给功率控制器,以在处理器处理特定数据时控制用于处理器的当前功率模式。
30.一种处理方法,包括:
响应于请求将特定数据提供给处理器的访问请求,确定是否存在与所述特定数据相应的预定义的功率信息,所述功率信息指示当处理器执行所述特定数据时对于处理器建议的功率模式;
控制处理器使用多个功率模式选择性地进行操作,其中,所述控制的步骤包括:当确定指示预定义的功率信息存在时,基于预定义的功率信息控制处理器的当前功率模式。
31.如权利要求30所述的方法,还包括:检测对于特定数据的访问请求。
32.如权利要求31所述的方法,其中,所述访问请求是从用于在执行处理期间由处理器进行选择性处理的不同数据集请求提供来自存储器的特定数据。
33.如权利要求32所述的方法,其中,检测访问请求的步骤包括获得包括在检测到的访问请求中的存储器地址,并且确定与特定数据相应的预定义的功率信息是否存在是基于获得到的存储器地址和功率信息表的比较,
其中,获得的存储器地址与特定数据在存储器中的地址相应。
34.如权利要求33所述的方法,其中,当基于所述比较确定与特定数据相应的预定义的功率信息是否存在时,从功率信息表获得与特定数据相应的预定义的功率信息。
35.如权利要求33所述的方法,其中,功率信息表包括多个功率信息元组,
其中,所述多个功率信息元组中的每一个包括以下项中的至少一个:
存在功率信息的各个存储的数据在存储器中的初始地址;
所述各个存储的数据的长度;
当处理器处理所述各个存储的数据时与所述各个存储的数据相应的对于处理器建议的功率模式的指示。
36.如权利要求35所述的方法,其中,
所述多个功率信息元组中的每一个还包括与所述各个存储的数据相应的建议的功率模式的各个权重,
并且控制处理器的当前功率模式的步骤包括:当处理器处理所述各个存储的数据时,基于所述各个权重来控制处理器根据确定的适当功率模式进行操作。
37.如权利要求36所述的方法,还包括:
与功率信息表分开地存储处理器的前一功率模式和/或用于处理器的前一确定的适当功率模式的功率信息;
基于存储的前一功率模式的功率信息、前一确定的适当功率模式的功率信息和与当前各个存储的数据相应的当前各个权重中的至少两个,来确定用于处理器的当前适当功率模式,以在处理器处理当前各个存储的数据时被实现。
38.如权利要求32所述的方法,其中,控制处理器的当前功率模式的步骤包括:
基于预定义的功率信息来确定处理器的功率模式是否将被改变,以在处理器处理特定数据时实现;
基于指示处理器的功率模式将被改变的用于确定处理器的功率模式是否将被改变的结果来促使处理器的功率模式改变。
39.如权利要求32所述的方法,还包括:
获得二进制文件,并从二进制文件提取执行代码和功率信息代码;
将执行代码加载到存储器;
基于功率信息代码产生或更新功率信息表,
其中,对于存储在存储器中的不同数据中的选择数据中的每个,功率信息代码被配置为包括用于从不同数据识别所述选择数据的信息、和当处理器处理所述选择数据时实现的用于处理器的相应的建议的功率模式。
40.如权利要求39所述的方法,其中,产生或更新功率信息表是基于功率信息代码和将执行代码加载到存储器的结果。
41.如权利要求40所述的方法,其中,功率信息表基于功率信息代码中作为选择数据的虚拟地址的用于识别选择数据的信息以及包括作为存储器的物理地址的用于识别来自存储在存储器中的不同数据的选择数据的相应信息的功率信息表被产生或更新。
42.如权利要求39所述的方法,其中,由编译系统的编译器和链接器来产生二进制文件,其中,链接器将执行代码和功率信息代码进行链接来产生二进制文件,使得功率信息代码是基于由编译器使用包括在源代码中的识别源代码中的特定各个数据的功率模式指示符从源代码中提取的功率信息,与由编译器对源代码的编译而产生执行代码的过程区分开来。
43.一种包括用于控制至少一个处理装置实现如权利要求30所述的方法的计算机可读代码的非暂时性计算机可读介质。
CN201410204030.4A 2013-05-14 2014-05-14 基于数据管理功率的设备和方法 Active CN104156051B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2013-0054522 2013-05-14
KR1020130054522A KR102063716B1 (ko) 2013-05-14 2013-05-14 데이터를 기반으로 전력을 관리하는 프로세싱 장치 및 그 장치를 이용한 방법

Publications (2)

Publication Number Publication Date
CN104156051A true CN104156051A (zh) 2014-11-19
CN104156051B CN104156051B (zh) 2019-09-06

Family

ID=50979504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410204030.4A Active CN104156051B (zh) 2013-05-14 2014-05-14 基于数据管理功率的设备和方法

Country Status (5)

Country Link
US (1) US9870042B2 (zh)
EP (1) EP2804099B1 (zh)
JP (1) JP6457200B2 (zh)
KR (1) KR102063716B1 (zh)
CN (1) CN104156051B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108027636A (zh) * 2015-09-16 2018-05-11 高通股份有限公司 管理降电模式

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323304B2 (en) * 2013-12-18 2016-04-26 NXGN Data, Inc. Dynamic self-correcting power management for solid state drive
US9519323B2 (en) * 2014-09-30 2016-12-13 Dell Products L.P. Systems and methods for power and thermal support of information handling resources
JP6130949B1 (ja) * 2016-03-17 2017-05-17 株式会社東芝 メモリシステムおよびプロセッサシステム
CN113900680A (zh) * 2020-07-06 2022-01-07 中国移动通信集团重庆有限公司 代码管理方法、装置及计算设备
JP2022027240A (ja) * 2020-07-31 2022-02-10 ソニーセミコンダクタソリューションズ株式会社 情報処理装置および情報処理方法
US12131163B2 (en) * 2021-04-30 2024-10-29 Oracle International Corporation Processor supporting self-relative addressing modes
JP2023076063A (ja) 2021-11-22 2023-06-01 富士通株式会社 制御プログラム、情報処理装置および制御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001039167A1 (en) * 1999-11-25 2001-05-31 Telefonaktiebolaget Lm Ericsson (Publ) Display system
US20030182589A1 (en) * 2002-01-30 2003-09-25 Takenobu Tani Instruction conversion apparatus and instruction conversion method providing power control information, program and circuit for implementing the instruction conversion, and microprocessor for executing the converted instruction
CN102999155A (zh) * 2011-09-09 2013-03-27 联想(北京)有限公司 电子终端、触摸控制方法和显示屏背光控制方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557557A (en) * 1994-10-04 1996-09-17 Texas Instruments Incorporated Processor power profiler
JP3520611B2 (ja) * 1995-07-06 2004-04-19 株式会社日立製作所 プロセッサの制御方法
US6219796B1 (en) 1997-12-23 2001-04-17 Texas Instruments Incorporated Power reduction for processors by software control of functional units
JP2001184208A (ja) 1999-12-27 2001-07-06 Matsushita Electric Ind Co Ltd 低電力マイクロプロセッサおよびプログラム低電力化方法
US6625740B1 (en) * 2000-01-13 2003-09-23 Cirrus Logic, Inc. Dynamically activating and deactivating selected circuit blocks of a data processing integrated circuit during execution of instructions according to power code bits appended to selected instructions
JP3877518B2 (ja) * 2000-12-13 2007-02-07 松下電器産業株式会社 プロセッサの電力制御装置
US6775787B2 (en) * 2002-01-02 2004-08-10 Intel Corporation Instruction scheduling based on power estimation
JP2003296123A (ja) 2002-01-30 2003-10-17 Matsushita Electric Ind Co Ltd 電力制御情報を付与する命令変換装置及び命令変換方法、命令変換を実現するプログラム及び回路、変換された命令を実行するマイクロプロセッサ
CN100407102C (zh) 2002-12-04 2008-07-30 Nxp股份有限公司 基于软件的微处理器功率损耗控制
JP2004318502A (ja) 2003-04-16 2004-11-11 Matsushita Electric Ind Co Ltd 電力制御機能を備えたマイクロプロセッサ及び命令変換装置
JP2008234270A (ja) * 2007-03-20 2008-10-02 Fujitsu Ltd 情報処理装置および情報処理装置の制御方法
JP5008138B2 (ja) * 2007-11-12 2012-08-22 株式会社リコー 情報処理装置、情報処理方法、プログラム及び記録媒体
US20100332877A1 (en) * 2009-06-30 2010-12-30 Yarch Mark A Method and apparatus for reducing power consumption
WO2012154611A1 (en) 2011-05-06 2012-11-15 Marvell World Trade Ltd. Memory on-demand, managing power in memory
KR101959252B1 (ko) 2012-07-16 2019-07-04 삼성전자주식회사 데이터를 기반으로 전력을 관리하는 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001039167A1 (en) * 1999-11-25 2001-05-31 Telefonaktiebolaget Lm Ericsson (Publ) Display system
US20030182589A1 (en) * 2002-01-30 2003-09-25 Takenobu Tani Instruction conversion apparatus and instruction conversion method providing power control information, program and circuit for implementing the instruction conversion, and microprocessor for executing the converted instruction
CN102999155A (zh) * 2011-09-09 2013-03-27 联想(北京)有限公司 电子终端、触摸控制方法和显示屏背光控制方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108027636A (zh) * 2015-09-16 2018-05-11 高通股份有限公司 管理降电模式
CN108027636B (zh) * 2015-09-16 2021-01-05 高通股份有限公司 电子装置和管理功率的方法

Also Published As

Publication number Publication date
US9870042B2 (en) 2018-01-16
KR102063716B1 (ko) 2020-02-11
EP2804099A1 (en) 2014-11-19
JP2014225263A (ja) 2014-12-04
EP2804099B1 (en) 2017-09-20
US20140344602A1 (en) 2014-11-20
CN104156051B (zh) 2019-09-06
KR20140134523A (ko) 2014-11-24
JP6457200B2 (ja) 2019-01-23

Similar Documents

Publication Publication Date Title
CN104156051A (zh) 基于数据管理功率的设备和方法
US11221834B2 (en) Method and system of intelligent iterative compiler optimizations based on static and dynamic feedback
CN106796522B (zh) 用于更新源代码文件的系统和方法
US11243816B2 (en) Program execution on heterogeneous platform
CN102193810B (zh) 模块间内联候选标识
JP6237278B2 (ja) コンパイルプログラム、コンパイル方法およびコンパイル装置
US20150277876A1 (en) Compiling device, compiling method, and storage medium storing compiler program
US10430191B2 (en) Methods and apparatus to compile instructions for a vector of instruction pointers processor architecture to enable speculative execution and avoid data corruption
CN105453031A (zh) 指令合并优化
CN102257478A (zh) 操作数据结构
US11782813B2 (en) Methods and apparatus to determine refined context for software bug detection and correction
US6301652B1 (en) Instruction cache alignment mechanism for branch targets based on predicted execution frequencies
JP2013206290A (ja) プログラム、コード生成方法および情報処理装置
Popov et al. Piecewise holistic autotuning of compiler and runtime parameters
Blackmore et al. A logic programming approach to predict effective compiler settings for embedded software
US9141357B2 (en) Computer-readable recording medium, compiling method, and information processing apparatus
US20220222177A1 (en) Systems, apparatus, articles of manufacture, and methods for improved data transfer for heterogeneous programs
JP7521597B2 (ja) オフロードサーバ、オフロード制御方法およびオフロードプログラム
Trouve et al. Guide automatic vectorization by means of machine learning: A case study of tensor contraction kernels
JP2019204348A (ja) 情報処理装置及びその制御方法、並びにプログラム
US20240330559A1 (en) Methods, apparatus, and articles of manufacture to group design stages in design space optimization of semiconductor design for tool agnostic design flows
US20240303125A1 (en) Method and system for creating operation call list for artificial intelligence calculation
Santos et al. A Flexible-Granularity Task Graph Representation and Its Generation from C Applications (WIP)
WO2024059732A1 (en) Methods and apparatus for executing rules
Zhao et al. Distributed Parallelizability Analysis and Optimization of Legacy Code in Cloud Migration

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