当前位置: 首页 > 专利查询>英特尔公司专利>正文

非对称集组合的高速缓存制造技术

技术编号:16707974 阅读:27 留言:0更新日期:2017-12-02 23:13
实施例一般地针对包括直接映射高速缓存部分和多路高速缓存部分的非对称集组合的高速缓存。处理器可以包括:一个或多个处理核心,用于数据的处理;以及高速缓冲存储器,用于高速缓存用于所述一个或多个处理核心的来自主存储器的数据,高速缓冲存储器包括第一高速缓存部分和第二高速缓存部分,第一高速缓存部分包括直接映射高速缓存,第二高速缓存部分包括多路高速缓存。高速缓冲存储器包括第一高速缓存部分和第二高速缓存部分中的非对称集,第一高速缓存部分大于第二高速缓存部分。用于高速缓冲存储器的协调替换策略规定第一高速缓存部分和第二高速缓存部分中的数据的替换。

Asymmetric caching

An example is generally directed against a cache of asymmetrical sets that include a direct mapped cache part and a multiplex cache part. The processor may include one or more processing cores for data processing; and a cache memory for caching for the one or more processing cores from the main memory data, the cache memory includes a first cache cache part and the second part, the first part includes the direct mapped cache speed the second part includes cache, cache multiple cache. The cache includes the asymmetric part in the first cache part and the second cache part, and the first cache part is larger than the second cache part. The coordinated substitution strategy for cache memory specifies the replacement of data in the first cache part and the second cache section.

【技术实现步骤摘要】
【国外来华专利技术】非对称集组合的高速缓存
在本文中描述的实施例一般地涉及电子设备的领域,并且更特别地涉及非对称集组合的高速缓存。
技术介绍
在计算机存储器中,高速缓冲存储器(也简称为高速缓存)可以以各种方式实现,包括直接映射高速缓存和多路高速缓存,在直接映射高速缓存中存储器位置映射到单个位置,在多路高速缓存中存储器位置映射到某位置集。直接映射高速缓存具有由高速缓存实现的简单而产生的某些优点。在操作中,为了确定是否存在存储器元素,仅需要搜索单个高速缓存位置。然而,直接映射高速缓存具有低关联性的缺点,并且因此钉住(pinning)(锁定高速缓存中的地址)也是有问题的。相比之下,多路高速缓存可以解决关联性和钉住问题。然而,多路高速缓存更复杂,并且要求更多的搜索以便确定元素是否存在于高速缓存中,因为必须对集中的每个高速缓存位置进行搜索。此外,多个高速缓存的使用向组件的设计和操作增加了显著的复杂度。附图说明在附图中的各图中,这里描述的实施例被图示作为示例,而不是作为限制,在附图中同样的参考数字指的是类似的元件。图1是根据实施例的非对称集组合的高速缓存的图示;图2是直接映射高速缓存的图示;图3是多路高速缓冲存储器的图示;图4是根据实施例的包括具有协调替换策略的非对称集组合的高速缓存的处理器的图示;图5是图示组合的高速缓存操作的过程的流程图;图6A是图示根据实施例的组合的伪LRU的第一部分的计算的流程图;图6B是图示根据实施例的组合的伪LRU的第二部分的计算的流程图;图7是图示根据实施例的组合的高速缓存中的替换的优先级(priority)的流程图;以及图8是包括组合的高速缓冲存储器的电子装置或系统的实施例的图示。具体实施方式在本文中描述的实施例一般针对非对称集组合的高速缓存。为了本说明书的目的:“高速缓冲存储器”或“高速缓存”意指存储来自另一存储器(诸如来自主存储器)的频繁使用的信息的存储器。“主存储器”或“初级存储器”是处理器或计算机为了程序和数据而主要访问的计算机存储器。主存储器一般是随机存取存储器(RAM)。更具体地,CPU高速缓存是由计算机的中央处理单元(CPU)利用以访问频繁使用的地址的高速缓存,并且因此减少对来自主存储器的数据的访问。高速缓存是存储来自频繁使用的主存储器位置的数据的更小更快的存储器。数据高速缓存一般被组织为较多高速缓存级别的层级,其中L1是最接近处理器核心的小且快的高速缓存,其中L2和L3是逐渐更远离CPU的逐渐更大且更慢的高速缓存。“直接映射高速缓存”或“直接映射存储器高速缓存”意指存储器的任何特定元素被映射到高速缓冲存储器中的某单个高速缓存位置的高速缓存。“多路高速缓存”或“多路存储器高速缓存”意指存储器的任何特定元素被映射到高速缓冲存储器中的多个高速缓存位置的集的高速缓存。例如,2路存储器高速缓存是主存储器中的特定位置被映射到高速缓冲存储器中的两个存储器位置的集的高速缓存。相比之下,完全关联的高速缓冲存储器是主存储器中的任何特定位置可以被高速缓存到高速缓冲存储器中的任何位置的高速缓冲存储器。在2LM(两级存储器,包括近存储器和远存储器)技术的特定应用中,用于高速缓存实现的解决方案可以包括:(1)要求非常大的标签的多路高速缓存(MW)。在非常大的近存储器高速缓存上,维护中央处理单元(CPU)管芯上的所有标签是不现实的(2)直接映射高速缓存(DM),其中直接映射高速缓存可以将高带宽存储器(HBM)中的备用纠错码(ECC)位用于元数据中的标签(“HighBandwidthMemory(HDM)DRAM”,JEDEC标准JESD235,2013年10月)。在处理环境中,直接映射高速缓存具有流程简单以及可以将存储器元数据(备用ECC位)用于高速缓存标签的简单实现的优点。然而,直接映射高速缓存具有低关联性的缺点,并且因此钉住(锁定高速缓存中的地址)也是有问题的。相比之下,多路高速缓存可以解决关联性和钉住问题。然而,多路高速缓存一般不能利用存储器元数据位来提供高速缓存所需的高速缓存标签,并且因此可以变得极其大。这些问题可以至少部分地通过与直接映射高速缓存协同操作的互补多路高速缓存来解决。特定解决方案可以包括将多路高速缓存用作主直接映射高速缓存的“受害者高速缓存”。一般地,受害者高速缓存是用于保存在替换时从CPU高速缓存驱逐的数据(诸如多行高速缓存数据)的高速缓存。因此,如果多路高速缓存充当直接映射高速缓存的受害者高速缓存,则当数据被在直接映射高速缓存中替换时,它被写入到多路高速缓存中。此流程解决了关联性问题,并允许高速缓存中的数据的钉住。然而,实现的代价是主直接映射高速缓存和受害者多用途高速缓存之间的许多传送。在一些实施例中,单个组合的高速缓存包括第一直接映射部分和第二多路部分,其中直接映射部分和多路部分通过协调替换策略来管理。在一些实施例中,协调替换策略规定新的填充数据可以根据替换策略替换任一高速缓存部分中的数据。以此方式,与受害者高速缓存实现相反,可以避免两个高速缓存之间的数据传送。在一些实施例中,解决方案因此包括利用对两个高速缓存部分寻址的协调替换策略组合这两个解决方案,而在高速缓存部分的数据阵列之间没有任何数据传送。组合直接映射高速缓存部分和多路高速缓存部分的非对称高速缓存解决方案的实现允许简单的可扩缩性。在一些实施例中,至少部分地通过直接映射高速缓存部分的钉住要求和冲突率中的一个或多个来推导出多路高速缓存部分的大小。这两个高速缓存部分不需要一起缩放,因为钉住要求不在存储器单元之间显著变化,并且直接映射冲突可以用相对小的多路高速缓存来解决。直接映射部分的开销是最小的,并且因此该部分可以以相对低的成本扩展到任何大小。图1是根据实施例的非对称集组合的高速缓存的图示。在一些实施例中,为了克服直接映射高速缓存和多路高速缓存的相应问题,形成并利用非对称集组合的存储器100(也称为组合的高速缓存)。在一些实施例中,组合的高速缓存100被划分成两个高速缓存部分——第一直接映射部分110(也称为第一高速缓存部分)和第二多路部分120(也称为第一高速缓存部分),其中第一直接映射部分比第二多路部分大。第一高速缓存部分110和第二高速缓存部分120为了简单起见而被图示,并且不意图图示第一高速缓存部分110和第二高速缓存部分120在组合的高速缓存100内的比例或位置。第二多路部分可以是如上面所描述的二路高速缓存,但是实施例不限于多路高速缓存中的特定数目的路。在一些实施例中,组合的高速缓存可操作以高速缓存来自主存储器130的数据。主存储器可以包括但不限于动态随机存取存储器(DRAM)。图2是直接映射高速缓存的图示。诸如图1中图示的直接映射部分110之类的直接映射高速缓存是存储器的任何特定位置被映射到高速缓冲存储器中的特定高速缓存位置的高速缓存。例如,图2图示了用于高速缓存包含在主存储器230的位置中的数据的直接映射高速缓冲存储器210,其中在此简单示例中,高速缓冲存储器210包括四个高速缓存行并且主存储器230包括16个数据位置。如所图示的,高速缓冲存储器的每个高速缓存行至少包括有效字段(指示为“V”,用于指示任何数据是否已经被存储在高速缓存行中的有效位)、经修改(或脏)字段(指示为“M”,用于指示存储器的对应块本文档来自技高网...
非对称集组合的高速缓存

【技术保护点】
一种处理器,包括:一个或多个处理核心,用于数据的处理;以及组合的高速缓冲存储器,用于高速缓存用于所述一个或多个处理核心的来自主存储器的数据,其中组合的高速缓冲存储器包括:第一高速缓存部分,第一高速缓存部分包括直接映射高速缓存,以及第二高速缓存部分,第二高速缓存部分包括多路高速缓存;其中组合的高速缓冲存储器包括第一高速缓存部分和第二高速缓存部分中的非对称集,第一高速缓存部分大于第二高速缓存部分;并且其中组合的高速缓冲存储器包括协调替换策略,用于第一高速缓存部分和第二高速缓存部分中的数据的替换。

【技术特征摘要】
【国外来华专利技术】2015.03.27 US 14/6719271.一种处理器,包括:一个或多个处理核心,用于数据的处理;以及组合的高速缓冲存储器,用于高速缓存用于所述一个或多个处理核心的来自主存储器的数据,其中组合的高速缓冲存储器包括:第一高速缓存部分,第一高速缓存部分包括直接映射高速缓存,以及第二高速缓存部分,第二高速缓存部分包括多路高速缓存;其中组合的高速缓冲存储器包括第一高速缓存部分和第二高速缓存部分中的非对称集,第一高速缓存部分大于第二高速缓存部分;并且其中组合的高速缓冲存储器包括协调替换策略,用于第一高速缓存部分和第二高速缓存部分中的数据的替换。2.权利要求1的处理器,其中在第一高速缓存部分和第二高速缓存部分之间不存在数据的传送。3.权利要求1的处理器,其中主存储器的每个地址能够被高速缓存在多路部分的任何路中的位置或者直接映射部分中的单个位置中。4.权利要求1的处理器,其中协调替换策略包括最近最少使用(LRU)算法的应用。5.权利要求4的处理器,其中针对多路部分的每一路,用于协调替换策略的位被存储在第二高速缓存部分中。6.权利要求5的处理器,其中针对多路部分的第一路的用于协调替换策略的位包括:第一位,其指示第一路的条目与多路部分的每个其它路的条目的最近最少使用比较;以及第二位,其指示第一路的条目与对应的直接映射位置的条目的最近最少使用比较。7.权利要求1的处理器,其中多路高速缓存部分的大小不随直接映射部分的大小线性地缩放。8.权利要求1的处理器,其中多路部分的大小至少部分地基于直接映射部分的钉住要求和冲突率中的一个或多个。9.权利要求1的处理器,其中针对组合的高速缓存的总大小为2n个高速缓存行或分扇区的高速缓存行,多路部分中的集的数目为2m,并且多路部分的路的数目为2w,n大于m和w的和。10.一种方法,包括:接收针对主存储器中的存储器地址的访问请求;确定在组合的高速缓存中存在针对所述存储器地址的命中还是未命中,其中组合的高速缓冲存储器包括:第一高速缓存部分,第一高速缓存部分包括直接映射高速缓存,以及第二高速缓存部分,第二高速缓存部分包括多路高速缓存,第二高速缓存部分小于第一高速缓存部分;针对在或者第一高速缓存部分或者第二高速缓存部分中的命中,在存在命中的高速缓存部分中访问所请求的数据;以及针对在第一高速缓存部分和第二高速缓存部分二者中的未命中,根据用于第一高速缓存部分和第二高速缓存部分的协调替换策略,替换在或者第一高速缓存部分或者第二高速缓存部分中用于所述存储器地址的数据。11.权利要求10的方法,其中主存储器的地址能够被映射到多路部分的任何路中的位置或者直接映射部分中的单个位置。12.权利要求10的方法,其中根据协调替换策略替换数据包括最近最少使用(LRU)算法的应用。13.权利要求12的方法,进一步包括将用于协调替换策略的位存储在第二高速缓存部分中。14.权利要求13的方法,其中针对多路部分的第一路的用于协调替换策略的位包括:第一位,其指示第一路的条目与多路部分的每个其它路的条目的最近最少使用比较;以及第二位,其指示第一路的条目与对应的直接映射位置的条目的最近最少使用比较。15.权利要求12的方法,其中LRU算法的应用包括第一高速缓存部分或...

【专利技术属性】
技术研发人员:Z格林菲尔德N博南I迪亚曼
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1