多处理器架构中的高速缓存一致性目录的利记博彩app
【专利说明】
【背景技术】
[0001]除非本文中另有指示,否则本部分中描述的材料并不是针对本申请中权利要求的现有技术,并且不因包括在本部分中而被承认是现有技术。
[0002]在多核处理器架构中,多个处理器内核可以被包括在单个集成电路晶片中或者被包括在被设置在单个芯片封装中的多个集成电路晶片上。高速缓存可以被用于存储供处理器内核中的一个或多个访问的数据。数据可以是存储在通常位于晶片外侧的更大存储器中的数据的子集。每个处理器可以被设置有存储用于处理器的数据的高速缓存。由于单条数据可以被存储在多个高速缓存中,高速缓存一致性协议可以被配置为记录存储在多个高速缓存中的数据。高速缓存一致性协议可以被配置为帮助确保对数据的多个请求一致地使得相同的数据被返回。
[0003]概述
[0004]在一些示例中,总体上描述了用于处理多处理器架构中的晶片中的请求的方法。该方法可以包括接收对特定数据块的请求。该方法可以进一步包括确定与包括所述特定数据块的数据块被存储在晶片中的一个或多个高速缓存中的可能性相关的老化阈值(agingthreshold)。该方法可以进一步包括分析存储器以识别指示为存储所述特定数据块的特定高速缓存。该方法可以进一步包括分析所述存储器以识别所述特定高速缓存的高速缓存缺失(cache miss)数量。该方法可以进一步包括分析所述存储器以识别针对所述特定数据块的事件发生时的时间。该方法可以进一步包括基于老化阈值、事件的时间以及高速缓存缺失数量确定是否将对所述特定数据块的请求发送至所述特定高速缓存。
[0005]在一些示例中,总体上描述了多处理器架构中的目录。该目录可以包括存储器和被配置为与存储器通信的目录控制器。目录控制器可以用于接收对特定数据块的请求。目录控制器可以用于确定与包括所述特定数据块的数据块被存储在晶片中的一个或多个高速缓存中的可能性相关的老化阈值。目录控制器可以进一步用于分析所述存储器以识别指示为存储所述特定数据块的特定高速缓存。目录控制器可以用于分析存储器以识别在第一时间和第二时间之间针对所述特定高速缓存的高速缓存缺失数量。目录控制器可以用于分析存储器以识别针对所述特定数据块的事件发生时的时间。目录控制器可以进一步用于基于老化阈值、事件的时间以及高速缓存缺失数量来确定是否将对所述特定数据块的请求发送至所述特定高速缓存。
[0006]在一些示例中,总体上描述了多处理器架构中的晶片。该晶片可以包括第一片(tile)、第二片以及目录。第一片可以包括第一高速缓存和第一处理器。第二片可以包括第二高速缓存和第二处理器。目录可以被配置为与第一片和第二片通信。目录可以包括存储器和目录控制器。目录控制器可以用于接收对特定数据块的请求。目录控制器可以用于确定与包括所述特定数据块的数据块被存储在晶片中的一个或多个高速缓存中的可能性相关的老化阈值。目录控制器可以进一步用于分析所述存储器以识别指示为存储所述特定数据块的特定高速缓存。目录控制器可以用于分析所述存储器以识别在第一时间和第二时间之间针对所述特定高速缓存的高速缓存缺失数量。目录控制器可以用于分析所述存储器以识别针对所述特定数据块的事件发生时的时间。目录控制器可以进一步用于基于老化阈值、事件的时间以及高速缓存缺失数量来确定是否将对所述特定数据块的请求发送至所述特定高速缓存。
[0007]前面的概述仅仅是示例性的,而不意在以任何方式进行限制。通过参考附图以及下面的详细说明,除了上文所描述的示例性的方面、实施方式、示例和特征之外,另外的方面、实施方式、示例和特征将变得清晰可见。
【附图说明】
[0008]通过下面结合附图给出的详细说明和随附的权利要求,本公开的前述特征以及其它特征将变得更加清晰。应理解的是,这些附图仅描绘了依照本公开的多个实施例,因此,不应视为对本公开范围的限制,将通过利用附图结合附加的具体描述和细节对本公开进行说明,在附图中:
[0009]图1示出能够被用于在多处理器架构中实施高速缓存一致性目录的示例系统;
[0010]图2示出能够被用于在图1的多处理器架构中实施高速缓存一致性目录的一个示例系统,其包括示例目录的进一步的细节;
[0011]图3描述了用于在多处理器架构中实施高速缓存一致性目录的示例处理的流程图;
[0012]图4示出能够被用于在多处理器架构中实施高速缓存一致性目录的计算机程序产品;以及
[0013]图5是示出被安排为在多处理器架构中实施高速缓存一致性目录的示例计算设备的框图。
【具体实施方式】
[0014]在本【具体实施方式】中,将参考附图,附图构成了本【具体实施方式】的一部分。在附图中,除非上下文指出,否则相似的符号通常表示相似的组件。在【具体实施方式】、附图和权利要求中所描述的示例性实施例不意在限制。在不偏离本文呈现的主题的精神或范围的情况下,可以使用其它实施例,并且可以做出其它改变。将易于理解的是,如本文大致描述且如图中所图示的,本公开的各方面能够以各种不同配置来布置、替代、组合、分离和设计,所有这些都在本文中明确地构思出。
[0015]本公开一般尤其涉及与在多处理器架构中的高速缓存一致性目录有关的方法、装置、系统、设备和计算机程序产品。
[0016]简而言之,大致描述了用于多处理器架构中的高速缓存一致性目录技术。在一个示例中,晶片中的目录可以接收对特定块的请求。目录可以确定与包括特定数据块的数据块被存储在晶片中的一个或多个高速缓存中的可能性相关的块老化阈值。目录可以进一步分析存储器以识别指示为存储特定数据块的特定高速缓存以及识别特定高速缓存的高速缓存缺失数量。目录可以识别针对特定数据块的事件发生时的时间以及基于老化阈值、事件的时间以及高速缓存缺失的数量来确定是否将对特定数据块的请求发送至特定高速缓存。
[0017]图1示出根据本文中描述的至少一些实施例安排的能够被用于在多处理器架构中实施高速缓存一致性目录的示例系统。示例系统100可以包括晶片(die) 102,晶片102包括多个片(tile)。针对片118进行说明,片118可以包括高速缓存110、处理器或处理器内核(以下称为“处理器”)112和/或目录114。处理器112可以适于处理包括代码的数据(以下数据和/或代码都称为“数据块”)。高速缓存110可以被配置为存储处理器112本地的数据块。目录114可以包括目录控制器120。目录控制器120可以被用于如本文中所解释的控制目录114的操作。
[0018]如以下更具体的描述,目录控制器120可以被配置为生成和/或存储数据,用于记录数据已经在各个高速缓存中存储了多久。基于高速缓存缺失的数量以及本文中所描述的其他启发式方法,目录控制器120可以用于确定可能性分析。可能性分析可以指示目录中的高速缓存一致性数据可能过时以及块可能仍被存储在由目录识别的高速缓存中或者可能不再存储在由目录识别的高速缓存中的可能性。目录控制器可以在对块的请求被发送至高速缓存之前执行此可能性分析。进行该分析可以由此在块不再存储在高速缓存中的情况下避免浪费的延迟。在目录控制器确定针对特定块的高速缓存数据过时的示例中,目录控制器可以将对该特定块的请求离开晶片而发送以从主存储器中取得该特定块。基于可能性分析和过时性的确定,目录中的空间可以被创建,并且条目被剔除(evicted)。
[0019]晶片102可以包括片118、130-144的矩阵(例如,阵列),它们包括各自的高速缓存110、150-164。每一片还可以包括各自的处理器112和/或目录114中的一个或多个。晶片102中的每个片可以如在同构布置(homogenous arrangement)中是大致相同的,或者一些片可以如在异构布置中是不同的。晶片102可以被设置为与另一晶片103通信,从而使得数据可以在多个晶片之间共享。
[0020]目录114可以包括存储器,该存储器标识(例如,索引)与存储在晶片102的片中的每个数据块相关联的位置。目录114可以被定位在晶片102上的单个片中,或者分布在一些或者所有片之间。如果目录114是分布式的,例如,第一范围的地址(例如0x0000-0x1000)可以被存储在第一片中,第二范围的地址(例如0x1001-0x2000)被存储在第二片中,等等。图中的目录114由此可以示出整个晶片目录的第一部分,其中该第一部分可以被存储在片118中并且额外的部分可以被存储在其他片(例如片130、131、132等等)中。
[0021]目录114可以包括存储在晶片102中的块的列表连同块的状态以及哪些高速缓存可能正在共享该块