对非控制流指令减少分支检验制造技术

技术编号:4277454 阅读:247 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及对非控制流指令减少分支检验。一些微处理器在分支历史表和/或分支目标缓冲器中检验分支预测信息。要检验分支预测信息,微处理器可以标识哪些指令是控制流指令,哪些指令是非控制流指令。要降低分支历史表和/或分支目标缓冲器中的功耗,分支历史表和/或分支目标缓冲器可以检验对应于控制流指令的分支预测信息,而不检验对应于非控制流指令的分支预测信息。

【技术实现步骤摘要】

本专利技术 一般涉及微处理器,特别是为分支预测降低能耗。
技术介绍
微处理器是响应于实现计算机程序的指令来执行各种计算操作的电子设备。实现计算机程序的通用技术是以预定序列发送多个指令到微处理器的执行单元,然后顺序地执行这些指令。在一些情况下,程序跳出了次序来执行不是序列里的下条指令的指令。可以引起执行跳出序列的指令的一个例子是分支指令。当执行一分支指令时,微处理器可以跳到由分支指令标识的目标指令,并且微处理器下一步执行的是该目标指令,而非下一顺序指令。 如图示,图1显示程序执行序列的示例,其中以顺序方式执行五个顺序指令1-5,指令1首先执行,然后第二执行指令2等等。在该示例中,指令5是一分支指令,其指定指令2为其目标指令。执行分支指令5后,微处理器跳出了顺序指令的次序,接下来执行程序执行顺序中的指令2,而非下一顺序指令6。 微处理器经常使用几个阶段来处理指令,其可包括指令取阶段,其中从指令高速缓存中取出指令;指令解码阶段,其中对取来的指令进行解码;指令执行阶段,其中执行指令。为了提高通过各种阶段处理多个指令的速度, 一些微处理器采用已知的流水线技术。流水线在流水线的多个阶段对几个不同的指令同时执行处理的不同部分的意义上类似于装配线。流水线技术的一个例子是,在第一计算周期中由流水线的第一阶段处理第一指令1。在第二周期中,第一指令1进入到流水线的第二阶段,并且第二指令2开始流水线的第一阶段。在第三周期中,第一指令1进入到流水线的第三阶段,第二指令2进入到流水线的第二阶段,并且第三指令3开始流水线的第一阶段等等。流水线可以使得多个指令执行得比微处理器每次只处理一条指令的情况更快速。例如,流水线技术允许在每个周期完成不同指令的处理。 分支指令会降低流水线技术的效率。当执行一分支指令时,微处理器可能试图跳出顺序的次序,而执行并不在流水线中的目标指令。要跳到目标指令,微处理器可能放弃已经在流水线中的指令,然后开始重新启动在目标指令开始的流水线。结果当目标指令被取和由流水线的初始阶段进行处理时,可能发生延迟,导致通过流水线处理指令时速度的总体下降。 分支预测是已用来提高执行分支指令的流水线微处理器的速度的技术。分支预测通过使能微处理器在执行分支指令之前就取出分支指令后有可能执行的指令,可提高流水线微处理器的速度。分支预测可以包括预测条件分支是否采用、和/或预测分支目标,其是分支指令的目标指令。例如,当微处理器确定条件分支可能被采用时,可以在执行分支指令之前将预测的目标指令取入到流水线中,以为分支操作的流水线作准备。 分支历史表是可以存储关于之前分支是否被采用的历史信息的分支预测单元,该历史信息可用于预测未来的分支是否将被采用。分支目标缓冲器是可以预测分支指令的目标的分支预测单元。 一些微处理器使用分支历史表和分支目标缓冲器来执行分支预测。
技术实现思路
—些实施例涉及一种执行指令的微处理器。微处理器取一组指令,所述指令包括至少一个控制流指令和至少一个非控制流指令。微处理器包括控制指令标识单元和分支预测单元。控制指令标识单元存储控制指令标识信息,所述控制指令标识信息标识已取指令组中该至少一个非控制流指令。分支预测单元检验对应该至少一个控制流指令的已存储的分支预测信息,不检验对应该至少一个非控制流指令的已存储的分支预测信息。 —些实施例涉及在微处理器中检验分支预测信息的方法,其中在该组已取指令中标识一个或多个控制流指令。对于控制流指令进行分支预测信息的检验,而对于非控制流指令不进行分支预测信息的检验。附图说明 附图中,每个相同的或几乎相同的组件在不同图中用相似的数字表示。为了清楚起见,并非每个附图的所有组件都进行标注。附图中显示包括分支指令的程序执行顺序的示例;显示根据一些实施例的超标量微处理器的前端流水线;显示根据一些实施例,具有对于非控制流指令索引输入可被禁止的分支目 图l 图2 图3标缓冲器; 图4史表; 图5 图6显示根据一些实施例,具有对于非控制流指令索引输入可被禁止的分支历显示根据一些实施例的指令高速缓存标签数组,其存储控制指令标识信息;显示根据一些实施例的控制指令标识单元的示例,其可以存储控制标识信息以使(多个)索引输入对BHT和/或BTB使能/禁止; 图7.显示根据一些实施例的电路,其为分支目标缓冲器和/或分支历史表产生掩码信号;具体实施例 如上所述,分支指令会降低微处理器流水线的速度,一些微处理器包括(多个)硬件组件诸如分支历史表(branch history table, BHT)和/或分支目标缓冲器(branchtarget buffer,BTB),其提供可用于提高流水线的速度的分支预测信息。 一些微处理器,例如超标量微处理器,使用分支历史表和分支目标缓冲器来改善性能。超标量微处理器是一种利用微处理器核心内几个功能单元,例如算术逻辑单元和/或其它的功能单元在一个周期中执行多于一个指令的处理器。在超标量微处理器中,可以从指令高速缓存中并行地取出几个指令。当指令取正被执行时,可以同时检验BHT和/或BTB的关于该被取指令的分支预测信息。例如,如果在指令取阶段取出四个指令,可以检验BHT和/或BTB的对应于该四条被取指令的任何分支预测信息。如果一个或多个指令是分支指令,BHT和/或BTB可以提供对应的分支预测信息,其可用于改善流水线的速度。例如,如果预测要采用一条件分支,微处理器可以在执行该分支指令之前取出目标指令来提前准备。5 我们已经意识到,为分支预测访问BHT和/或BTB会消耗大量的功率,特别是当并 行检验多个指令时。根据现有技术,如果并行取几个指令,都将由BHT和/或BTB检验所有 的被取指令的对应分支预测信息。然而,也已经意识到的是,检验所有已取指令会消耗大量 的功率,而且检验所有的已取指令可能并不是必要的。特别是已经意识到,只有控制流指令 有可能执行分支操作,而非控制流指令可能不执行分支操作。控制流指令可以引起关于将 由微处理器执行的程序流的判断,而且具有引起分支操作的可能性。然而非控制流指令对 程序流没有影响,也没有引起分支操作的可能性。因此,在BHT和/或BTB中检验非控制流 指令是不必要的,因为非控制流指令不进行分支操作,并且BHT和BTB将没有与非控制流指 令对应的分支预测信息。因此已经意识到,通过减少或阻止对BHT和/或BTB访问非控制 流指令可节省大量的功率。 在一些实施例中,将微处理器配置成在BHT和/或BTB中对已取指令组中的控制 流指令检验对应的分支预测信息,对已取指令组中的非控制流指令不检验分支预测信息。 该技术可以降低在BHT和/或BTB中查找的指令数,并因此降低由BHT和/或BTB的消耗的功率量。 对于许多应用已经显示出了仿真结果,只有少量的已取指令是可以引发分支操作 的控制流指令。例如,在具有四个指令的取带宽的微处理器中,大部分的取指令块(fetch block)可能包括0、 1个或2个控制流指令,极少的取指令块可能包括3个或者4个控制流指 令。对于一些指令集结构(ISA),如MIPS (Microprocessor without Interlocked Pipeline Stages,无互锁流水线阶段的微处理器),控制指令后面有延迟槽指令,延迟槽指令不本文档来自技高网
...

【技术保护点】
一种执行指令的微处理器,其中该微处理器取一组指令,所述指令包括至少一个控制流指令和至少一个非控制流指令,该微处理器包括:控制指令标识单元,其存储控制指令标识信息,所述控制指令标识信息标识已取指令组中该至少一个非控制流指令;分支预测单元,其检验对应于该至少一个控制流指令的分支预测信息,并且不检验对应于该至少一个非控制流指令的分支预测信息。

【技术特征摘要】
一种执行指令的微处理器,其中该微处理器取一组指令,所述指令包括至少一个控制流指令和至少一个非控制流指令,该微处理器包括控制指令标识单元,其存储控制指令标识信息,所述控制指令标识信息标识已取指令组中该至少一个非控制流指令;分支预测单元,其检验对应于该至少一个控制流指令的分支预测信息,并且不检验对应于该至少一个非控制流指令的分支预测信息。2. 如权利要求1所述的微处理器,其中分支预测单元包含分支历史表。3. 如权利要求1所述的微处理器,其中分支预测单元包含分支目标缓冲器。4. 如权利要求1所述的微处理器,其中微处理器是并行取该组指令的超标量处理器。5. 如权利要求1所述的微处理器,其中微处理器根据包括多个阶段的流水线执行指 令,其中分支预测单元在该多个阶段的第一阶段检验分支预测信息,该微处理器进一步包 括指令高速缓存,在流水线的该第一阶段中从所述指令高速缓存中取出该组指令。6. 如权利要求5所述的微处理器,进一步包括存储控制指令标识信息的指令高速缓存 标签数组,其中该控制指令标识信息标识该至少一个控制流指令,其中控制指令标识单元 从指令高速缓存标签数组中接收控制指令标识信息。7. 如权利要求6所述的微处理器,进一步包括至少一个解码器,其对指令进行解码以 产生控制指令标识信息,其中指令高速缓存标签数组从该至少一个解码器接收该控制指令 标识信息。8. 如权利要求5所述的微处理器,其中该控制指令标识单元预测该指令高速缓存的地址。9. 如权...

【专利技术属性】
技术研发人员:王凯峰孙红霞吴永强
申请(专利权)人:世意法北京半导体研发有限责任公司
类型:发明
国别省市:11[中国|北京]

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

1