一种用于管理微处理器能源消耗的装置及方法

文档序号:6395031阅读:197来源:国知局
专利名称:一种用于管理微处理器能源消耗的装置及方法
技术领域
本发明涉及一种微处理器的能源管理,尤其涉及一种在微处理器中利用控制资源以达到能源管理的装置及方法。
背景技术
对于现代的计算机系统而言,能源消耗的管理在设计上是一个极重要的考虑。这项论点,在所谓的膝上型轻便计算机或是笔记型计算机这两项产品上更是不可置否,对于喜爱携带方便或是经常出游的使用者来说,膝上型轻便计算机或是笔记型计算机的电池寿命将是一个重要的问题。因此,在这样一个工作环境需求因素下,促使计算机设计人员提供可减少能源消耗的技术来设计较省能源的计算机。
一个能减少能源消耗的方法便是多重能源机制,该机制已在微软的Windows XP操作系统实现。举例来说,这类机制包含有1)家用/办公室、2)携带/膝上型轻便计算机、3)展示模式、4)无需能源管理、5)能源控管最小化、6)电池最小用量等六种模式。在这些个模式中,不外乎就是超过闲置时间后便针对计算机系统中的各部分装置或组件进行停止供电以节省能源。以携带/膝上型轻便型计算机为例,当该携带/膝上型轻便型计算机系统以电池供电运行时,若系统闲置超过五分钟以上则硬盘自动停止运转、若系统闲置超过十五分钟以上则自动停止对屏幕供电、若系统闲置超过十五分钟以上便进入待机状态、若系统闲置超过二个小时以上便进入休眠状态。
除了上述将计算机系统的各种组件停止运行以节省能源的方法外,尚有另一个方法则是当计算机系统运行时,控制与微处理器相关的能源消耗。其中又分成两大类,一是改变微处理器内部的中心频率,二是改变微处理器的电压。举例来说,若是将微处理器内部的中心频率降低同时将微处理器的中心电压调降便能大大地减少微处理器的能源消耗。然而,在现今这两个方法皆需依赖外部输入以指示微处理器,因此微处理器依然消耗大量的能源。
在许多情况下,计算机系统所依赖的操作系统会动态地估计微处理器能源利用的情形。借助监控微处理器执行特殊种类的使用者程序而且根据一系列运行型态粗略地测量能源消耗的总量。举个例子,一个影像处理程序(如MPEG译码器)使用许多显著的单一指令/多重数据指令,而这些指令则是相当依赖微处理器中的某些功能性单元。因此,由于高阶的微处理器内部架构使得操作系统能够猜测性地估计出执行特殊应用程序时的能源消耗总量,若是估计出的能源消耗相当低,表示没必要将处理器的效能降低,然而若是估计出一个相当大的消耗量超出一个预定值,操作系统可以指示微处理器降低处理的效能以达到减少能源消耗的目的。如上所述,似乎暗示着降低效能就如同借助降低中心运行频率或是同时降低中心运行频率及电压以减少能源消耗。如此这些能源管理的方法仰赖降低一些系统步骤或状态所消耗的能源,而这些方法是较为粗糙的。
现代的计算机都遵守电力管理系统接口的规范,操作系统能直接对主机板上的装置进行变更组态且也能进行能源管理,即电力管理系统接口是操作系统直接组态与电源管理的主要元素。简言之,电力管理系统接口为微处理器提供了多重能源状态给操作系统控制,但是这些多重能源状态能达到的水平一样是与先前所述的节省能源机制没有太大的差别。
在应用上,上述的能源管理方法对于计算机系统整个生命周期来说是无益的。例如在太空试验探针中管理数以百计的微处理组件的能源消耗能够延长该探针的寿命而能使它能执行更多的实验。但是在现今能源管理的技术已是完全彰显于微处理器估计与管理能源消耗的能力,因为这些能源管理的技术是依赖外部感应机机制来粗略地推断被消耗的能量总量,这些微处理器提供相称数量的能源管理步骤供以操作系统直接控制。现今微处理器无法提供一个精确的方法用以管理能源消耗,而这样的精确方法应该是具备一个有意义的并且是由功能性单元产生的回馈。

发明内容
因此,本发明的目的是将一个微处理器中需要的每个单独的功能性组件的能源使用划分至很细的程度使得能源消耗更精确地控制与管理。
为了实现上述目的,本发明提供一种处理器包含多个功能性单元,每一该功能性单元包含多个相对应的活动输出,当每一该功能性单元允许时,相对应的这些活动输出将用于指示活动;该处理器也包含一能源使用估计逻辑电路,耦合至这些活动输出,用以估计目前的活动以决定该微处理器一目前能源总消耗值;该处理器又包含一能源控制逻辑电路,耦合至该能源使用估计逻辑电路,用以将该目前能源总消耗值与一能源临界值作比较,其中该能源临界值包含于一特定能源特性数据中;该处理器又包含一能源消耗控制器,耦合至该能源控制逻辑电路以及这些功能性单元,当该目前能源总消耗值超过该能源临界值时,用以操作多个能源消减模式的其中一个。
本发明又提供一种处理器包含多个功能性单元,每一个单元包含多个相对应的活动输出,当每一该功能性单元允许时,相对应的这些活动输出将用于指示活动;该处理器又包含一能源使用估计逻辑电路,耦合至这些活动输出,用以估计目前的活动以决定该微处理器一目前能源总消耗值;该处理器也包含一能源控制逻辑电路,耦合至该能源使用估计逻辑电路,用以将该目前能源总消耗值与一能源临界值作比较,其中该能源临界值包含于一特定能源特性数据中;该处理器也包含一能源消耗控制器,耦合至该能源控制逻辑电路,当该目前能源总消耗值超过该能源临界值时用以禁止一第一功能性单元以减少微处理器的能源消耗。
本发明还提供一种微处理器包含多个功能性单元,每一该功能性单元包含一活动输出,当每一该功能性单元允许时,相对应的该活动输出将用于指示活动;该微处理器又包含一能源管理逻辑电路,耦合至每一该功能性单元的活动输出,用以估计每一该功能性单元的活动以决定微处理器一目前能源总消耗值;该微处理器也包含一能源消耗控制器,耦合至该能源管理逻辑电路以及这些功能性单元,当该目前能源总消耗值超过该能源临界值时,禁止至少一个该功能性单元的能源消耗。
本发明提供一种用于管理一微处理器能源消耗的方法,该微处理器包含多个功能性单元,该方法包括指定一能源特性数据予该微处理器,该能源特性数据具有一能源临界值;估计每一该功能性单元的活动以决定微处理器一目前能源总消耗值;比较该目前能源总消耗值与该能源临界值;当该目前能源总消耗值超过该能源临界值时,操作多个能源消减模式的其中一个模式。
本发明还提供一种用于管理一微处理器能源消耗的方法,该方法包含由多个能源特性数据中选取一个予该微处理器,其中每一这些能源特性数据具有一能源临界值;估计每一该功能性单元的活动以决定微处理器一目前能源总消耗值;比较该目前能源总消耗值与该能源临界值;当该目前能源总消耗值超过该能源临界值时,禁止至少一个该功能性单元以减少该微处理器的能源消耗。
本发明的优点在于,能够减少能源耗损,并且可以根据使用者所指定的能源特性数据来进行能源管理。关于本发明的优点与精神可以借助以下的发明详述及附图得到进一步的了解。
为让本发明的上述和其它目的、特征、和优点能更明显易懂,下文特举一较佳实施例,并配合附图,作详细说明如下


图1显示已知计算机系统方框图。
图2显示本发明的微处理器方框图。
图3显示根据本发明的图2的微处理器的部份详细方框图。
图4显示能源控制指令信号的示意图。
图5显示组成能源控制指令信号的地址及命令的对照表。
图6显示根据本发明的一实施例运行的流程图。
其中,附图标记说明如下100已知计算机系统 105微处理器110电源供应器 115主机与输入/输出控制器120主存储器125显示器130图形控制器 135非挥发性储存装置145扩充槽 150扩充总线155输入输出装置160基本输入输出系统固件165操作系统200微处理器201~20N功能性单元 210能源使用估计逻辑电路210AUSE信号215能源管理逻辑电路
220能源控制逻辑电路 225控制总线230能源消耗控制器300微处理器301提取单元 302转译单元303缓存单元 304地址单元305执行单元 306写回单元310内存 315高速缓存单元320分支预测单元 325能源使用估计逻辑电路330能源管理逻辑电路 335USE总线340能源控制逻辑电路 345能源消耗控制器350SELECT输入 355控制总线360可变电压的电源供应器 370能源供应控制单元372可变时钟频率控制单元 374L1高速缓存控制单元376L2高速缓存控制单元 378分支预测控制单元380可变速率配给器 382浮点数控制单元384多媒体延伸控制单元 386其它控制单元400控制指令 405控制单元地址栏410指令字段具体实施方式
现参考图1,显示已知计算机系统100方框图使用一微处理器105,而该微处理器105的能源管理是外接的。电源供应器110耦合至微处理器105、主机与输入/输出控制器115以及系统100的其它的组件。控制器115耦合至微处理器105、主存储器120以及经由图形控制器130耦合至显示器125。非挥发性储存装置135如硬盘或是其它储存媒体,耦合至控制器115以提供给系统100固定性的储存。扩充槽145经由扩充总线150耦合至控制器115。输入输出装置155如键盘或是鼠标,皆耦合至控制器115。基本输入输出系统固件160耦合至控制器115,用以控制系统100中其它硬件装置的运行。
上述所有的装置所消耗的能源皆来自于能源供应器110。当系统100启动(如开机)操作系统165在基本输入输出系统固件160的指示下,将会从非挥发性储存装置135加载至主存储器120,之后微处理器105将执行操作系统。这个例子显示计算机系统100利用之前提到的电力管理系统接口使得操作系统能够直接进行主机板装置组态以及电源管理。电力管理系统接口提供一个管道,使得操作系统能够操作各种能源状态来进行能源管理,这些能源状态包含主动状态,在此状态下微处理器105得以执行指令;多重睡眠状态,在此状态下微处理器105比较起主动状态下,消耗较少的能源、散发较少的热量。当微处理器105在主动状态下,电力管理系统接口也能够降低微处理器的效能以求节省能源。在某些相关的系统中,也已经有外接的微控制器接受输出输入系统的指示,用以管理能源耗损。
现参考图2,显示本发明的微处理器方框图。于微处理器200中,能源的消耗是动态地被管理如同一个资源利用的函数。在此实施例中,各种功能性单元所使用的能源将会被测量以及处理借以决定整个微处理器的能源消耗,而此项能源消耗数值比较起先前提到粗略估计要更为精细。
微处理器200包含功能性单元201-20N,其中N是功能性单元的数量。功能性单元201-20N是一种逻辑电路、电路、装置或是微程序(如微指令或是原生码)或是一种逻辑电路、装置、微程序或是等效组件的组合,用以处理特别的函数。举例来说,在微处理器200中的这些功能性单元201-20N可能是提取单元、转换器、缓存单元、地址单元、执行单元、正整数单元、浮点数单元、多媒体延伸单元、算数逻辑单元、写回单元、分支预测单元以及各种等级的内部高速缓存。在此实施例中,功能性单元每个都包含一个输出主动信号,主动信号说明特定的某个功能性组件是主动的(即被允许且处理它特定的函数时)以及消耗的能源。这些输出主动信号可以是活动输出,在另一个实施中,这些输出主动信号的值指出特定的功能性单元消耗的能源。
这些功能性单元的输出主动信号(或活动输出)耦合至能源使用估计逻辑电路210的输入端,该能源使用估计逻辑电路210存在于能源管理逻辑电路215内。能源管理逻辑电路215是一种逻辑电路、电路、装置或是微程序(如微指令或是原生码)或是一种逻辑电路、装置、微程序或是等效组件的组合,用以处理能源管理的活动。在此实施例中,能源管理逻辑电路215分别估计功能性单元201-20N的能源消耗,此外能源管理逻辑电路215也会随着时间变化动态地决定微处理器200中的所有功能性单元201-20N消耗能源的总量。一旦目前能源总消耗值决定并且如果有需要的话,能源管理逻辑电路215便会采取动作增加或减少功能性单元201-20N的能源消耗。即是说如果在某个时间点上,目前能源总消耗值大于一个预先决定的临界值,则能源管理逻辑电路215便会采取动作以减少功能性单元201-20N的各别能源消耗。在实行这一个估计和控制能源的程序时,个别与整体的功能性单元201-20N所消耗能源的量会一起监控及精确地估计。更有利地,根本不需依靠外接式的传感器更能达到这样的功效。
更深入点地说,监控有些或所有的功能性单元201-20N所消耗的能量以决定他们的能量消耗。而本领域技术人员都知道其实可以只量测部份的201-20N功能性单元,不过为了精确度还是建议量测尽量多的功能性单元。即,虽然并不是一定要测量出每一个功能性单元所消耗能,但还是尽可能地在某个特别的应用程序执行时,最好能测量出每一个功能性单元所消耗的能源。
能源使用估计逻辑电路210是一种逻辑电路、电路、装置或是微程序(如微指令或是原生码)或是一种逻辑电路、装置、微程序或是等效组件的组合,用以估计功能性单元201-20N的能源消耗。能源使用估计逻辑电路210包含一个输出210A,此为一个“USE”信号,产生此信号用以提供一个目前功能性单元201-20N所消耗的量。借助能源使用估计逻辑电路210所提供的“使用”信号指示目前能源消耗的量,这样一个机制在后面会更详细地说明。在一实施例中,信号“使用”包含能源总消耗值且耦合至能源控制逻辑电路220。能源控制逻辑电路220监控着信号“使用”指示能源总消耗值何时大于一个预先决定的临界值时,若在某个时间点能源总消耗值大于一个预先决定的临界值,则能源控制逻辑电路220生一个适当的信号经由控制总线225指示能源消耗控制器230减少任一个或是所有的功能性单元201-20N减少能源消耗。此时,至少一个功能性单元201-20N便进入了一个能源消减模式。借助能源控制逻辑电路220与能源消耗控制器230连接而运行用以减少微处理器能源消耗的机制在图3会更加详细说明。借助能源消耗控制器230进入能源消减模式以减少能源消耗的例子包含减少微处理器200的电压供应、降低微处理器200的频率、禁止内部高速缓存、降低发放指令的速率以及禁止分支预测。其它的能源消减模式也可能是上述例子中的组合。在微处理器200中的其它组件也可以被降低效能以达到此目的。
请参阅图3与图2一起讨论,图3显示根据本发明的图2的微处理器的部份详细方框图。图2与图3中的所描写的术语或是命名有点相似。在一实施例中,微处理器300是一个平行处理化X86架构的处理器,包含下列功能性单元提取单元301、转译单元302、缓存单元303、地址单元304、执行单元305以及写回单元306。每一个功能性单元301-306包含一个频率信号CLK的输入。
每个功能性单元301-306也包含一个活动输出(在图3中称为ACTIVE),每一个活动输出提供一个活动信号以显示相对应的功能性单元正在运行以及消耗能源,这些动作和先前图2中提过的动作相同。在一实施例中,活动信号ACTIVE输出指示个别功能性单元301-306如何活动以及活动输出提供个别功能性单元301-306随着时间所消耗的能源。活动输出是每个频率周期刷新一次,而活动输出的刷新可说明相对应的功能性单元是否为主动(即,允许与处理特别的函数)状态。有些功能性单元301-306可以被禁止、控制减少能源消耗并且允许或是当不再需要节省能源时控制增加能源消耗。
如图3所示,内存310经由高速缓存单元315耦合至提取单元301。高速缓存单元315包含L1高速缓存及L2高速缓存,其中L1高速缓存包含EN/DIS输入(即,允许/禁止),因此为了节少能源消耗可以禁止L1高速缓存,但也会降低系统效能。同样地,L2高速缓存包含EN/DIS输入(即,允许/禁止),因此为了节省能源消耗可以禁止L2高速缓存,但也会降低系统效能。而当L1高速缓存与L2高速缓存都允许时,根据说明书系统能够达到最好的效能。
微处理器300包含一分支预测单元320,该分支预测单元320耦合至该提取单元301。当微处理器300在一个正在执行的程序中遇到一个分支指令时,分支预测单元320提供微处理器300一是否要分支的预测。分支预测单元320能够加快微处理器300的执行速度,但是在某些应用中它并非是很重要的组件。在图3的微处理器300中,分支预测单元320包含EN/DIS输入,因此为了节省能源消耗可以禁止,但也会降低系统效能。
在此实施例中,执行单元305包含一整数单元(IU)一浮点数单元(FPU)以及一多媒体延伸单元,用以掌控多媒体延伸指令。在程序执行时浮点数单元并非必要的,但是对于某些应用程序,浮点数单元可以加快微处理器300的处理速度。浮点数单元包含EN/DIS输入,因此为了节省能源消耗可以禁止,但也会降低系统效能。或是为了执行浮点运算,将它允许以增加效率。相同地,多媒体延伸单元包含EN/DIS输入,因此为了节省能源消耗可以禁止,但也会降低系统效能。
如上所述,在此实施例中的提取单元301、转译单元302、缓存单元303、地址单元304、执行单元305以及写回单元306,每一个都有活动输出(标示着ACTIVE)。每一该活动输出指出相对应的单元被允许并且正在处理特定的函数。以另一个角度来看,活动输出指出相对应的单元各自的能源消耗。先前提到执行单元305中包含的整数单元(IU)、浮点数单元(FPU)以及多媒体延伸单元也都有活动输出(ACTIVE)也以相同的方式指出能源的消耗。这些活动输出皆耦合至能源使用估计逻辑电路325,能源使用估计逻辑电路325包含在能源管理逻辑电路330中。需要注意的是,在此微处理器300中,提取单元301、转译单元302、缓存单元303以及写回单元306被认为在处理器运算时是极为重要的,因此都不包含EN/DIS输入无法使提取单元301、转译单元302、缓存单元303以及写回单元306禁止以节省能源消耗。但是在能源管理逻辑电路330的控制之下,当活动或是能源消耗到达某个程度时,功能性单元301-306的频率以及/或电源供应可被减少以节省能源,在后面会更详细解释。减少频率以及电源供应皆是本发明所考虑额外的能源消减模式。
能源管理逻辑电路330估计以及监控能源消耗,经由各种的功能性单元301-306、315以及320将更仔细地讨论如下。能源使用估计逻辑电路325监控着前述的功能性单元301-306、315以及320的活动输出,并且被告知每一个功能性单元301-306、315以及320的活动总数。在某些情况下,特定的功能性单元301-306、315以及320的活动总数与该功能性单元的能源消耗有着密切的关系。而在其它情况,一个功能性单元301-306、315以及320不管它是否处理本身该处理的特定函数,它只会消耗固定的能源。为了方便讨论,假设微处理器300初始化完成,所有的功能性单元301-306、315以及320都被允许且消耗能源。在这情形下,从各种功能性单元301-306、315以及320所送出的活动信号皆有数值指示活动。数值愈高的活动信号代表着该活动愈庞大以及该活动消耗的能源也愈大。
在一示范的实施例中,能源使用估计逻辑电路325包含一对照表1,表1的内容说明每个功能性单元301-306、315以及320的活动输出与能源消耗的对应关系。活动信号的数值范围由1至10,数值为1代表对应的该功能性单元最小的活动量,数值为10代表对应的该功能性单元最大的活动量。请注意不同的功能性单元301-306、315以及320所消耗的能源也不尽相同。因此,一个功能性单元的活动信号数值为10以比例对应的能源消耗值与另一个功能性单元的活动信号数值为10以比例对应的能源消耗值也许是不同的,取决于每一该功能性单元301-306、315以及320的最大能源消耗值。

表一.(对照表1)在表一中的信息显示一个示范的微处理器中功能性单元的活动信号数值与对应的能源消耗值。在实际情况下,功能性单元301-306、315以及320的活动信号数值与对应的能源消耗值是会随着微处理器不同而也有所差异。在此实施例中,功能性单元301-306、315以及320的活动信号数值与对应的能源消耗值是借助量测与分析之后,产生的一个预先决定值。在表一中的能源消耗值横越活动信号数值整个1-10的范围,例如表一中关于L2高速缓存的部分显示于表二,如下

表二(L2高速缓存)相同地,表一中关于提取单元301的部分显示于表三,如下


表三(提取单元)值得注意的是,有些功能性单元301-306、315以及320可以接受控制以减少能源消耗,而有些则仅仅只能以禁止的方式减少能源消耗。
由于每一个功能性单元301-306、315以及320的活动信号是提供给能源使用估计逻辑电路325并且借助对照表1用以决定每一个功能性单元301-306、315以及320所对应的目前能源消耗值,所以能源使用估计逻辑电路325能够一个个频率周期动态地、更精确地决定微处理器300的总能源消耗。在一实施例中,每一个功能性单元301-306、315以及320的活动信号可以一个频率周期更新一次,所以这是能作到的。于另一实施例中,活动信号可以每N个频率周期更新一次,N是由1至1000的正整数。
更仔细点地说,能源使用估计逻辑电路325由特定的功能性单元301-306、315以及320接收活动信号并且从表一中查照出相对应的能源消耗值。能源使用估计逻辑电路325聚集个别功能性单元的能源消耗值以决定总能源消耗值并且于USE总线335上回送结果。
为了更详尽地说明能源使用估计逻辑电路325如何决定回送于USE总线335上的总能源消耗值,我们将讨论一个例子。但是,首先让我们回顾一些具有EN/DIS输入能用以禁止并且减少能源消耗的功能性单元,这些功能性单元有L1与L2高速缓存、分支预测单元320以及执行单元305中的浮点运算单元与多媒体延伸单元。而其余的功能性单元,如提取单元301、转译单元302、缓存单元303、地址单元304、执行单元中的正整数单元以及写回单元306,这些功能性单元皆是以一种可变化的量来消耗能源并且可以接受控制选择性地上述的方法以减少能源消耗。请注意,本发明包含许多个其它的技术用以控制功能性单元301-306的能源消耗,如改变中心频率、改变核心逻辑电路的电压以及指令交错安排法,即允许指令以每N个频率信号持续进行,N为1至100的正整数。
为了说明此例子,假设微处理器300初始化刚完成,所有的功能性单元301-306、315以及320都被允许。因此所有的功能性单元301-306、315以及320皆要汲取能源而且将产生各自的活动信号以指示于他们的活动输出(标示着ACTIVE)。更具体地说,功能性单元301-306、315以及320将会产生以下显示于表四上的活动信号数值意味着每一个功能性单元301-306、315以及320是主动的且正在消耗能源。

表四、微处理器初始化且功能性单元完全活跃状态上述总共有11个活动信号提供给能源使用估计逻辑电路325,每一个活动信号数值皆是10,则逻辑电路325决定相对应的每一功能性单元的能源消耗值为0.5、1、1、2、2、2、2、2、2、1以及2并且聚集所有的数值以获得总共17.5瓦当作是微处理器300的总能源消耗值。17.5瓦的总能源消耗值经由USE总线335耦合至能源控制逻辑电路340。值得注意的是,这是动态计算并且能依照需求频繁程度很快速地重复计算。
如果回送于USE总线335上的总能源消耗值超过一预先决定的临界值时,能源控制逻辑电路340将会采取动作以减少功能性单元301-306、315以及320所消耗的能源。预先决定的临界值乃是根据一能源特性数据,该能源特性数据储存于能源控制逻辑电路340中。在一个示范的实施例中,能源控制特性数据以表五(对照表5)型式储存于能源控制逻辑电路340中。示范的对照表5包含能源特性数据与相对应的能源消耗临界值。如果回送于USE总线335上的目前能源消耗总值超过表五中一被选择的能源特性数据中的临界值时,能源控制逻辑电路340将会启动能源消减动作。

表五(对照表5)能源控制逻辑电路340包含一SELECT输入350,其中选择信号将被提供给SELECT输入350用以指示选择使用者所需的特定的能源特性数据。例如,使用想要以交流主电源或是在船坞里操作系统,这些地点外部的能源是很容易取得的,则一个合适的选择信号将被提供给SELECT输入350用以指示能源控制逻辑电路340使用18瓦的临界值。如果目前能源消耗总值超过18瓦的临界值时,能源控制逻辑电路340决定采取动作。在这个例子中,所有的功能性单元301-306、315以及320是主动的,而且能源利用估计逻辑电路325所决定的目前能源消耗总值是17.5瓦。在这情况下,因为17.5并没有超过18瓦的临界值,因此能源控制逻辑电路不会采取减少能源消耗的动作。
然而,如果在SELECT输入350中的选择信号指示被选择的能源特性数据为可携式-标准模式时,则11瓦的临界值将被能源控制逻辑电路340所使用。在这个情形下,再次初始化微处理器300,而能源利用估计逻辑电路325依然计算出功能性单元301-306、315以及320消耗17.5瓦。能源控制逻辑电路340发现目前能源总消耗17.5瓦超过能源特性数据文件为可携式-标准模式的临界值11瓦,能源控制逻辑电路340将采取至少一个能源消减的动作。在一实施例中,能源控制逻辑电路340是被设定成禁止微处理器至少一个不重要的功能性单元,直到所有功能性单元301-306、315以及320所消耗的总能源数值小于选择的能源特性数据的临界值。
为了达到能源消减的目的,能源控制逻辑电路340经由控制总线355送出一个控制命令,指示能源消耗控制器345开始着手能源消减动作。如图3显示的实施例中,有六个功能性单元可被禁止以减少能源消耗,如高速缓存单元315的L1高速缓存与L2高速缓存、分支预测单元320、执行单元305的浮点数单元与多媒体延伸单元以及写回单元306。也值得注意的是,可变电压的电源供应器360可以被指示减少电源供应,对于处理器的功能性单元301-306、315以及320而言是由一较高的电压调成另一较低的电压,以节省能源。而且也可以降低功能性单元时钟频率由一第一时钟频率调成一较低第二时钟频率,以减少微处理器的能源消耗。再者,也可以借助可变速率配给器380降低送给执行单元305指令的速率,以减少微处理器的能源消耗。
能源消耗控制器345包含一能源供应控制单元370耦合至可变电压的电源供应器360、一可变时钟频率控制单元372,该可变时钟频率控制单元372包含一CLK输出耦合至微处理器300的CLK输入、一L1高速缓存控制单元374耦合至高速缓存单元315中L1高速缓存的EN/DIS输入、一L2高速缓存控制单元376耦合至高速缓存单元315中L2高速缓存的EN/DIS输入、一分支预测控制单元378耦合至分支预测单元320的EN/DIS输入、一可变速率配给器380耦合至执行单元305、一浮点数控制单元382耦合至执行单元305中浮点数单元的EN/DIS输入以及一多媒体延伸控制单元384耦合至执行单元305中多媒体延伸单元的EN/DIS输入。能源消耗控制器345也包含一“其它控制单元”386意味着除了此例中讨论的组件外,其它被揭示的技术也可被接受并且能用来控制其它的功能性单元以及微处理器的其它组件。
图4显示一示范的控制指令400的格式。当每一个控制单元要控制相关的功能性单元或是其它微处理器组件时,将会呼叫控制指令。控制指令400包含一控制单元地址栏405位紧接着一指令字段410用于功能性单元或是与该寻址的控制单元相关的组件。如图5中所示,每一该能源消耗控制器中的组件或是控制单元370、372、374、376、378、380、382、384以及386都有一唯一的地址。
借助此例子得知,如果能源控制逻辑电路340所选择的临界值被超过时,能源控制逻辑电路340将会送出指令禁止功能性单元或是控制功能性单元的效能直到反应回来的能源消耗低于所选择的临界值。此外,上述所提及的能源消减动作中,能源控制逻辑电路340也会送出指令造成减少电源供应以及降低频率速度,两者皆可节省大量的能源。
更具体地说,当目前总电源消耗值超过所选择的临界值时,为了减少微处理器300能源的消耗,能源控制逻辑电路340会送出指令至能源供应控制单元370告知它指示可变电压的电源供应器360减少输出电源供应,由一第一高电压,如5伏特,降低至一第二较低电压,如3.3伏特。输出电源供应是借助能源供应控制单元370的输出方向指示以提供给微处理器中的功能性单元以及其它组件,在图3中标示为“TO FU’s”。更具体地说,参考图5中能源供应控制单元那行,能源控制逻辑电路340送出一指令信号,具有一地址0000以及一指令00,其中0000是相对应于能源供应控制单元370的地址,而这指令是经由控制总线355传送的。能源供应控制单元370确认0000地址是自己的并且需要它执行指令中00的动作,而这动作便是改变可变电压的电源供应器360至一个较低的电压,以节省能源。需要注意的是,在此例子中,当目前能源消耗总值超过所选择的临界值时,减少电压供应并不是第一个能源消减动作,还有其它八个能源消耗控制器组件列于图5中,皆能够造成微处理器300进入相对应的能源消减模式。
能源控制逻辑电路340持续监控以决定现阶段被功能性单元301-306、315、320所消耗的能源是否小于所选择的临界值。如果上述的能源消减模式足以减少能源消耗使之低于临界值,则能源控制逻辑电路340不需再采取进一步减少能源消耗的动作。但是,如果能源消减模式不足以减少能源消耗使之低于临界值,则能源控制逻辑电路340会持续指示功能性单元301-306、315、320减少能源消耗。
举例来说,能源控制逻辑电路340送出指令至可变时钟频率控制单元372告知在微处理器的频率输入端降低时钟频率,由一第一频率,如2 GHz,降低至一第二较低频率,如1GHz。更具体地说,参考图5中可变时钟频率控制单元那行,能源控制逻辑电路340送出一指令信号,具有一地址0001以及一指令00,其中0001是相对应于可变时钟频率控制单元372的地址,而这指令是经由控制总线355传送的。可变时钟频率控制单元37确认0001地址是自己的并且需要它执行指令中00的动作,而这动作便是由一高频率的频率调整至一较低频率的频率。如图3所示,这个组合的减少时钟频率信号乃是用于微处理器300中每一个组件的频率输入端CLK。
为了说明,现假设降低时钟频率依然不足以减少能源的消耗,由能源控制逻辑电路340所更新的功能性单元301-306、315以及320的活动信号显示总能源消耗值仍然大于所选择的临值时,便需要额外的能源消减动作。因此,节省能源的效率是必需的。在这事件下,能源控制逻辑电路340送出一指令至L1高速缓存EN/DIS控制单元374告知禁止高速缓存单元315的L1高速缓存。更具体地说,参考图5中L1高速缓存ON/OFF那行,能源控制逻辑电路340送出一指令信号,具有一地址0010以及一指令00,其中0010是相对应于L1高速缓存EN/DIS控制器374的地址。L1高速缓存EN/DIS控制器374确认0010地址是自己的并且需要它执行指令中00的动作,而这动作便是由允许的状态变成禁止的状态,即是由消耗大量的能源变成消耗较少或是最小的能源。高速缓存单元315中的L1高速缓存也因此可被控制以节省能源。
在这个例子中,假设上述最后一个能源消减动作后,微处理器300中的功能性单元301-306、315以及320所消耗的能源低于所选择的临界值。能源控制逻辑电路340侦测出这样的情况后,因为目前的能源特性数据以及相关所选择的临界值的要求已经达到,便无需再采取进一步的能源消减动作。在这个例子中,采取并且进入了三个不同的能源消减模式,而能源控制逻辑电路340也可以采取图5中所列其它的能源消减动作。这些能源消减命令可以变化不同的顺序,并非只是如上述例子的顺序而已,例如,第一能源消减模式可能是关闭L1高速缓存单元,而第二能源消减模式可能是禁止L2高速缓存。而且,可以采取甚至更多的能源消减动作,并非只是如上述例子只采取三个而已。而可想象而知,在这个例子中,同时完成所有的能源消减模式是最大可能的范围。
即使微处理器300已经如上所述减少了,但能源控制逻辑电路340仍然持续监控USE信号335以决定是否能源消耗将开始再一次超过所选择的临界值。可能会发生两种情形,不同种类的指令互相冲突或是能源特性数据改变至另一个具有较低临界值的能源特性数据。以表五中一个能源特性数据PRESENTATION模式为例,该能源特性数据具有15瓦的临界值。由于现在选定的15瓦临界值,所以先前描述交流主电源模式的18瓦临界值已经减少了。因此,如果能源使用估计逻辑电路325经由USE总线回送一目前能源消耗总值假设为16瓦,则能源控制逻辑电路340比较出目前的16瓦已然超过15瓦的临界值,因而进一步的能源消减动作是必需的。
在此事件下,能源控制逻辑电路340送出一指令至L2高速缓存EN/DIS控制单元376告知禁止高速缓存单元315中的L2高速缓存。更具体地说,参考图5中L2高速缓存EN/DIS控制器那行,能源控制逻辑电路340送出一指令信号,具有一地址0011以及一指令00,其中0011是相对应于L2高速缓存EN/DIS控制单元376的地址。L2高速缓存EN/DIS控制单元376确认0011地址是自己的并且需要它执行指令中00的动作,而这动作便是由允许的状态变成禁止的状态,即是由消耗大量的能源变成消耗较少或是最小的能源。
在此时,注意到能源供应已经减少、时钟频率也降低以及L1高速缓存也已经禁止了。为了说明目的,假设能源控制逻辑电路340发现即使进行四个上述的能源消减动作,依然超过所选择的PRESENTATION模式的能源特性数据的临界值15瓦,使得进一步能源消减动作是必需的。为了响应这发现,能源控制逻辑电路340采取进一步动作,送出一指令至分支预测EN/DIS控制单元378告知禁止分支预测单元320。更具体地说,参考图5中分支预测单元控制单元那行,能源控制逻辑电路340送出一指令信号,具有一地址0100以及一指令00,其中0100是相对应于分支预测单元控制单元378的地址。分支预测单元控制单元378确认0100地址是自己的并且需要它执行指令中00的动作,而这动作便是由允许的状态变成禁止的状态,即是由消耗大量的能源变成消耗较少或是最小的能源。
能源控制逻辑电路340一再比较且总算寻找到减少能源后,一新的目前能源消耗总值为14瓦低于所选择的临界值15瓦了。因此,能源控制逻辑电路340此刻不需再进行能源消减动作,但是仍需要持续监控能源消耗是否继续小于所选择的临界值。
除了上述所提到的能源消减模式外,若需要进一步的能源消减,能源控制逻辑电路340也可以控制其它的功能性单元301-306、315以及320。举例来说,能源控制逻辑电路340可以指示可变速率配给器380指挥执行单元305以一较低的速率执行指令,如每两个频率周期执行一次而非每个频率周期,或是每三个频率周期、每四个频率周期。为了减少能源消耗,能源控制逻辑电路340也可以指挥多媒体延伸单元EN/DIS控制单元384以禁止该多媒体延伸单元。能源消耗控制单元345包含“其它控制单元”386使得在图3中未描绘出的其它功能性单元以及组件可以被控制以减少能源消耗。举例来说,“其它控制单元”386也许可以在一个极小的微处理器中用以禁止一记录缓存器且只占用一个临时文件,使得该微处理器在此省电模式下转换为依序执行各个指令。
请参阅图6,图6显示当图3的微处理器300进行节省能源动作时的示范性流程图。微处理器300于步骤600时初始化,此时所有的功能性单元皆被允许,能源控制逻辑电路340送出一系列的指令以指示功能性单元,这些指令都具有相对应的单元的地址以及一图5中的指令01。在此方法中,每一个功能性单元皆获知将为了微处理器的运行而允许,流程进行至步骤605。
于步骤605中,选择一能源特性数据,能源特性数据可以储存在微处理器300中,也可以经由通讯装置提供,如内存、串行端口、外部接脚、JTAG输入等等。流程进行至步骤610。
于步骤610中,能源特性数据提供给能源控制逻辑电路340。更具体地说,根据所选择的能源特性数据将临界值提供给能源控制逻辑电路340,此临界值即是所选择的临界值。流程进行至步骤615。
于步骤615中,能源使用估计逻辑电路325在每个功能性单元的输出端读取活动信号,确定它们的活动以及能源的消耗。因为微处理器才刚初始化,所以全部的功能性单元会全被允许,所以活动输出都将显示活动。流程进行至步骤620。
于步骤620中,能源使用估计逻辑电路325根据每一个功能性单元产生的活动信号估计一个预先决定的能源消耗,表一的对照表就是一个例子。流程进行至步骤625。
于步骤625中,能源使用估计逻辑电路325将所有检索的能源消耗数值加总以决定一目前能源消耗总值。流程进行至步骤630。
于步骤630中,该目前能源消耗总值提供于USE总线335上,当作USE信号送至能源控制逻辑电路340。流程进行至步骤635。
于步骤635中,能源控制逻辑电路340将目前能源消耗总值与目前所选择的临界值作比较。如果能源控制逻辑电路340确定目前能源消耗总值超出目前所选择的临界值,则进行步骤640;如果没有超出,则进行步骤645。
于步骤640中,能源控制逻辑电路340送出指令至某一个控制器374、376、378、380、382以及384中,指示该控制器指挥它所控制的功能性单元减少能源消耗。能源消减动作也可以经由其它的能源消减模式,如能源控制逻辑电路340送出指令至能源供应控制单元370以指示减少电压供应给微处理器,送出指令至可变时钟频率控制单元372以指示降低微处理器的时钟频率。流程进行至步骤635。
需要注意的是,在步骤635中,将持续禁止额外的功能性单元或是从事能源消减模式,直到目前能源消耗总值不再超过所选择的临界值。
一、微处理器300在所选择的能源特性数据的限制之下,能以最大效能运行;二、微处理器所执行的指令也许会随着时间改变,使得功能性单元的能源特性数据也会跟着改变;三、转换不同的能源特性数据或是从事较多或较少限制的能源消耗。基于上述三个理由,决策步骤645判断是否目前总能源消耗值持续低于所选择的临界值超过一段时间T,如1分钟。如果是,则流程进行至步骤650,若否,则流程进行至步骤655。
于至步骤650中,先前被禁止的功能性单元会再重新允许,或是停止先前从事的能源消减模式。为了达到此功能,能源控制逻辑电路340送出指令至能源消耗控制器345中的控制器,指令包含控制器的地址以及对功能性单元的指示,用以造成功能性单元允许,或是停止进行其它的能源管理模式。流程进行至步骤655。
于步骤655中,处理一测试用以决定能源特性数据是否改变。如果能源特性数据并未改变则流程将会进行至步骤615,步骤615中能源使用估计逻辑电路325由每个功能性单元读取活动信号,这之前已经讨论过。继续流程与之前相同,能源控制逻辑电路340一再地估计是否目前总能源消耗会超过所选择的临界值。但是,如果在决策步骤655中认定能源特性数据改变了,则流程将会进行至步骤610,新选择的能源特性数据提供给能源控制逻辑电路340供未来使用。继续流程与之前相同,能源控制逻辑电路340一再地估计是否目前总能源消耗会超过新选择的临界值。
本发明所揭示的微处理器机制的优势为可根据一特定的能源特性数据以控制本身的效率以及能源消耗。微处理器检查本身内部的能源消耗与控制本身的功能性单元可当作是选择的能源特性数据与聚集个别功能性单元之能源消耗的函数。
虽然本发明与其对象、技术特征以及优点详细叙述如上,其它的实施例也包含于本发明中。但是,除了利用硬件实现本发明之外,也可以利用计算机可读程序代码具体化本发明并且储存于计算机可读媒体中。程序代码也可使得本发明所举出的实施例加以实行,如本发明的功能、制造、模块化、仿真以及测试。举例来说,可以借助撰写计算机可读程序代码来具体化本发明。而广泛的程序语言格式有C、C++、GDIS II以及硬件描述语言(HDL),硬件描述语言包含Verlilog HDL、VHDL以及AHDL等等,或是其它数据库、程序化电路捕捉工具都是可利用的。程序代码可以置于任何已知的计算机储存装置,包含半导体内存、磁盘、光盘片(如CD-ROM、DVD-ROM等等)。程序代码也可作为计算机数据信号,具体实现于计算机传输媒介(如载波或是任何包含数字、模拟以及光纤媒介),因此程序代码可以借助因特网以及区城网络等通讯网路传递。另外,本发明已完成的功能以及架构可以用程序代码(如HDL、GDSII等等)具体化,也可以转换成硬件为集成电路的一部份,更可以是硬件与程序代码的组合。
虽然本发明已以一较佳实施例揭示如上,然而其并非用以限定本发明,任何本领域的普通技术人员,在不脱离本发明的精神和范围内,可作一些的更动与润饰。
权利要求
1.一种管理微处理器能源消耗的装置,其中该装置包括多个功能性单元,每一该功能性单元包含多个相对应的活动输出,当每一该功能性单元允许时,相对应的这些活动输出将指示动作;一能源使用估计逻辑电路,耦合至这些活动输出,用以估计目前的活动以决定微处理器一目前能源总消耗值;一能源控制逻辑电路,耦合至该能源使用估计逻辑电路,用以将该目前能源总消耗值与一能源临界值作比较,其中该能源临界值包含于一能源特性数据中;以及一能源消耗控制器,耦合至该能源控制逻辑电路以及这些功能性单元,当该目前能源总消耗值超过该能源临界值时,用以操作多个能源消减模式的其中一个。
2.如权利要求1所述的装置,其特征在于所述这些功能性单元中包括一高速缓存,而这些能源消减模式的其中一个则是用以禁止该高速缓存;一分支预测单元,而这些能源消减模式的其中一个则是用以禁止该分支预测单元;一浮点运算单元,而这些能源消减模式的其中一个则是用以禁止该浮点数单元;一多媒体延伸单元,而这些能源消减模式的其中一个则是用以禁止该多媒体延伸单元;一执行单元,而这些能源消减模式的其中一个则是用以借助减少一指令比率来控制该执行单元的能源消耗。
3.如权利要求1所述的装置,其特征在于该装置还包含一预定频率的频率产生器耦合至这些功能性单元,而这些能源消减模式的其中一个模式包含降低该频率产生器的频率;以及一电压源控制器用以控制每一该功能性单元的电压提供,而这些能源消减模式的其中一个模式包含减少每一该电压提供。
4.一种微处理器能源管理系统,其中包括多个功能性单元,每一该功能性单元包含一活动输出,用以指示相对应的功能性单元是否被允许;一能源管理逻辑电路,耦合至每一该功能性单元的活动输出,用以估计每一该功能性单元的活动以决定微处理器一目前能源总消耗值;以及一能源消耗控制器,耦合至该能源管理逻辑电路以及这些功能性单元,当该目前能源总消耗值超过该能源临界值时用以禁止或减少至少一个该功能性单元的能源消耗。
5.如权利要求4所述的微处理器能源管理系统,其特征在于还包含一控制总线耦合于该能源管理逻辑电路与该能源消耗控制器之间。
6.如权利要求4所述的微处理器能源管理系统,其特征在于当该目前能源总消耗值超过该能源临界值时,该能源控制逻辑电路将送出一命令至该控制总线以指示该能源消耗控制器禁止一第一功能性单元,并且当该目前能源总消耗值超过该能源临界值时,该能源控制逻辑电路将送出一命令至该控制总线以指示该能源消耗控制器禁止至少一个功能性单元。
7.如权利要求4所述的微处理器能源管理系统,其特征在于该能源管理逻辑电路包含一能源使用估计逻辑电路用以处理各别活动输出信号以决定该目前能源总消耗值。
8.一种用于管理一微处理器能源消耗的方法,其中该微处理器包含多个功能性单元,该方法包括指定一能源特性数据予该微处理器,该能源特性数据具有一能源临界值;估计每一该功能性单元的活动以决定微处理器一目前能源总消耗值;以及当该目前能源总消耗值超过该能源临界值时,操作多个能源消减模式的其中一个模式。
9.如权利要求8所述的方法,其特征在于这些能源消减模式包含禁止一第一功能性单元,该第一功能性单元属于这些功能性单元,并且该第一功能性单元为下列任一单元即高速缓存、分支预测单元、浮点运算单元、多媒体延伸单元中的一种。
10.如权利要求8所述的方法,其特征在于多个能源消减模式包含减少至少一个功能性单元的一指令比率;降低该微处理器的一中心频率;以及减少一内部电压提供,由一第一电压调降至一第二电压。
全文摘要
本发明公开了一种微处理装置及方法,其中该装置包含多个功能性单元,这些功能性单元可进入一能源消减模式用以减少能源消耗。这些多个功能性单元分别产生活动信号用以指示每一功能性单元所作的活动的等级。能源使用估计逻辑电路监控着活动输出,用以决定微处理器一目前能量总消耗值。当目前能量总消耗值超过一能源临界值时,该微处理器可进入一系列的能源消减模式,用以减少能源的耗损。
文档编号G06F1/32GK1523473SQ20041003131
公开日2004年8月25日 申请日期2004年3月26日 优先权日2003年8月22日
发明者达瑞尔斯·D·盖斯金, 达瑞尔斯 D 盖斯金, G·葛兰·亨利, 肌ず嗬 申请人:智慧第一公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1