当前位置: 首页 > 专利查询>辉达公司专利>正文

指令高速缓存功耗降低制造技术

技术编号:8907073 阅读:129 留言:0更新日期:2013-07-11 04:44
在一个实施例中,一种用于控制包括最近最少使用位阵列、标签阵列和数据阵列的指令高速缓存的方法,包括:在最近最少使用位阵列中查找用于指令高速缓存中的多个高速缓存线集合的每一个的最近最少使用位,基于用于指定高速缓存线的最近最少使用位来确定多个高速缓存线集合的指定高速缓存线集合中的最近最多使用通路,在标签阵列中查找用于指定高速缓存线集合中一个或多个通路的标签,在数据阵列中查找存储在高速缓存线集合中的最近最多使用通路中的数据,以及如果在最近最多使用通路中存在高速缓存命中,则从数据阵列中检索存储在最近最多使用通路中的数据。

【技术实现步骤摘要】
指令高速缓存功耗降低
技术介绍
微处理器通常采用指令高速缓存来加速指令的检索和执行。指令高速缓存通常在更高级别的存储器与处理器之间用作缓冲存储器。当指令由处理器获取时,该指令被复制到指令高速缓存中以由处理器直接访问。如果在程序指令集中相同的指令被频繁地使用,则由于减少了较高级别的存储器的较慢访问,所以在指令高速缓存中存储这些指令使得吞吐量增加。例如,集关联(set-associative)指令高速缓存可包括数据阵列和标签阵列。数据阵列和标签阵列可结合以形成在指令高速缓存内的以不同方式组织的高速缓存线或字。当生成用于指令获取的地址时,指令高速缓存将地址的标签字段与当前存储在标签阵列的相应高速缓存线集合中的标签值加以比较。如果存在标签匹配,并且标签有效(即,高速缓存命中),那么从与期望的地址相对应的数据阵列中的位置来获取数据。既然直接从指令高速缓存中检索数据,由于不必访问外部存储器,因此速度提高。在指令高速缓存的一个示范性实现方案中,当生成用于指令获取的地址时,并行地激活标签阵列和数据阵列的与可能匹配该地址的高速缓存线集合相对应的部分。换句话说,标签阵列中与高速缓存线集合相对应的所有通路均被激活,并且数据阵列中与高速缓存线集合相对应的所有地址均被激活。当标签阵列和数据阵列被激活时,获取保存有与指令地址相对应的数据的数据阵列位置,并且丢弃在其他激活位置的数据。通过并行激活与高速缓存线集合相对应的标签阵列和数据阵列的所有位置,相对于串行方法,通常指令获取可被更快地实施,在所述串行方法中,在一个时钟周期中所有的标签位置均被激活以标识匹配的数据位置,并且在随后的时钟周期中,数据阵列中的单个位置被激活以获取数据。然而,采用这些用于实施指令获取的并行和串行方法有各种限制。例如,在并行方法中,由于数据阵列中与高速缓存线集合相对应的所有数据位置均被激活来从仅仅一个位置获取数据,所以为支持增加处理速度而增加了功率消耗。换句话说,并行方法更快,但是它的功率耗费也更大。另一方面,在串行方法中,通过仅激活数据阵列中的一个位置来减少功率消耗。然而,为了标识数据阵列中的哪一个位置必须被激活以获取期望的数据,标签阵列和数据阵列访问必须在多个时钟周期上串行地发生。换句话说,串行方法牺牲处理速度以支持减少功率消耗。附图说明图1示出了根据本公开的计算设备的微处理器的实施例。图2示出了根据本公开的计算机处理管线的实施例。图3示意性示出了指令高速缓存的实施例的一部分。图4示出了最近最少使用位的编码,其标识指令高速缓存的高速缓存线集合中的最近最少使用通路。图5示出了最近最少使用位的编码,其标识指令高速缓存的高速缓存线集合中的最近最多使用通路。图6示出了用于控制指令高速缓存的方法的实施例。图7示出了根据本公开的的示范性指令高速缓存操作的时间线。具体实施例方式本论述提出了用于以这样的方式来控制微处理器的指令高速缓存的新颖的系统和方法:在不显著地降低微处理器性能的情况下减少功率消耗。更具体地,本论述涉及通过从指令获取中所规定的指令高速缓存通路集合中来确定最近最多使用(MRU)通路(或地址),以优化指令高速缓存的控制。通过在高速缓存线集合中仅激活MRU通路而不激活其他通路来检索存储在MRU通路处的数据,关于MRU通路的信息被用来有效地访问指令高速缓存。这样,如果在MRU通路处有高速缓存命中,则相对于集合中的所有通路均被激活以从单个通路中检索数据的实现方案,在指令高速缓存中查找数据所消耗的功率量减少。此外,可利用高速缓存线集合的标签来并行地查找MRU通路以提供相对于串行方法更快的性能。另一方面,如果在集合MRU通路之外的通路之一中存在命中,那么由于MRU通路的有限激活,因此数据是不可用的,并且随后激活集合中的另一个通路以检索数据。由于实际增加了指令高速缓存命中时延,因此高速缓存查找的重演(replay)通常会降低性能。然而,该类事件的频率足够稀少,使得与并行查找方法相比,总体节能胜过性能的小幅降低。当该类事件发生时的性能与串行查找方法相似。此外,如果在集合中没有命中任何通路(S卩,高速缓存未命中),由于数据需要从更高级别的高速缓存中检索,因此指令高速缓存的行为相对于其他的实现方案没有改变。换句话说,当出现高速缓存未命中时,相对于集合中的所有通路被激活以检索数据的指令高速缓存控制方法没有性能损失,并且,功率消耗仍然低于并行查找方法。图1示意性描绘了微处理器100,其可与本文所描述的系统和方法关联采用。微处理器100相异地包括存储器分级体系110和/或与存储器分级体系110通信,所述存储器分级体系Iio包括LI处理器高速缓存112、L2处理器高速缓存114、L3处理器高速缓存116、主存储器118 (例如,一个或多个DRAM芯片)、二级存储120 (例如,磁性和/或光存储单元)和/或三级存储122 (例如,磁带群(tape farm))。应该理解,尽管可能有例外,但是这些存储器/存储部件被按照访问时间和容量的递增顺序列出。存储器控制器124处理协议并且提供主存储器118所要求的并且通常用来调度存储器访问的信号接口。存储器控制器可在处理器裸片上或分离的裸片上实现。应该理解,上面提供的存储器分级体系是非限制性的,并且在不脱离本公开的范围的情况下,也可使用其他的存储器分级体系。所述的存储器分级体系是示例性的示例,并且应该理解,在不脱离本公开的精神的情况下,可采用其他的分级体系。微处理器100包括获取逻辑126、解码逻辑128、执行逻辑130、存储逻辑132以及回写逻辑134。获取逻辑126从存储器分级体系110 (通常从由L2-L3高速缓存和主存储器所支持的专用LI指令高速缓存)中检索指令,用于存储在指令高速缓存216中(在图2中示出)。可根据本文所描述的系统和方法来控制指令高速缓存216,以便当实施指令获取操作时,降低由于微处理器100的功率消耗。解码逻辑128解码所获取的指令,例如通过解析操作码、操作数和寻址模式。一旦被解析,随后由执行逻辑130执行指令。对于产生结果(例如,与在执行程序中实施至另一个位置的分支的那些相对)的操作,回写逻辑134将结果写到适当的位置,诸如处理器寄存器。在加载/存储架构中,存储逻辑132实施加载和存储操作,诸如将操作数从主存储器加载到处理器寄存器中。应该理解,上述5个阶段在某种程度上特定于并且包括在典型的精简指令集计算(RISC)的实现方案中。更一般地,微处理器可包括获取、解码和执行逻辑,以及由执行逻辑所执行的存储和写回功能。本公开同样适用于这些以及其他的微处理器实现方案。在所描述的示例中,可以一次一个地获取和执行指令,这可能要求多个时钟周期。在这段时间内,数据路径大量部分可能未被使用。除了或者代替单个指令获取,可使用预取方法以提高性能并避免与读取和存储操作(即,读取指令并将这样的指令加载到处理器寄存器中和/或执行队列中)相关联的时延瓶颈。此外,在任何给定的时间可获取多个指令以提闻性能。为了获得更高的性能,示例性的微处理器可被管线化以拓展指令级并行性并且更高效地利用数据路径,使得在同一时间在执行的不同阶段中存在多个指令。图2示出了根据本描述的处理管线200的实施例。 例如,处理管线200包括5个阶段: 指令获取(IF) 本文档来自技高网...

【技术保护点】
一种指令高速缓存,包括:最近最少使用位阵列;标签阵列;数据阵列;以及高速缓存控制器,其配置为(1)在所述最近最少使用位阵列中查找用于所述指令高速缓存中的多个高速缓存线集合的每一个的最近最少使用位,其中用于高速缓存线集合的最近最少使用位指示在该高速缓存线集合中的最近最少使用通路,(2)基于用于指定高速缓存线集合的所述最近最少使用位来确定在所述多个高速缓存线集合的所述指定高速缓存线集合中的最近最多使用通路,(3)在所述标签阵列中查找用于所述指定高速缓存线集合中的一个或多个通路的标签,(4)在所述数据阵列中查找存储在所述指定高速缓存线集合中的所述最近最多使用通路中的数据,以及如果在所述最近最多使用通路中存在高速缓存命中,则(5)从所述数据阵列输出存储在所述最近最多使用通路中的所述数据。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:安尼施·阿加沃尔罗斯·泽格尔肯凯温·科朔雷克
申请(专利权)人:辉达公司
类型:发明
国别省市:

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

1