用于使用工作全局历史寄存器的系统及方法技术方案

技术编号:5464392 阅读:195 留言:0更新日期:2012-04-11 18:40
本发明专利技术揭示一种处理分支历史信息的方法。所述方法从指令高速缓冲存储器中检索分支指令并在多个管线级中执行所述分支指令。所述方法验证已识别分支指令。所述方法进一步在第一管线级期间接收分支历史信息并将所述分支历史信息加载到第一寄存器中,其中所述第一寄存器。所述方法进一步在第二管线级期间将所述分支历史信息加载到第二寄存器中。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术通常涉及计算机系统,且更特定来说涉及一种用于使用工作全局历史寄存 器的方法及系统。背景技水处于计算机平台演进核心的是处理器。早期处理器受当时可用技术的限制。制造技术的新进展允许将晶体管设计减小到早期处理器大小的1/1000且超过其1/1000。这些较小的处理器设计在供给超过先前期望的处理能力时更快、更有效且使用少得多 的功率。随着处理器实体设计的演进,处理信息及执行功能的新颖方式也发生改变。例如,自从i960年早期就在处理器设计中执行了指令的"管线化"。管线化的一个实例是 将执行管线分解成指令以一串流形成按顺序流过的单元或级的概念。所述级经布置以 使得数个级可同时处理数个指令的适合部分。管线化的一个优点是由于并行评估若 干指令,因此所述指令的执行重叠。处理器管线由许多级组成,其中每一级执行与执行一指令相关联的功能。每一级 称作管道级或管道段。所述级连接在一起形成管线。指令在管线的一端进入且在另一 端退出。处理器所执行的大多数程序均包含条件分支指令,且条件分支指令的实际分支行 为直到在管线深处对所述指令进行评估时才能获知。为避免将由等待分支指令的实际 评估产生的停止,现代处理器可采用某一形式的分支预测,借此在管线中较早地预测 条件分支指令的分支行为。基于所预测的分支评估,处理器推测性地提取并执行来自 所预测的地址的指令-所述所预测的地址是分支目标地址(如果预测采用所述分支) 或者所述分支指令之后的下一顺序地址(如果预测不采用所述分支)。是否采用条件 分支指令被称作确定分支的方向。可在预测时及在实际分支解算时确定分支的方向。 当确定实际的分支行为时,如果错误地预测了分支,那么必须从管线中冲洗所述推测 性提取的指令,并从正确的地址提取新指令。响应于错误的分支预测来推测性地提取 指令可对处理器性能及功率消耗产生不利的影响。因此,改善分支预测的准确性是重 要的处理器设计目的。一种已知形成的分支预测包含将分支预测分割成两个预测符:初始分支目标地址高速缓冲存储器(BTAC)及分支历史表(BHT)。所述BTAC是用指令提取群组地 址进行加索引且含有对应于所述指令提取群组地址的下一个所提取的地址,也称作分支目标。在一分支指令通过处理器管线且已采用其分支之后将条目添加到BTAC。如 果BTAC变得充满,那么当添加下一条目时,使用标准高速缓冲存储器替代算法(例 如循环算法或最近最少使用算法)从BTAC中移除条目。所述BTAC可以是高度相联高速缓冲存储器设计且在指令执行管线中被较早地 存取。如果提取群组地址与一BTAC条目匹配(BTAC命中),那么在下一循环中提 取对应的下一提取地址或目标地址。此匹配及随后提取目标地址称作隐含采用分支预 测。如果不存在匹配(BTAC未命中),那么在下一循环中提取下一个按顺序递增的 地址。此无匹配情形也被称作隐含不采用预测。可结合更准确的个别分支方向预测符(例如,分支历史表(BHT),也称作模式 历史表(PHT))利用BTAC。常规的BHT可含有一组饱和预测方向计数器以针对 个别分支指令产生更准确的采用/不采用决定。例如,每一饱和预测方向计数器可包 括采取四种状态中的一者的2位计数器,所述四种状态的每一者被指派加权预测值, 例如11-强预测采用10-弱预测采用Ol-弱预测不采用00-强预测不采用常规BHT的输出(也称作预测值)是采用或不采用的决定,其导致在下一循环 中提取分支指令的目标地址或者下一顺序地址。通常在分支结果信息变为已获知时用 所述分支结果信息更新所述BHT。为增加分支预测的准确性,可实施各种其它预测技术,所述技术使用来自其它分 支的最近分支历史信息作为反馈。如所属领域的技术人员了解,当前分支行为可与先 前所执行的分支指令的历史相关。例如,先前所执行的分支指令的历史可影响如何预 测条件分支指令。全局历史寄存器(GHR)(在此项技术中也称作全局分支历史寄存器或全局历 史移位寄存器)可用来追踪先前所执行的分支指令的过去历史。如GHR所存储,分 支历史提供在通向当前所执行的分支指令的代码路径中所遇到的分支指令顺序的综 览以实现改善预测结果。在某些处理器中,分支指令及其相关联预测信息的识别可仅在指令解码级之后发 生。普遍地,所述指令解码级可以是指令执行顺序中的稍后级。在解码一指令并确认 其为分支指令之后,用适合的分支历史信息加载GHR。当识别所述分支历史信息时, 将其移位到GHR中。GHR的输出用来识别存储在BHT中用来预测下一条件分支指 令的预测值。在使用GHR的常规处理器中,当在相对短的时间段期间并行执行多个分支指令 时所述GHR可能并未反映所遇到的实际分支历史信息。在此实例中,所述GHR可没 有在预测第二分支指令之前用来自第一分支指令的分支历史信息更新。因此,GHR的不准确值可用来针对第二条件分支指令识别BHT中的条目。使用不准确的值来给 BHT中的条目加索引可影响分支预测的准确性。如果处理器已能够与来自第一条件 分支指令的分支历史信息保持齐步,那么会将一不同值存储在GHR中,且针对第二 条件分支指令识别BHT中的不同条目。
技术实现思路
因此,在工业中存在对具有以下处理器的需要其可快于GHR地存储并使用分 支历史信息以实现更准确的分支预测。本专利技术认识到此需要且揭示一种处理器,其在 所述处理器的执行级中较早地识别分支指令。使用所述分支指令信息作为输入,所述 处理器可操纵针对随后条件分支指令的预测值的选择。本专利技术揭示一种处理分支历史信息的方法。所述方法在第一管线级期间识别分支 指令且在所述第一管线级期间将分支历史信息加载到第一寄存器中。所述方法在第二 管线级中确认所述分支指令并在所述第二管线级期间将所述分支历史信息加载到第 二寄存器中。本专利技术揭示一种管线处理器,其包括具有分支历史信息的第一寄存器及具有分支 历史信息的第二寄存器。所述管线处理器具有多个管线级,其中当识别分支指令时所 述第一寄存器在第一管线级中加载有所述分支历史信息,且在第二管线级期间第二寄 存器加载有分支历史信息。本专利技术揭示一种处理分支历史信息的方法。所述方法提取分支指令,在第一管线 级期间识别所述分支指令且在所述第一管线级期间将所述分支历史信息加载在第一 寄存器中。所述方法在第二管线级中确认所述分支指令且在所述第二管线级期间将所 述分支历史信息加载到第二寄存器中。根据下文详细说明及随附图式,将易知对本专利技术以及本专利技术之其它特征及优点之 更彻底理解。附图说明图1显示使用本专利技术实施例的处理器的高层级逻辑硬件方框图。图2显示图1的处理器所使用的实例性分支历史表。图3显示采用工作全局历史寄存器的图1处理器的低层级逻辑方框图。图4显示工作全局历史寄存器及全局历史寄存器的详细视图。图5显示图1的处理器所执行的实例性指令群组。图6显示图5的实例性指令群组在通过图1的处理器的各种级被执行时的时序图。图7显示图解说明使用工作全局历史寄存器的图1处理器所执行的指令流程的流 程图。具体实施例方式以下结合附图阐述的详细说明打算作为对本专利技术的各种实施例的描述,而非打算 仅代表其中可实践本专利技术的实施例。出于提供对本专利技术的透彻理解的目的,所述详细 说明包含有若干具体细节。然而,所属领域的技术人员将易知,可不以这些具体细节 来实践本文档来自技高网
...

【技术保护点】
一种处理分支历史信息的方法,其包括: 在第一管线级中识别分支指令; 在所述第一管线级期间将所述分支历史信息加载到第一寄存器中; 在第二管线级中确认所述分支指令,其中在所述第二管线级期间将所述分支历史信息加载到第二寄存器中。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:布莱恩迈克尔斯坦普尔詹姆斯诺里斯迪芬德尔费尔托马斯安德鲁萨托里乌斯罗德尼韦恩史密斯
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:US[美国]

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

1