快速预测器覆写方法和微处理器技术

技术编号:30020283 阅读:20 留言:0更新日期:2021-09-11 06:39
本申请涉及快速预测器覆写方法和微处理器。在一个实施例中,所述微处理器,包括:指令高速缓存,其包括多个高速缓存地址处的编程指令;快速预测器,其被配置为接收与同指令高速缓存的第一高速缓存地址相对应的第一分支指令相关联的信息、并基于快速预测器处的匹配来提供第一阶段期间的第一分支预测;以及分支目标地址高速缓存即BTAC,其根据第一阶段之后的第二阶段的组来进行操作,该BTAC被配置为接收与第一分支指令相关联的信息并确定第二分支预测,该BTAC被配置为通过在与第二阶段的组相对应的时间处将与第二分支预测相关联的分支目标地址写入快速预测器来覆写第一分支预测并更新快速预测器。并更新快速预测器。并更新快速预测器。

【技术实现步骤摘要】
快速预测器覆写方法和微处理器


[0001]本专利技术一般涉及微处理器,特别地涉及微处理器中的分支预测。

技术介绍

[0002]如今的微处理器使用流水线处理方案来操作,由此编程指令被分解成贯穿流水线的多个阶段并发执行的步骤。指令通常(例如,10~20%的编程代码)包括分支指令或简称为分支,其包括无条件分支(例如,总是被采取的分支)和条件分支(例如,根据对指定条件的评价来采取或不采取)。一般不会确切地知道条件跳转是将被采取、还是将被不采取,直到条件已被计算出并且条件跳转已通过指令流水线中的执行阶段为止,这可能导致拾取下一指令的延迟。已经开发了一种分支预测器,其尝试在流水线的前端处猜测条件分支将朝哪个方向前进并通过这样做来改进通过流水线的指令流。
[0003]在微处理器中常用的一个分支预测器被称为分支目标地址高速缓存(BTAC)。BTAC包括硬件逻辑,该硬件逻辑使用过去分支指令行为的全局历史模式以实现对所拾取的分支指令的目标地址的预测。然而,根据微架构,BTAC的分支预测仍可能施加一个或多个时钟周期的延迟。因此,期望改进分支预测,以改进流水线指令流并因此改进微处理器中的指令执行的速度和效率。

技术实现思路

[0004]在一个实施例中,一种微处理器,包括:指令高速缓存,其包括多个高速缓存地址处的编程指令;快速预测器,其被配置为接收与同所述指令高速缓存的第一高速缓存地址相对应的第一分支指令相关联的信息、并基于所述快速预测器处的匹配来提供第一阶段期间的第一分支预测;以及分支目标地址高速缓存即BTAC,其根据所述第一阶段之后的第二阶段的组来进行操作,所述BTAC被配置为接收与所述第一分支指令相关联的信息并确定第二分支预测,所述BTAC被配置为通过在与所述第二阶段的组相对应的时间处将与所述第二分支预测相关联的分支目标地址写入所述快速预测器来覆写所述第一分支预测并更新所述快速预测器。
[0005]通过审查以下附图和详细描述,本专利技术的其它系统、方法、特征和优点对于本领域技术人员将是或者将变得明显。所有这些附加系统、方法、特征和优点旨在包括在本说明书内、在本专利技术的范围内,并且受到所附权利要求的保护。
附图说明
[0006]参考以下附图,可以更好地理解本专利技术的各个方面。不必按比例绘制附图中的组件,而是将重点放在清楚地例示本专利技术的原理上。此外,在附图中,相同的附图标记在多个视图中表示相应部件。
[0007]图1是示出实现快速预测器覆写系统的实施例的微处理器所用的示例分支单元流水线的框图。
[0008]图2A是示出在图1所示的分支单元流水线的前端处使用以实现快速预测器覆写系统的实施例的示例快速预测器和其它示例高速缓存地址源的示意图。
[0009]图2B是示出快速预测器覆写系统的实施例的一个示例操作的相对定时的示意图。
[0010]图3是示出示例快速预测器覆写方法的实施例的流程图。
[0011]图4是示出另一示例快速预测器覆写方法的实施例的流程图。
具体实施方式
[0012]公开了微处理器所用的快速预测器覆写系统和方法的特定实施例,这些实施例使得能够对快速预测器进行校正、通过分支目标地址高速缓存(BTAC)进行分支预测、并且对快速预测器进行快速更新。在一个实施例中,微处理器包括:前端,其包括基于局部模式历史来提供分支预测的快速预测器;以及采用BTAC的形式的大预测器,该大预测器提供使用全局模式历史的分支预测。快速预测器根据如下假设进行操作:如果对于拾取的高速缓存地址,BTAC的分支预测与较小的快速预测器的分支预测不同,则BTAC的分支预测是主导预测。因此,使用由BTAC提供用于拾取下一高速缓存指令的目标(例如,指令高速缓存的目标分支地址)和条件分支的方向(例如,采取、不采取)以取代先前由快速预测器提供的目标和方向,并且在BTAC阶段期间,用来自BTAC的目标和方向快速更新快速预测器(例如,表)。
[0013]简而言之,依赖于BTAC进行预测的微架构可能在预测中经历延迟,并且在不同阶段使用两个预测器的微架构可能直到执行阶段为止或超出执行阶段才能够实现对前一阶段预测器的更新。与此相反,本专利技术的快速预测器能够实现单周期分支预测,并且如果根据BTAC,快速预测器进行了错误预测,则由BTAC使用更精密的预测方案进行覆写并在BTAC的操作阶段之一期间进行更新,从而改进微处理器速度和效率并减少分支预测中的延迟。
[0014]在总结了本专利技术的快速预测器覆写系统的某些特征之后,现在将详细参考如附图中所示的快速预测器覆写系统的描述。虽然将结合这些附图来描述快速预测器覆写系统,但并不意在将其限制于这里所公开的实施例。也就是说,虽然本专利技术易于进行各种修改和替代形式,但是其特定实施例在附图中通过示例的方式示出,并且这里将被详细描述成足以使本领域技术人员理解。然而,应该理解,附图及其详细描述不意在将本专利技术限制于所公开的特定形式。相反,意图是覆盖落入如所附权利要求所限定的本专利技术的精神和范围内的所有修改、等同项和替代。如在本申请中所使用的,单词“可以”以允许的意义(即,意味着有可能)、而不是强制的意义(即,意味着必须)使用。类似地,单词“包括”意味着包括但不限于。
[0015]各种单元、模块、电路、逻辑或其它组件可被描述为“被配置为”进行一个或多个任务。在这样的上下文中,“被配置为”是对结构的广泛叙述,其一般意味着“具有在操作期间进行或能够进行一个或多个任务的电路或其它物理结构”。电路可以是专用电路、或在编码指令的控制下操作的更通用处理电路。也就是说,在描述本专利技术的各种实现的某些方面或特征时,这里可以使用诸如“单元”、“模块”、“电路”、“逻辑”和“组件”等的术语。本领域技术人员将理解,利用电路实现相应的特征,无论该电路是专用电路还是在微编码指令控制下操作的更通用电路。
[0016]另外,单元/模块/电路/逻辑/组件可被配置为即使在单元/模块/电路/逻辑/组件当前不处于操作中的情况下也进行任务。叙述被配置为进行一个或多个任务的单元/模块/
电路/逻辑/组件明确不旨在针对该单元/模块/电路/逻辑/组件进行功能性限定。在这方面,本领域技术人员将理解,电路元件的特定结构或互连通常将由设计自动化工具的编译器(诸如寄存器传送语言(RTL)编译器)确定。RTL编译器在与汇编语言代码非常相似的脚本上运行,以将该脚本编译成用于最终电路的布局或制造的形式。
[0017]也就是说,使用更高级的软件工具来设计(诸如本专利技术的那些)集成电路以对电路的期望功能操作进行建模。众所周知,“电子设计自动化”(或EDA)是一类用于设计诸如集成电路等的电子系统的软件工具。EDA工具还用于将设计功能编程到现场可编程门阵列(FPGA)中。使用诸如Verilog和超高速集成电路(VHDL)等的硬件描述符语言(HDL)来创建电路的高级表示,其中根据该高级表示可以推断出较低级表示和最终实际布线。实际上,由于现代半导体芯片可以具有数十亿个组件,因此EDA工具被认为是对于其设计而言必不可少的。在实践中,电路设计者使本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微处理器,包括:指令高速缓存,其包括多个高速缓存地址处的编程指令;快速预测器,其被配置为接收与同所述指令高速缓存的第一高速缓存地址相对应的第一分支指令相关联的信息、并基于所述快速预测器处的匹配来提供第一阶段期间的第一分支预测;以及分支目标地址高速缓存即BTAC,其根据所述第一阶段之后的第二阶段的组来进行操作,所述BTAC被配置为接收与所述第一分支指令相关联的信息并确定第二分支预测,所述BTAC被配置为通过在与所述第二阶段的组相对应的时间处将与所述第二分支预测相关联的分支目标地址写入所述快速预测器来覆写所述第一分支预测并更新所述快速预测器。2.根据权利要求1所述的微处理器,其中,所述更新的发生在时间上与BTAC阵列读取接近。3.根据权利要求1所述的微处理器,其中,所述快速预测器包括具有多个第一表条目的表,所述表具有n路的集关联组织,以及所述BTAC包括具有多个第二表条目的一组表,所述一组表具有m路的集关联组织,所述多个第二表条目在数量上大于所述多个第一表条目,并且n和m大于1。4.根据权利要求3所述的微处理器,其中,所述快速预测器包括条件分支预测器。5.根据权利要求1所述的微处理器,其中,所述快速预测器包括零采取惩罚,以及所述BTAC包括二时钟采取惩罚。6.根据权利要求1所述的微处理器,其中,所述快速预测器和所述BTAC各自能够进行多个类型的分支预测。7.根据权利要求1所述的微处理器,其中,所述第一分支预测包括所述指令高速缓存的分支目标地址、分支方向、以及分支预测的类型。8.根据权利要求1所述的微处理器,其中,所述快速预测器被配置为在单个时钟周期内提供所述第一分支预测。9.根据权利要求1所述的微处理器,其中,所述信息至少包括标签,以及所述快速预测器被配置为同时将当前指令拾取的标签与所述快速预测器的相应表条目的标签进行比较以确定所述匹配。10.根据权利要求1所述的微处理器,其中,所述快速预测器包括预测机制,所述预测机制使用分支预测...

【专利技术属性】
技术研发人员:汤玛斯
申请(专利权)人:圣图尔科技公司
类型:发明
国别省市:

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

1