在处理器中配置功率管理功能的制作方法与工艺

文档序号:13015947阅读:183来源:国知局
本申请是PCT国际申请号PCT/US2013/048042、国际申请日2013年6月27日、中国国家申请号201380040201.8、名称为“在处理器中配置功率管理功能”的申请的分案申请。技术领域各实施例涉及集成电路的功率管理。背景半导体处理和逻辑设计的进步可使集成电路设备上可以存在的逻辑量增大。结果,计算机系统配置从系统中的单一或多个集成电路发展到单个集成电路上的多个硬件线程、多个核、多个设备和/或完整的系统。另外,随着集成电路的密度增长,计算系统(从嵌入式系统到服务器)的功率要求也逐步升高。此外,软件低效率以及其对硬件的要求也导致计算设备能源消耗的增大。事实上,某些研究指出,计算设备消耗诸如美国之类的国家的全部电力供应的相当大的百分比。结果,迫切需要与集成电路相关联的能量效率和节省。随着服务器、台式计算机、笔记本、超极本、平板电脑、移动电话、处理器、嵌入式系统等等变得越来越流行(从包括在典型的计算机中、汽车,以及电视机到生物技术),这些需要将增大。功率和热管理问题是在基于计算机的系统中的所有部分中都需要考虑的问题。在服务器领域,电力的成本驱动对低功率系统的需求,而在移动系统中,电池寿命以及热限制使这些问题相关。优化系统以便在最小功耗下取得最大性能通常是使用操作系统(OS)或系统软件来控制硬件元件来完成的。最现代的OS使用高级配置和电源接口(ACPI)标准(例如,2006年10月10日发布的Rev.3.0b)来优化这些领域的系统。ACPI实现允许处理器核处于不同的节能状态或C状态(也被称为低功率或闲置状态),一般被称为C0到Cn状态,C0是活动状态,较高的是较深的睡眠状态。除节能状态之外,在ACPI中还提供性能状态或所谓的P状态。这些性能状态可以允许当核处于活动状态(C0)时对性能-功率级别进行控制。一般而言,可以有多个P状态可用,从P0-PN。可以有一般被称为超频(turbo)模式的一系列较高频率/性能状态。附图简述图1是根据本发明的一实施例的系统的一部分的框图。图2是根据本发明的一个实施例的用于处理从多核处理器内的线程接收到的性能状态请求的方法的流程图。图3是根据本发明的另一实施例的处理器的框图。图4是根据本发明的一个实施例的通信量传感器的框图。图5是根据本发明的一个实施例的处理器的框图。图6是根据本发明的一个实施例的处理器核的框图。图7是根据本发明的另一实施例的多核处理器的框图。图8是根据本发明的一个实施例的系统的框图。具体实施方式各实施例提供有效率地并且可配置地以动态功率/性能级别操作处理器的技术,以允许在系统内细微地调整处理器,以解决对于其中配置了处理器的给定类型的平台的问题。各实施例可以特别适用于多核处理器,其中,多个核中的每一个都可以在独立电压和频率点操作。如此处所使用的,术语“域”被用来表示在相同电压和频率点操作的硬件和/或逻辑的集合。另外,多核处理器还可以包括其他非核处理引擎,诸如固定功能单元、图形引擎等等。这样的处理器可包括核之外的独立域,诸如与图形引擎相关联的一个或多个域(此处被称为图形域),以及与非核电路相关联的一个或多个域,此处被称为非核或系统代理。虽然可以在单一半导体管芯上形成多域处理器的许多实现,但是,其他实现可以通过其中不同的域可以存在于单一封装的不同的半导体管芯上的多芯片封装来实现。如此处所使用的,术语“硬件线程”、“线程”,以及逻辑核全部都可互换地使用。根据基于OS的ACPI机制,处理器还可以在各种功率和性能状态或级别操作。相对于功率状态,ACPI指定不同的功率消耗状态,一般被称为C状态,C0,C1到Cn状态。当核活跃时,它在C0状态运行,而当核空闲时,它可以被置于核低功率状态,也叫做核非零C状态(例如,C1-C6状态)。当多核处理器的所有核都处于核低功率状态时,可以将处理器置于封装低功率状态,诸如封装C6低功率状态。除这些功率状态之外,处理器还可以被配置成在多种性能状态,P状态,即,从P0到PN中的一种状态下操作。一般而言,P1性能状态可以对应于可以由OS请求的最高保证的性能状态。除此P1状态之外,OS还可以请求较高性能状态,即,P0状态。如此,此P0状态可以是机会性状态,其中,当有功率和热预算可用时,处理器硬件可以配置处理器或其至少一些部分,以便以高于保证的频率操作。在许多实现中,处理器可包括多个高于此P1频率的所谓的元频率(binfrequency),此处也被称为超频模式频率。最高这样的频率可以对应于最大超频频率(P01),这是域可以操作的最高频率。如此,此最大超频频率是大于P1频率的多个超频模式频率的最高端,并对应于能够实现的最大非保证的最高性能级别。如此处所描述的,可以跨所有核或基于每个硬件线程地启用/禁用超频。各实施例提供配置机制,以与处于数据封装级别和单个核级别(通过硬件线程)的超频控制一起操作。注意,术语“性能状态”或“P状态”可以与术语“操作频率”(或更一般而言“频率”)可互换地使用,因为核的操作频率与其性能具有直接关联。因此,如此处所使用的,较高性能状态与较高操作频率相互关联。根据本发明的一个实施例的处理器可以包括完全集成电压调节(FIVR),以便可以提供每核P状态(PCPS)。如此,可以在彼此独立的频率操作核。虽然参考特定集成电路(诸如在计算平台或处理器中)描述了下列实施例,但其他实施例也适用于其他类型的集成电路和逻辑设备。可以将此处所描述的各实施例的类似的技术和教示应用于也可以得益于更好的能量效率和能量节约的其他类型的电路或半导体器件。例如,所公开的各实施例不仅限于任何特定类型的计算机系统,也可以用于诸如手持式设备、片上系统(SOC)设备以及嵌入式应用之类的其他设备中。手持式设备的某些示例包括蜂窝电话、网际协议设备、数码相机、个人数字助理(PDA)以及手持式PC。嵌入式应用通常包括微控制器、数字信号处理器(DSP)、网络计算机(NetPC)、机顶盒、网络中枢、广域网(WAN)交换机,或能够执行下面所描述的功能和操作的任何其他系统。此外,此处所描述的设备、方法,以及系统也不仅限于物理计算设备,但是,也可以涉及对于节能和效率的软件优化。如在下面的描述中显而易见地看出,此处所描述的方法、设备以及系统的各实施例(无论引用硬件、固件、软件或其组合)为未来的“绿色技术”所不可缺少的,诸如,用于涵盖美国经济的大部分的产品中的电能节省和能量效率。虽然处理器可以具有各种动态功率/性能特征,但是,各实施例可以被用来提供这样的特征中的某些或全部的可配置性。为了此处的说明,将详细地描述三个动态功率/性能特征:每个核P状态(PCPS)、非核频率调整(UFS)以及有能量效率的超频(EET)。PCPS特征允许多核处理器的单个核在总体功率、电气、热以及库存单位(SKU)约束内以不同频率并行地操作。UFS特征使用传感器值来动态地调整非核互连频率,以在核和非核互连之间更好地分配功率,以提高性能,在空闲情况下节省功率。EET特征基于核停止(例如,当在核上执行的一个或多个线程正在等待负载或存储时),在核的超频范围内动态地调整频率。因为无论由于工作负荷混合还是应用存储器访问模式导致停止的核不是频率友好的并且不能从提高的操作频率提供改善的性能,所以EET操作可以改善处理器中的功率/性能折衷。在各实施例中,可以提供可配置参数,以允许用户混合并匹配上述特征(和/或其他功率/性能特征)。另外,还可以使这些特征是可配置的,允许对系统进行微调,满足不同的市场细分的需求,包括但不限于云计算、高性能计算、数据中心以及存储等等。如此,单一处理器可以提供可以利用跨计算连续性的微分的选择实现的功率和性能特征,带有范围广泛的使用模型。在各实施例中,PCPS基于与物理核相关联的逻辑核上的OS请求的性能,允许单个物理核在不同的电压/频率点并行地操作。即,可以独立于其他核(在整个系统功率和热约束内)配置每一个核的操作点。在本发明的一个实施例中,由于集成在处理器中的完全集成的电压调节器(FIVR),PCPS是可行的。此调节器允许每一个核的独立配置,其中配置包括但不仅限于,电压设置、频率设置及影响每一个核的功率消耗的其他参数。与在共同的电压/频率点(跨所有逻辑核,OS请求的性能的最大值)操作多核处理器的所有核相比,PCPS可以通过只在OS确定为合适的高度运行物理核来实现电能节省。各实施例可以通过只向寻求功率的核分配多余功率预算来提高性能,允许它们更快地运行,并提高系统性能。在本发明的一个实施例中,处理器具有多个处理核和与多个处理核中的每一个耦合的功率控制模块。功率控制模块促进每一个核在独立于其他核的性能状态的性能状态下操作,其中,不违犯封装或系统的总体热和电气约束。如此,可以实现对功率消耗和性能更好的控制。例如,在多核处理器中,在热约束的环境中,只有几个核可以被允许在较高核频率下运行,从而允许所希望的工作负荷的执行,同时降低功率消耗,并因此降低温度。在其中处理器内的每一个核都具有其自己的电压调节器的FIVR实现中,可以提供一个或多个附加电压调节器,用于与诸如非核逻辑、存储器控制器逻辑、功率控制单元等处理器内的其他组件一起使用。当然,在某些实施例中,单一电压调节器可以与处理器的一个或多个核和/或其他组件相关联。在一个实施例中,可以为处理器的非核电路提供专用的电压调节器,这将允许非核在不同的电压和频率下运行。对于以计算为中心的工作负荷,非核可以在较低的电压和频率下运行,导致在插槽级别朝向较高核频率应用功率节省。对于存储器和IO密集型工作负荷,非核可以在较高电压和频率下运行,而核可以在较低的电压/频率下运行,补偿了非核中的较高功率消耗。在某些实施例中,可以扩展ACPI表,以包括关于这些单个集成的电压调节器的信息,以允许每个核P状态控制。例如,可以使用4比特字段来传递P状态信息,并将它映射到每一个调节器的控制电压逻辑。如此,通过使用本发明的各实施例,可以控制每一个核,对于非对称的工作负荷,在不同的频率和/或电压操作。作为一个示例,可以控制多个核中的一个或几个在较高频率和/或电压下操作,而同时控制其余核在较低的电压/频率组合下操作,因此保持在给定热设计功率(TDP)范围内。如此,对于给定工作负荷,可以实现确定性的并且最佳性能能力选择。例如,寻求较高性能级别以便以第一方式处理数据的核可以在较高电压/频率下操作(这样的核可以执行诸如数据处理使用之类的任务,诸如数据-复制服务、数据分析、奇偶校验计算等等),而执行例如管理任务的核可以在较低的电压/频率下运行,以为TDP约束的环境提供最佳混合。如此,给定了热或TDP预算,并非当可能时机会主义地以较高频率运行所有核,而是各实施例以单个核为基础提供确定性的行为。现在参考图1,所示是根据本发明的实施例的系统的一部分的框图。如图1所示,系统100可以包括各种组件,包括处理器110,如图所示,该处理器110是多核处理器。处理器110可以通过外部电压调节器160耦合到电源150,调节器160可以执行第一电压转换,以向处理器110提供主要被调节的电压。可以看出,处理器110可以是包括多个核120a-120n的单管芯处理器。另外,每一个核还可以与单个电压调节器125a-125n相关联。相应地,可以提供FIVR实现,以允许对每一个单个核的电压进行细粒度的控制,因而对功率和性能进行细粒度的控制。如此,每一个核都可以在独立电压和频率下操作,允许大灵活性,并提供用于平衡功率消耗与性能的广泛的机会。仍参考图1,根据本发明的一个实施例,除可以提供用于执行对处理器的多个功率管理特征的动态控制的信息之外,每一个核都还可包括各种硬件传感器及其他电路。更具体而言,如图1所示,每一个核都可包括核活动传感器122和核停止传感器124。在一个实施例中,核停止传感器124可以被配置成确定核的对应于等待存储/负载的度量的停止速率。可以以各种方式来确定此停止速率,从核被停止的i周期的简单计数到比较复杂的方式。在一个实施例中,核活动传感器122可以被配置成确定核的活动率。可以以各种方式来确定此活动率,从核活跃的的i周期的简单计数到比较复杂的方式。在一个实施例中,核活动传感器122可以被配置成计数其中核上的一个或多个线程处于活跃的C0状态的周期。不失一般性,假设一个物理核与两个逻辑处理器或硬件线程相关联,那么,该核具有等于当一个或多个相关联的逻辑核是活跃时(即,在观察窗口,在C0状态下)的时间活跃的或C0值。仍参考图1,额外的组件可以存在于处理器内,包括输入/输出接口132、另一接口134以及集成的存储器控制器136。可以看出,这些组件中的每一个都可以由另一集成的电压调节器125X来供电。在一个实施例中,接口132可以符合快速路径互连(QPI)协议,该协议在高速缓存一致性协议中提供点对点(PtP)链路,该高速缓存一致性协议包括多个层,包括物理层、链路层以及协议层。接口134又可以符合外围组件互连快速(PCIeTM)规范,例如,PCIExpressTM规范基础规范版本2.0(2007年1月17日)。尽管为便于说明未示出,但是,可以理解,额外的组件可以存在于处理器110内,诸如非核逻辑、功率控制单元、及其他组件,诸如内部存储器,例如,一个或多个级别的缓存存储器层次结构等等。此外,尽管在图1的实现中是利用集成的电压调节器示出的,但是,各实施例不是限制性的。在各实施例中,PCPS基于与物理核相关联的逻辑核上的OS请求的性能,允许单个物理核在不同的电压/频率点并行地操作。与在共同的电压/频率点(跨所有逻辑核,OS请求的性能的最大值)操作多核处理器的所有核相比,PCPS可以通过只在OS确定为合适的高度运行物理核来实现电能节省。各实施例可以通过只向寻求功率的核分配多余功率预算来提高性能,允许它们更快地运行,并提高系统性能。相应地,PCPS配置允许将所有核组合为单一功率域或每个核具有功率域。功率域的数量又影响某些旧式P状态行为的实现,即,某些ACPI参数,包括SW_ANY控制参数,如下面所描述的。基本输入输出系统(BIOS)对于PCPS的支持包括配置标志和表条目。更具体而言,单一功率域(SPD)指示符或标志可以存在于配置和状态寄存器(CSR)中,例如,作为寄存器的比特。可以锁住此比特,在系统重新启动/复位时,只读一次。在一个实施例中,当此比特被置位时,它是处理器将充当用于功率目的的单一域的指示(如此,所有核都在单一P状态下操作)。相反,当此比特被复位时,它是处理器的每一个核都将充当用于功率目的的单一域的指示(如此,每一个核都可以在独立P状态下操作)。PCPS支持还可以通过每个功率域的BIOS中的ACPI表条目来实现。为在N物理核系统中的实现PCPS,可以指定N个ACPI功率域条目。为将所有核视为映射到单一功率域,可以指定这些多个条目中的单一条目。可以提供单独的条目,以便当所有核映射到单一功率域时使用。在系统重新启动时,ACPI表和SPD标志被读取一次。如果有多个功率域条目,并且SPD标志没有置位,则可以使PCPS的全部特征透明地对利用没有对于PCPS的支持的旧式操作系统部署的系统可用。根据ACPI规范,不同的功率管理模式是可能的,每一个模式都指出来自线程的性能状态变化请求对功率域具有什么影响。一般而言,有三个不同的功率管理模式可用,即,HW_ALL,SW_ALL和SW_ANY。一般而言,HW_ALL和SW_ALL类似地操作,因为给定功率域内的活跃的线程的最高请求的性能状态被选为要向该功率域施加的性能状态。相反,SW_ANY功率管理模式将导致功率域的性能状态是由该域上活跃的线程最近请求的性能状态。现在参考表1,所示是使用此SPD标志以及单一功率控制(PCTL)标志来支持HW_ALL、SW_ALL、SW_ANY的ACPI模式的行为,该标志也可以在杂项功率管理机特定的寄存器(MSR)上可用(例如,MISC_PWR_MGMT(MSR0x1aa)),并且取决于标志的状态,一般提供单一功率控制或多个域功率控制的配置。表1表2基于是否提供支持PCPS的BIOS,示出了旧式OS的行为的图示。表2注意,在上面的表2中,X是无关紧要的,N对应于处理器中的核的数量。现在参考表3,所示是根据本发明的一个实施例的利用PCPS的可配置性的P状态处理的伪代码。表3事件:在任意逻辑核上的OSPstate或Cstate请求(即,硬件线程),即t,Pstate(t)//如果Cstate是C0,表示逻辑核活跃,因此其Pstate被考虑//如果Cstate>0,即非活跃,相关联的Pstate被忽视if(single-power-domain){//SPDif(SW_ANYmode){//Single_PCTL标记/比特new_Pstate=Pstate(t);//在IO_FIRMCONFIG_MSR上可用
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1