法律状态公告日
法律状态信息
法律状态
2018-06-08
未缴年费专利权终止 IPC(主分类):G06F13/00 授权公告日:20070808 终止日期:20170524 申请日:19990524
专利权的终止
2007-08-08
授权
授权
2001-08-22
实质审查请求的生效
实质审查请求的生效
2001-08-15
公开
公开
发明领域
本发明涉及处理机的功率方式。更具体地讲,本发明涉及用于多线程处理机功率方式转变的方法和设备。
背景
处理机在执行各种操作(例如数学操作)时消耗功率。处理机消耗的功率量将影响例如移动装置的计算机中电池的持续时间长短。因此,设计人员在设法限制处理机消耗的功率。
即使不执行数学操作,用于同步处理机操作的内部时钟信号的产生和分配也将消耗大量功率。为节省功率,可将处理机设计成当不工作时在减小的功率状态下操作。在减小的功率状态中,除少数的内部时钟外所有其他部分都关断,这样既节省功率又可延长电池的寿命。
例如,一种“休眠”功率方式是:当系统空闲时让芯片上的大部分内部时钟都关断。例如,当系统在等待某个外部事件诸如打开膝上式计算机的盖时、或当计算机操作系统(OS)在等待输入/输出(I/O)操作时,处理机可处于休眠方式。
为了有助于节能方式的计算,有些实施方案使处理机进入一个更低的功率状态-“深度休眠”功率方式。例如,通过在该处理机进入休眠功率方式后停止将时钟信号输入该处理机就可进入深度休眠方式。这可以让该处理机维持芯片中元件的工作状态,但是只消耗相当于该处理机的漏电流功率。
非常复杂的处理机,诸如非顺序(out of order)处理机,需要执行一些内部的“清除”操作后才禁止某些内部时钟。这种清除一般由微码执行;微码比如可清除工作状态、排空队列、使该处理机处于休眠和等待事件,或“告警”(它标志着休眠的结束)。
“允许停止(stop grant)”功率方式(它本身是一种低功率方式)一般用于这种清除进程。一般,这种处理机根据例如由控制该处理机的“芯片集”确立芯片插针的信号从工作方式转变为允许停止方式。当处理机中的微码执行了所需的操作时,处理机就通过总线向芯片集发送一个标志,例如一个允许停止确认SBC(Special Bus Cycle,即特殊总线周期)。然后该芯片集通过例如确立另一个插针的信号或停止总线时钟来使该处理机转入休眠和深度休眠方式。
发明概述
按本发明的某个实施方案,发出第一个标志,其中包括与处理机中的第一个逻辑处理器相关的第一标识符,表示第一个逻辑处理器已进入功率方式;还发出第二个标志,其中包括与处理机中的第二个逻辑处理器相关的第二标识符,表示第二个逻辑处理器已进入功率方式。
附图的简要说明
图1是按本发明的一种实施方案的MT处理机功率方式状态框图。
图2是按本发明的一种实施方案的计算机系统框图。
图3是按本发明的一种实施方案的MT处理机功率方式和相关信号的时序图。
图4是按本发明的一种实施方案的转变MT处理机功率方式的方法流程框图。
图5是按本发明的一种实施方案的具有两台MT处理机的计算机系统框图。
详细说明
诸如背景部分中描述的那类装置当用于共享资源多进程环境中时可能会出问题,因为它让一台处理机同时执行实质上是好几种数学操作。例如,一台多线程(MT)处理机含有几个独立的“逻辑处理器”即“线程”且可让一台逻辑处理器进入功率方式诸如允许停止方式而其它逻辑处理器仍为工作方式。这可认为一个线程休眠,即让一个线程休眠。只要有一个线程还在工作(因为那个线程执行的操作仍需同步),MT处理机中的所有时钟信号就不应关断。当MT处理机中的所有逻辑处理器都进入线程休眠状态时,MT处理机上的时钟才可关断。
可以将这种MT处理机设计成在一个线程一进入允许停止方式时就发送一个允许停止确认SBC。可是,这会产生问题,因为即使有一个线程未作好准备,芯片集也可能企图强迫MT处理机进入休眠方式。当然,可将该芯片集设计成在MT处理机进入休眠方式前等待一个预定的时间量,但这会放慢进程的速度且仍不能保证其他线程做好准备。
另一方法将是,仅当处理机中的所有线程都已完成了清除进程时才让该处理机发出一个允许停止确认SBC。然而,这是困难的,因为微码必须是“线程知晓的(thread aware)”,即是说,微码必须执行不同的命令诸如用于发出允许停止确认SBC的命令,这取决于正在执行的线程。
而且,有些计算机系统有许多MT处理机。在这种情况下,功率方式的转变必须考虑和跟踪在多处理机上运行的多个线程。
在前述情况下,需要有一个解决上面讨论的问题的方法和设备。
本发明的一种实施方案是用于MT处理机功率方式转变的方法和设备。现在请具体参照附图,其中的相同部分用相同的参考数字标示;图1示出了按本发明的一个实施方案的MT处理机功率方式状态框图。当MT处理机处于工作功率方式110时该处理机的内部时钟在运行,这消耗较大量的功率。当MT处理机转变成节能方式时,控制该处理机的芯片集可在停止时钟插针(STPCLK#)上确立一个信号。
当该MT处理机在停止时钟插针上抽样该信号为“确立”时,在MT处理机中运行的停止时钟微码将清除相应的工作状态并设立正确的“中断事件”或使MT处理机醒来的事件。最终,当某线程进入休眠时,与该线程相关的微码就停止运行。当MT处理机中的线程都进入休眠时,其硬件就关断一些内部时钟以减小消耗的功率。应注意核心时钟实际上仍在运行,如在调试方式中那样,或将时钟接通去处理一个“窥探”;在那种情况下处理机一般将会响应查询。当该处理机探测到一个中断事件时,它将内部时钟再接通并返回到工作功率方式110。
按本发明的这一特殊实施方案,当对于MT处理机中的一个逻辑处理器执行停止时钟的微码时,就发出一个允许停止确认SBC,其中包括与该具体的逻辑处理器相关的一个标识符。当对于所有逻辑处理器执行了微码时,MT处理机可进入允许停止方式。然后,该芯片集可以在休眠插针(SLP#)上确立信号,该信号使该处理机处于休眠方式130。芯片集等了相应的时间量后通过停止向该处理机输入时钟信号(BCLK)而关断该时钟;这使该处理机处于深度休眠的功率方式140。正如图1所示,该处理机通过例如,启动BCLK、撤除SLP#和撤除STPCLK#可返回工作功率方式110。
图2是按本发明的一个实施方案的计算机系统框图。该计算机系统包含一台通过总线250进行通信的MT处理机200和一个芯片集300。MT处理机200包含带有相关的处理器标识符信号1的第一逻辑处理器即“线程”210。MT处理机200还包含带有相关的处理器标识符信号2的第二逻辑处理器220。虽然图2中所示的MT处理机200有两个逻辑处理器210、220,本发明的替换实施方案可用于有任意数量线程的处理机。同理,任何编号或标号系统可用于处理机标识符信号或号码。芯片集300除通过总线250进行通信外,还可在停止时钟插针一休眠插针上确立信号并可启、停总线时钟以控制MT处理机200。
当逻辑处理器210、220中的一个进入线程休眠状态时,相应的结构状态被保存起来而有些资源可由其他线程使用。当逻辑处理器210、220完成了STPCLK#微码流时,它通过总线250发出一个允许停止确认SBC,其中包括相关线程的标识符信号。因此,MT处理机200产生两个SBC后才将时钟关断。
现在参照图3,图3是按本发明的一种实施方案的MT处理机功率方式和相关信号的时序图。如上所述,芯片集300在停止时钟插针上确立信号后,MT处理机200中的线程210、220每个都将发出一个单独的允许停止确认SBC,包括与该线程相关的逻辑处理器ID信号。这些表示于图3中作为第一和第二线程的允许停止确认SBC。所有线程都已发出允许停止确认SBC后,MT处理机200可以从工作状态转变成允许停止状态。从停止时钟插针被确立信号到最后一个逻辑处理器发出一个允许停止确认SBC之间,MT处理机200的状态被认为是不确定的。因此,芯片集300应等待线程发出允许停止确认SBC然后才确立休眠插针的信号。如上面图1所述,芯片集300等了适当的时间量后可使MT处理机200转入深度休眠方式,其方法是将输向MT处理机200的总线时钟输入信号关断。
图4是按本发明的一个实施方案转变MT处理机功率方式的方法流程框图。在410处开始工作方式后,芯片集300在420处确立停止时钟插针上的信号。然后,芯片集300就等待直至在430和440从两个线程那里收到了允许停止确认SBC为止。芯片集300可用与允许停止确认SBC相关的标识符来确定哪些线程已执行完了允许停止微码。仅当收到了两个停止确认允许SBC,芯片集300才在450处确立休眠插针的信号,使MT处理机200在490处结束前进入休眠方式。虽未在图4中示出,然而芯片集300可使MT处理机200转入深度休眠方式,其方法是等待相应的时间量然后关断输入到MT处理机200的总线时钟。
用这种方法可避免弄乱MT处理机200的功率方式状态。例如假定芯片集300确立了停止时钟插针上的信号,则一个线程立刻就可以使该停止时钟信号起反应而去执行该停止时钟微码。可是,另一个线程可能涉及较高的优先中断,诸如页故障处理。在这种情况下,芯片集300知道MT处理机200尚未进入允许停止状态,因为若进入了它将仅发出一个允许停止确认SBC。
当有几个MT处理机一起工作时本发明的上述实施方案还将避免出现混乱。例如,我们来讨论图5;图5是按本发明的一个实施方案的计算机系统框图,该计算机系统有两台MT处理机200、202。第1台MT处理机200有两个线程210、220。而第二台MT处理机202也有两个线程212、222。芯片集300可确定在哪个MT处理机中的哪个线程执行了停止时钟微码,其方法是在总线250上评估被包含在允许停止SBC中的标识符。
因为即使其他线程尚未执行相关的逻辑,MT处理机200也为获得那个代码的第一个线程210或220送出一个允许停止确认SBC,所以可创立微码而无需是“线程知晓的”,即是说,微码被简化了,因为它可执行类似的命令而不管它是在210、还是在220线程上执行。
虽然在本发明中具体举例说明并描述各种实施方案,但上述讲解和所附的权利要求范围应包括本发明上述实施方案的各种修正案和变型而不偏离本发明的精神和原定范围。例如,本发明的一种实施方案用了一台MT处理机及两个逻辑处理器来举例说明,但具有其他数量的逻辑处理器的MT处理机也属本发明的范畴。而且,虽然为了控制某些操作而描述了软件或硬件,但这些操作可以用软件、硬件或软件和硬件结合执行,这是本领域中公知的。
机译: 用于在处理器的虚拟机中安全处理机密内容的方法和设备,能够通过在处理器的虚拟机中安全处理机密内容来防止多余的功率消耗
机译: 用于处理机械肉块的设备连续运输,包括一个在运输方向上连续运送肉块的运输设备和一个带有切割头的切割设备所述设备包括一个支撑设备和一个用于切割的设备机头以移动方式排列以实现切割:分离和方法。
机译: 用于多线程处理器中的自动低功率模式调用的设备和方法