] 运里描述的是一种使用分布式逻辑的系统及方法,用来在一多内核处理器上管理 功率状态,尤其是电压和频率状态,此分布式逻辑设置并复制于每个内核上。在叙述每个说 明详细实施例的图示之前,W下通常先介绍本发明的可应用概念。
[0043] 如同在此所使用,一多内核处理器通常是指一个包含多个能被启动的实体内核的 处理器,其中每个实体内核被配置来揃取、解码、并执行遵照一指令集架构的指令。一般来 说,多内核处理器通过一被所有内核共享的系统总线来禪接至一忍片组,此忍片组提供存 取外围总线到各个装置。
[0044] 多内核处理器的内核可封装在一或多个包括多个内核的忍片中,如申请于 12/22/2010,第 61/426,470 号,标题为"Multi-CoreProcessorInternalBypassBus"及 其同时申请的正式申请案(CNTR. 2503)所述,其在此合并参考。如同其中所提,一典型的忍 片是一片半导体晶圆,其被切成一个单一实体,且通常具有至少一组实体I/O接触垫。例 如,有些双内核忍片具有两组I/O接触垫,各别用于每个内核。其他双内核忍片具有一组共 享于两个内核之间的I/O接触垫,有些四内核忍片具有两组I/O接触垫,每个用于两组中的 两内核。也可能有多种配置方式。
[0045] 此外,一多内核处理器也提供一承载多个忍片的封装体。"封装体"为一个上面有 设置忍片的基板。"封装体"通过一忍片组禪接至一处理器总线,并提供一组引脚,用来连接 至一主机板及关联的处理器总线。封装体的基板包括连线网络或布线,其将忍片的引脚连 接至封装体的共享引脚。
[0046] 如上所述,使用内核外部但内建于忍片内部的主动硬件协调逻辑化CL)来实现功 率状态,很可能会造成更复杂、较不对称、且低产量的忍片设计W及扩充上的困难。使用忍 片组本身来进行每种必要的协调虽是可行的替代方案,但需要每个内核去控制系统总线, W传递一可用值给忍片组,运样将导致特定资源被密集使用的问题。为了克服运些方式的 缺点,本发明实施例利用在多内核处理器内核之间的边带连线及被动逻辑,来产生用来控 制供应给多内核处理器或其组成内核的电压和/或频率的数值。边带连线并未连结至封装 体的外围引脚,因此它们既不传送信号至封装体、也不通过系统总线来交换通信。又,从每 个内核传来的相关输出信号会馈入被动逻辑,用来产生有关的综合数值,其用来控制共享 在微处理器内核之间的相关电压及频率产生资源。
[0047] 例如,如CNTR. 2503所述,每个忍片可在忍片内核间提供旁路总线,运些旁路总 线并未连结至忍片的实体引脚,因此它们不会传送信号至双内核忍片的外部。它们也在 内核之间提供增进质量的信号,W达到无须使用系统总线,便能使内核彼此通信或协调 的目的。此外,如申请于 12/22/2010,第 61/426,470 号,标题为"DecentralizedPower ManagementDistributedAmongMultipleProcessorCores"及其同时申请的正式申请 案(CNTR. 2527)所述,其在本案被合并参考,一封装体可在一封装忍片之间提供忍片间通 信线。如CNTR. 2527所述,忍片间通信线的实作可能在每个忍片上需要至少一个额外的输 出接触垫。然而,本发明实施例的实作能比依靠内核外部的HCL或其他主动式内核外部的 逻辑来协调内核的实作具较少成本及更大扩充性。
[0048] 现在来看图1和图3,为一实施例的一包括一多内核微处理器102的计算机系统 100的方块图。多内核微处理器102包含两个半导体忍片104,其配置成一单一的四内核微 处理器封装体,忍片104表示忍片0和忍片1,每个忍片104包括两个处理内核106。在忍 片0中的内核106表示为内核0和内核1,而在忍片1中的内核106表示为内核2和内核 3。为了促进内核间的分布式电源管理协调动作,每个忍片便在自身忍片之间提供了内核间 通信线路112。
[0049] 每个内核包括一个处理如一指令快取、一指令揃取单元、一分支预测单元、一指令 译码器或解码器、微码、一寄存器配置表、通用和特殊寄存器、一数据快取、保留站、执行单 元、一重排序缓冲区、及一指令引退单元等元件的管线124。在各种方面下,内核106可与 CNTR. 2527中描述的内核相似。
[0050] 忍片104架设在封装体102的一基板上。基板包括连线网络(或简称"线路")或 布线。布线连接忍片104的接触垫至封装体102的引脚,并互相连接忍片104的接触垫。基 板也包括定义忍片间通信线路118的布线,其与忍片104互连来促进内核106之间的通信, W进行分布式电源管理协调动作。尤其是,忍片间通信线路118提供来连接不同内核106 的输入接触垫108及输出接触垫108。在图1的实施例中,经由忍片间通信线路118,内核 0的输出接触垫108禪接至内核2的输入接触垫108,且内核2的输出接触垫108禪接至内 核0的输入接触垫108 ;而经由忍片间通信线路118,内核1的输出接触垫108禪接至内核 3的输入接触垫108,且内核3的输出接触垫108禪接至内核1的输入接触垫108。
[0051] 为了区别可能由内核间通信线路112与忍片间通信线路118进行的内核间协调动 作,运里便介绍了 "伙伴(pal)"及"同伴化uddy)"的关系用字。用字"伙伴"用来指在相同 忍片104上的内核106,其经由内核间通信线路112来彼此通信(W下详述);如此,在图1 的实施例中,内核0和内核1为伙伴,且内核2和内核3为伙伴。用字"同伴"在运里用来指 在不同忍片104上的互补内核106,其经由忍片间通信线路118来彼此通信(W下详述); 如此,在图1的实施例中,内核0和内核2为同伴,且内核1和内核3为同伴。
[0052] 请注意如运里定义的关系用字微妙地与CNTR. 2527中一般定义的相同关系用字 不同。在那里的"同伴"通常是指忍片主控之间的关系。而运里的"同伴"是指内核之间的 所有关系,运些内核可能是或不是忍片主控,并W忍片间通信线路118来连接,且运些内核 被配置来在忍片间通信线路118上引发信号,W达到运里描述的协调目的。
[0053] 多内核微处理器102可用来支持一操作系统指令,W回应工作量、使用者输入、或 其他事件来切换成各种操作点,包含不同的电压和频率设定(如熟知的P状态或效能状态、 如通过一MWAIT指令)。此外,微处理器本身可侦测出事件并有效地对其回应来改变自己的 操作点,如降低功率消耗和/或增加效能。
[0054] 特别如图1所示,多内核微处理器102禪接至一调压器模块(VRM) 158,其提供一电 源输入154给多内核微处理器102。在本实施例中,VRM是一个被所有内核共享的资源。多 内核微处理器102提供了一个控制VRM158的电压ID(VID)信号152,W在电源输入154上 提供所欲电压电平。在一实施例中,VID152是一个能够定义高达128种不同电压电平的7 位元信号。通过调整VID152,多内核微处理器102便能动态改变自己的功率消耗程度,相 较于其他因素之下,多内核微处理器102消耗的电量为电压输入154的一个函数。
[00巧]特别如图3所示,多内核微处理器102也包括两个锁相回路(P化)444,分别在忍 片0及忍片1上。每个化L444产生一内核时钟信号442,其提供给每个共享此化L444的 内核106。通过调整自己的操作频率,多内核微处理器102可动态地改变自己的效能程度, 因为相较于其他因素之下,多内核微处理器102每秒完成的指令数量为自身频率的一个函 数。典型地,当操作频率增加时,操作电压154也会增加W确保适当的操作;相反地,当频率 降低时,电压154可能会降低W节省电力。
[0056] 每个内核包括用于产生综合VID及频率比信号的分布式逻辑,W控制共享的VM 和化L。在下面段落中,首先描述用于产生一综合VIDW控制VM的逻辑,之后再描述用于 产生综合频率比信号W控制化L的逻辑。
[0057] 每个内核106包括禪接至管线124的VID产生逻辑122。首先,VID产生逻辑122 接收一my-core-vid信号132,其指示了内核106需要的VID数值。在一实施例中,内核 106的微码将内核106的VID数值写入内核106的一个控制寄存器中,其中此VID数值经由 my-core-vid信号132提供给VID产生逻辑122。
[005引接下来集中在与"伙伴"或相同忍片上的内核的VID协调,VID产生逻辑122接收 一个pa^vid信号134,其指示了内核106的伙伴内核106需要的VID数值。VID产生逻辑 122也经由内核间通信线路112提供my-core-vid信号132给自己的伙伴内核106,亦即变 成将pa^vid信号134输入到伙伴内核106。VID产生逻辑122从运些值中计算出一综合 VID数值,其为所有相关内核的最大的VID数值。
[0059] 接着集中在"同伴"之间的VID协调,在每个内核106具有对自身忍片104决定综 合VID数值之后,便经由忍片间通信线路118W串行方式将自身忍片104的综合VID数值 传到自己的同伴内核106。尤其是,VID产生逻辑122提供一my-die-vid-serial信号138 给内核106的一输出接触垫108,用来指示忍片104的综合VID数值。每个内核106的VID 产生逻辑122随后从内核106的一输入