弹性地保持多核处理器的状态信息的制作方法

文档序号:6454296阅读:141来源:国知局
专利名称:弹性地保持多核处理器的状态信息的制作方法
弹性地保持多核处理器的状态信息技术领域
本发明的实施例一般涉及处理器,特别是涉及包括多个核心的处理器、如多核处理器。
背景技术
多核处理器在一个或多个管芯上、通常在单个管芯上包 括多个处理核心。随着加工技术按比例缩小到极小量纲,通过提高处 理器频率来实现高性能的主流设计方法因增加的功耗而受到限制。实 现高性能的一种备选方法是将应用程序分布于许多"小"核心上,所述 小核心以比典型的"较大"核心更慢的速度并发地运行。由于每个"小" 核心比"大"核心更简单、更小并且对功率的需求远低于"大,,核心,同 时仍然提供重要的性能,因此,多核设计可有助于比单个或大核心设 计更有效地管理功耗。
虽然多核处理器相对于带有单个核心或几个大核心的处 理器具有优点,但是随着加工技术逐步缩小,它也面临许多挑战。例 如,无论静态还是动态的工艺变化均可使晶体管不可靠,瞬时差错率 可能很高,因为存储节点上的电容很小并且电压很低,以及当晶体管 降级随时间流逝而变得更为严重时,可靠性可能随时间恶化。因此, 对于常规处理器实现的一次性工厂测试和烧制对于确保利用多核处理 器随时间进行可靠计算变得不太有效。图1是根据本发明的一个实施例的多核处理器的框图。 图2是根据本发明的另一个实施例的多核处理器的框


图。
图3是根据本发明的 一个实施例的方法的流程图。
图4是根据本发明的一实施例、使用非易失性存储器中 存储的简档信息的方法的流程图。
图5是根据本发明的一实施例的多处理器系统的框图。
具体实施方式
本发明的实施例可使用非易失性存储器来弹性地存储多 核处理器的筒档信息。多核处理器可包括设置在半导体封装的单个管 芯上的大量小核心。另外,在各种实现方式中,非易失性存储器也可 与核心设置在相同的管芯上。例如可经由自测试来动态测试多核处理 器,从而获得简档信息以便存储在非易失性存储器中。
下面进一步进行描述,各种简档信息可存储在非易失性 存储器中。在不同的实施例中,这种简档信息可包括与核心有关的频 率和电压信息以及动态信息。多核处理器的附加弹性状态还可存储在 非易失性存储器中。这种弹性状态信息可包括性能信息,下面进一步 进行讨论。此外,可以存储与分配给各个工作核心的任务有关的任务 分配信息。为了帮助这类任务,非易失性存储器还可存储将工作核心 耦合在一起的互连光纤的配置。当然,在不同的实施例中,附加简档 信息可以存储在非易失性存储器中。
在各种实施例中,可定期测试多核处理器的核心以获得和/或刷新其动态简档。核心的动态简档可包括与所述核心的最大工作 频率、功耗、功率泄漏和功能正确性以及其它参数等有关的信息。动态筒档还可包括这些参数的趋势信息,从而指明对应核心随时间的可靠性。
在各种实施例中,可根据当前核心简档将任务分配以及 动态重新分配给核心。如果这些简档在运行期间例如因更新的简档信 息而改变,则可将任务分配动态改变为保持预期性能等级。因此,这种任务分配信息还可作为弹性状态的一部分来存储,并且对这个任务 分配映射的任何更新也可存储在非易失性存储器中。
现在参照图1,示出根据本发明的一个实施例的多核处 理器的框图。如图1所示,处理器10包括多个独立核心15。更具体 来说,图1的实施例示出一种配置,它包括经由互连光纤30耦合的核 心的8x8阵列。虽然在图1的实施例中采用这个具体实现来表示,但 是要理解,本发明的范围并不受此限制,并且在其它实施例中,可存 在其它配置,例如一维、二维或三维网格或者一维、二维或三维环形 配置。另外,虽然在图1的实施例中采用64个独立核心来表示,但是 要理解,在不同实现中,多核处理器可包括更多或更少的这类核心。
至少与单个核心或双核处理器相比,各核心15可以是專交 小的核心。在各种实施例中,各核心15可包括本地存储器(例如高速 缓冲存储器),并且还可与共享存储器耦合。具体来说,如图l所示, 作为全局共享存储器的共享存储器20可经由互连光纤30与独立核心 15耦合。虽然在图1中为了便于说明而未示出,但是要理解,处理器 IO可包括其它组件,例如输入/输出(I/0)接口、互连、总线、逻辑等。
可根据各种算法来选择核心15来激活。为了实现这类激 活,互连光纤30还可以是可配置的,以便实现已激活核心15之间改 进的连通性,从而提高通信速度。在图l的实施例中,与各个核心15 有关的弹性状态数据可存储在存在于核心本身内的非易失性存储器 中。或者,非易失性存储器可在处理器之内但在处理器的核心之外设 置。但是,在其它实施例中,弹性状态数据可存储在处理器IO外部的非易失性存^l器中。
现在参照图2,示出根据本发明的另一个实施例的多核 处理器的框图。如图2所示,处理器50可包括与以上对于图l所述的 相似的组件。具体来说,多个核心15可经由互连光纤进行耦合。另外, 可存在共享存储器20。但是,在闺2的实施例中,非易失性存储器40 可设置在处理器50内。非易失性存储器40可用来存储与核心15有关的弹性状态数椐。虽然在图2的实施例中表示为与核心15在相同的管 芯上实现,但是,在其它实施例中,非易失性存储器40可设置在处理 器50的封装内,但设置在单独的管芯上。其它实现当然是可能的。
现在参照图3,示出根据本发明的一个实施例的方法的 流程图。如图3所示,方法200可用来获得简档信息,并将所得信息 存储在非易失性存储器中。方法200可开始于对多核处理器的核心执 行动态测试(框210)。这种动态测试可釆取各种形式。例如,可以以常 规间隔发起动态测试过程,其中相邻核心测试其它相邻核心的能力。 或者,可选择多核处理器的一个或多个核心作为用于这种动态测试的 专用(即检验器)核心。这样,多核处理器能够进行自测试,从而确定 其工作能力。
如上所述,可根据测试来确定各种参数。例如,可确定 电压和频率值,例如最大工作频率和工作电压。另外,例如通过在多个核心中执行一个或多个操作并比较结果,可确定核心的功能正确性。 如果结果不同,则可将核心之一表示为未通过功能正确性测试。
仍然参照图3,随后可确定动态测试是否为对于多核处 理器的原始动态测试(菱形框220)。这个原始动态测试可对应于在包括 多核处理器的系统初始加电时所,执行的测试。如果测试是原始动态测 试,则控制转移到框230。在那里,可将测试数据处理成简档信息(框 230)。处理数据的各种方式都是可能的。例如,可将有关核心的工作 速度的测试数据处理成所谓的格值(binvalue)。也就是说,各核心可根 据其最大工作速度被划分为所选数量的格其中之一。相应地,多核处 理器的核心可分为多种格,例如快速格、中等格和慢速格。另外,无 法进一步操作的任何出故障的核心可放入故障格。除了针对速度的这 类才各之外,工作核心还可分为活动核心和备用核心,其中活动核心可 选择用于按照特定配置来操作,而备用核心可保留在备用池中,供以 后、例如在活动核心的一个或多个以后出故障时配置为活动状态。这 样,可增强多核处理器的使用寿命可靠性。
注意,可调节不同格中的核心的混合,以便获得对于特 定格中的核心数量的更好控制。可作为弹性状态的一部分来记录核心 的总混合。由于性能的降级, 一个或多个核心随时间可从快速格移动 到较慢格。但是,通过调整核心的混合或者调整一个或多个核心的操 作参数,可保持多核处理器的总性能。例如,可将备用核心加入快速 格。或者,可使用电压缩放或体偏置技术以更高频率来运行现有核心。 在一些实施例中,还可作为弹性状态的一部分来记录各核心的电压、 偏置值和频率。
仍然参照图3,随后简档信息可存储在非易失性存储器 中(框240)。如上所述,这种非易失性存储器可通过各种方式来配置。 例如,包括核心的单个衬底还可包括用于存储简档信息的非易失性存 储器。在一种这样的实现中,各核心可包括非易失性存储器的一部分 来存储其简档信息。而在其它实施例中,多核处理器的封装可包括具有非易失性存储器的单独村底。此外,非易失性存储器可以是包括多 核处理器的系统的单独组件,例如,诸如基本输入/输出系统(BIOS)之 类的闪速存储器、尸、读存储器(ROM)或者系统的另 一种非易失性存储 装置。^v框240,控制转回到框210,如上所述。相应地,方法200可 在包括多核处理器的系统的正常操作期间继续执行动态观'J试。
又参照图3的菱形框220,相反,如果确定动态测试不 是原始动态测试,则控制转移到框250。在那里,可采用已改变信息 来更新非易失性存储器(框250)。例如,如果动态测试的结果表明,一 个或多个核心的操作参数已经改变,例如以更低频率或电压进行操作, 或者功能正确性测试的失败,则可在非易失性存储器中更新与已改变 信息对应的简档信息。然后,控制转回到框210,如上所述。虽然在 图3的实施例中采用这个具体实现进行描述,但是要理解,本发明的 范围不受此限制,而是可在其它实施例中执行获得简档信息并将所得 信息存储在非易失性存储装置中的其它方式。
现在参照图4,所示的是根据本发明的一实施例、使用非易失性存储器中存储的简档信息的方法的流程图。如图4所示,方 法300可在例如包括处理器的系统加电时、在初始化该处理器时开始。 相应地,可接收加电信号(框310)。这个信号在处理器中^皮接收时可引 起多核处理器的重置(框320)。这样一种重置可重置处理器的各种资 源,包括处理器的各个核心及其资源,包括例如寄存器、执行单元、 緩冲器、高速緩存等。
仍然参照图4,随后,在执行重置之后,可访问非易失 性存储器中存储的简档信息(框330)。这个访问可从非易失性存储器所 在的任何位置来搜寻简档信息。例如,控制核心可包括执行对简档信 息的请求的逻辑或者可编程为执行对简档信息的请求。在一些实施例 中,这样一种控制核心可访问与核心在相同管芯上或者相同封装中的 非易失性存储器。或者非易失性存储器可通过其它方式设置在系统中。 在其它实施例中,各核心可访问核心本身的非易失性存储装置中存储 的它自己的简档信息。
在任何情况下,可根据简档信息来配置核心(框340)。例 如,可启用一个或多个性能格的核心。另外,已启用核心之间的互连 光纤可配置成提供改进的通信(同样在框340)。例如,互连光纤可动态 配置成根据这些核心的相对位置来提供有源核心之间的最佳数据传 输。
在这种配置之后,可进入多核处理器的正常操作。相应 地,可在多核处理器的一个或多个核心中执行各种过程。在这种正常 操作期间,以所选时间间隔或者在指示核心的一个或多个中的故障或 降级性能时,可执行核心的动态测试,如本文所述。
由于这种测试,可识别对多核处理器的改变、例如核心 的可用性、 一个或多个核心的最大工作速度或者类似的这类改变。相 应地,仍然参照图4,在菱形框350,可确定是否已接收到对多核处理 器的改变的指示(菱形框350)。例如,可在采用更新简档信息对非易失 性存储器进行更新时来发起这样一种指示。如果没有接收到这种指示,则继续进行多核处理器的正常操作。
相反,如果在菱形框350接收到对多核处理器的改变的 指示,则控制可转移到菱形框360。在那里,可从非易失性存储器中 访问更新简档信息(框360)。例如通过将更新标志与更新简档信息相关 联,可易于识别更新信息。因此,更新简档信息可通过在当前动态测 试期间得到的参数以及从先前测试中得到的参数的比较来提供趋势信 息。可通过表征核心的参数的趋势信息来指明该核心的可靠性。如上 所述,例如,更新简档信息可对应于出故障的核心或者核心降低的最 大工作速度的指示。根据这个更新信息,可重新配置多核处理器的一 个或多个核心(框370)。另外,为了有效地提供这类重新配置核心之间 的通信,在一些实施例中,还重新配置互连光纤(同样在框370)。
核心的重新配置可包括将一个或多个核心重新指定到快 速格、慢速格、备用格等。注意,可调节格的数量,以便获得对于特 定格中的核心数量的更好控制。由于其性能的降级,核心随时间可从 快速格移动到慢速格。在发生这种情况时,可寻求多种选择以便将处 理器的性能保持在其计算等级。可将备用核心加入快速格,或者可使 用电压缩放或体偏置调整技术以更高频率来运行现有核心。
在另 一个示例中,可将核心按照其功耗等级或者按照例 如可靠性参数等其它参数分组到格中。在又一个示例中,可将核心分 组到格的不同集合中按照工作速度的一个集合;按照功耗等级的一 个集合;按照可靠性参数的一个集合;依此类推。在一个实施例中, 可在构建动态简档之后,将核心分组到格的不同集合中。分格过程可 由嵌入多核处理器中的软件/固件模块来执行。在另一个实施例中,分 格过程可在操作系统(OS)接收到任务时执行,使得可按照特定任务要 求将核心分組到格中。
如图4所示,控制可从框370转回到菱形框350,以便 多核处理器继续正常操作。虽然在图4的实施例中采用这个具体实现 进行描述,但是要理解,本发明的范围不受此限制,而是可实现访问非易失性存储装置以获得筒档信息并将这种信息用于多核处理器的分 配/重新分配或配置/重新配置^f喿作的不同方式。
但是,要理解,在更新简档信息时不一定需要发生重新 配置。例如,如果更新信息指明给定核心不再以其最大频率进行工作, 则提供给该核心的工作电压可增加,以便从该核心获得相同的性能等 级。另外,不是重新配置核心和/或互连光纤,而是可将当前运行的过 程移动到一个或多个不同的核心,以便获得实质上相似的性能等级而 无需重新配置。
因此,在各种实施例中,多核处理器的弹性状态可存储 在非易失性存储器中。这样一种弹性状态可包括与各种核心对应的简 档信息以及当前配置信息,例如互连光纤的配置、核心的分块、核心 的电压和频率操作等。这种弹性状态可用来实现加电以及从故障进行 恢复。例如,弹性状态可用于在加电时和重置之后配置多核处理器, 以及用于在出故障或者一个或多个核心的性能的其它降低时重新配置 多核处理器。
在不同实施例中, 一系列非易失性存储器技术可实现为 非易失性存储器。在一些实施例中,闪速存储器可用来记录多核处理 器的弹性状态。这样一种闪速存储器可支持块擦除操作。在不同的实 现中,闪速存储器可支持各种读^t式以及不同的编程;漠式。根据非易 失性存储器的位置(例如芯片上或芯片外),可在向和从存储器传输信 息中实现安全措施。例如,在弹性状态信息存储于芯片外非易失性存 储器中、例如存储于闪速只读存储器(ROM)装置上的情况下,弹性状 态可通过加密格式来存储,并且可通过加密方式;f皮传送到多核处理器。
因此,使用本发明的实施例,甚至在睡眠和待机状态、 以及其它功率管理技术中也可保存与多核处理器的当前简档和可靠性 有关的状态信息。这种信息当然也可在断开多核处理器的电力时通过 非易失性存储器来保存。使用本发明的实施例,面临对差^^的增加的 敏感度的多核环境可使用非易失性存储器中保存的弹性状态信息来提供可靠的计算。
多核处理器(例如图1和图2所示的多核处理器)中的互 连光纤可以是可重新配置的,以便从各格核心中得到良好的有益效果。 由于特定格中的核心的成员资格可随时间而改变,因此,核心之间的 带宽和等待时间经受静态光纤的大波动。因此,互连光纤可以是灵活 的,并且是动态可重新配置的。当格中的核心的混合改变时,可评估 格中的核心上的可用带宽和等待时间,并且在必要时可重新配置光纤, 以便保持高级连通性。虽然管芯上的核心的物理位置不可改变,但是, 可重新配置形成光纤的开关,使得同一个格中的核心在逻辑上相互接 近。多个核心的可用性、备用核心池和高连通性光纤以最小的性能降 级来实现从故障的快速恢复。只要测试识别了特定核心的问题,就可 使那个核心退出并移出活动服务。来自备用池的核心可代替它的位置。 相应地,互连光纤还可重新配置成减轻退出服务的有故障核心的影响, 从而提高处理器容许因变化和降级引起的故障的能力。
可在许多不同的系统类型中实现实施例。现在参照图5, 所示的是根据本发明的一实施例的多处理器系统的框图。如图5所示, 多处理器系统是点对点互连系统,并且包括经由点对点互连450耦合 的第一处理器470和第二处理器480。如图5所示,各处理器470和 480可以是多核处理器,其中包括笫一和第二处理器核心(即处理器核 心474a和474b以及处理器核心484a和484b)。各处理器470和480 还可包括非易失性存储器,以便存储与对应处理器的核心有关的弹性 状态数据。笫一处理器470还包括存储控制器集线器(MCH)472和点 对点(P-P)接口 476、 478。类似地,第二处理器480包括MCH 482和 P-P接口 486、 488。如图5所示,MCH 472和482将处理器耦合到相 应的存储器、即存储器432和存储器434,它们可以是与相应处理器 本地附连的主存储器的部分。
第一处理器470和第二处理器480分别可经由P-P互连 452和454与芯片组490耦合。如图5所示,芯片组490包括P-P^妄口494和498。另外,芯片组490包括将芯片组490与高性能图形引擎 438耦合的接口 492。在一个实施例中,高级图形端口(AGP)总线439 可用于将图形引擎438与芯片组490耦合。AGP总线439可符合Intel Corporation(力口利福尼亚的圣克拉拉)于1998年5月4日发布的加速图 形端口接口规范版本2.0。或者,点对点互连439可耦合这些组件。
芯片组490又可经由接口 496与第一总线416耦合。在 一个实施例中,笫一总线416可以是日期为1995年6月的PCI本地总 线规范产品版本、修订版2.1所定义的外设部件互连(PCI)总线或者例 如PCI Express总线等总线或另一种第三代输7v/输出(I/0)互连总线, 但是本发明的范围不受此限制。
如图5所示,各种I/O装置414可连同总线桥418 —起 与第一总线416耦合,总线桥418将第一总线416与笫二总线420耦 合。在一个实施例中,第二总线420可以是低引脚数(LPC)总线。在一 个实施例中,各种装置可与第二总线耦合,所述装置包括例如^t盘/鼠 标422、通信装置426以及可包括代码430的数据存储单元428。在一 些实施例中,可以是非易失性存储装置、如闪速存储器的数据存储单 元428,还可包括弹性状态数据432,以便存储处理器470和480的弹 性状态数据。另外,音频I/O424可与第二总线420耦合。
实施例可通过代码来实现,并且可存储在存储介质上, 存储介质上已经存储了可用于将系统编程为执行指令的指令。存储介 质可包括但不限于任何类型的磁盘,包括软盘、光盘、光盘只读存 储器(CD-ROM)、可重写光盘(CD-KW)和磁光盘;半导体器件,例如 只读存储器(ROM),诸如动态随机存取存储器(DRAM)、静态随机存取 存储器(SARAM)等随机存取存储器(RAM),可擦可编程只读存储器 (EPROM),闪速存储器,电可擦可编程只读存储器(EEPROM),磁卡 或光卡;或者适合于存储电子指令的任何其它类型的介质。
虽然针对有限数量的实施例对本发明进行了描述,但本 领域的技术人员会从其中知道大量修改和变更。所附权利要求书意在涵盖落入本发明真实精神和范围内的所有这类修改和变更。
权利要求
1.一种方法,包括执行包括多个核心的多核处理器的动态测试;把从所述动态测试中得到的数据处理成与所述多核处理器有关的简档信息;以及将所述简档信息存储在非易失性存储器中。
2. 如权利要求l所述的方法,还包括根据所述动态测试将所迷 多个核心分块为多个性能格,并将与所述分块有关的格信息存储在所 述非易失性存储器中。
3. 如权利要求l所述的方法,其中,所述简档信息包括与所述多 个核心的每一个的操作参数有关的静态信息。
4. 如权利要求3所述的方法,还包括根据在对至少一个核心的 所述操作参数的至少一个的改变之后得到的更新简档信息来重新配置 所述多核处理器。
5. 如权利要求4所述的方法,其中,重新配置所述多核处理器的 步骤包括根据所述更新简档信息来重新配置耦合所述多个核心的互连 光纤。
6. 如权利要求1所述的方法,还包括将所述简档信息存储在所 述非易失性存储器中,其中所述非易失性存储器"i殳置在所述多核处理 器的管芯上。
7. —种设备,包括多核处理器,包括经由互连光纤耦合的多个核心;以及 非易失性存储器,与所述多核处理器耦合,以便存储包括所述多 个核心的每一个的简档的弹性状态数据。
8. 如权利要求7所述的设备,其中,所述多核处理器和所述非易 失性存储器设置在单个集成电路(IC)中。
9. 如权利要求7所述的设备,其中,所述简档包括通过所述多核处理器的自测试所确定的关联核心的工作频率、功耗等级和功能正确 性指示符。
10. 如权利要求7所述的设备,其中,所迷多核处理器将在对所 述核心的操作改变之后更新核心的所迷简档。
11. 如权利要求7所述的设备,其中,所述多核处理器将在初始 化时访问所述弹性状态数据,以便确定所述多个核心中要启用的一个 或多个。
12. 如权利要求7所述的设备,其中,所述弹性状态数据包括与 将所述多个核心分为多个性能格相对应的格信息以及所述互连光纤的 配置信息。
13. 如权利要求7所述的设备,其中,所述设备包括半导体封装, 所述半导体封装包括支持所述多核处理器的第 一衬底和支持所述非易 失性存储器的第二衬底。
14. 一种包括机器可读存储介质的产品,所述介质中包括指令, 所述指令在由机器运行时使所述机器执行包括以下步骤的方法访问非易失性存储器以获得多核处理器的简档信息; 根据所述简档信息来启用所述多核处理器的多个核心;以及 根据所述简档信息来配置所述多核处理器的互连光纤,以便耦合 所启用的多个核心。
15. 如权利要求14所迷的产品,其中,所述方法还包括自测试所 述多核处理器,以便确定所启用的多个核心的功能正确性。
16. 如权利要求15所述的产品,其中,所述方法还包括在所述自测试之后禁用所启用的多个核心其中之一,并启用所述 多个核心的另一个;档信息;以及根据所述禁用和启用来重新配置所迷互连光纤,并根据重新配置 的互连光纤来更新所述非易失性存储器中的所迷简档信息。
17. —种系统,包括 多核处理器,包括多个核心;非易失性存储部件,用于存储与所述多个核心有关的弹性状态信 息,其中,所述多核处理器将访问所述非易失性存储部件中的所述弹 性状态信息,以便配置所述多个核心的一个或多个用于操作;以及动态随机存取存储器(DRAM),与所述多核处理器耦合。
18. 如权利要求17所述的系统,其中,所述多核处理器将执行动 态自测试,并根据所述动态自测试来更新所述非易失性存储部件中的 所述弹性状态信息。
19. 如权利要求18所述的系统,其中,所述系统将根据更新的弹 性状态信息来重新配置所述多核处理器。
20. 如权利要求17所述的系统,其中,所述弹性状态信息包括所 述多个核心的每一个的性能格信息、与分配给任务的 一个或多个核心 有关的任务分配信息以及与耦合所述多个核心的互连光纤有关的配置 信息。
全文摘要
在一个实施例中,本发明包括一种用于执行以下步骤的方法执行包括多个核心的多核处理器的动态测试;把从动态测试中得到的数据操作成多核处理器的简档信息;以及将简档信息存储在非易失性存储器中。在一些实施例中,非易失性存储器可处于多核处理器内。描述了其它实施例并要求其权益。
文档编号G06F13/00GK101405706SQ200780010130
公开日2009年4月8日 申请日期2007年3月14日 优先权日2006年3月23日
发明者S·博卡, Y·霍斯科特 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1