CN101573677B - 用于数据处理系统中的功率管理的方法和系统 - Google Patents
用于数据处理系统中的功率管理的方法和系统 Download PDFInfo
- Publication number
- CN101573677B CN101573677B CN200780049457.XA CN200780049457A CN101573677B CN 101573677 B CN101573677 B CN 101573677B CN 200780049457 A CN200780049457 A CN 200780049457A CN 101573677 B CN101573677 B CN 101573677B
- Authority
- CN
- China
- Prior art keywords
- subsystem
- time
- future
- action
- data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- 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/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- 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
-
- 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
Abstract
描述了用于管理数据处理系统中的能耗的方法和系统。在一个实施例中,一种数据处理系统包括通用处理单元、图形处理单元(GPU)、至少一个外围接口控制器、被耦合到通用处理单元的至少一条总线以及至少被耦合到通用处理单元和GPU的功率控制器。功率控制器被配置为响应于通用处理单元的指令队列的第一状态关断对通用处理单元的供电,并被配置为响应于GPU指令队列的第二状态关断对GPU的供电。第一状态和第二状态表示指令队列没有指令或者只有用于将来事件或动作的指令。
Description
背景技术
本发明的至少某些方面涉及数据处理系统以及对这些系统中的能耗(powerconsumption)的管理。这里描述的本发明的其它方面涉及用于数据处理系统中的计时(timekeeping)的方法和系统。
数据处理系统中的能耗管理通常包括用于减少数据处理系统中的组件的能耗的技术。数据处理系统可以是膝上型计算机或者其它便携式计算机,例如,手持通用计算机或蜂窝电话。由电池供电的便携式设备中的能耗管理尤其重要,这是因为更好的能耗管理常常使得在便携式设备由一个或多个电池供电时能够使用该便携式设备更长的一段时间。
传统系统通常利用定时器来指示子系统应当在不活动的一段时间之后的何时被关闭。例如,硬件驱动存储系统中的马达通常在硬件驱动系统的不活动的预定时段之后被关闭。类似地,显示系统的背光或其它光源可以响应于用户不活动超过预定时间段而被关闭。在这两种情况中,能耗管理技术都是基于定时器的使用的,该定时器确定不活动的时段何时超过所选持续时间。
图1示出了在现有技术中使用的用于管理数据处理系统的能耗的另一技术。在此技术中,数据处理系统在诸如图示10所示的操作点(operationpoint)12和14之类的至少两个不同操作点之间切换。每个操作点表示一对特定的操作电压和频率。因此,例如,操作点12通过使数据处理系统以相对于操作点14更低的电压和更低的操作频率而操作来消耗更少的功率。在操作点14的情况中,数据处理系统以更高的电压(V2)和更高的操作频率(F2)操作。
某些系统提供了这样的能力:如果不使用特定子系统,则完全关断供电(例如,将操作电压设置为V=0)。例如,某个片上系统(SOC)提供功率控(powergating)特性,如果特定子系统未被使用,则功率控特性允许将该特定子系统完全关闭。该方法未考虑到指令队列相对于可能在该指令队列中安排的事件之前被关闭的系统的状态。
发明内容
这里描述的本发明的至少某些实施例的一个方面涉及用于数据处理系统的功率管理。在一个实施例中,一种位于单片半导体衬底(其形成片上系统)上的数据处理系统包括:通用处理单元、图形处理单元(GPU)、至少一个外围接口控制器、至少一条总线(被耦合到通用处理单元、GPU以及至少一个外围接口控制器),以及功率控制器,功率控制器至少被耦合到通用处理单元和GPU。功率控制器可以被配置为响应于通用处理单元的指令队列的第一状态关断对通用处理单元的供电,并且功率控制器还可以被配置为响应于图形处理单元的指令队列的第二状态关断对图形处理单元的供电,其中,第一状态和第二状态表示指令队列没有指令或者只有用于将来事件或动作的指令。GPU可以在由GPU生成的图像被数据处理系统显示时使其自身的供电被关断。在某些实施例中,GPU可以在显示帧之间(例如,在相继、连续的显示刷新帧之间)被关断。
在某些实施例中,被开启和关闭的子系统可以包括微处理器(其是通用处理单元的一种形式)和GPU,和一个或多个外围接口控制器以及数据处理系统中的其它子系统。功率控制器可以从子系统完全移除电压(例如,将电压设为V=0)或者可以通过执行诸如改变由操作电压和操作频率指定的操作点之类的其它操作来减少供电。可以在诸如小于一秒或小于100毫秒(例如,小于10ms)之类的短的时间段中开启和关断到各个子系统的供电。可以仅基于子系统的指令队列的状态来触发根据这些实施例之一的由一个或多个子系统降低能耗;例如,指令队列为空(例如,不包含用于当前事件的用户指令)或只包含用于将来事件或动作的指令的可以是判定是否使对这些指令进行操作的子系统被置于降低的能耗状态的唯一因素。
在另一实施例中,一种数据处理系统包括处理单元、被耦合到处理单元的至少一条总线、被耦合到至少一条总线的至少一个子系统以及被耦合到处理单元并被耦合到至少一个子系统的功率控制器。功率控制器可以被配置为响应于用于至少一个子系统的存储器中的指令队列的第一状态降低由该至少一个子系统或处理单元消耗的功率。指令队列通常可由用于至少一个子系统的软件驱动器访问,至少一个子系统将第一状态的状况传输给处理单元,处理单元作为响应而通过功率控制器减少功率控制器对至少一个子系统的供电。第一状态表示指令队列没有指令(例如,用于子系统的用户级指令)或者只有用于涉及子系统的将来事件或动作的指令。
根据本发明的另一实施例,操作数据处理系统的一种方法包括:确定图形处理单元的或者另一子系统的指令队列的状态,并且响应于确定图形处理单元的指令队列没有指令或只有用于将来事件或动作的指令而关断到图形处理单元或另一子系统的供电。该方法还包括:确定通用处理单元的指令队列的状态,并且响应于确定通用处理单元的指令队列没有指令或只有用于将来事件或动作的指令而关断到通用处理单元的供电。GPU可以在由GPU生成的图像被显示时使其自身的供电被关断。此外,GPU可以在显示帧或生成用于显示的帧之间被关闭(例如,使得进入降低功率状态(reducedpowerstate))。
本发明的另一方面涉及用于安排供处理的将来事件或动作的方法和系统。在一个实施例中,一种方法包括为数据处理系统的子系统安排将来动作,其中,将来动作被安排用于利用延时值调节后的将来时间,延时值表示从降低功率状态对子系统加电中的延时。在一个实施例中,延时表示经预计的延时或者预计的延时的一部分。该方法还包括响应于经过延时值调节的将来时间来向要加电的子系统供电。子系统可以是下述设备中的至少一个:通用处理单元、数据编解码器、相机接口控制器、无线接口控制器、用于扩展坞的控制器、串行总线接口控制器、数字信号处理器以及显示控制器。可以基于子系统在最初接收供电之后或者进入增加的能耗状态之后变得稳定所花的时间段来估计延时。换言之,可以通过监控子系统加电花了多长时间来调节延时。换言之,可以基于关于子系统加电所花的时间长度的实际数据来调节延时。如果例如发现子系统具有不同的实际延时,则可以针对不同子系统维持不同延时。在一个实施例中,降低功率状态可以包括将零伏提供给子系统,或者可以涉及当以降低的操作频率操作子系统时向子系统提供降低的电压。
在本发明的一个实施例中,一种数据处理系统包括处理单元、被耦合到处理单元的至少一条总线、被耦合到至少一条总线的至少一个子系统、被耦合到至少一条总线的存储器以及被耦合到处理单元的功率控制器。存储器可以被配置为存储表示用于子系统和处理单元的至少一个的将来动作的数据,并且将来动作被安排用于利用延时值调节后的将来时间,延时值表示从降低功率状态对子系统或处理单元中的至少一个加电中的延时。功率控制器可以被配置为响应于经延时值调节的将来时间向子系统或处理单元中的至少一个供电。在一个实施例中,这允许数据处理系统安排将来事件并且使得子系统被置于降低功率状态,并且随后,在稍微较早的时间时使该子系统从降低功率状态恢复,以便减少用于该子系统的加电处理的延时,从而使系统显得好像子系统未被置于降低功率状态一样。换言之,系统就好像未将子系统置于降低功率状态的系统那样进行响应。
下面还将进一步描述其它方法和系统以及用于存储执行这些方法中的一个或多个的计算机程序的机器可读介质。
附图说明
在附图中的示图中以示例而非限制的方式图示说明了本发明,在附图中,相似的标号表示类似的元件。
图1示出了现有技术中的用于降低能耗或者用于管理数据处理系统中的供电的示例。
图2以框图形式示出了使用功率控来减少对一个或多个子系统的供电的本发明的系统的示例。
图3以框图形式示出了可以采用这里描述的一种或多种功率管理技术并且还可以使用这里描述的一种或多种计时方法的数据处理系统的示例。
图4示出了可以采用这里描述的一种或多种功率管理技术和/或这里描述的一种或多种计时方法的数据处理系统的另一示例。
图5A示出了根据本发明一个实施例的数据处理系统中的活动的时间轴。
图5B示出了根据本发明一个实施例的数据处理系统的不同子系统的活动的时间轴。
图5C示出了与本发明的至少一个实施例一起使用的数据结构和软件。
图6是图示出本发明的一个示例性方法的流程图。
图7示出了根据本发明一个实施例的采用了两种不同类型的中断以便进行计时的数据处理系统的示例。
图8示出了根据本发明一个实施例的某些硬件组件与某些软件组件之间的关系。
图9示出了根据本发明一个实施例的采用了两种不同类型的中断信号以便在数据处理系统中进行计时的数据处理系统的另一示例。
图10示出了根据本发明一个实施例的微处理器中的寄存器的一个示例。
图11是图示出与使用一种类型的中断信号来安排时间相关事件(诸如将来的时间相关事件)有关的本发明的一个实施例的流程图。
图12是图示出根据本发明至少一个实施例的如果中断被禁止则如何处理快速中断的流程图。
图13是图示出用于调节子系统中的延时的本发明的一种方法的流程图。
图14是根据本发明一个实施例提供了调节子系统的延时的示例的时间轴。
具体实施方式
将参考下面论述的细节描述本发明的各个实施例和方面,并且附图图示出了各个实施例。下面的描述和附图是对本发明的说明,而不被解释为对本发明的限制。描述了多个具体细节以提供对本发明各个实施例的透彻理解。然而,在某些实例中,公知的或传统的细节未被描述,以便提供对本发明实施例的简明论述。
本发明可以涉及用于执行这里描述的操作中的一个或多个的装置。该装置可以针对所需要的目的而被具体构建,或者其可以包括通用计算机,该通用计算机被存储在计算机中的计算机程序选择性地激活或重配置。这种计算机程序可以存储在机器(例如,计算机)可读介质中,例如,但不限于任何类型的盘,包括软盘、光盘、CD-ROM和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、磁卡或光卡,或者适于存储电子指令的并且其每个被耦合到总线的任何类型的介质。
机器可读介质包括用于存储或发送机器(例如,计算机)可读形式的信息的任何机构。例如,机器可读介质包括只读存储器(“ROM”);随机存取存储器(“RAM”);磁盘存储介质;光存储介质;闪存设备;电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等);等等。
本发明的至少某些实施例可以是数字媒体播放器的一部分,数字媒体播放器例如是便携式音乐和/或视频媒体播放器,其可以包括呈现媒体的媒体处理系统、存储媒体的存储设备并且还可以包括与天线系统和媒体处理系统相耦合的射频(RF)收发机(例如,用于蜂窝电话的RF收发机)。在某些实施例中,存储在远程存储设备上的媒体可以通过RF收发机被发送到媒体播放器。媒体例如可以是音乐或其它音频、静态图片或运动图片中的一种或多种。
便携式媒体播放器可以包括媒体选择设备,例如来自加州Cupertino的苹果计算机公司的或iPod媒体播放器上的点选轮(clickwheel)输入设备、触摸屏输入设备、按钮设备、可移动点选输入设备或其它输入设备。媒体选择设备可以用来选择存储在存储设备和/或远程存储设备上的媒体。在至少某些实施例中,便携式媒体播放器可以包括被耦合到媒体处理系统以显示通过输入设备选择并通过扬声器或耳机(一个或多个)呈现,或者在显示设备上呈现,或者既在显示设备上呈现又在扬声器或耳机(一个或多个)上呈现的媒体的标题或其它指示符。在已公布的申请号为2003/0095096和2004/0224638的美国专利申请中描述了便携式媒体播放器的示例,这两个申请通过引用被结合于此。
这里描述的本发明的实施例可以是其它类型的数据处理系统的一部分,这些数据处理系统例如是娱乐系统或个人数字助理(PDA),或通用计算机系统,或专用计算机系统,或另一设备内的嵌入式设备,或不包括媒体播放器的蜂窝设备,或组合了这些设备的方面或功能的设备(例如,将PDA、娱乐系统和蜂窝电话组合在一个便携式设备中的媒体播放器,例如),或者包括多触点输入设备的设备或消费电子产品,例如多触点手持设备或具有多触点输入设备的蜂窝电话。
图2示出了包括管理由数据处理系统内的一个或多个子系统消耗的功率的能力的数据处理系统的示例。系统50包括功率管理单元(powermanagementunit)54,其通过数据路径被耦合到永远活动模块(always-alivemodule)58,永远活动模块58向功率控制器(powercontroller)56提供控制信号,功率控制器56包括选择性地向系统52内的多个不同子系统供电的多个功率(powergate),系统52可以是片上系统组件。系统52可以包括微处理器70、图形处理单元(GPU)72、显示控制器74、视频编解码器76、数字信号处理器(DSP)78以及无线接口控制器80,无线接口控制器80可以包括在此进一步描述的一个或多个无线接口控制器。这些子系统70、72、74、76、78和80的每个被耦合到相应的功率,子系统通过功率被供电。将理解,可以并行设置多个功率以在需要时为特定子系统提供另外的电流容量(currentcapacity)。诸如功率62A或62B之类的每个功率使其漏电极耦合到电源电压导轨(powersupplyvoltagerail)60并且其源极耦合到相应子系统。每个功率的栅电极被耦合到由永远活动模块58提供的控制信号,在至少某些实施例中,永远活动模块58由功率管理单元54控制,功率管理单元54可以通过一个或多个总线被耦合到微处理器,如这里所述的。通过这种布置,微处理器可以通过如下操作选择性地使各个不同子系统被开启和关闭:使功率管理单元54将控制信号提供给永远活动模块58,永远活动模块58进而提供用来开启或关闭一个或多个子系统的适当的控制信号。例如,微处理器70可以命令功率管理单元54通过如下操作来关闭GPU72:功率管理单元54通过将控制信号提供给永远活动模块54,永远活动模块54进而在功率62B的栅电极上设置一电压,从而通过供电线66切断到GPU72的电压供应。类似地,还可以通过使得一个或多个其它子系统的供应电压被降低到正好低于操作子系统所需的电压的值来选择性地关闭它们。微处理器70甚至可以通过在微处理器决定关断其自身的供电时保存正在执行的状态和各种操作系统程序和应用程序的上下文信息来关闭其自身。将明白,系统50可以包括未示出的诸如存储器控制器等之类的另外的子系统(另外的子系统的示例在图4中示出),或者系统50可以比图2所示具有更少的子系统。还将明白,系统50可以包括用来互连各个子系统之间的数据和控制信号的一个或多个总线以及一个或多个总线桥接器(busbridge)。图3所示的总线体系结构是用来将子系统的各个组件耦合在一起的一个或多个总线的示例。
图3示出了可以用在本发明至少某些实施例中的一种总线体系结构的示例。这种总线体系结构可以用来将图2的系统50中的子系统耦合在一起以及将图4的系统151中的子系统耦合在一起。图3所示的数据处理系统包括存储器105和系统103,在至少一个实施例中,系统103可以被实现为片上系统,片上系统是形成集成电路的单片半导体衬底,该集成电路提供单个芯片上的系统的所有组件。在替代实施例中,各个组件可以被分散在多个集成电路上。系统103包括通过总线113和存储器控制器111耦合到存储器105的微处理器107。存储器控制器111可以是用于控制不同类型的存储器105的多个存储器控制器,不同类型的存储器105例如是DRAM(例如,DDRRAM),以及闪存和/或其它类型的存储器或存储器的组合,例如磁硬盘驱动器,等等。存储器控制器111被耦合到图形处理单元109,其允许GPU获取图形数据或者将图形数据存储在存储器105中,以及从存储器105检索用于GPU的处理的图形指令。将明白,GPU109被耦合到诸如图2所示的显示控制器74之类的显示控制器,显示控制器进而被耦合到显示器以驱动该显示器来使得图片出现在该显示器上,显示器例如是液晶显示器(LCD)。微处理器107、存储器控制器111、存储器105和GPU109通过图3所示的两个外围总线以及两个总线桥接器被耦合到图3的其余子系统。总线桥接器115将总线113耦合到第一外围总线117,而总线桥接器119将第一外围总线117耦合到第二外围总线121。微处理器107和GPU109通过这些总线桥接器被耦合到外围总线117和121。GPU109还通过图形控制端口133被耦合到第一外围总线117,而微处理器107还通过微处理器107的外围端口131被耦合到第一外围总线117。一个或多个输入/输出(I/O)设备可以作为系统101的一部分。这些I/O设备可以是多个已知I/O设备中的一个或多个,包括跟踪垫(trackpad)、触摸垫、多触点输入板、音频扬声器以及音频麦克风、相机、扩展坞端口(dockport)、一个或多个无线接口控制器、诸如鼠标或操纵杆或跟踪球之类的光标控制设备、一个或多个网络接口适配器(例如,以太网接口端口),等等。如果系统103被实现为片上系统,则I/O设备127和129通常是不被布置在集成电路上的单独组件。I/O设备127和129的每个通过诸如图3所示的I/O控制器123和I/O控制器125之类的I/O控制器被耦合。除了前面所列的I/O设备之外,系统103可以包括可以被认为是I/O设备的其它子系统,例如诸如图2所示的视频解码器76和DSP78之类的视频解码器或数字信号处理器。图3所示的系统的一个实施例可以包括功率控制器和功率管理单元以及永远活动模块,以便提供对系统103中的各个子系统的功率控。例如,可类似于功率管理单元54的功率管理单元可以被耦合到可类似于永远活动模块58的永远活动模块,该永远活动模块进而被耦合来向功率控制器(诸如功率控制器56之类)提供控制信号,从而开启和关断对系统103中的一个或多个子系统的供电,系统103中的一个或多个子系统例如是图3的一个或多个I/O控制器或者一个或多个I/O设备或者GPU109或者微处理器107。
图4示出了可以与这里描述的一个或多个发明一起使用的系统的另一示例。例如,图4所示的系统可以以图5A、图5B和图6所示的方式操作,并且/或者可以以图11所示的方式操作,并且或者可以以图13所示的方式操作。数据处理系统151可以将系统153实现为片上系统(SOC)集成电路,或者可以将系统153实现为通过一个或多个总线耦合的多个集成电路。数据处理系统151包括被示为在系统153外部但是被耦合到系统153的多个组件,如图4所示。这些组件包括动态随机存取存储器(DRAM)157、闪存159(它们两个都被耦合到存储器控制器177)、耦合到UART控制器197的扩展坞端口171、耦合到无线接口控制器191的无线(RF)收发机169、耦合到IIC端口189的功率管理单元167、耦合到相机接口控制器187的相机165、耦合到IIS端口185的音频数模转换器163、耦合到多触点输入板控制器181的多触点输入板161,以及耦合到显示控制器179的可以是液晶显示设备的显示设备155。如本领域公知的,这些各个组件为数据处理系统提供输入和输出能力。另外,系统153包括图形处理单元175和微处理器173(在某些实施例中,可以为ARM微处理器)。另外,系统可以包括数字信号处理器195和中断控制器(interruptcontroller)193。这些各个组件可以通过一个或多个总线以及总线桥接器183耦合起来,一个或多个总线以及总线桥接器183可以以诸如图3所示的总线体系结构或替代总线体系结构之类的多种体系结构来实现。功率管理单元167可以按照与图2的功率管理单元54相同的方式操作,从而通过有选择地开启或关断对一个或多个子系统的供电来向一个或多个子系统提供功率降低能力,如这里所述的。功率管理单元167可以被耦合到图4的系统中的永远活动模块(例如,类似于永远活动模块58)以及功率控制器(例如,类似于功率控制器56)。此外,功率管理单元167结合微处理器173可以实现其它功率降低技术,例如这里所描述的以不同电压和频率操作点操作。虽然功率管理单元被示为在系统153的外面,然而,在某些实施例中,其可以作为片上系统实施方式的一部分。在某些实施例中,诸如无线收发机169之类的至少一些其它组件也可以被实现为片上系统的一部分。无线收发机169可以包括红外收发机以及射频(RF)收发机,并且可以包括一个或多个这样的收发机,例如无线蜂窝电话收发机、WiFi兼容收发机、WiMax兼容收发机、蓝牙兼容收发机以及其它类型的无线收发机。在一个特定实施例中,无线收发机169可以包括无线蜂窝电话收发机、WiFi兼容收发机(IEEE802.11A/G收发机)以及蓝牙收发机。这些无线收发机的每个可以被耦合到各自的无线接口控制器,无线接口控制器可以是多种接口控制器中的一种或多种,例如UART控制器或IIS控制器或SDIO控制器等。数据处理系统151还可以包括输入/输出设备,例如键区,或键盘,或光标控制设备,或另外的输出设备等。
将明白,图4的数据处理系统可以以封装并包括数据处理系统的多种不同形状因素(factor)或外壳(enclosure)来实现。例如,数据处理系统151可以被实现为桌上型计算机、膝上型计算机或嵌入式系统、消费产品或手持计算机或者其它手持设备。其可以被实现为关断AC电源或者AC电源和电池电源的组合,或者在至少某些模式中仅关断电池电源。数据处理系统可以包括蜂窝电话并且可以具有蜂窝电话的形状因素,例如直板式蜂窝电话或翻盖式电话或具有滑动式键盘的电话,滑动式键盘滑出(例如,从外壳中)或摆出(例如,从外壳中)以露出键盘中的键。在某些实施例中,数据处理系统151可以在包括无线蜂窝电话以及WiFi和蓝牙无线能力的板式小手持计算机中实现。在2006年10月24日提交的题为“AutomatedResponseToAndSensingOfUserActivityInPortableDevices”的并且由本发明的受让者所有的共同待决美国专利申请No.11/586,862中示出了这些形状因素的示例。该申请通过引用被结合于此。
图5A和图5B提供了一种方法的两个示例,在该方法中,诸如图2、3或4所示的系统的功率控可以被使用以便管理这种系统中的能耗。图5A的时间轴(timeline)201示出了在一处理中随着时间开启和关闭诸如微处理器173和GPU175之类的微处理器和GPU,在该处理中,微处理器对事件(例如,用户对输入设备的操纵或者先前安排的定时事件)作出反应,以及微处理器的反应使得显示设备(例如,显示器155)上所显示的图像被更新,其中,更新是由GPU完成的。在时间T0和T1之间所示的时间段203期间,微处理器响应于事件对数据进行操作以执行或创建指令。这些指令可以包括到GPU的将一组视图或图像组成为最终的完整图像的指令,并且微处理器可以渲染这些视图中的一个或多个部分。这样一来,微处理器可以将用于GPU的指令以及图形数据(例如,将被组成为最终显示的图像的部分)存储到可由GPU访问的存储器中,例如图4所示的存储器157和/或闪存159。当微处理器完成了时间帧203中的其操作后,其通过将其上下文以及状态和其它数据存储在存储器(例如,DRAM157和/或闪存159)中来开始进入掉电(powerdown)状态,并且随后在时间T1使到其自身的供电被关断。在时间T1或T1之前,GPU从降低功率状态被返回到其供电状态(powerstate),并且在时间段205期间对存储在诸如存储器157和/或闪存159之类的存储器中的指令和数据进行操作。在一个实施例中,当从断电状态切换到供电状态时,微处理器和GPU在零伏和操作电压之间切换。因此,在时间T0处,本实施例中的微处理器不接收供电(其操作电压为零伏)并且在时间段203期间,其接收满操作电压。在这同一实施例中,GPU在时间段203期间接收零操作电压并且在时间段205期间接收GPU的满操作电压。在操作T2之后,微处理器和GPU可以都被关闭(例如,使其操作电压设置为零伏操作),如图5A所示。然后,在时间T3,在图5A所示的207处显示下一图像。这可以通过在时间段205期间从帧缓冲器读取由GPU写入的数据来实现;例如,诸如显示控制器179之类的显示控制器可以从帧缓冲器读取下一帧数据并且使得该数据显示在诸如显示器155之类的显示设备上。因此,在图5A所示的时间轴的示例中,微处理器和GPU都在时间T3处的图像显示期间被关闭,其中图像是由微处理器在时间段203期间的处理发起的并且由GPU在时间段205期间的处理完成。
图5B示出了另一时间轴211,其提供了如何将功率控用来开启和关闭数据处理系统(例如图2、3或4所示的系统)中的各个子系统的另一示例。微处理器被示为在时间段213和217期间被开启;其在时间轴211上所示的其它时间期间被关闭。因此,微处理器在时间T0和T1之间以及时间T2和T3之间被开启,并在其它时间被关闭(例如,其操作电压被设为零伏)。在微处理器被开启的时间段(时间段213和217)期间,其可以以满操作电压操作。GPU被示为仅在从时间轴211的时间T1延伸到时间T2的时间段215期间被开启。微处理器和GPU可以执行与对图5A描述的操作类似的操作。例如,微处理器可以对用户事件或定时事件作出反应,并且可以准备将被GPU进一步处理以便渲染在时间T4(时间轴211中的时间219)时显示的最终图像的数据和指令。微处理器还可以被示为在时间段217期间是活动的,在时间段217中,微处理器被GPU开启(例如,通过图6中的操作257所示的方法)以便关闭GPU并且随后关闭其自身。在这里描述的图6的流程图中给出了以图5B的时间轴所示的方式进行操作的方法的一个示例。在至少某些实施方式中,在时间段217期间,微处理器还可以命令显示控制器在时间T4时显示新图像,这可以是显示控制器通过从帧缓冲器读出数据用于显示来刷新显示的下一刷新机会。在至少某些实施例中,帧缓冲器可以被实现为DRAM存储器157的一部分。
在至少某些实施例中,沿着时间轴201或211的全部时间可以小于一秒或者甚至小于100毫秒,例如小于10ms。因此,微处理器和GPU直接响应于用户任务或每个子系统(例如微处理器或GPU)的线程的存在或不存在而在相对短的时间段中被开启和关闭。在某些实施方式中,图5A和5B所示的功率管理可以在不使用定时器的情况下基于图5C所示的用户任务或线程的指令队列的状态完全通过软件控制或者通过软件驱动来实现。在至少某些实施例中,GPU可以在显示帧之间(例如,诸如显示器155之类的显示设备上的连续的刷新显示操作)被关闭(例如,使其操作电压设为零伏操作)。
图5C示出了软件可以如何驱动图5A和图5B所示的功率管理技术的示例。数据结构225和数据结构227可以被存储在诸如存储器157和/或闪存159之类的存储器中,并且这些数据结构包括用于特定子系统的来自系统的处理任务/线程的指令队列。在数据结构255的情况中,指令队列用于子系统1,而在数据结构277的情况中,指令队列用于子系统2。在至少某些实施例中,这些两个子系统可以是图2、图3或图4所示的子系统中的任一个,例如GPU175和另外的子系统,例如微处理器173或数据解码器,例如视频编解码器76。软件驱动器通常针对每个子系统而存在,例如用于子系统1的软件驱动器299和用于子系统2的软件驱动器231。这些驱动器与其相应的数据结构交互来处理其各自子系统的用户任务/线程。这些软件驱动器还与操作系统内核(operationsystemkernel)233交互,在至少某些实施例中,操作系统内核233使消息(例如,中断信号)被发送到功率管理单元以开启和关闭子系统。子系统被开启和关闭的示例在图5A和5B中被示出,并且还进一步在图6中被示出。在图5C的体系结构中,指令队列自身提供触发机制,以在没有针对特定子系统的其它用户任务/线程或者所有用户任务/线程或其它任务/线程是针对被安排的将来事件时,自动使得子系统被关闭。因此,当没有来自系统的指令或者指令仅用于将来的事件/动作时,指令队列的状态可以发起对子系统的关闭操作。用于特定子系统的软件驱动器可以确定用于用户任务/线程的指令队列的“空”状态,并且可以通过诸如中断信号之类的调用(call)或其它机制来向操作系统内核通知该状态。进而,操作系统内核233可以使得消息被发送到功率管理单元或其它设备,以使得功率控制器(诸如功率控制器56)关断其指令队列被指示为“空”的子系统的供电。将会理解,至少在某些实施例中,每个子系统在使其供电被关断之前将采取必要步骤来保存其状态和上下文;这可以在发信号通知操作系统关闭特定子系统之前由特定子系统的驱动器软件结合操作系统来执行。在替代实施例中,功率管理技术可以利用除了功率控之外的方法来管理功率,例如使用不同的电压/频率操作点而非完全关断和完全开启供电。
图6示出了根据本发明至少一个实施例的一种方法的示例。图6的方法可以表示在图5B的时间轴211中发生的处理操作。在操作251中,数据处理系统接收诸如选择显示设备上的用户接口元件之类的用户动作,或者开始定时事件的处理,例如微处理器如这里所述醒来(wakeup)以处理定时事件。醒来操作通常包括微处理器(或其它组件)退出降低的能耗状态并进入更高能耗状态。在操作253中,诸如微处理器之类的处理系统响应于来自操作251的用户动作或定时事件执行指令。例如,微处理器可以生成用于由当前被关闭的GPU处理的指令和数据。操作253可以表示在图5B的时间段213期间的处理。随后在操作255中,处理系统使得GPU(或其它子系统)被供电,并且使得对处理系统的供电被关断。操作255的这部分发生在图5B所示的时间T1附近。操作255的其余操作包括GPU处理微处理器在时间段213期间为其准备的指令。操作255的这部分对应于图5B所示的时间段215。随后在操作257中,GPU完成指令并生成到操作系统或处理系统的消息。GPU通常将使得例如在显示控制器179的控制下,在刷新显示时要使用的下一显示图像被存储在帧缓冲器中。这允许显示控制器在不要求开启GPU的情况下利用新图像来刷新显示。随后在操作259中,处理系统响应于来自操作257的消息(可以是中断信号)而开启,并且使得GPU或其它子系统被关闭,并且随后如果其应用指令队列为空或者仅有将来事件,则处理系统关闭其自身。图6的方法将微处理器和GPU当作包括在该方法中的两个子系统;然而,在替代实施例中,可以包括不同的子系统,例如微处理器和数据解码器(例如,MPEG数据解码器子系统)或无线接口控制器和无线收发机以及微处理器,或者诸如图2、图3和/或图4所示的子系统之类的子系统的其它组合。在至少某些实施例中,图5B所示的并反映在图6中的操作模式可以在诸如数秒(例如,少于10秒)之类的短的时间段中重复若干次(例如,三次或更多次)。因此,在短的时间段中,微处理器和GPU在这种短的时间段中都可以重复地(例如,三次或更多次)开启(例如,满操作电压)并重复地(例如,三次或更多次)关闭(例如,零操作电压)。如在这里的其它地方提到的,每个子系统在被断电之前都可以实现状态保存处理,状态保存处理包括保存状态和上下文以及与子系统相关联的其它数据,如本领域公知的。在替代实施例中,将会理解,除了使用完全关断和完全开启作为管理功率的两种状态之外,数据处理系统还可以单独使替代技术,或者将替代技术结合功率控来实现功率管理。例如,数据处理系统可以使用如图1中的不同操作点结合功率控或不用功率控来管理数据处理系统的能耗。
现在将参考图7、8、9、10、11和12描述本发明的另一方面。将会理解,在本发明的至少某些实施例中,该方面可以与这里描述的其它方面结合使用,或者可以单独使用。图7示出了一种数据处理系统,该数据处理系统包括通过总线315耦合到存储器303的处理系统301。另外,图7的系统包括通过至少两个中断信号数据路径317和319耦合到处理系统301的中断控制器307。在至少一个实施例中,处理系统可以是微处理器173,而系统存储器303可以是存储器157和闪存159中的一个或两个,并且终端控制器307可以是中断控制器193。图7的系统还包括定时器305,定时器305包括能够在数据路径313上断言超时(timeout)或其它类似信号的一个或多个计数器,并且这些超时断言信号进而可以使中断控制器307在数据路径317上生成第一中断信号或者在数据路径319上生成第二中断信号。数据路径311允许处理系统301将计数值或定时器值或其它的时间相关的值存储在定时器305中。中断控制器307可以是传统的中断控制器,其提供两种不同类型的中断信号,例如在来自英国剑桥的ARM公司的微处理器的情况中为快速中断信号和正常中断信号。第一中断信号317可以是快速中断信号,其通常向中断源提供比其它类型的中断信号更高优先级的服务。这种性能上的差别的一个原因包括寄存器相对于微处理器的模式而被保留在微处理器中的方式,如下面相对于图10所描述的。ARM体系结构中利用快速中断信号的现有系统只针对具有单独控制并使用快速中断信号的特定处理或子系统使用快速中断信号。换言之,快速中断信号专供那些设计者希望在接收服务时确保具有高优先级的特定处理或子系统使用。这与本发明的实施例不同,在本发明的实施例中,每个不同处理和/或不同子系统(诸如操作在不同硬件子系统上的不同软件处理)可以使用快速中断信号,以便对这里描述的那些不同处理和/或子系统的时间相关的事件计时。例如,存储器303示出了可以在任一时间点上在图7的数据处理系统上执行的至少三个不同应用处理。应用处理327例如可以是MPEG解码操作,该MPEG解码操作部分由处理系统301在软件中执行,而部分由诸如图2所示的子系统76之类的MPEG解码硬件子系统执行。应用处理329例如可以是MP3解码操作,该操作部分由处理系统301执行,而部分由诸如专用于音频数据的另外的数据解码器等之类的单独的硬件子系统执行。应用处理331可以是部分由处理系统执行并且部分由另外的子系统(例如,图4的DSP195)执行的另外的软件处理。因此,存储器303的状态表明利用OS内核325,多个应用可以同步地执行并且多个子系统可以同步操作,OS内核325是执行操作系统软件,以传统方式对各种任务和处理的管理进行监督。在一个示例性实施例中,一个子系统可以是处理系统本身(微处理器175)并且当前正操作的另一子系统可以是MPEG解码子系统或GPU。在任一情况中,本发明的至少某些实施例允许不同处理供不同子系统使用,以同步地或顺序地利用快速中断信号来对时间相关事件作出响应,从而为这些子系统进行计时。处理系统301结合OS内核325通常维持数据结构,例如时间相关事件的列表,例如存储在存储器303中的所示出的列表323。该列表可以是几乎从现在到一将来时间的有序列表,并且处理系统可以将该列表用于被安排以在将来的它们被安排的时间进行操作的服务事件,以使得它们在所安排的时间处被执行并被特定子系统或处理请求。
图11示出了一种方法的示例,在该方法中,图7的系统通过使用快速中断信号进行操作来为数据处理系统中的不同处理和/或不同子系统的时间相关事件提供时间。在操作451中,诸如处理系统301之类的处理器在进入空闲并将其自身断电之前从数据结构中选择下一定时事件,该数据结构包含不同处理和/或不同子系统的时间相关事件。这些事件可以是系统以及用户时间相关事件。存储器303中的列表323是这种数据结构的示例。随后在操作453中,处理器使时间相关值被输入与快速中断信号相关联的定时器。图9所示的快速中断定时器384A是这种定时器的一个示例。随后在操作455中,处理器进入低功率(lowpower)状态,例如微处理器的零电压操作状态。虽然处理器处于关闭状态,然而,在操作453中接收了时间相关值的定时器继续进行计数,直到其达到指示相关联的时间相关值已达到其安排的时间并且需要被执行为止。作为达到该值的结果,诸如定时器305之类的定时器在操作457中向中断控制器断言快速中断定时器信号。在图7和9所示的示例中,快速中断定时信号被断言在图7中的数据路径313上,而快速中断定时器信号被断言在图9中的数据路径367上。该定时器信号的断言被中断控制器来解释,以表示快速中断信号必须被断言,因此在操作459中,诸如中断控制器307或中断控制器379之类的中断控制器向诸如处理系统301之类的处理系统断言快速中断信号。如操作461所示,处理系统作出响应并且其响应取决于其状态以及中断是否被使能。操作461所示的操作假设中断被使能;如果它们不被使能,则图12的方法可以用在中断不被使能时。如果诸如处理系统301之类的处理系统在快速中断信号在操作459中被断言时处于低功率状态,则该处理系统退出其低功率状态并进入其快速中断模式,以对由快速中断指定的时间事件进行处理,该时间事件可以是用于诸如处理327或329或331之类的不同应用处理器中的任一个的时间事件,或者是用于使其时间相关事件存储在数据结构(例如图7的存储器303中的列表323)中其它处理或子系统的时间事件。快速中断模式中的定时事件的处理可以以与快速中断的现有技术中的处理相同的方式发生,快速中断的现有技术中的处理专用于特定子系统,这是因为处理系统将调用用于硬件的处理程序(handler)并且将清除中断控制器中的快速中断状态信号,并且将执行其它操作以便为快速中断服务,这进而最终引起对所安排事件的服务,从而导致快速中断信号的断言。如果处理系统正运行诸如存储在存储器303中的应用处理3之类的处理,则其将进入快速中断模式来处理引起对快速中断的断言的定时事件。例如,如果用户正对系统提供输入并且系统正对该输入作出响应,则在操作461中对该输入的响应将被快速中断信号中断,这将使得系统服务于使得以图11的方法对快速中断信号断言的时间相关事件,随后系统将返回用户输入的处理。再次,对该快速中断信号的响应可以如快速中断信号专用于特定处理或子系统的现有技术系统中那样被执行。
将会明白,在操作451中选择的下一定时事件可以用于诸如处理327或329或331之类的执行处理或者其它处理和/或不同子系统中的任一个。换言之,快速中断信号的使用不是专供任一特定处理或子系统的,而用来为许多不同处理和/或子系统提供计时机制。
图9示出了定时器和中断控制器以及中断控制器如何被耦合来从不同源接收中断的更详细示例。处理系统377对应于处理系统301并且定时器383对应于定时器305。中断控制器379对应于中断控制器307。图7所示的系统存储器(系统存储器303)在图9中未示出,以便简化图9;然而,将明白,处理系统377被耦合到诸如系统存储器303之类的系统存储器,系统存储器包括用于诸如图4所示的系统之类的整个数据处理系统中的一个或多个子系统的多个不同执行任务或线程。快速中断信号373对应于数据路径317上的第一中断信号,而正常中断信号371对应于图7的数据路警319上的第二中断信号。数据路径365允许数据处理系统377存储诸如计数器值之类的时间相关值,时间相关值可以递减或递增以便确定时间段的截止或时间的发生。定时器383包括至少两个定时器,其中一个用来断言数据路径367上的快速中断定时器信号,该信号进而引起对快速中断信号373的断言。在替代实施例中,可以存在用于快速中断信号的多个定时器以及用于正常中断信号的多个定时器。定时器383包括至少一个中断定时器384B,其用来存储时间相关值以递增或递减时间或时间期间,从而引起中断控制器379对正常中断信号的断言。从图9可以看出,中断控制器379包括从两个不同源接收中断的至少两个端口。具体地,中断控制器379通过一个端口接收内部系统中断385并从通用I/O中断控制器381接收其它中断,通用I/O中断控制器381进而被耦合来接收来自图形处理单元(GPU中断387)的中断和来自功率管理单元(PMU中断389)的中断以及所有其它输入/输出中断391。将明白,图9所示的系统375是图7所示的系统的一种具体实施方式。
图8图示出了可以存在于诸如图7所示的系统的至少某些实施例中的操作系统软件(例如,OS内核357)和用于子系统的硬件1的软件驱动器(例如,驱动器355)之间的关系。可以认为操作系统内核软件375以多种不同方式与软件驱动器355通信。例如,软件驱动器355可以对操作系统或其它软件组件进行调用,并从操作系统或其它软件组件接收调用回应(callback)或其它应答。在某些实施例中,软件驱动器可以使得通过诸如图7的中断控制器307之类的系统的中断控制器来生成用于服务的中断信号。这些调用或中断一般可以认为是特定子系统的软件驱动器和数据处理系统的其余部分之间的消息,并且可以被用作用于安排诸如时间相关事件323之类的定时事件的处理中的功率管理处理的一部分。例如,软件驱动器可以向操作系统提供如下消息:用于正在被软件驱动器控制的硬件子系统的用户任务/线程的指令队列为空或者仅包含将来的被安排事件。这可以允许微处理器响应于子系统的指令队列的状态来关闭子系统。将明白,用于特定子系统的软件驱动器可以是用于该子系统的特定应用处理(例如应用处理327)的一部分。例如,用于MP3解码器子系统的软件驱动器可以认为是应用处理327的一部分。类似地,用于另外的硬件子系统的软件驱动器可以认为是诸如图7所示的应用处理329之类的另外的应用处理的一部分。还将理解,诸如处理系统351之类的处理系统可以向硬件子系统(例如,硬件子系统253)交换其它类型的消息,并且这些消息可以指示硬件子系统需要按情况将低功率或增加功率。
图10示出了微处理器的寄存器以及如何在用于微处理器的不同操作模式的不同资源中分配它们的示例。通常,微处理器具有多个操作模式,例如普通中断模式、快速中断模式、用户模式等。诸如用户寄存器403之类的用户寄存器可供用户应用处理使用,而共享寄存器405在微处理器的模式之间被共享。普通中断寄存器407用来服务于普通中断信号,而快速中断寄存器409包括专用空间,当在用户模式和快速中断模式之间切换时,该专用空间可以用来避免保存用户上下文和状态。该特性可以改善快速中断信号相对于正常中断信号的处理时间,并且因此向引起对快速中断信号的断言的任何处理提供更高优先级的服务。
图12示出了在至少一个实施例中数据处理系统在中断被禁止时将如何处理诸如在图11的操作459中断言的快速中断信号之类的快速中断信号。图11中的操作461假设中断被使能。如果中断不被使能,则至少一个实施例可以执行图12所示的操作。在操作475中,处理系统接收快速中断,并且在操作477中判断中断是否被使能。如果中断被使能,则在操作479中正常地处理中断,这在图11的操作461中示出了进一步的细节。如果中断不被使能,则处理从操作477前进到操作481,在操作481中,在至少一个实施例中,通过安排生成普通中断来将快速中断信号转换为普通中断信号。这可以包括保存上下文和与快速中断信号相关联的其它信息以及清除快速中断信号状态信息,以便有效地移除对快速中断信号的断言并将其转换为普通中断。当中断被再次使能时,从操作481中的快速中断转换得到的中断可以调用操作系统内核来处理与引起快速中断信号的断言的处理相关联的时间相关事件中断。在一个实施例中,在FIQ发生的通常情况中,处理器的模式将从FIQ被转换为IRQ,并且RTC的(实时时钟)中断处理程序(rtclock_intr())将被调用。当FIQ发生时,如果中断被禁用,则假设使用处理器的IRQ模式是不安全的。这可能是因为客户端已经禁用了IRQ以使得它们不被中断,或者因为已有IRQ处于进行中。在任一情况中,rtclock_intr不应当被调用。替代地,在一个实施例中,cpu_signal()被调用来请求由软件生成中断(IRQ)。在当IRQ被使能后的某个时间,来自cpu_signal()的中断将发生并且控制流将传递到内核的内部处理器中断(IPI)处理程序。IPI处理程序将注意到rtclock中断正待决并调用rtclock_intr()。
图13和14涉及本发明的另一方面,其中,数据处理系统可以考虑子系统从低功率状态启动将花费的时间。换言之,数据处理系统可以考虑:当满子系统处于被供电与当子系统从降低的能耗状态被加电后处于稳定并准备好操作时之间存在某种滞后或延时。可以看出,相对于图13和14描述的方法的实施例可能对诸如图5A和5B所示的其中子系统在短的时间段中被开启和关闭的方法是有用的。例如,图6所示的操作251可以包括用于处于低功率状态的并且现在需要处理其时间已发生的定时事件的微处理器的唤醒操作。类似地,如相对于图13和14描述的延时值的使用可以用在操作461中,在操作461中,处理系统或数据处理系统的另一子系统可以处于低功率状态,当其退出该状态并且在其准备好开始以满电压或满功率操作之前要花费一些时间。从用户的角度看,系统表现得似乎没有延时地作出了响应,这是因为以下事实:子系统在所安排的事件的时间之前被启动以便给子系统时间做准备并且能够在或接近所安排的时间时开始处理。在图13的操作501中,数据处理系统确定用于要被安排用于将来执行的动作的事件的时间相关值,并且选择用于要包括在将来动作/执行中的一个子系统或多个子系统的时间延时值。在一个实施例中,实现图13的方法的数据处理系统可以是图4所示的系统,并且微处理器173可以安排诸如MPEG解码子系统中的MPEG数据的解码之类的将来的事件。该解码将确定相对于当前时间的进入计数器的时间,以便解码下一组MPEG数据,计数器例如是引起对快速中断信号的断言的快速中断定时计数器384A。如果处理器和/或MPEG解码器子系统在事件发生前将被关闭,则在唤醒处理器和/或MPEG解码器子部件中可能存在一些延时时间。基于特定子系统的延时,处理器将选择一时间延时值,该时间延时值可以是子系统(例如,如果有两个要唤醒的子系统则为具有最大延时的子系统)的测得值或估计值,并且被输入定时器的时间数据可以根据所选时间延时值来调节,以使得诸如微处理器或另一子系统之类的子系统可以退出低功率状态并进入更高功率状态(例如,如这里所述的从完全关闭到完全开启)。在操作503的情况中,定时器可以是如图7所示的实施例中的将引起对快速中断信号的断言的定时器。对快速中断信号或其它中断信号的断言随后可以响应于定时器在操作505中使得子系统正好在事件时间之前被开启。随后在操作507中,子系统对唤醒处理作出响应并对事件进行操作。图14示出了时间轴,该时间轴表示子系统如何在所安排事件的时间之前被启动以便给子系统额外的时间段以变得稳定,从而准备好实际地对指令进行操作或在所安排的时间时执行操作。具体地,延时时间由时间Tw表示,并且安排的事件的实际时间是时间529所示的T1。子系统在被标为时间527的时间T1-Tw时被开启,这给了子系统足够的时间进入更高功率状态并稳定在该状态并且准备好在时间T1处处理指令或操作。将理解,延时时间Tw可以估计或测得,并且用作时间延时值的实际延时时间可以等于或小于特定子系统的实际的或估计出的延时时间。
在前面的说明书中,已参考本发明的具体示例性实施例描述了本发明。显然,在不脱离下面的权利要求书阐述的本发明的较宽的精神和范围的情况下可以对实施例进行各种修改。因此,说明书和附图被看作是说明性意义而不是限制性意义的。
Claims (15)
1.一种数据处理方法,包括:
安排数据处理系统的子系统的将来动作,所述将来动作通过基于与所述子系统相关联的时间相关事件的列表确定时间相关值来安排,所述时间相关事件的列表包括将来动作以及所述将来动作将被执行的时间值,所述时间相关值表示所述子系统何时对所述将来动作进行操作;
在所述将来动作的安排期间在运行时调节所述时间相关值,所述时间相关值利用延时值调节,所述延时值表示在最初向所述子系统供电之后从降低功率状态直到所述子系统已经稳定在加电状态中的一段时间,所述子系统在所述加电状态中对所述将来动作进行操作;以及
按照经过调节的时间相关值,向要加电的子系统供电。
2.如权利要求1所述的数据处理方法,其中,所述子系统是下述设备中的至少一个:(a)通用处理单元;(b)数据编解码器;(c)相机接口控制器;(d)无线接口控制器;(e)用于扩展坞的控制器;(f)串行总线接口控制器;(g)数字信号处理器以及(h)显示控制器。
3.如权利要求1所述的数据处理方法,其中,表示所述将来动作的数据被存储在用于包括将来事件的将来动作的数据结构中。
4.如权利要求1所述的数据处理方法,其中,所述降低功率状态包括将零伏提供给所述子系统。
5.如权利要求1所述的数据处理方法,其中,所述降低功率状态包括当以降低的操作频率操作所述子系统时向所述子系统提供降低的电压。
6.如权利要求3所述的数据处理方法,其中,所述将来动作在减少对所述子系统的供电之前被存储在所述数据结构中。
7.如权利要求6所述的数据处理方法,其中,响应于指令队列的第一状态减少对所述子系统的供电,所述第一状态没有指令或者只有用于将来动作的指令。
8.一种数据处理系统,包括:
用于安排数据处理系统的子系统的将来动作的装置,所述将来动作通过基于与所述子系统相关联的时间相关事件的列表确定时间相关值来安排,所述时间相关事件的列表包括将来动作以及所述将来动作将被执行的时间值,所述时间相关值表示所述子系统何时对所述将来动作进行操作;
用于在所述将来动作的安排期间在运行时调节所述时间相关值的装置,所述时间相关值利用延时值调节,所述延时值表示在最初向所述子系统供电之后从降低功率状态直到所述子系统已经稳定在加电状态中的一段时间,所述子系统在所述加电状态中对所述将来动作进行操作;以及
用于按照经过调节的时间相关值,向要加电的子系统供电的装置。
9.一种数据处理系统,包括:
处理单元;
至少一条总线,所述至少一条总线被耦合到所述处理单元;
至少一个子系统,所述至少一个子系统被耦合到所述至少一条总线;
存储器,所述存储器被耦合到所述至少一条总线;
功率控制器,所述功率控制器被耦合到所述处理单元,其中,
所述存储器被配置为存储表示用于所述子系统和所述处理单元的至少一个的将来动作的数据以及基于与所述子系统和所述处理单元的所述至少一者相关联的时间相关事件的列表的时间相关值,所述时间相关事件的列表包括将来动作以及所述将来动作将被执行的时间值,所述时间相关值表示所述子系统和所述处理单元中的所述至少一个何时对所述将来动作进行操作;其中,所述处理单元被配置为在所述将来动作的安排期间在运行时调节所述时间相关值,所述时间相关值利用延时值调节,所述延时值表示在最初向所述子系统和所述处理单元中至少一者供电之后从降低功率状态直到所述子系统或所述处理单元中所述至少一者稳定在加电状态中的一段时间,所述子系统和所述处理单元中的至少一者在所述加电状态中对所述将来动作进行操作,并且其中,所述功率控制器被配置为按照经过调节的时间相关值向所述子系统或所述处理单元中的至少一个供电。
10.如权利要求9所述的数据处理系统,其中,所述子系统是下述设备中的至少一个:(a)数据编解码器;(b)相机接口控制器;(c)无线接口控制器;(d)用于扩展坞的控制器;(e)串行总线接口控制器;(f)数字信号处理器;以及(g)显示控制器。
11.如权利要求9所述的数据处理系统,其中,表示所述将来动作的数据被存储在用于包括将来事件的将来动作的数据结构中。
12.如权利要求9所述的数据处理系统,其中,所述降低功率状态包括将零伏提供给所述子系统或所述处理单元中的至少一个。
13.如权利要求9所述的数据处理系统,其中,所述降低功率状态包括在降低的操作频率的情况下提供降低的电压。
14.如权利要求11所述的数据处理系统,其中,所述将来动作在减少对所述子系统或所述处理单元中的至少一个的供电之前被存储在所述数据结构中。
15.如权利要求14所述的数据处理系统,其中,响应于指令队列的第一状态减少对所述子系统或所述处理单元中的至少一个的供电,所述第一状态没有指令或者只有用于将来动作的指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/620,703 | 2007-01-07 | ||
US11/620,703 US7917784B2 (en) | 2007-01-07 | 2007-01-07 | Methods and systems for power management in a data processing system |
PCT/US2007/025848 WO2008085341A2 (en) | 2007-01-07 | 2007-12-18 | Methods and systems for power management in a data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101573677A CN101573677A (zh) | 2009-11-04 |
CN101573677B true CN101573677B (zh) | 2015-12-02 |
Family
ID=39495007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780049457.XA Active CN101573677B (zh) | 2007-01-07 | 2007-12-18 | 用于数据处理系统中的功率管理的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (4) | US7917784B2 (zh) |
EP (2) | EP2115550B1 (zh) |
CN (1) | CN101573677B (zh) |
AU (1) | AU2007342556B2 (zh) |
WO (1) | WO2008085341A2 (zh) |
Families Citing this family (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7228446B2 (en) * | 2004-12-21 | 2007-06-05 | Packet Digital | Method and apparatus for on-demand power management |
US8667198B2 (en) | 2007-01-07 | 2014-03-04 | Apple Inc. | Methods and systems for time keeping in a data processing system |
US7917784B2 (en) * | 2007-01-07 | 2011-03-29 | Apple Inc. | Methods and systems for power management in a data processing system |
US7991992B2 (en) * | 2007-03-13 | 2011-08-02 | Intel Corporation | Power reduction for system on chip |
FR2916067B1 (fr) * | 2007-05-11 | 2009-08-21 | Thales Sa | Systeme automatise aux temps de reponse deterministes |
US8645740B2 (en) * | 2007-06-08 | 2014-02-04 | Apple Inc. | Methods and systems to dynamically manage performance states in a data processing system |
US7711864B2 (en) | 2007-08-31 | 2010-05-04 | Apple Inc. | Methods and systems to dynamically manage performance states in a data processing system |
KR101429674B1 (ko) * | 2007-09-11 | 2014-08-13 | 삼성전자주식회사 | 시스템 온 칩에서 전력 소모를 감소시키기 위한 장치 및방법 |
US8854924B2 (en) * | 2007-10-29 | 2014-10-07 | Agilent Technologies, Inc. | Method, a device and a system for executing an action at a predetermined time |
JP2009146061A (ja) * | 2007-12-12 | 2009-07-02 | Canon Inc | 情報処理装置及び前記装置の起動方法 |
US8711153B2 (en) * | 2007-12-28 | 2014-04-29 | Intel Corporation | Methods and apparatuses for configuring and operating graphics processing units |
US20090249090A1 (en) * | 2008-03-28 | 2009-10-01 | Schmitz Michael J | Method and apparatus for dynamic power management control using parallel bus management protocols |
US8312299B2 (en) * | 2008-03-28 | 2012-11-13 | Packet Digital | Method and apparatus for dynamic power management control using serial bus management protocols |
US8386672B2 (en) | 2008-07-08 | 2013-02-26 | Dell Products L.P. | Systems, methods and media for disabling graphic processing units |
JP2010057160A (ja) * | 2008-08-01 | 2010-03-11 | Nec Electronics Corp | 半導体集積回路 |
US8134565B2 (en) * | 2008-08-08 | 2012-03-13 | Dell Products, Lp | System, module and method of enabling a video interface within a limited resource enabled information handling system |
US8181059B2 (en) | 2008-09-26 | 2012-05-15 | Apple Inc. | Inter-processor communication channel including power-down functionality |
US8356200B2 (en) * | 2008-09-26 | 2013-01-15 | Apple Inc. | Negotiation between multiple processing units for switch mitigation |
US8300056B2 (en) | 2008-10-13 | 2012-10-30 | Apple Inc. | Seamless display migration |
US8370673B2 (en) * | 2008-10-30 | 2013-02-05 | Dell Products, Lp | System and method of utilizing resources within an information handling system |
US8274501B2 (en) | 2008-11-18 | 2012-09-25 | Intel Corporation | Techniques to control self refresh display functionality |
US8984309B2 (en) * | 2008-11-21 | 2015-03-17 | Intel Corporation | Reducing network latency during low power operation |
US9865233B2 (en) * | 2008-12-30 | 2018-01-09 | Intel Corporation | Hybrid graphics display power management |
US20100164966A1 (en) * | 2008-12-31 | 2010-07-01 | Apple Inc. | Timing controller for graphics system |
US8508538B2 (en) * | 2008-12-31 | 2013-08-13 | Apple Inc. | Timing controller capable of switching between graphics processing units |
US9542914B2 (en) * | 2008-12-31 | 2017-01-10 | Apple Inc. | Display system with improved graphics abilities while switching graphics processing units |
US9429983B1 (en) | 2013-09-12 | 2016-08-30 | Advanced Processor Architectures, Llc | System clock distribution in a distributed computing environment |
US9645603B1 (en) | 2013-09-12 | 2017-05-09 | Advanced Processor Architectures, Llc | System clock distribution in a distributed computing environment |
US11042211B2 (en) | 2009-08-07 | 2021-06-22 | Advanced Processor Architectures, Llc | Serially connected computing nodes in a distributed computing system |
WO2011017676A1 (en) | 2009-08-07 | 2011-02-10 | Advanced Processor Architectures, Llc | Distributed computing |
US8943347B2 (en) * | 2009-09-09 | 2015-01-27 | Advanced Micro Devices, Inc. | Controlling the power state of an idle processing device |
US8422643B2 (en) * | 2009-10-29 | 2013-04-16 | Cisco Technology, Inc. | Playback of media recordings |
CN102109899B (zh) * | 2009-12-23 | 2015-06-24 | 联想(北京)有限公司 | 计算机、显示器、及计算机的显示方法 |
US8823721B2 (en) * | 2009-12-30 | 2014-09-02 | Intel Corporation | Techniques for aligning frame data |
US8643658B2 (en) * | 2009-12-30 | 2014-02-04 | Intel Corporation | Techniques for aligning frame data |
US8648868B2 (en) | 2010-01-06 | 2014-02-11 | Apple Inc. | Color correction to facilitate switching between graphics-processing units |
US8797334B2 (en) | 2010-01-06 | 2014-08-05 | Apple Inc. | Facilitating efficient switching between graphics-processing units |
US8903366B2 (en) * | 2010-03-01 | 2014-12-02 | Samsung Electronics Co., Ltd. | Dynamic switching between software and hardware graphics rendering for power consumption |
CN102193765B (zh) * | 2010-03-12 | 2014-07-30 | 联想(北京)有限公司 | 显示信息更新的装置及方法 |
US8271812B2 (en) | 2010-04-07 | 2012-09-18 | Apple Inc. | Hardware automatic performance state transitions in system on processor sleep and wake events |
US9152218B2 (en) | 2010-12-22 | 2015-10-06 | Intel Corporation | Framework for runtime power monitoring and management |
US8468373B2 (en) | 2011-01-14 | 2013-06-18 | Apple Inc. | Modifying performance parameters in multiple circuits according to a performance state table upon receiving a request to change a performance state |
US8924752B1 (en) | 2011-04-20 | 2014-12-30 | Apple Inc. | Power management for a graphics processing unit or other circuit |
US9383804B2 (en) * | 2011-07-14 | 2016-07-05 | Qualcomm Incorporated | Method and system for reducing thermal load by forced power collapse |
US10817043B2 (en) * | 2011-07-26 | 2020-10-27 | Nvidia Corporation | System and method for entering and exiting sleep mode in a graphics subsystem |
JP2013093798A (ja) * | 2011-10-27 | 2013-05-16 | Kyocera Corp | 無線端末装置及び通信制御方法 |
US8782454B2 (en) | 2011-10-28 | 2014-07-15 | Apple Inc. | System and method for managing clock speed based on task urgency |
US8856566B1 (en) | 2011-12-15 | 2014-10-07 | Apple Inc. | Power management scheme that accumulates additional off time for device when no work is available and permits additional power consumption by device when awakened |
US9400545B2 (en) | 2011-12-22 | 2016-07-26 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including autonomous hardware-based deep power down in devices |
WO2013142959A1 (en) * | 2012-03-31 | 2013-10-03 | Smart Technologies Ulc | Schedule based interactive input system and method |
US9390461B1 (en) * | 2012-05-08 | 2016-07-12 | Apple Inc. | Graphics hardware mode controls |
US9104423B2 (en) * | 2012-05-16 | 2015-08-11 | Nvidia Corporation | Method and system for advance wakeup from low-power sleep states |
DE102012105986B3 (de) * | 2012-07-04 | 2013-03-14 | Fujitsu Technology Solutions Intellectual Property Gmbh | Computersystem und Verfahren zum Betrieb eines Computersystems |
CN102880785A (zh) * | 2012-08-01 | 2013-01-16 | 北京大学 | 针对gpu程序的源码级数据传输能耗估算方法 |
US9395799B2 (en) | 2012-08-09 | 2016-07-19 | Nvidia Corporation | Power management techniques for USB interfaces |
EP2904484A4 (en) | 2012-10-05 | 2016-06-01 | Tactual Labs Co | HYBRID SYSTEMS AND METHODS FOR THE PROCESSING AND FEEDBACK OF LOW-LATENCY USER ENTRY |
TWI499903B (zh) * | 2012-11-05 | 2015-09-11 | Inventec Corp | 電子裝置與電源控制方法 |
US9760150B2 (en) | 2012-11-27 | 2017-09-12 | Nvidia Corporation | Low-power states for a computer system with integrated baseband |
CN103857019B (zh) | 2012-11-30 | 2018-01-02 | 辉达公司 | 一种在移动终端中用于省电的方法 |
US9805441B2 (en) * | 2013-01-07 | 2017-10-31 | Google Technology Holdings LLC | Controlling embedded image data in a smart display |
TW201441826A (zh) * | 2013-04-26 | 2014-11-01 | Wistron Corp | 資料傳輸方法、觸控資料處理方法以及電子裝置 |
US9256316B2 (en) | 2013-05-04 | 2016-02-09 | Nvidia Corporation | Power gating a display of a data processing device during cloning thereof across an external display while retaining touch-sensibility thereof |
US9690354B1 (en) * | 2013-05-06 | 2017-06-27 | AGGIOS, Inc. | Automatic energy design and management system for assessing system components' energy consumption, compiling energy management control and optimizing energy usage |
US9354681B2 (en) | 2013-06-28 | 2016-05-31 | Intel Corporation | Protected power management mode in a processor |
AU2014286961A1 (en) | 2013-07-12 | 2016-01-28 | Tactual Labs Co. | Reducing control response latency with defined cross-control behavior |
US9612994B2 (en) * | 2013-09-18 | 2017-04-04 | Nvidia Corporation | Snoop and replay for completing bus transaction |
JP6209042B2 (ja) * | 2013-09-30 | 2017-10-04 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
CN103593036B (zh) * | 2013-11-05 | 2016-05-11 | 三星半导体(中国)研究开发有限公司 | 动态调整电压/时钟频率的片上系统 |
CN103559309B (zh) * | 2013-11-19 | 2016-05-25 | 北京航空航天大学 | 一种基于gpu加速的音乐检索与推荐系统 |
CN105446462B (zh) * | 2014-06-27 | 2020-12-18 | 联想(北京)有限公司 | 一种显示方法、装置、电路及电子设备 |
CN105320216A (zh) * | 2014-07-09 | 2016-02-10 | 莫日根 | 移动设备扩展坞 |
US20160077575A1 (en) * | 2014-09-17 | 2016-03-17 | Advanced Micro Devices, Inc. | Interface to expose interrupt times to hardware |
US10528117B2 (en) * | 2014-12-22 | 2020-01-07 | Qualcomm Incorporated | Thermal mitigation in devices with multiple processing units |
CN104679218A (zh) * | 2015-02-13 | 2015-06-03 | 小米科技有限责任公司 | 控制功耗的方法和装置 |
US9619014B2 (en) * | 2015-02-23 | 2017-04-11 | Qualcomm Innovation Center, Inc. | Suspend and resume timeline optimization for application processor |
US20170168853A1 (en) * | 2015-12-14 | 2017-06-15 | Qualcomm Incorporated | Dynamic predictive wake-up techniques |
MY184148A (en) * | 2015-12-25 | 2021-03-23 | Intel Corp | Power management system |
US9965220B2 (en) * | 2016-02-05 | 2018-05-08 | Qualcomm Incorporated | Forced idling of memory subsystems |
CN106445064B (zh) * | 2016-08-03 | 2019-07-30 | 芯启源(上海)半导体科技有限公司 | 电路系统、功耗管理系统及方法 |
US10185378B2 (en) * | 2016-10-03 | 2019-01-22 | Microsoft Technology Licensing, Llc | Prioritized sequencing of device inrush current |
US10817045B2 (en) | 2017-02-27 | 2020-10-27 | Ubilite, Inc. | Systems and methods for power management in low power communication device and system |
US11079834B2 (en) | 2017-02-27 | 2021-08-03 | Ubilite, Inc. | Systems and methods for power management in low power communication device and system |
US20180285292A1 (en) * | 2017-03-28 | 2018-10-04 | Qualcomm Incorporated | System and method of sending data via additional secondary data lines on a bus |
US10705885B2 (en) * | 2018-01-31 | 2020-07-07 | Palo Alto Networks, Inc. | Autoscaling of data processing computing systems based on predictive queue length |
CN112088347A (zh) * | 2018-07-31 | 2020-12-15 | 惠普发展公司,有限责任合伙企业 | 组件类型的功率限制变更 |
TWI825972B (zh) * | 2022-09-02 | 2023-12-11 | 英屬維爾京群島商威爾德嘉德有限公司 | 影像處理系統、方法、電子設備及介質 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1372659A (zh) * | 2000-05-08 | 2002-10-02 | 三菱电机株式会社 | 计算机系统及计算机可读取记录媒体 |
US6795781B2 (en) * | 2002-06-27 | 2004-09-21 | Intel Corporation | Method and apparatus for compiler assisted power management |
EP1739523A2 (en) * | 2005-06-30 | 2007-01-03 | Seiko Epson Corporation | Information processing apparatus and power control method |
Family Cites Families (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5452401A (en) * | 1992-03-31 | 1995-09-19 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
US5706407A (en) * | 1993-12-28 | 1998-01-06 | Kabushiki Kaisha Toshiba | System for reallocation of memory banks in memory sized order |
US5623677A (en) * | 1994-05-13 | 1997-04-22 | Apple Computer, Inc. | Apparatus and method for reducing power consumption in a computer system |
US5768599A (en) * | 1995-02-28 | 1998-06-16 | Nec Corporation | Interrupt managing system for real-time operating system |
US6115776A (en) * | 1996-12-05 | 2000-09-05 | 3Com Corporation | Network and adaptor with time-based and packet number based interrupt combinations |
US6002436A (en) * | 1997-08-28 | 1999-12-14 | Flashpoint Technology, Inc. | Method and system for auto wake-up for time lapse image capture in an image capture unit |
US6473607B1 (en) * | 1998-06-01 | 2002-10-29 | Broadcom Corporation | Communication device with a self-calibrating sleep timer |
JP3297389B2 (ja) | 1998-12-07 | 2002-07-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 消費電力制御方法および電気機器 |
US6360327B1 (en) * | 1999-03-12 | 2002-03-19 | Compaq Information Technologies Group, L.P. | System with control registers for managing computer legacy peripheral devices using an advanced configuration power interface software power management system |
US6477654B1 (en) * | 1999-04-06 | 2002-11-05 | International Business Machines Corporation | Managing VT for reduced power using power setting commands in the instruction stream |
US6434708B1 (en) * | 1999-04-09 | 2002-08-13 | Integrated Technology Express, Inc. | Programmable timer & methods for scheduling time slices executed by a controller circuit |
US6442700B1 (en) | 1999-08-10 | 2002-08-27 | Intel Corporation | Thermal control within systems having multiple CPU performance states |
US6633942B1 (en) * | 1999-08-12 | 2003-10-14 | Rockwell Automation Technologies, Inc. | Distributed real-time operating system providing integrated interrupt management |
JP2001188628A (ja) | 1999-12-28 | 2001-07-10 | Nec Corp | 画像処理装置の消費電力低減装置 |
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 |
AU2552701A (en) | 2000-01-13 | 2001-07-24 | Access Co., Ltd. | Computer system and power saving control method therefor |
GB2360670B (en) * | 2000-03-22 | 2004-02-04 | At & T Lab Cambridge Ltd | Power management system |
US6816750B1 (en) * | 2000-06-09 | 2004-11-09 | Cirrus Logic, Inc. | System-on-a-chip |
JP2001358672A (ja) * | 2000-06-13 | 2001-12-26 | Matsushita Electric Ind Co Ltd | 送出/受信システムおよび放送システム |
US7165134B1 (en) * | 2000-06-28 | 2007-01-16 | Intel Corporation | System for selectively generating real-time interrupts and selectively processing associated data when it has higher priority than currently executing non-real-time operation |
US20020087225A1 (en) * | 2001-01-03 | 2002-07-04 | Howard Gary M. | Portable computing device having a low power media player |
US6715089B2 (en) * | 2001-01-22 | 2004-03-30 | Ati International Srl | Reducing power consumption by estimating engine load and reducing engine clock speed |
US20020112193A1 (en) * | 2001-02-09 | 2002-08-15 | International Business Machines Corporation | Power control of a processor using hardware structures controlled by a compiler with an accumulated instruction profile |
US7058823B2 (en) * | 2001-02-28 | 2006-06-06 | Advanced Micro Devices, Inc. | Integrated circuit having programmable voltage level line drivers and method of operation |
US6586963B2 (en) | 2001-03-26 | 2003-07-01 | Samsung Electronics Co., Ltd. | Integrated circuit devices having power control logic that inhibits internal leakage current loss during sleep mode operation and method of operating same |
US7254721B1 (en) | 2001-05-01 | 2007-08-07 | Advanced Micro Devices, Inc. | System and method for controlling an intergrated circuit to enter a predetermined performance state by skipping all intermediate states based on the determined utilization of the intergrated circuit |
WO2003021439A1 (en) * | 2001-08-29 | 2003-03-13 | Analog Devices, Inc. | Methods and apparatus for improving throughput of cache-based embedded processors by switching tasks in response to a cache miss |
US7345671B2 (en) * | 2001-10-22 | 2008-03-18 | Apple Inc. | Method and apparatus for use of rotational user inputs |
US6816977B2 (en) * | 2001-12-03 | 2004-11-09 | Hewlett-Packard Development Company, L.P. | Power reduction in computing devices using micro-sleep intervals |
US7114086B2 (en) * | 2002-01-04 | 2006-09-26 | Ati Technologies, Inc. | System for reduced power consumption by monitoring instruction buffer and method thereof |
JP3770836B2 (ja) * | 2002-01-23 | 2006-04-26 | 株式会社ルネサステクノロジ | 高速に電源スイッチのオンオフが可能な論理回路及び同論理回路における電流低減方法 |
US6965763B2 (en) * | 2002-02-11 | 2005-11-15 | Motorola, Inc. | Event coordination in an electronic device to reduce current drain |
US7010710B2 (en) * | 2002-03-12 | 2006-03-07 | International Business Machines Corporation | Proximity sensor enhanced power management |
US7256788B1 (en) * | 2002-06-11 | 2007-08-14 | Nvidia Corporation | Graphics power savings system and method |
US7100062B2 (en) * | 2003-01-28 | 2006-08-29 | Hewlett-Packard Development Company, L.P. | Power management controller and method |
US7219182B2 (en) * | 2003-03-10 | 2007-05-15 | Marvell International Ltd. | Method and system for using an external bus controller in embedded disk controllers |
US7627343B2 (en) * | 2003-04-25 | 2009-12-01 | Apple Inc. | Media player system |
US7039819B1 (en) * | 2003-04-30 | 2006-05-02 | Advanced Micro Devices, Inc. | Apparatus and method for initiating a sleep state in a system on a chip device |
TW200502847A (en) * | 2003-07-08 | 2005-01-16 | Benq Corp | Control device and method for reducing number of interrupts in a processor |
JP3919740B2 (ja) | 2003-07-30 | 2007-05-30 | 株式会社ソニー・コンピュータエンタテインメント | 回路動作制御装置および情報処理装置 |
JP4651926B2 (ja) * | 2003-10-03 | 2011-03-16 | 株式会社 日立ディスプレイズ | 画像表示装置 |
US7428645B2 (en) * | 2003-12-29 | 2008-09-23 | Marvell International, Ltd. | Methods and apparatus to selectively power functional units |
US7698575B2 (en) * | 2004-03-30 | 2010-04-13 | Intel Corporation | Managing power consumption by requesting an adjustment to an operating point of a processor |
US7366921B2 (en) | 2004-04-23 | 2008-04-29 | Hewlett-Packard Development Company, L.P. | Selecting input/output devices to control power consumption of a computer system |
US7373536B2 (en) * | 2004-08-04 | 2008-05-13 | Kabushiki Kaisha Toshiba | Fine granularity halt instruction |
US7360106B2 (en) * | 2004-08-05 | 2008-04-15 | Matsushita Electric Industrial Co., Ltd. | Power-saving processing unit, power-saving processing method and program record medium |
JP2006107127A (ja) | 2004-10-05 | 2006-04-20 | Nec Electronics Corp | 半導体集積回路装置 |
US7529958B2 (en) * | 2004-11-15 | 2009-05-05 | Charles Roth | Programmable power transition counter |
KR100705571B1 (ko) * | 2005-01-03 | 2007-04-10 | 삼성전자주식회사 | 휴면 상태를 지원하는 프로세서의 소프트웨어 시간 보상 장치 및 그 방법 |
US7487374B2 (en) * | 2005-01-13 | 2009-02-03 | International Business Machines Corporation | Dynamic power and clock-gating method and circuitry with sleep mode based on estimated time for receipt of next wake-up signal |
JP4082706B2 (ja) * | 2005-04-12 | 2008-04-30 | 学校法人早稲田大学 | マルチプロセッサシステム及びマルチグレイン並列化コンパイラ |
US7430673B2 (en) * | 2005-06-30 | 2008-09-30 | Intel Corporation | Power management system for computing platform |
US7600136B2 (en) * | 2005-08-19 | 2009-10-06 | Seagate Technology Llc | Power management in an information channel |
US7562234B2 (en) | 2005-08-25 | 2009-07-14 | Apple Inc. | Methods and apparatuses for dynamic power control |
US7539880B2 (en) | 2005-09-09 | 2009-05-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for managing power consumption |
US7496770B2 (en) * | 2005-09-30 | 2009-02-24 | Broadcom Corporation | Power-efficient technique for invoking a co-processor |
US7633076B2 (en) | 2005-09-30 | 2009-12-15 | Apple Inc. | Automated response to and sensing of user activity in portable devices |
DE102005047619B4 (de) * | 2005-10-05 | 2008-04-17 | Infineon Technologies Ag | Anordnung zur Datenverarbeitung und Verfahren zum Steuern einer Datenverarbeitungs-Anordnung |
TW200721013A (en) * | 2005-11-25 | 2007-06-01 | Via Tech Inc | Power source management apparatus of multi-processor system and method thereof |
TW200821831A (en) * | 2005-12-21 | 2008-05-16 | Nxp Bv | Schedule based cache/memory power minimization technique |
US7644294B2 (en) * | 2006-01-06 | 2010-01-05 | Advanced Micro Devices, Inc. | Dynamically self-decaying device architecture |
US7827425B2 (en) * | 2006-06-29 | 2010-11-02 | Intel Corporation | Method and apparatus to dynamically adjust resource power usage in a distributed system |
US8806228B2 (en) * | 2006-07-13 | 2014-08-12 | International Business Machines Corporation | Systems and methods for asymmetrical performance multi-processors |
US7529956B2 (en) * | 2006-07-17 | 2009-05-05 | Microsoft Corporation | Granular reduction in power consumption |
US20080100636A1 (en) * | 2006-10-31 | 2008-05-01 | Jiin Lai | Systems and Methods for Low-Power Computer Operation |
US7788434B2 (en) * | 2006-12-15 | 2010-08-31 | Microchip Technology Incorporated | Interrupt controller handling interrupts with and without coalescing |
US7917784B2 (en) * | 2007-01-07 | 2011-03-29 | Apple Inc. | Methods and systems for power management in a data processing system |
US8020025B2 (en) * | 2008-06-04 | 2011-09-13 | Sony Ericsson Mobile Communications Ab | Power saving scheduler for timed events |
-
2007
- 2007-01-07 US US11/620,703 patent/US7917784B2/en active Active
- 2007-12-18 AU AU2007342556A patent/AU2007342556B2/en active Active
- 2007-12-18 CN CN200780049457.XA patent/CN101573677B/zh active Active
- 2007-12-18 EP EP07863051.4A patent/EP2115550B1/en active Active
- 2007-12-18 EP EP11187173.7A patent/EP2434370A3/en not_active Ceased
- 2007-12-18 WO PCT/US2007/025848 patent/WO2008085341A2/en active Application Filing
-
2011
- 2011-03-03 US US13/040,003 patent/US8145928B2/en active Active
-
2012
- 2012-02-24 US US13/405,209 patent/US8473764B2/en active Active
-
2013
- 2013-06-18 US US13/921,100 patent/US8762755B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1372659A (zh) * | 2000-05-08 | 2002-10-02 | 三菱电机株式会社 | 计算机系统及计算机可读取记录媒体 |
US6795781B2 (en) * | 2002-06-27 | 2004-09-21 | Intel Corporation | Method and apparatus for compiler assisted power management |
EP1739523A2 (en) * | 2005-06-30 | 2007-01-03 | Seiko Epson Corporation | Information processing apparatus and power control method |
Also Published As
Publication number | Publication date |
---|---|
US20130283076A1 (en) | 2013-10-24 |
AU2007342556A1 (en) | 2008-07-17 |
EP2115550B1 (en) | 2020-01-22 |
EP2434370A2 (en) | 2012-03-28 |
US20080168285A1 (en) | 2008-07-10 |
AU2007342556B2 (en) | 2011-06-02 |
US20120185712A1 (en) | 2012-07-19 |
US8473764B2 (en) | 2013-06-25 |
US7917784B2 (en) | 2011-03-29 |
US8762755B2 (en) | 2014-06-24 |
CN101573677A (zh) | 2009-11-04 |
US8145928B2 (en) | 2012-03-27 |
US20110219252A1 (en) | 2011-09-08 |
EP2115550A2 (en) | 2009-11-11 |
WO2008085341A2 (en) | 2008-07-17 |
WO2008085341A3 (en) | 2009-01-08 |
EP2434370A3 (en) | 2015-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101573677B (zh) | 用于数据处理系统中的功率管理的方法和系统 | |
CN103890694B (zh) | 基于任务紧急性来管理时钟速率的系统和方法 | |
US9632563B2 (en) | Methods and systems for time keeping in a data processing system | |
US20130007492A1 (en) | Timer interrupt latency | |
US8812761B2 (en) | System and method for adjusting power usage to reduce interrupt latency | |
US8271812B2 (en) | Hardware automatic performance state transitions in system on processor sleep and wake events | |
KR101677820B1 (ko) | 스케줄링된 리소스 셋트 천이들을 이용하여 휴대용 컴퓨팅 디바이스에 대한 워크 로드 추정을 통한 전력 절약 | |
US7996578B2 (en) | Methods and systems to dynamically manage performance states in a data processing system | |
US9423846B2 (en) | Powered ring to maintain IO state independent of the core of an integrated circuit device | |
US9760150B2 (en) | Low-power states for a computer system with integrated baseband | |
US20060107077A1 (en) | Programmable power transition counter | |
US20090204835A1 (en) | Use methods for power optimization using an integrated circuit having power domains and partitions | |
US20090204837A1 (en) | Power control system and method | |
CN105824393A (zh) | 片上系统、管理其功率的方法和电子装置 | |
US8645740B2 (en) | Methods and systems to dynamically manage performance states in a data processing system | |
AU2011218741B2 (en) | Methods and systems for power management in a data processing system | |
Marcu | Energy-Efficiency Study of Power-Aware Software Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |