定向窥探介入的制作方法

文档序号:9769180阅读:242来源:国知局
定向窥探介入的制作方法
【技术领域】
[0001]本发明的各方面大体上涉及处理器,且更明确地说,涉及多处理器中的定向窥探介入。
【背景技术】
[0002]典型的常规多处理器集成电路(S卩,芯片)利用使用互连总线互连的多个处理器核心。每一处理器核心由一或多个高速缓冲存储器支持。每一高速缓冲存储器存储数据文件,且通常以固定大小的块的形式在系统存储器和高速缓冲存储器之间加以传送。数据块被称为“高速缓存线”。每一高速缓冲存储器包含与其已高速缓存的数据文件相关联的全部地址的目录。
[0003]每一处理器核心的高速缓存的数据可由互连总线上的全部其它处理器核心共享。因此,系统中可能具有许多数据副本:一个副本在主存储器中,所述主存储器可在芯片上或芯片外,以及一个副本在每一处理器核心高速缓冲存储器中。此外,每一处理器核心可与互连总线上的任何其它处理器核心共享在其高速缓冲存储器中的数据。因此,需要维持与所共享的数据的一致性或相干性。互连总线处理各种处理器核心和高速缓冲存储器当中的全部相干性交通以确保维持相干性。
[0004]用于在多处理器中维持相干性的一个机构利用被称为“窥探”的技术。当处理器核心需要特定的高速缓存线时,所述处理器核心首先窥探其自身的高速缓冲存储器。如果所述处理器核心在其自身的高速缓冲存储器中找到所述高速缓存线,那么高速缓存“命中”已发生。然而,如果所述处理器核心在其自身的高速缓冲存储器中并未找到所述高速缓存线,那么高速缓存“未命中”已发生。当高速缓存“未命中”发生时,窥探其它处理器的高速缓冲存储器以确定其它高速缓冲存储器中的任一者是否具有所请求的高速缓存线。如果所请求的数据位于另一处理器核心的高速缓冲存储器,那么另一处理器核心的高速缓冲存储器可“介入”所述高速缓存线以向提出请求的处理器核心提供高速缓存线,以使得提出请求的处理器核心不必存取来自主存储器的数据。
[0005]如果互连总线上仅存在两个处理器核心和相关的高速缓冲存储器,那么此窥探技术会很有效。例如,如果第一处理器核心请求高速缓存线,且第二处理器核心的高速缓冲存储器含有所请求的高速缓存线,那么第二处理器核心的高速缓冲存储器将向第一处理器核心提供所请求的高速缓存线。如果第二处理器核心的高速缓冲存储器不含有所请求的高速缓存线,那么第一处理器核心的高速缓冲存储器将存取来自芯片外的主存储器的所请求的高速缓存线。然而,当互连总线支持越来越多的处理器核心(这些处理器核心中的任一者在其高速缓冲存储器中可能具有所请求的数据)时,就需要存在更复杂的仲裁机构以决定哪一处理器核心的高速缓冲存储器将向提出请求的处理器核心提供所请求的高速缓存线。
[0006]当存在两个以上的由互连总线支持的处理器核心和相关联的高速缓冲存储器时的一种仲裁机构包含在所述高速缓冲存储器中保存状态信息(亦即,在“介入者”中保存状态信息),所述状态信息指示对提供关于窥探请求的数据的职责。当处理器核心请求高速缓存线时,互连总线“窥探”全部连接的高速缓冲存储器(例如,通过向互连总线上的全部处理器高速缓冲存储器广播窥探请求)。由互连总线支持的每一处理器核心检查其高速缓存线,并且被标记为介入者的高速缓冲存储器将向提出请求的处理器核心提供所请求的高速缓存线。
[0007]更复杂的互连总线实施窥探过滤器,其维持表示高速缓存线的条目,所述高速缓存线为互连总线上的全部处理器核心高速缓冲存储器所拥有。窥探过滤器引导互连总线以只窥探可能具有数据副本的处理器高速缓冲存储器,而不是向互连总线上的全部处理器高速缓冲存储器广播窥探请求。
[0008]历史上,用于确定介入的高速缓冲存储器的决策过程是基于固定方案执行。例如,基于请求高速缓存线的最后一个处理器核心或请求高速缓存线的第一个处理器核心,确定介入的高速缓冲存储器。不幸的是,第一个处理器核心或最后一个处理器核心可能都不是提供高速缓存线的最佳处理器核心。
[0009]因此,需要用于仲裁互连总线的改进的设备和方法。

【发明内容】

[0010]本发明的实例实施方案是针对用于横跨多处理器架构中的互连模块总线的定向窥探介入的设备、方法、系统和非暂时性机器可读媒体。一或多个实施方案包含低等待时间的高速缓存介入机构,其实施窥探过滤器以动态地选择介入者高速缓冲存储器,以用于多处理器架构中的高速缓存“命中”。
[0011]所述机构包含包括窥探模块的设备,所述窥探模块经配置以获取来自提出请求的处理器对读取所请求的高速缓存线的请求,并确定与一或多个拥有处理器相关联的一或多个高速缓冲存储器包含所请求的高速缓存线。所述设备进一步包括经配置以跟踪与计算机系统相关联的一或多个变量的变量模块。窥探模块进一步经配置以基于一或多个变量,选择拥有处理器,从而向提出请求的处理器提供所请求的高速缓存线。所述设备进一步包括信令模块,其经配置以用信号通知选定的拥有处理器向提出请求的处理器提供所请求的高速缓存线。
[0012]所述机构执行方法,所述方法包括从计算机系统中的提出请求的处理器中获取读取所请求的高速缓存线的请求,确定与一或多个拥有处理器相关联的一或多个高速缓冲存储器包含所请求的高速缓存线,从一或多个拥有处理器当中选择拥有处理器来向提出请求的处理器提供所请求的高速缓存线,其中选择拥有处理器是基于一或多个变量,以及通知选定的拥有处理器向提出请求的处理器提供所请求的高速缓存线。非暂时性计算机程序产品可实施这个方法和本文中所描述的其它方法。
[0013]本
【发明内容】
在具有以下理解的情况下提交:其将不会用于解释或限制权利要求的范围或含义。本
【发明内容】
并非意图识别出所主张的标的物的关键特征或基本特征,并且也并非意图辅助确定所主张的标的物的范围。
【附图说明】
[0014]呈现随附图式以辅助对本文中所描述的技术的实施方案的描述,并且仅提供用于对实施方案的说明且不对其加以限制。
[0015]图1为根据一或多个实施方案的适于实施横跨多处理器架构中的互连模块总线的定向窥探介入的实例环境的框图。
[0016]图2为说明根据一或多个实施方案的响应于高速缓存“未命中”的定向窥探介入的框图。
[0017]图3为说明根据一或多个实施方案的计算机系统的框图。
[0018]图4为根据一或多个实施方案的用于实施横跨多处理器架构中的互连模块总线的定向窥探介入的方法的实例流程图。
[0019]【具体实施方式】参考附图。在诸图中,参考编号的最左边数字识别其中首次出现所述参考编号的图。整个图式中使用相同编号指代相同的特征和组件。
【具体实施方式】
[0020]总的来说,本文中所揭示的标的物是针对用于多处理器架构中的低等待时间的高速缓存介入机构的系统、设备、非暂时性计算机可读媒体和方法。在一或多个实施方案中,互连模块跟踪高速缓存线在多处理器架构中的位置。
[0021]当由互连模块支持的处理器在一或多个其它处理器核心高速缓冲存储器中发出读取高速缓存线的请求时,互连模块确定哪些高速缓冲存储器含有或拥有所请求的高速缓存线。互连模块比较与含有所请求的高速缓存线的处理器核心高速缓冲存储器相关联的变量。随后,互连模块选择含有所请求的高速缓存线的高速缓冲存储器,所述所请求的高速缓存线表示最低等待时间、最小功率、最高速度等,如通过比较变量所确定的。选定的高速缓冲存储器变为用于提出请求的处理器核心的介入者(即,以提供所请求的数据)。
[0022]然后,互连模块通知选定的介入者高速缓冲存储器向提出请求的处理器提供所请求的高速缓存线。接着,选定的介入者高速缓冲存储器向提出请求的处理器核心提供所请求的高速缓存线。因此,互连模块基于改变系统变量动态地选择介入的高速缓冲存储器,而不是具有用于确定哪一高速缓冲存储器将介入以提供所请求的高速缓存线的固定方案。
[0023]应注意,可考虑一个系统变量的最小值,以确定哪一高速缓冲存储器将是介入者。不需要考虑一个以上的系统变量。
[0024]互连模块可考虑的一个系统变量可包含多处理器架构的拓扑。拓扑变量可将高速缓存线是否在芯片上、高速缓存线是否在芯片外、高速缓存线是否在主存储器中、高速缓存线是否在另一多处理器芯片上等考虑在内。
[0025]互连模块可考虑的另一系统变量可包含处理器核心和/或高速缓冲存储器的功率状态。例如,互连模块可考虑所述核心/高速缓冲存储器是处于操作模式中还是处于节能模式中。模式可包含“睡眠”模式、“电源崩溃”模式、“闲置”模式等。
[0026]互连模块可考虑的另一系统变量可包含处理器核心的频率和/或高速缓冲存储器的频率。
[0027]互连模块
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1