高速缓冲存储器及其工作方法和处理器技术

技术编号:15541691 阅读:56 留言:0更新日期:2017-06-05 10:59
本发明专利技术涉及高速缓冲存储器及其工作方法和处理器。一种集关联式高速缓冲存储器,包括:排列为M个集×N个通路的存储条目的M×N的存储器阵列,其中M和N两者都是大于1的整数。在所述M个集的相互独立的P个组中的各组内,所述N个通路能够单独供电。控制器针对所述P个组中的各组,监视该组的利用趋势,并且基于所述利用趋势来在不同的时间实例期间向该组的所述N个通路中的不同数量的通路动态地提供电力。

Cache memory and its working method and processor

The invention relates to a cache memory, a method of operation and a processor thereof. An associative cache memory comprises: M * N memory array arranged as M sets x N access lines, wherein M and N are both integers greater than 1. In each of the independent groups of P sets of the M sets, the N paths can be powered individually. The controller for the P group, the trend of monitoring the group, and based on the trend of using different number of dynamic path to the group of the N pathway to provide power during different time instances.

【技术实现步骤摘要】
高速缓冲存储器及其工作方法和处理器相关申请的交叉引用本申请要求2016年4月18日提交的标题为“DYNAMICPOWERINGOFCACHEMEMORYBYWAYSWITHINMULTIPLESETGROUPSBASEDONUTILIZATIONTRENDS”的第62/323,859号美国临时申请的优先权,其全部内容通过引用包含于此。
技术介绍
处理器是执行计算机程序所指定的指令的数字装置。典型的计算机系统包括连接至系统存储器的处理器,其中该系统存储器存储程序指令和这些程序指令要处理的数据。这种系统的性能受到以下事实的妨碍:将数据从系统存储器读取到处理器中或者将数据从处理器写入系统存储器所需的时间通常比处理器执行用于处理该数据的指令所需的时间大得多。该时间差经常介于1~2个数量级。因而,处理器在等待对存储器进行读取或写入时,可能处于闲置而不进行任何操作。然而,处理器设计人员很久以前就意识到,程序趋于对相对较小比例的数据进行相对较大比例的时间的访问,诸如频繁访问的程序变量等。具有该特征的程序被认为表现出良好的时间局部性,并且该特征的倾向被称为参考原则的局部性。为了利用该原则,现代处理器通常包括一个或多个高速缓冲存储器。高速缓冲存储器或高速缓存器相对于系统存储器大小是小型存储器,并且电气上接近处理器内核,其中该高速缓冲存储器或高速缓存器暂时存储通常驻留在计算机系统的更大且更远的存储器(诸如系统存储器等)中的数据的子集。对数据进行高速缓存是将数据存储在高速缓冲存储器的存储元件中,使得随后与从系统的更远存储器提供数据相比,可以从高速缓冲存储器更快地提供数据。当处理器执行存储器读取指令(诸如加载或弹出指令等)时,处理器首先检查所请求的数据是否存在于高速缓存器中、即存储器读取地址在高速缓存器中是否命中(hit)。如果所请求的数据不存在于高速缓存器中、即如果存储器读取地址在高速缓冲器中未命中(miss),则处理器通常除将数据加载到处理器的指定寄存器中外,还将该数据取指到高速缓存器中。现在由于数据存在于高速缓存器中,因此下次遇到请求相同数据的存储器读取指令时,可以将该数据从高速缓存器(而不是系统存储器)取指(fetch)到寄存器中以供处理。由于数据已存在于高速缓存器中,因此基本上可以立即执行存储器读取指令。高速缓存器按高速缓存行(cachelines)或高速缓存块(cacheblocks)存储数据。高速缓存行是在高速缓存器和系统存储器之间可以传送的数据的最小单位。高速缓存行大小的示例是64字节的数据。当存储器读取指令导致高速缓存未命中时,不是仅对该存储器读取指令所请求的数据进行取指,而是将该未命中地址所关联(implicated)的整个高速缓存行取指到高速缓存器中。结果,由于可以从高速缓存器供给数据、而不必访问系统存储器,因此可以快速地执行用于请求相同高速缓存行中的数据的后续存储器读取指令。另外,当执行存储器写入指令(诸如存储或推入(push)指令等)时,如果存储器写入地址在高速缓存器中命中,则可以将数据立即写入高速缓存器的高速缓存行,由此使得推迟向系统存储器的数据写入。随后,通常为了为较新的高速缓存行腾出空间,高速缓存器将该高速缓存行写入系统存储器。该操作通常被称为写回操作。此外,当存储器写入地址在高速缓存器中未命中时,一些高速缓存器还分配该高速缓存器中的条目(entry)。即,高速缓存器进行该高速缓存器的条目中的旧高速缓存行的写回操作,并且将写入地址所关联的新高速缓存行从系统存储器读取到以前被旧高速缓存行占用的高速缓存条目中。该操作通常被称为写入分配操作。可以观察到,高效地起作用的高速缓存器可以大大提高处理器的性能。另外,在许多情况下,特别是在高速缓冲存储器大(诸如处理器的高速缓冲存储器层级中的末级高速缓存器)时,高速缓冲存储器占据了处理器的电力消耗的很大比例。还期望降低高速缓冲存储器所消耗的电量,这通常是与提高处理器的性能的目标进行竞争的目标。
技术实现思路
本专利技术提供一种集关联式高速缓冲存储器,包括:排列为M个集×N个通路的存储条目的M×N的存储器阵列,其中M和N两者都是大于1的整数;在所述M个集的互斥的P个组中的各组内,所述N个通路能够单独被供电;以及控制器,用于针对所述P个组中的各组,监视该组的利用趋势,并且在不同的时间实例期间基于所述利用趋势来动态地使得向该组的所述N个通路中的不同数量的通路提供电力。本专利技术还提供一种使集关联式高速缓冲存储器进行工作的方法,所述高速缓冲存储器具有排列为M个集×N个通路的存储条目的M×N的存储器阵列,其中M和N两者都是大于1的整数,在所述M个集的互斥的P个组中的各组内,所述N个通路能够单独供电,所述方法包括以下步骤:针对所述P个组中各个组,监视所述组的利用趋势;以及在不同的时间实例期间,基于所述利用趋势来动态地使得向所述组的N个通路中的不同数量的通路提供电力。本专利技术还提供一种处理器,包括:多个处理核;高速缓冲存储器,其耦接至所述多个处理核,所述高速缓冲存储器包括:排列为M个集×N个通路的存储条目的M×N的存储器阵列,其中M和N两者都是大于1的整数;在所述M个集的互斥的P个组中的各组内,所述N个通路能够单独供电;以及控制器,用于针对所述P个组中的各组,监视该组的利用趋势,并且在不同的时间实例期间基于所述利用趋势来向该组的所述N个通路中的不同数量的通路动态地提供电力。附图说明图1是示出处理器的框图。图2是更详细地示出图1的高速缓冲存储器的框图。图3是示出图2的高速缓冲存储器的用以进行集(set)的组(group)的通路(way)的选择性供电的操作的流程图。图4是示出图2的高速缓冲存储器的用以根据图3的流程图来进行集的组的通路的选择性供电的操作的示例的框图。图5~8是示出根据不同实施例的、图2的高速缓冲存储器的用以进行集的组的通路的选择性供电的操作的流程图。具体实施方式在本公开中描述将集分组成多个集组(setgroup)的集关联(set-associate)式高速缓冲存储器的实施例,其中在集关联式高速缓冲存储器的各集组内,可以在高速缓冲存储器的工作期间动态地改变所通电或断电的通路的数量,从而提供高速缓冲存储器的性能和电力消耗之间的期望平衡。也就是说,高速缓冲存储器有时从集组的通路中的一些通路中去除电力且有时向集组的通路中的一些通路提供电力,并且动态地确定高速缓冲存储器去除/提供电力所针对的通路的数量。高速缓冲存储器包括控制器,其中该控制器监视高速缓冲存储器的不同集组的利用趋势(utilizationtrends),以作出与何时增加或减少所通电的各集组的通路的数量有关的决定。利用趋势包括但不限于命中率、平均牺牲者高速缓存行年龄、预取但未使用的高速缓存行的数量和/或访问频率中的一个或其组合。在本公开中从高速缓冲存储器的一组集的通路中去除电力意味着完全去除电力、或者至少去除电力使得该组的通路中的存储单元的状态丢失或至少不可靠。这与如下的其它省电技术形成对比:减少提供至存储单元的电力,这或许导致性能下降,但提供了足以保持存储单元的状态的电力。相反,在本公开中向高速缓冲存储器的一组集的通路提供电力意味着提供足以保持存储单元的当前状态的电力。现在参考图1,示出例示处理器100的框图。处理本文档来自技高网
...
高速缓冲存储器及其工作方法和处理器

【技术保护点】
一种集关联式高速缓冲存储器,包括:排列为M个集×N个通路的存储条目的M×N的存储器阵列,其中M和N两者都是大于1的整数;在所述M个集的互斥的P个组中的各组内,所述N个通路能够单独被供电;以及控制器,用于针对所述P个组中的各组,监视该组的利用趋势,并且在不同的时间实例期间基于所述利用趋势来动态地使得向该组的所述N个通路中的不同数量的通路提供电力。

【技术特征摘要】
2016.04.18 US 62/323,859;2016.09.29 US 15/280,7791.一种集关联式高速缓冲存储器,包括:排列为M个集×N个通路的存储条目的M×N的存储器阵列,其中M和N两者都是大于1的整数;在所述M个集的互斥的P个组中的各组内,所述N个通路能够单独被供电;以及控制器,用于针对所述P个组中的各组,监视该组的利用趋势,并且在不同的时间实例期间基于所述利用趋势来动态地使得向该组的所述N个通路中的不同数量的通路提供电力。2.根据权利要求1所述的高速缓冲存储器,其中,还包括:所述组的利用趋势包括所述组的命中率。3.根据权利要求2所述的高速缓冲存储器,其中,还包括:在所述组的命中率大于第一预定阈值的情况下,所述控制器使得向所述组的所述N个通路中的更小数量的通路提供电力。4.根据权利要求3所述的高速缓冲存储器,其中,还包括:在所述组的命中率大于第二预定阈值的情况下,所述控制器使得向所述组的所述N个通路中的更大数量的通路提供电力。5.根据权利要求3所述的高速缓冲存储器,其中,还包括:在该组的命中率大于所述第一预定阈值的情况下,除非所述控制器当前正使得电力提供至的组的通路的数量小于该组的所有N个通路,否则所述控制器使得向该组的所述N个通路中的更小数量的通路提供电力。6.根据权利要求2所述的高速缓冲存储器,其中,还包括:所述组的利用趋势还包括所述组的访问频率。7.根据权利要求6所述的高速缓冲存储器,其中,还包括:在所述组的命中率大于第一预定阈值、并且所述组的访问频率小于第二预定阈值的情况下,所述控制器使得向所述组的所述N个通路中的更小数量的通路提供电力。8.根据权利要求7所述的高速缓冲存储器,其中,还包括:在所述组的命中率小于第三预定阈值、所述组的访问频率大于第四预定阈值、并且所述控制器当前正使得电力提供至的组的通路的数量是所述组的所有N个通路的情况下,所述控制器使得向所述组的所述N个通路中的更小数量的通路提供电力。9.根据权利要求7所述的高速缓冲存储器,其中,还包括:在所述组的命中率小于第三预定阈值、所述组的访问频率大于第四预定阈值、并且所述控制器当前正使得电力提供至的组的通路的数量小于所述组的所有N个通路的情况下,所述控制器使得向所述组的所述N个通路中的更大数量的通路提供电力。10.根据权利要求1所述的高速缓冲存储器,其中,还包括:所述组的利用趋势包括高速缓存行被预取到但所述高速缓存行未使用而被驱逐的组中的存储条目的数量的度量。11.根据权利要求10所述的高速缓冲存储器,其中,还包括:在高速缓存行被预取到但所述高速缓存行未使用而被驱逐的组中的存储条目的数量大于第一预定阈值的情况下,所述控制器使得向所述组的所述N个通路中的更小数量的通路提供电力。12...

【专利技术属性】
技术研发人员:罗德尼·E·虎克道格拉斯·R·瑞德
申请(专利权)人:上海兆芯集成电路有限公司
类型:发明
国别省市:上海,31

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

1