功率状态转换期间高效存储/恢复状态信息的方法及设备的制造方法

文档序号:8476709阅读:176来源:国知局
功率状态转换期间高效存储/恢复状态信息的方法及设备的制造方法
【专利说明】功率状态转换期间高效存储/恢复状态信息的方法及设备发明领域
[0001]本发明的领域主要涉及计算系统,且更具体来说,涉及在功率状态转换期间高效存储/恢复状态信息的方法及设备。
[0002]置量
[0003]图1示出了标准多核处理器设计100的架构。如图1中所见,处理器包括:1)多个处理器核101_1至101_N ;2)互连网络102 ;3)末级缓存系统103 ;4)存储控制器104以及I/O中枢105。每个处理核包含一个或多个用于执行程序代码指令的指令执行流水线。互连网络102用于将核101_1至101_N中的每一个互连至彼此以及其他元件103,104,105。
[0004]末级缓存系统103在指令和/或数据被放至系统存储器106之前用作处理器100中的最后一层缓存。存储器控制器104从/至系统存储器108读/写数据和指令。I/O中枢105管理处理器和“10”设备(如非易失性存储设备和/或网络接口)之间的通信。端口 106源自于互连网络102以连接多个处理器,使得具有超过N核的系统可以被实现。图形处理器107执行图形计算。为方便起见,其他具有意义的功能模块(锁相环(PLL)电路,功率管理电路等)在图1中未被绘出。
[0005]随着计算机系统的功耗开始受到关注,大多现今的系统包括精巧的功率管理功能。一种常见的构架是同时定义“性能”状态和“功率”状态。处理器的性能是其在设定时间周期内的工作能力。处理器的性能状态越好,在设定时间周期内其所做的工作越多。处理器的性能可以在运行时(runtime)期间通过改变其内部时钟速度和电压水平来进行调节。处理器的功耗随着其性能的提升而增加。
[0006]处理器不同的性能状态对应着不同的时钟设定和内部电压设定,从而实现不同的性能与功耗间的折衷。根据高级配置和功率接口(ACPI)标准,不同的性能状态被标以不同的“P数值”:P0、PU P2……P_R,其中,PO代表最高性能和功耗状态,而P_R代表处理器能够工作的最低功耗水平。“P_R”中的“R”意味着不同的处理器可被配置具有不同数量的性能状态。
[0007]与性能状态相对,功率状态很大程度上是用来定义处理器不同的“休眠模式”。根据ACPI标准,CO状态是仅有的处理器能工作的功率状态。因此,对于要进入任何性能状态$0至?_10的处理器,该处理器必须处在CO功率状态中。当没有工作要做,而处理器将被置于休眠时,该处理器可被置于数个不同的功率状态C1、C2……CM中的任一个,其中每个功率状态代表一个不同的休眠等级,而相应的,需要不同长短的时间来切换回到可操作的CO功率状态。这里,不同的休眠等级意味着处理器休眠期间不同的功率节省。
[0008]因此,更深层的休眠等级对应着更慢的内部时钟频率和/或更低的内部供电电压和/或更多接收更慢时钟频率和/或更低供电电压的逻辑模块。C数值的增加对应着更深层的休眠等级。因此,比如,处在C2功率状态的处理器相比处在Cl状态的处理器可具有更低的内部供电电压和更多被关闭的逻辑模块。因为更深层的功率状态对应着更高的频率和/或电压摆幅和/或更多数量需要被开启的逻辑模块以回到CO状态,更深层的功率状态也花费更长时间以回到CO状态。
【附图说明】
[0009]本发明是以示例而非限制附图图形的方式进行说明,其中相同的参考指代类似的元素,而其中:
[0010]图1示出了一种处理器;
[0011]图2示出了一种功率状态的层次结构和相应的功率域;
[0012]图3示出了描述所述功率状态层次结构和相应功率域的表格信息;
[0013]图4a示出了一种具有用以保存功率域内部状态的精简电路的处理器实施例;
[0014]图4b示出了一种用以保存功率域内部状态信息的精简流程;
[0015]图5示出了一种用以恢复功率域内部状态信息的精简流程。
[0016]详细说曰月
[0017]图2示出了与图1中处理器模型一致的一种示例性功率状态层次结构250。层次结构250是示例性的,以更简单地解释本讨论的基本概念。层次结构250反映了在处理器处于休眠状态时,接收不足以维持信息状态的供电电压的功能模块数量。这里,正如普通技术人员所理解的,逻辑电路包含存储电路,例如在正常工作期间保持信息的寄存器和存储器电路。如果这些电路在处理器休眠状态期间将其电压降到低于临界水平,那么它们所保持的信息就会遗失,如果没有被提前保存的话。
[0018]层次结构250的最顶上反映了功率状态C_M,其具有最多数量在任何特定休眠状态期间接收不充足的供电电压的功能模块,而层次结构250的最底下反映了功率状态C_M-X-Z,其具有最少数量接收不足以维持信息状态的供电电压的功能模块。因此层次结构250最顶端的节点C_M可能对应着处理器最深的休眠状态,而层次250最底端的节点C_M-X-Z对应着处理器更浅的休眠状态。由于处理器不同的休眠状态也可能规定不同的时钟频率和/或并不都低于临界供电电压的降低的供电电压,可能并不是处理器的所有休眠状态都被反映在该结构层次中。同样,为了简化,相比实际处理器的功率状态所可包括的接收不充足的供电电压的电路模块和/或电路模块组合,层次结构250可能反映了较少的电路模块和/或电路模块组合。因此,需要理解的是,出于解释的目的,图2中的层次结构250是示例性的。
[0019]层次结构250中的每个节点被描述为指示出处理器中的哪些模块作为其相关功率状态的部分而接收不充足的供电电压。也就是说,每个节点指示出,对于其相对应的功率状态,处理器中的哪些模块在进入该功率状态前要将其信息状态予以保存。例如,C_M状态对应着处理器中的所有模块都接收不充足的供电电压,因此,C_X节点指向了处理器中的所有模块。相反,C_M-X-Y1状态对应着仅有一个通用核201_1接收不充足的供电电压,因此,C_M-X-Y1节点指向了该特定的处理器核201_1。再者,C_M-X-Z状态对应着仅有相同核201_1中的一个流水线220接收不充足的供电电压,因此,C_M-X-Z节点仅指向核中的一个流水线220 (所例举的处理器核被认为是双流水线核,其中每一个流水线都具有其自身专用的功率面(power plane)) ο再次重申,层次结构250及相关的功率状态定义在广度(breadth)和粒度(granularity)方面仅是示例性的。设计者可以不背离本文所讨论的主要概念而定义其他休眠状态。
[0020]图2中层次结构250的每个节点从本质上概括了处理器中哪个或哪些模块需要在进入特定的功率状态前保存其内部状态。例如,图2表明:1)处理器200的近乎所有内部状态都应在进入C_M状态前被保存;2)处理核201_1的所有内部状态都应在进入C_M-X-Y1状态前保存其内部状态;3)流水线220中的所有内部状态都应在进AC_M-X_Z状态前保存其内部状态。通过从受影响的模块的寄存器和/或存储单元读取信息,并将信息保存至另一个储存资源,如处理器外部的存储器电路,从而在进入一种功率状态前保存内部状态。
[0021]“功率域”是指一个电路模块,其供电电压能被单独降低以使得在进入功率状态(其定义包括降低模块供电电压至临界水平以下)之前保存该模块的内部信息成为必要。因此,图2还概述了处理器的示例功率域。方便起见,图2将大多数情况下的功率域描绘为与逻辑模块相仿的大小。这里,例如,图2中的每个圈出的区域200、210、201_1和220都对应着唯一的功率域定义。需要注意的是,较大的功率域(如,功率域200)可以由较小的功率域(如,功率域203、
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1