用于监视和控制电源管理资源的系统和方法

文档序号:6471815阅读:195来源:国知局
专利名称:用于监视和控制电源管理资源的系统和方法
发明
背景技术
领域本发明大体上涉及计算机系统领域,尤其涉及计算机系统中的电源管理。
当一种典型的计算机系统进入睡眠状态时,则整个系统通常会降低功率(power down),节省其处理器状态和于储存机构(譬如硬盘机)的各种其它装置的状态。为了使计算机系统关断系统中的特定部份,已发展出了其它更先进的电源管理技术。一个例子是将计算机系统设计成当耦合到总线的一个装置或多个装置为不活动时,则关断外设部件接口(PCI)总线。当电源可管理资源(如PCI总线)仅有一个与其耦合的装置时,这种电源管理机制非常简单。然而,当二个或更多个独立装置共享电源可管理资源时,则电源管理机制就难于执行。
在如总线这样的共享资源中的管理由于各种因素而可能是复杂的。在这些因素中,其中之一就是耦合到资源的各种装置的驱动器。典型地,一个共享资源为用于耦合到资源的这些装置的独立的各种装置驱动器。在开始暂停电源之前,用于各装置的装置驱动器必须读取和储存该装置状态,和执行为暂停电源所需的其它内务操作(housekeeping operation)。一旦附加到资源的各装置完成了所需的暂停操作,则总线可安全地降低功率。然而,因为对应于各装置的装置驱动器独立于总线地操作,没有通信机制通知总线硬件所有的装置均已完成所需的暂停操作。因此,因为没有通信机构,总线硬件就不能判定是否可安全地降低功率。
在一个实施例中,电源可管理资源是时隙总线,配置成在各数据帧中发送数据。每一帧可包括多个状态位,且这些状态位中,每一个可对应到附加到此总线的其中一个装置。各状态位可用来指示所对应装置的活动/非活状态。资源监视器可配置用以监视各个状态位,并根据所有装置为非活状态的判定而可使得总线(以及所有附加的装置)降低功率。
在另一个实施例中,所述总线可以是包总线(packet bus),且可配置用以周期性地发送空闲帧,而各帧包括有多个状态位。这些状态位可以对应到附加到所述总线的各个装置,并且可指示每个所述装置的活动/非活状态。资源监视器可配置用以监视各个所述装置的活动/非活状态位。或者,耦合到包总线的各装置可配置成根据变成活动的而发送激活包(activate packet),以及根据变成非活的而发送解除激活包(deactivative packet)。资源监视器可用来追踪附加到此总线的各装置的活动/非活状态。在一个实施例中,资源监视器可包括计数器,该计数器每当一个装置发出激活包即递增,而每当一个装置发送解除激活包则递减。然后若计数器数值达到0,则表示所有在所述总线上的装置均处于非活状态,于是资源监视器即可降低功率。
在又一个实施例中,可使用多个寄存器,以指示附加到譬如总线的电源可管理资源的各装置的活动/非活状态。每一寄存器可对应于其中一个附加的装置。各寄存器可根据其对应的装置变成了活动或非活状态而进行更新。在一些实施例中,对应于各装置的寄存器可以中央式地位于资源监视器中。或着在其它实施例中,对应于各装置的寄存器可以位于该装置其自身之内。在任何一种情况下,资源监视器通过读取各寄存器而可追踪各装置的活动/非活状态,而且当判定所有的装置处于非活状态时,即可降低总线的功率。
因此,在各个实施例中,用于监视和控制电源管理资源的系统和方法可允许总线或其它资源在未使用时降低功率。通过监视每一附加到资源的装置,资源监视器可以判定何时该装置处于空闲状态。再者,监视各附加的装置,可使得在降低功率之前,允许各装置完成所有必要的操作。这就使得各装置得以用一种无瑕疵及安全的方式降低功率。
虽然本发明可作各种形式的修改和变动,但在附图中以示例方式显示了特定的实施例,并将在下面详细描述这些实施例。然而应了解到,附图和详细说明并非用来限制本发明于所揭示的特殊形式,反之,本发明涵盖所有由所附权利要求书所定义的落于本发明的精神和范围内的所有修改、等效和替换方案。发明实施方案现参照

图1,其显示包括了时隙总线或包总线的电源可管理资源的一个实施例的方框图。电源可管理资源(PMR)16可以是一个共享资源——此电源可管理资源16的控制可以包括各种电源管理操作,而且可以是如本实施例中所示的计算机系统的包总线或时隙总线。PMR16可以耦合到总线桥20,此总线桥20由中央处理单元(CPU)总线12而依次耦合到中央处理单元(CPU)10。一般说来,总线桥20可用作CPU10和PMR16之间的接口。详言之,总线桥20可以将由源装置或总线所使用的协议的操作转译成由目标装置或总线所使用的协议。同样耦合到PMR16的是总线监视器25和外围设备21A、21B和21C。外围设备21A、21B和21C可以是配置耦合到PMR16的电源可管理装置。
总线监视器25可以是配置用以监视耦合到总线的各种装置(亦即外围设备)的资源监视器。详言之,总线监视器25可以配置用以决定附加到总线上的各个装置的活动/非活状态。于所示实施例中,PMR16可以是包总线或时隙总线。因此,总线监视器25可以包括包/帧读取器25R,此读取器25R可配置用以读取传送于总线的帧或包。每个帧或包可以包括状态字,该状态字依次可包括多个状态位。这些状态位可对应于附加到总线的个别装置,而且可指示该对应的装置是否处于活动或非活状态。总线监视器25亦可以配置用以根据判定所有的附加装置为非活,而从PMR16移去电源。或者,总线监视器25可以提供指示对于总线桥20,所有的装置处于非活,此总线桥20可配置成根据接收到这样的指示而移去电源。
包/帧读取器25可以是逻辑电路,配置用于检测传送于所述总线上的帧或包。于一些实施例中,所传送的各帧或包可以包括用于一个或多个附加到总线的装置的活动/非活数据。这些帧或包可以由总线桥20或其中一个附加到总线的装置——譬如外围设备21A、21B和21C——而传送。在另一个实施例中,当变成活动时,各装置可配置用以发送激活(activate)包,而当为非活时,则发送解除激活(deactivate)包。在所有情况下,包/帧读取器25可以配置用以监视发送于总线的各包,并可检验在每一包或帧中的状态字的各状态位。包/帧读取器25亦可以包括记录,指示耦合到总线的每一装置的活动/非活状态。
在一个实施例中,激活包和解除激活包可以由附加到总线的装置传送,可使用计数器以追踪这些装置的活动/非活状态。计数器可以表示在包/帧读取器25R内施行的逻辑电路的一部份。当包/帧读取器25R检测到在总线上传送的激活包时,计数器可递增,而当包/帧读取器25R检测到在总线上传送的解除激活包时,计数器可递减。若计数器减少一直到计数值为0,则表示附加到总线的所有装置均为非活。以此方式,在一些实施例中,总线监视器25可以相应地从总线移去电源,或在其它实施例中,可以设有至总线桥20的指示,然后此总线桥20可从总线移去电源。
现参照图1B,其为一个电源可管理资源的实施例的方框图,其中显示一个包括寄存器文件的资源监视器,该寄存器文件用来追踪耦合到该资源的装置的活动/非活状态。PMR16可以是电源可管理资源,譬如外围总线。总线监视器25可以包括寄存器文件25F,此寄存器文件25F可以是一个状态寄存器,用来追踪耦合到总线的外围设备的活动/非活状态。图1B所示的实施例包括外围设备21A、21B和21C。一般而言,可将任何数目的装置耦合到总线。各外围设备可配置用以设定在寄存器文件25F中的对应的位,以指示该装置的活动/非活状态。总线监视器25亦可以包括逻辑电路,该逻辑电路配置用以检验在寄存器文件中的状态位,以便判定耦合到总线的各装置的活动/非活状态。在一个实施例中,各外围设备可配置为一旦变成活动的即设定一位为逻辑“1”,而一旦变成非活的即重置该位为逻辑“0”。而另一个实施例——其中以逻辑“0”表示活动装置而以逻辑“1”表示非活装置——亦是可能的和可以构想得出的。
如前所述,总线监视器25亦可以包括逻辑电路,该逻辑电路配置用以检验状态位,以便判定耦合到总线的各装置的活动/非活状态。若逻辑电路判定在总线上的所有装置目前为非活状态,则可相应地降低总线功率。在另一个实施例中,总线监视器25可以提供所有附加到总线桥20的装置的非活状态的指示,然后可相应地降低总线功率。
现参照图1C,其为一个电源可管理资源的实施例的方框图,其中耦合到资源的装置包括寄存器,用来指示所示的其对应的活动/非活状态。在此实施例中,每个外围设备(装置21A、21B和21C)均包括活动/非活(A/I)寄存器22A。A/I寄存器22A可用来指示其对应装置的活动/非活状态,亦可用来储存关于该装置的其它信息。总线监视器25可配置用以监视附加到总线的各装置的活动/非活状态。总线监视器25亦可包括逻辑电路、寄存器读取器25A,该等电路可配置用以检验每个装置的各自的A/I寄存器22A,以便判定对应装置的活动/非活状态。若寄存器读取器25A判定附加到总线的所有装置为非活状态,则总线监视器25可相应地降低总线功率,或者将此状态的指示提供至总线桥20,此总线桥20然后可降低总线的功率。
图2A是在时隙总线的一个实施例上的数据传输的说明,其中所传输的每个帧包括多个状态位,用以指示耦合到电源可管理资源的各装置的活动/非活状态。在所示实施例中,时隙总线可以是电源可管理资源。此时隙总线可以是譬如图1A中所示的总线,或者可以是其它实施例的时隙总线。该时隙总线可配置用以在各帧中传输信息,譬如于图中所示的帧40。帧的传输可由耦合到总线的任何装置实施,譬如总线桥或外围设备。
每一帧40可以包括多个信道41。亦包括于各帧40中的可以是一组活动/非活(A/I)状态位45。在一个实施例中,A/I状态位45组可以包括用来指示各耦合到总线的装置的活动/非活状态的各位。于各帧传输期间,A/I状态位45可以由耦合到总线的逻辑电路读取,该逻辑电路譬如为图1A的包/帧读取器25R。逻辑电路可以用所传输的各帧来检验各A/I状态位45,以便判定各装置的活动/非活状态。当所有的装置为非活时,该逻辑电路然后可以通知总线监视器(譬如图1A的总线监视器25),此逻辑电路可以使总线降低功率。
图2B是在包总线的一个实施例上进行数据传输的说明,其中该包总线配置用来周期性地传输空闲帧,此空闲帧中包括状态位,用以指示附加到总线的各装置的活动/非活状态。在所示实施例中的包总线可以是电源可管理资源。包总线可以配置用来传输数据包50。数据包50可以通过附加到其上的任何装置,包括外围设备和任何总线桥,而在总线上传输。这些数据包中的每一个都可配置用以在总线上的各种外设之间——以及在外设和总线桥之间——传送数据。空闲帧51可以在总线上周期性地传输。总线可以配置为在某些实施例中的特定时间周期内传输一个空闲帧(例如,每千分之一秒一个空闲帧)。在另一个实施例中,总线可以配置成在特定的传输数目内传输一个空闲帧(例如,每第4个传输为一个空闲帧)。
空闲帧51可包括报头53、内务数据54、和A/I状态位55。报头53可用来识别对于总线桥、和耦合到总线的任何装置的空闲帧。内务数据54可包括关于总线和附加到其上的各种装置的信息。这样的信息可以包括装置的处理中的操作、中断状态,等等。A/I状态位55可以是多个位,每一个位可以对应于耦合到该总线的其中一个装置。每个A/I状态位可用来指示在总线上的对应装置的活动/非活状态。如图2A中的实施例所示,譬如包/帧读取器25R的逻辑电路可用来检验A/I状态位55,且当附加到总线的所有装置均为非活时可通知总线监视器,此总线监视器可允许总线安全地降低功率。
现参照图3,其显示电源可管理资源的操作方法的一个实施例的流程图。方法60开始于步骤61,该步骤包括了监视耦合于电源可管理资源的这些装置的活动/非活状态。所述电源可管理资源可以是计算机系统的总线。这样一条总线的监视可通过总线监视器完成,该总线监视器如参考图1A、1B和1C而说明的各种实施例所示。尤其是,总线监视器可包括一逻辑电路,该逻辑电路耦合到配置用以判定各附加装置的活动/非活状态的总线上。
如果在步骤62判定所有的附加装置为非活,则总线监视器可判定是否总线(即电源可管理资源)提高功率(步骤63)。若总线未提高功率,则本方法可重新开始监视,如参照步骤61所述。若总线提高了功率,如在步骤63所判定的,则总线可降低功率(步骤64)。可用总线监视器、总线桥、或其它具有能够控制电源可管理资源的附加装置,来实现总线的功率降低。
若于步骤62判定,现在使用的一个或多个装置为活动的,则总线监视器可判定是否总线提高功率(步骤64)。应注意,某些情况尽管处于功率降低状态,仍可将装置视为活动的。举例而言,计算机系统的处理器要把数据转存到磁盘驱动器中的磁盘。磁盘驱动器可以附加到总线上,此总线是一个电源可管理资源。相应于判定处理器要转存数据至磁盘驱动器,总线监视器可认为磁盘驱动器是活动的,并可相应地启动对于该总线的提高功率程序,如在步骤65所示。本示例并非意在作为限制,而其仅为许多的不同可能性之一。一般来说,每当存在至一个装置的(或发自该装置的)未处理完的数据传送时,则此装置可视为活动的。在此情况下,一个总线监视器(譬如图1A、1B和1C所示的总线监视器25)可在判定存在对耦合到总线的装置的未完成的数据传送时,在寄存器、数据包、或帧中设定活动位。
若在步骤64,判定电源可管理资源已经提高功率,则所述方法可然后依序返回步骤61,并继续监视对于附加到总线的各装置的活动/非活数据。
虽然本发明已参照特定实施例而作了说明,但应了解各实施例系用来进行说明,而非用来限定本发明的范围。可以对实施例作许多的变更、修改、附加、和改进,而这些变更、修改、附加、和改进皆落于于本发明的范围内,该范围详述于所附权利要求书中。
权利要求
1.一种方法,包括监视一个或多个耦合到电源可管理资源(16)的电源可管理装置(21A~21C),其中所述监视包括判定是否所有的所述一个或多个电源可管理装置均为非活;以及若所有的所述电源可管理装置均为非活,则降低该电源可管理资源的功率。
2.如权利要求1所述的方法,进一步包括,若所有的所述电源可管理装置均为非活,则监视每一所述的一个或多个电源可管理装置,以判定是否任何该电源可管理装置变成活动的,其中该电源可管理资源对应于任何该电源可管理装置变成活动的而提高功率。
3.如权利要求1所述的方法,其中该电源可管理资源包括时隙总线;且其中经过该时隙总线传输的每一数据帧包括多个状态位,其中每一所述状态位对应于所述一个或多个装置的其中之一,并指示是否对应的装置为非活。
4.如权利要求1所述的方法,其中该电源可管理资源包括包总线,配置成周期性地传送一个或多个空闲帧,其中每一所述一个或多个空闲帧包括状态字,且其中每一状态字包括多个状态位,其中每一所述状态位对应于所述一个或多个装置的其中之一,以判定是否对应的装置为非活。
5.一种系统,包括可共享资源(16),其中该可共享资源的控制包括电源管理操作;一个或多个装置(21A~21C),耦合到该可共享资源,其中每一所述装置配置为使用该可共享资源,且其中所述一个或多个装置的控制包括电源管理操作;以及资源监视器(25),其中该资源监视器配置用以监视所述一个或多个装置,以判定是否所有的所述装置为非活,且其中该资源监视器配置为使得在所述一个或多个装置为非活时,使得该可共享资源降低功率。
6.如权利要求5所述的系统,其中该可共享资源为总线。
7.如权利要求6所述的系统,其中该资源监视器包括耦合至该总线的逻辑电路(25R),且其中该逻辑电路配置用以检验在该总线上传输的数据,以判定是否每一所述装置为非活。
8.如权利要求7所述的系统,其中该总线包括配置用以传输帧的时隙总线,且其中每一所述帧包括多个状态位,其中每一所述状态位对应于所述一个或多个装置的其中之一,而且其中每一所述状态位指示是否对应的装置为非活。
9.如权利要求8所述的系统,其中该逻辑电路(25R)配置用于检验该状态位,以判定是否所有该装置为非活。
10.如权利要求7所述的系统,其中该总线包括配置用以周期性地传输一个或多个空闲帧的包总线,其中每一所述空闲帧包括一状态字,该状态字包括多个状态位,其中每一所述状态位对应于所述一个或多个装置的其中之一,以指示是否该装置为活动或非活。
全文摘要
一种用于监视和控制电源管理资源(16)的系统和方法。在一个实施例中,一个电源可管理资源,譬如于计算机系统中的总线,可共享于多个电源可管理装置(21A~21C)之间。一个资源监视器(25)亦可耦合到电源可管理资源。资源监视器可配置用以监视耦合到电源可管理资源的各装置。详言之,资源监视器的各功能可包括监视各附加装置的活动/非活状态。此资源监视器可以配置成如果判定所有的附加装置是在非活状态时,则可使得可共享资源降低功率。
文档编号G06F1/32GK1449517SQ01814673
公开日2003年10月15日 申请日期2001年5月9日 优先权日2000年8月31日
发明者D·E·奎立克 申请人:先进微装置公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1