虚拟三路解耦预测和获取制造技术

技术编号:37108014 阅读:22 留言:0更新日期:2023-04-01 05:06
公开了一种被配置为执行解耦预测和获取操作的统一队列,以及相关的设备、系统、方法和计算机可读介质。所述统一队列具有多个条目,其中每个条目被配置为存储与至少一个指令相关联的信息,并且其中所述信息包含标识符部分、预测信息部分和标记信息部分。所述统一队列被配置为响应于预测块更新每个条目的所述预测信息部分,以及响应于标记和TLB块更新每个条目的所述标记信息部分。所述预测信息可以被更新不止一次,并且所述统一队列被配置为在稍后的预测与较早的预测冲突的情况下采取校正动作。正动作。正动作。

【技术实现步骤摘要】
【国外来华专利技术】虚拟三路解耦预测和获取
[0001]优先权申请
[0002]本申请要求于2020年6月23日提交的名称为“虚拟三路解耦预测和获取(VIRTUAL 3

WAY DECOUPLED PREDICTION AND FETCH)”的美国专利申请序列第16/909,352号的优先权,其全部内容通过引用并入本文。


[0003]本公开的技术整体涉及指令预测和获取,并且具体地涉及处理器中的解耦预测和获取操作。

技术介绍

[0004]准确的预取是处理器性能的一个重要方面,因为它允许处理器最小化缓存未命中。指令缓存未命中在性能方面可能代价相对较高,因为处理器必须停滞,直到从较长延迟的存储器层次结构中检索到指令。在较大的工作负载中(例如,在服务器或超大规模生态系统中),缓存未命中可能相对常见,因为代码占用空间很大,并且在没有有效的预取器的情况下,处理器可能会在长时间段内停滞,这可能会对性能造成不可接受的损害。
[0005]预取的一种传统方法是将分支预测和预取与指令缓存紧密耦合,但在这样的设计中,每当分支预测器提供低延迟/低精度的不正确预测时,性能就会受到影响,稍后其必须使用更长延迟/更高精度的预测进行校正。由于预测不准确而预取的中间指令必须被刷新,并获取正确的指令,这会浪费处理器资源。
[0006]为了减轻与紧密耦合的预测和预取相关联的困难,另一种方法是将分支预测和指令获取彼此解耦。将分支预测和指令获取解耦允许使用更长的延迟、更高的带宽和更准确的分支预测器,并且可以如上所述屏蔽慢速预测和快速预测之间的延迟。然而,在这样的实施方式中,预取的标记和数据部分仍然是耦合的,因此缓存未命中仍然会导致停滞和不可接受的性能劣化。
[0007]进一步的方法可以将预取操作的标记和数据部分解耦。然而,这种进一步的解耦可能在解耦的操作之间引入额外的队列,可能增加处理器中控制流的总体复杂性,以及可能增加处理器前端所花费的周期数,这增加了指令流中出现错误预测的时间量。错误预测在指令流中持续的时间越长,沿着错误的程序路径前进所浪费的处理器周期就越多,这会带来性能和功耗成本。另外,错误预测可能仍然会导致总体性能和控制复杂性方面的巨大成本。因此,可以实现解耦设计的一些优点,与此同时减轻其缺点的预测和获取实施方式将是理想的。

技术实现思路

[0008]具体实施方式中公开的各方面包括被配置为执行解耦预测和获取操作的统一队列,以及相关设备、系统、方法和计算机可读介质。
[0009]就这一点而言,在一个方面,一种设备包括具有多个条目的统一队列,其中每个条
目被配置为存储与至少一个指令相关联的信息。该信息包含标识符部分、预测信息部分和标记信息部分。统一队列被配置为响应于预测块更新每个条目的预测信息部分,以及响应于标记块更新每个条目的标记信息部分。
[0010]在另一方面,一种设备包括用于排队的构件,该用于排队的构件具有多个条目,其中每个条目被配置为存储与至少一个指令相关联的信息。该信息包含标识符部分、预测信息部分和标记信息部分。用于排队的构件被配置为响应于用于预测的构件来更新每个条目的预测信息部分。用于排队的构件还被配置为响应于用于提供标记信息的构件来更新每个条目的标记信息部分。
[0011]在又另一方面,一种方法包括在统一队列处接收与至少第一指令相关联的标识符,以及将该标识符存储在统一队列的第一条目中。该方法包括接收与第一指令相关联的第一预测并将第一预测存储在第一条目中。该方法还包括接收与第一指令相关联的第一标记和转换信息,以及将第一标记和转换信息存储在第一条目中。
[0012]在又另一方面,一种非暂时性计算机可读介质存储计算机可执行指令,当由处理器执行时,该计算机可执行指令使处理器在统一队列处接收与至少第一指令相关联的标识符,以及将该标识符存储在统一队列的第一条目中。指令还使处理器接收与第一指令相关联的第一预测并将第一预测存储在第一条目中,以及接收与第一指令相关联的第一标记和转换信息并将第一标记和转换信息存储在第一条目中。
附图说明
[0013]图1是被配置为执行解耦预测和获取操作的示例性处理器的框图;
[0014]图2是说明支持解耦预测和获取操作的示例性指令获取块的详细框图;
[0015]图3是说明被配置为循环缓冲器的示例性指令获取块的实施方式的框图;
[0016]图4是说明执行解耦预测和获取操作的方法的流程图;以及
[0017]图5是被配置为执行解耦预测和获取操作的示例性基于处理器的系统的框图。
具体实施方式
[0018]现在参考附图,描述了本公开的若干示例性方面。单词“示例性”在本文中意指“用作示例、实例或说明”。本文描述为“示例性”的任何方面不必被解释为优于或胜过其它方面。
[0019]具体实施方式中公开的各方面包括被配置为执行解耦预测和获取操作的统一队列,以及相关设备、系统、方法和计算机可读介质。
[0020]就这一点而言,在一个方面,一种设备包括具有多个条目的统一队列,其中每个条目被配置为存储与至少一个指令相关联的信息。该信息包含标识符部分、预测信息部分和标记信息部分。统一队列被配置为响应于预测块更新每个条目的预测信息部分,以及响应于标记块更新每个条目的标记信息部分。
[0021]在另一方面,一种设备包括用于排队的构件,该用于排队的构件具有多个条目,其中每个条目被配置为存储与至少一个指令相关联的信息。该信息包含标识符部分、预测信息部分和标记信息部分。用于排队的构件被配置为响应于用于预测的构件来更新每个条目的预测信息部分。用于排队的构件还被配置为响应于用于提供标记信息的构件来更新每个
条目的标记信息部分。
[0022]在又另一方面,一种方法包括在统一队列处接收与至少第一指令相关联的标识符,以及将该标识符存储在统一队列的第一条目中。该方法包括接收与第一指令相关联的第一预测并将第一预测存储在第一条目中。该方法还包括接收与第一指令相关联的第一标记和转换信息,以及将第一标记和转换信息存储在第一条目中。
[0023]在又另一方面,一种非暂时性计算机可读介质存储计算机可执行指令,当由处理器执行时,该计算机可执行指令使处理器在统一队列处接收与至少第一指令相关联的标识符,以及将该标识符存储在统一队列的第一条目中。指令还使处理器接收与第一指令相关联的第一预测并将第一预测存储在第一条目中,以及接收与第一指令相关联的第一标记和转换信息并将第一标记和转换信息存储在第一条目中。
[0024]就这一点而言,图1是被配置为执行解耦预测和获取操作的示例性处理器105的框图100。处理器105可以基于指令150的位置或地址从指令源(例如,作为非限制性示例,指令缓存、高级缓存或存储器)请求和/或接收指令150。与指令150相关联的信息(例如指令150的位置或地址,其可以包括与指令150的组或行相关联的虚拟地址)在指令获取块110处被接收,指令获取块可以执行与指令150相关联的解耦预测和获取操作,如本文本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种设备,其包含:具有多个条目的统一队列,每个条目被配置为存储与至少一个指令相关联的信息,所述信息包含标识符部分、预测信息部分和标记信息部分;所述统一队列被配置为响应于预测块更新每个条目的所述预测信息部分,以及响应于标记和TLB块更新每个条目的所述标记信息部分。2.根据权利要求1所述的设备,其中所述统一队列被配置为通过将与所述至少一个指令相关联的标识符存储在第一条目的所述标识符部分中来分配第一条目。3.根据权利要求2所述的设备,其中所述统一队列被配置为从所述预测块接收与所述第一条目相关联的第一预测信息,以及将所述第一预测信息存储在所述第一条目的所述预测信息部分中。4.根据权利要求3所述的设备,其中从具有第一延迟的第一预测器接收所述第一预测信息。5.根据权利要求3所述的设备,其中:所述统一队列被配置为通过将与至少一个指令相关联的标识符存储在第二条目的所述标识符部分中来分配所述第二条目;并且所述统一队列还被配置为从所述预测块接收与所述第一条目相关联的更新的第一预测信息,将所述更新的第一预测信息存储在所述第一条目的所述预测信息部分中,以及基于所述更新的第一预测信息使所述第二条目无效。6.根据权利要求5所述的设备,其中从第二预测器接收所述更新的第一预测信息,所述第二预测器具有比所述第一延迟更长的第二延迟。7.根据权利要求3所述的设备,其中所述统一队列被配置为响应于将所述第一预测信息存储在所述第一条目的所述预测信息部分中,请求所述标记和TLB块提供与所述第一条目相关联的第一标记信息。8.根据权利要求7所述的设备,其中所述统一队列被配置为从所述标记和TLB块接收所述第一标记信息,并将所述第一标记信息存储在所述第一条目的所述标记信息部分中。9.根据权利要求8所述的设备,其中所述统一队列被配置为响应于将所述第一标记信息存储在所述第一条目的所述标记信息部分中,请求数据访问块检索与所述第一条目相关联的至少一个指令。10.根据权利要求7所述的设备,其中所述统一队列被配置为响应于将所述第一预测信息存储在所述第一条目的所述预测信息部分中,请求数据访问块检索与所述第一条目相关联的至少一个指令。11.根据权利要求1所述的设备,其中所述统一队列被配置为循环缓冲器,并且其中所述统一队列还包含空闲指针、预测指针、标记指针和数据指针。12.根据权利要求1所述的设备,其集成到集成电路(IC)中。13.根据权利要求12所述的设备,其进一步集成到选自由以下各项组成的群组的装置中:服务器、计算机、便携式计算机、台式计算机、移动计算装置、机顶盒、娱乐单元、导航装置、通信装置、固定位置数据单元、移动位置数...

【专利技术属性】
技术研发人员:B
申请(专利权)人:安培计算有限责任公司
类型:发明
国别省市:

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

1