滑动窗口、基于区块的分支目标地址高速缓冲存储器制造技术

技术编号:8532483 阅读:236 留言:0更新日期:2013-04-04 15:16
一种滑动窗口、基于区块的分支目标地址高速缓冲存储器(BTAC)包括多个条目,每一条目与含有至少一个已被评估为经采取的分支指令的指令区块相关联,且具有与所述区块中的第一指令的地址相关联的标签。所述区块每一者对应于从例如I-高速缓冲存储器等存储器获取的指令群组。在分支指令包含在两个或两个以上获取群组中处,其也包含在与BTAC条目相关联的两个或两个以上指令区块中。所述滑动窗口、基于区块的BTAC通过存储与不同的指令区块(其每一者含有所述经采取的分支指令中的至少一者)相关联的BTAC条目而允许存储处于同一指令区块中的两个或两个以上经采取的分支指令的分支目标地址(BTA),而不需要在每一BTAC条目中提供多个BTA存储空间。

【技术实现步骤摘要】

本专利技术大体上涉及处理器领域,且具体来说,涉及具有滑动窗口组织的基于区块的分支目标地址高速缓冲存储器。
技术介绍
微处理器在很多应用中执行计算任务。改进处理器性能是永恒的设计目标,通过经由增强的软件来实现更快的操作和/或增加的功能性,来推动产品改进。在许多嵌入式应用中,例如便携式电子装置,节省功率并减少芯片大小在处理器设计和建构中也是重要的目标。大多数现代处理器采用管线化架构,其中连续指令(其每一者具有多个执行步骤)在执行中是重叠的。这种开发连续指令流中的指令之间的并行度的能力对改进的处理器性能作出显著贡献。在理想条件下且在于一个循环中完成每一管级的处理器中,在填充管线的短暂初始过程之后,指令可在每一循环完成执行。实际上从没实现此类理想条件,这归因于多种因素,其中包含指令之间的数据相依性(数据冒险)、例如分支的控制相依性(控制冒险)、处理器资源分配冲突(结构冒险)、中断、高速缓冲存储器未命中等。处理器设计的主要目标是避免这些冒险,且保持管线“充满”。所有现实的程序都包含分支指令,其可包括无条件或条件分支指令。分支指令的实际分支行为常常是未知的,直到指令被评估为在管线深处。这产生使本文档来自技高网...

【技术保护点】
一种预测包含在指令高速缓冲存储器I?cache的指令线中的分支指令的方法,其包括:仅当将有一分支指令评估为被采取时,才将第一分支目标地址高速缓冲存储器BTAC条目存储在所述BTAC中,其中所述分支指令和第二分支指令位于第一指令区块中,所述第一指令区块存储在所述I?cache的线中;仅当将所述第二分支指令评估为被采取时,才将第二BTAC条目存储在所述BTAC中,其中具有所述第二分支指令的第二指令区块存储在所述I?cache的一个或多个线中且与所述第一指令区块重叠;其中所述第一BTAC条目包括第一标签字段,所述第一标签字段具有所述第一指令区块中的第一指令的全指令地址,且所述第二BTAC条目包括第二...

【技术特征摘要】
2006.06.05 US 11/422,1861.一种预测包含在指令高速缓冲存储器1-cache的指令线中的分支指令的方法,其包括 仅当将有一分支指令评估为被采取时,才将第一分支目标地址高速缓冲存储器BTAC条目存储在所述BTAC中,其中所述分支指令和第二分支指令位于第一指令区块中,所述第一指令区块存储在所述1-cache的线中; 仅当将所述第二分支指令评估为被采取时,才将第二 BTAC条目存储在所述BTAC中,其中具有所述第二分支指令的第二指令区块存储在所述1-cache的一个或多个线中且与所述第一指令区块重叠; 其中所述第一 BTAC条目包括第一标签字段,所述第一标签字段具有所述第一指令区块中的第一指令的全指令地址,且所述第二 BTAC条目包括第二标签字段,所述第二标签字段具有存储于所述1-cache线中的任意全指令地址的所述第二指令区块的全指令地址; 从始于所述第二指令区块的所述全指令地址的所述1-cache中获取指令群组,将所述全指令地址与BTAC条目的标签字段进行比较以确定与所述第二标签字段的匹配;以及一旦确定与所述第二标签字段的匹配,就使用所述第二 BTAC条目中的指示符以确定所述第二指令区块中的哪一个指令是所述第二经采取的分支指令;并且,从存储在所述第二 BTAC条目中的所述分支目标地址中获取指令。2.根据权利要求1所述的方法,其进一步包括一旦获取指令区块,就存取所述BTAC以确定对应的指令区块中的指令是否是经采取的指令。3.—种在处理器中...

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

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

1