多处理器系统,数据管理方法和非暂时性计算机可读媒体技术方案

技术编号:19424834 阅读:23 留言:0更新日期:2018-11-14 10:31
本发明专利技术提供多处理器系统,数据管理方法和非暂时性计算机可读媒体。数据单元存储于多处理器系统的节点的专用高速缓存中,每一节点包含至少一个处理器、节点专用的至少一个高速缓存以及节点专用的至少一个高速缓存位置缓冲器。在每一高速缓存位置缓冲器中存储位置信息值,每一位置信息值指示与相应数据单元相关联的位置,其中存储于给定高速缓存位置缓冲器的每一位置信息值指示位置在与给定高速缓存位置缓冲器设置于同一节点的专用高速缓存内的位置、在其它节点的一个中的位置或在主存储器的位置。使用高速缓存相干性协议维持数据单元的值的相干性。通过高速缓存相干性协议根据其相应数据单元的移动来更新存储在高速缓存位置缓冲器中的位置信息值。

【技术实现步骤摘要】
多处理器系统,数据管理方法和非暂时性计算机可读媒体
本文所揭露的主题的实施例大体涉及用于存取计算机存储器装置中的数据的方法和系统,且更具体地说,涉及用于实施相干高速缓存层次的机制和技术。
技术介绍
如今的处理器常常配备有可以存储数据和指令的副本的高速缓存,所述数据和指令存储于一些大容量存储器中。如今的此类大容量存储器的风行实例为动态随机存取存储器(dynamicrandomaccessmemory;DRAM)。在本文中,术语“存储器”将用来共同地指代所有现有及将来的存储器实施方案。高速缓存存储器或简称为“高速缓存”通常是由相比其它存储器实施方案小得多及快得多的存储器构建,且随后可在任何给定时间仅保持一部分存储在主存储器或辅助存储装置中的数据的副本。如今,常使用SRAM来实施高速缓存且可使用DRAM来实施大型高速缓存。本文所描述的高速缓存可使用任何现有及将来的存储器技术来实施。通常,计算机系统的存储器系统包含一系列高速缓存,其中较大及较慢高速缓存(此处被称作较高级高速缓存)接近主存储器,且较小及较快高速缓存(此处被称作较低级高速缓存)更接近处理器。这种配置通常被称作高速缓存层次、存储器层次或存储器系统。高速缓存层次中的每一级别被称作高速缓存级别。图1描绘计算机系统,其中为每一处理器(CPU)101指配其自有的1级专用高速缓存102(L1高速缓存)。专用高速缓存是其中用于数据单元的空间仅可能对在高速缓存本地的CPU(或与高速缓存处于同一节点的CPU,其中所述高速缓存是所述节点专用的)的活动作出响应的高速缓存。在此实例中,二级高速缓存103由所有CPU101共享,并可含有由所有CPU101存取的数据和指令。高速缓存103是全局高速缓存,是因为可以使用于数据单元的空间对任何CPU101的活动作出响应。此外,高速缓存103为共享高速缓存,是因为每一数据单元仅可能存在于一个共享副本中(而每一专用高速缓存可具有其自有的复制副本)。存储器105还存储由所有CPU101存取的指令及数据。(主)存储器105通常使用物理地址(或简称为PA)存取,而由CPU101产生的地址通常是虚拟地址。具有若干CPU和若干专用高速缓存的计算机系统(诸如图1中所示的系统)需要用于在一个高速缓存中寻找所请求数据单元以及用于保持存储于不同节点中的数据的多个副本相干的高效机制。除主存储器及高速缓存存储器以外,此类计算机系统通常也将包含一个或多个辅助存储装置。这些辅助存储装置可包含硬盘驱动器、光驱、闪存驱动器或类似驱动器中的一或多者,其在此共同地由磁盘104表示。磁盘或辅助存储装置104可存储比存储器105多的若干数量级数据,但并非可使用物理地址直接存取。如果CPU101想要存取存储在磁盘104上的数据,那么虚拟存储器系统(图1中未绘示)将通常被称为页面的数据信息块从磁盘104移动到存储器105,并产生从对应于所述页面的虚拟地址到物理地址的转译。通常被称为“转译后备缓冲器”或简称为TLB的一类特殊的转译高速缓存(图1中未绘示)对从虚拟页面到物理页面的转译映射进行高速缓存。虚拟存储器系统可被视为高速缓存系统,其将位于磁盘104中的数据的一部分存储在存储器105中。图2绘示来自图1的高速缓存组织的更详细视图,其中CPU204经绘示为含有若干高速缓存类结构,如指令TLB(ITLB,201)及数据TLB(DTLDB,205)以及CPU核心202。1级高速缓存102经绘示为包含插入在CPU204与2级(且潜在地较高级)高速缓存207之间的指令高速缓存200及数据高速缓存206。图2还绘示连接到高速缓存层次的大容量存储器208。当CPU204请求存在于高速缓存中的数据(其被称作高速缓存命中)时,可相比对不存在于高速缓存中的数据的存取而更快地为所述请求提供服务,其被称作高速缓存未命中。通常,假设两个版本的应用程序另外具有类似特性,相比相同应用程序遭受更多高速缓存未命中的情况,在经历更少高速缓存未命中的CPU204上运行的应用程序将更快地执行并消耗较少能量。因此,已将相当大的努力投入在用于避免高速缓存未命中的技术中,并且还设计出可使高速缓存命中及高速缓存未命中相对于其存取时延及这些存储器事务所消耗的能量高效的实施方案。为了理解如何开发对此高速缓存命中/未命中问题的解决方案,对高速缓存组织及技术的部分理解将是有用的。通常,数据安设到比处理器的字长大的固定信息块中的高速缓存(被称为高速缓存线)中。如今的共同高速缓存线大小为(例如)32、64及128个字节,但如所属领域的技术人员将了解,针对各种高速缓存实施方案存在较大及较小的高速缓存线大小。高速缓存线大小对于一些高速缓存实施方案来说也可以是可变的。组织存储器208中的数据放置的常见方式是将每一数据字静态地映射为驻留在一个特定高速缓存线的方式。每一高速缓存通常具有索引功能,其识别每一高速缓存线可驻留的高速缓存的一部分(被称为集合)中。所述集合可含有同时保持一或多个高速缓存线的空间。所述集合可保持的高速缓存线的数量被称作其关联性。通常,高速缓存中的所有集合的关联性是相同的。此类高速缓存常常被称作集合相联高速缓存。关联性还可在集合之间变化。集合中的可保持高速缓存线的每一个空间被称作路径。为了确定存储于每个集合中的每个高速缓存线的身份,高速缓存中的高速缓存线各自具有与其相关联的一些识别符。此类识别符的一个常见实例是地址标记。在查找高速缓存中的特定高速缓存线时,其地址可用于确定所述特定高速缓存线可能驻留的高速缓存的集合。将对应集合的高速缓存线的地址标记与用于识别高速缓存线的地址的标记部分(参见例如图3所描绘及下文所描述的标记(TAG)及ATAG),以确定所需高速缓存线是否驻留在高速缓存中,且若如此,则确定其所驻留的途径,即,其驻留在可保持高速缓存线的集合中的哪个空间中。通常,每一高速缓存具有内置策略以确定哪一高速缓存线保持在集合中且将收回哪一高速缓存线(还被称作替换),以使新高速缓存线的空间进入集合中,被称作其替换策略。所替换的高速缓存线被称为牺牲或替换高速缓存。与高速缓存存储器结合使用的常用替换策略包含但不限于:最近最少使用(least-recentlyused;LRU)策略、伪-LRU策略及随机替换策略。所谓的包含性高速缓存层次要求存在于一个高速缓存级别中的数据块(例如高速缓存线)的副本(例如L1高速缓存中的数据块)也存在于较高级高速缓存级别中(此处,较高是指具有比1大的编号的高速缓存级别),例如存在于2级(L2)及3级(L3)高速缓存中。排它性的高速缓存层次仅具有存在于整个高速缓存层次的数据块(例如高速缓存线)的一个副本,而非包含性层级可具有两种策略的混合。在排它性及非包含性高速缓存层次中,常见的是,在从给定高速缓存级别收回后,高速缓存线安设在下一较高高速缓存级别中。出于对关于高速缓存及高速缓存线的这种背景的考虑,此论述现继续进行以说明一种用于识别高速缓存层次(如同图1及图2中所绘示的高速缓存层次)内的特定高速缓存位置的常规技术。图3绘示含有CPU301、DTLB303、L1高速缓存307及L2高速缓存311的计算机系统节点的组织的实例。CPU301产生含有虚拟地址302(VADDR)的存储器请求,其用于本文档来自技高网...

【技术保护点】
1.一种多处理器系统,其特征在于,包括:多个节点及至少一个存储器,其中每一节点包含至少一个处理器、第一高速缓存及所述节点专用的第二高速缓存以及所述节点专用的第一高速缓存位置缓冲器,其中所述第一高速缓存位置缓冲器存储多个第一高速缓存位置缓冲器条目,每一所述第一高速缓存位置缓冲器条目包含地址标记字段及高速缓存位置表,其包含多个具有所述地址标记字段的位置信息值,每一位置信息值指示与相应数据单元相关的位置,其中所述位置信息值用于从所述第一高速缓存或所述第二高速缓存搜索目标高速缓存线。

【技术特征摘要】
2017.05.05 US 62/502,0081.一种多处理器系统,其特征在于,包括:多个节点及至少一个存储器,其中每一节点包含至少一个处理器、第一高速缓存及所述节点专用的第二高速缓存以及所述节点专用的第一高速缓存位置缓冲器,其中所述第一高速缓存位置缓冲器存储多个第一高速缓存位置缓冲器条目,每一所述第一高速缓存位置缓冲器条目包含地址标记字段及高速缓存位置表,其包含多个具有所述地址标记字段的位置信息值,每一位置信息值指示与相应数据单元相关的位置,其中所述位置信息值用于从所述第一高速缓存或所述第二高速缓存搜索目标高速缓存线。2.根据权利要求1所述的多处理器系统,其特征在于,所述第一高速缓存的级别层次与所述第二高速缓存的级别层次不同。3.根据权利要求1所述的多处理器系统,其特征在于,所述处理器同样地存取所述第一高速缓存及所述第二高速缓存,以使用对应于所述目标高速缓存线的所述位置信息值来搜索所述目标高速缓存线。4.根据权利要求3所述的多处理器系统,其特征在于,当所述目标高速缓存线存储于所述第一高速缓存中时,所述处理器从所述第一高速缓存获取所述目标缓存线的数据单元作为所述搜索的结果。5.根据权利要求1所述的多处理器系统,其特征在于,所述第一高速缓存及所述第二高速缓存存储多个高速缓存条目,且所述高速缓存条目包含用于更新所述第一高速缓存位置缓冲器的后向指针及包含数据单元的高速缓存线。6.根据权利要求5所述的多处理器系统,其特征在于,还包括所述节点专用的第二高速缓存位置缓冲器,所述第二高速缓存位置缓冲器存储多个第二高速缓存位置缓冲器条目,每一所述第二高速缓存位置缓冲器条目包含高速缓存位置表及到所述第一高速缓存位置缓冲器的指针。7.根据权利要求6所述的多处理器系统,其特征在于,所述第一高速缓存位置缓冲器的级别层次与所述第二高速缓存位置缓冲器的级别层次不同。8.根据权利要求6所述的多处理器系统,其特征在于,所述后向指针指向至少一个所述第二高速缓存位置缓冲器条目,其中所指出的所述第二高速缓存位置缓冲器条目的所述指针指向所述第一高速缓存位置缓冲器条目,所述第一高速缓存位置缓冲器条目所包含的所述高速缓存位置表对应于所指出的所述第二高速缓存位置缓冲器条目的所述高速缓存位置表。9.根据权利要求8所述的多处理器系统,其特征在于,在所述第一高速缓存位置缓冲器条目中的一个由所述指针指出时,所述处理器使用所述第一高速缓存位置缓冲器来更新所述目标高速缓存线的位置信息值。10.根据权利要求8所述的多处理器系统,其特征在于,在所有所述第一高速缓存位置缓冲器条目并非由所述指针指出时,所述处理器将所述第二高速缓存位置缓冲器条目中的至少一个复制到所述第一高速缓存位置缓冲器,并将所述第一高速缓存位置缓冲器条目中的至少一个复制到所述第二高速缓存位置缓冲器。11.根据权利要求1所述的多处理器系统,其特征在于,所述处理器通过将对应于所述目标高速缓存线的地址与所述第一高速缓存位置缓冲器条目匹配而获取对应于所述目标高速缓存线的所述位置信息值。12.根据权利要求11所述的多处理器系统,其特征在于,所述地址包含用于与所述地址标记字段匹配的标记部分及用于选择对应于所述目标高速缓存线的所述位置信息值的偏移部分。13.一种用于分配有第一高速缓存及第二高速缓存的处理...

【专利技术属性】
技术研发人员:艾瑞克·哈格斯顿安德莉亚斯·森布兰特
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国,KR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1