一种同时线程处理器的分支预测器设计的制作方法

文档序号:6487943阅读:265来源:国知局
一种同时线程处理器的分支预测器设计的制作方法
【专利摘要】一种同时线程处理器的分支预测器设计。本发明采用了共享和独立可配置的方式,能够适应不用的应用程序,能够更好的发挥分支预测的效率。独立模式下的PHT分配采用动态调整的结构,则能够充分的利用硬件资源,保证处理器在只运行少量线程时能够获得更好的性能。同时,本发明使用多个小的PHT组合的方式,总的大小不会超过其它的预测方法。因此,在保证高效率的前提下所增加的硬件开销也很小,从而保证了它的实用性。
【专利说明】一种同时线程处理器的分支预测器设计
【技术领域】
[0001 ] 本发明涉及计算机系统结构的设计。
【背景技术】
[0002]在传统的超标量处理器中,处理器性能的提高主要依靠提取程序的指令级并行性 (Instruction, Level Parallelism, ILP)来获得。而分支指令是影响ILP开发的重火障碍, 这是由于分支的误预测所带来的代价太大,在Pentiumll/III和Alpha21264中,分支预测 错,重新刷新流水线需要11个周期以上,将浪费I?4个取指周期取来的指令。在通用程 序代码的指令流中,平均每5?7条指令就会有一条分支指令,同时现代高性能处理器流水 线深度越来越高,谜I大大增加了预测错误的代价。针对分支预测的问题,学术界已经作了 很多卓有成效的研究,当前动态预测技术的精度对SPEC CPU ql的非数值程序已能达到平 均95%的预测精度,进一步提高精度需要付出更多的硬件开销,因此,超标量处理器巾的分 支预测技术研究已经非常充分了。
[0003]相比于超标量处理器,SMT处理器中的分支处理问题就变得不那么明朗了。SMT处 理器同时利用了线程级并行性(Thread-Level Parallelism,TLP)和指令级并行性ILP,不 同线程的指令相互独立,可以被同时发射执行,比单线挥的超标量处理器达到了更好的吞 吐量和加速比。单个线程执行过程中出现的延迟可以通过线程的调度被其它线程所隐藏, 从而具有更好的延迟容忍能力。同样,分支的误预测对于SMT处理器性能的影响也远小于 超标量处理器,但这并不意味着SMT处理器中分支问题VIII以被忽略。然而目前人们对 SMT处理器中的分支处理问题的研究并不多,建设性的成果就更少了。本发明主要设计了一 种SMT处理其中的分支预测器,使得预测准确度较先前有大幅提升。

【发明内容】

[0004]本发明主要涉及可重构Gshare预测器的设计
[0005]可重构Gshare预测器采用了共享和独立可配置的方式,能够适应不用的应用程 序,能够更好的发挥分支预测的效率。独立模式下的PHT分配采用动态调整的结构,则能够 充分的利用硬件资源,保证处理器在只运行少量线程时能够获得更好的性能。
[0006]同时,可重构Gshare预测器使用多个小的PHT组合的方式,总的大小不会超过其 它的预测方法。因此,可重构Gshare预测器在保证高效率的前提下所增加的硬件开销也很 小,从而保证了它的实用性。
【专利附图】

【附图说明】
[0007]图1为可重构Gshare预测器的基本结构
[0008]图2为共享模式下的可重构Gshare预测器
[0009]图3为独立模式下的可重构Gshare预测器【具体实施方式】
[0010]由于可重构硬件拥有更大的灵活性,同时当前的各种不同分支预测方案往往适用 于不同的环境,特别是在SMT处理器中,多道程序的负载和并行程序的负载对于分支预测 方案的要求是不一样的,而应用程序的类型也会影响分支预测方案的选择,因此,我们希望 通过可重构硬件来实现分支预测方案的灵活性。
[0011 ] 本设计的可重构Gshare预测器包括n个小的PHT结构和n个全局历史寄存器GHR, 这n个PHT通过可重构逻辑来进行控制。这里,GHR是每个活动线程都有一个,每增加一个 线程,就为该线程分配一个GHR。通过可重构逻辑,可以将PHTl?PHTn配置成独立的,或者 是共享的,用各线程的GHR和分支地址异或的结果来索引。这样,该预测器可以工作在共享 和独立两种模式下,通过可重构逻辑来进行配置。
[0012]在共享模式下,PHTl?PHTn合成一个整体的PHT,为每个线程所共享。这种模 式下,GHR依然是各线程拥有各自独立的一个。实际上,这就是一个GHR独立,PHT共享的 Gshare预测器配置。
[0013]在独立模式下,活动线程数为m,PHTa?PHTk是动态调整后的PHT结构,它可能包 含I个或多个小的PHT,剩余部分为空闲的小PHT。这种模式下,各线程分别访问各自独立 的PHT,GHR为各线程独立拥有。并且,这种模式下,各线程拥有的PHT的大小事可以随着活 动线程数目动态变化的,以n = 8为例,当活动线程数目m只有I个时,PHTl?PHT8合成 一个,也就是说,该线程可以利用整个的PHT ;当活动线程数目m为5?7个时,各线程也只 占用一个小的PHTi,这时,m个小的PHT处于工作状态,剩余的n-m个处于空闲状态;活动线 程数目m为3?4个时,为每个线程分配两个PHT ;活动线程数目m为2时,则每个线程分 配4个PHT。
【权利要求】
1.一种同时线程处理器的分支预测器设计,其特征在于:采用了共享和独立可配置的 方式,能够适应不用的应用程序,能够更好的发挥分支预测的效率。独立模式下的PHT分配 采用动态调整的结构,则能够充分的利用硬件资源,保证处理器在只运行少量线程时能够 获得更好的性能。
2.根据权利要求1所述的同时线程处理器的分支预测器,其特征在于:可重构Gshare预测器使用多个小的PHT组合的方式,总的大小不会超过其它的预测方法。
3.根据权利要求1所述的同时线程处理器的分支预测器,其特征在于:可重构Gshare预测器包括n个小的PHT结构和n个全局历史寄存器GHR,这n个PHT 通过可重构逻辑来进行控制。
4.根据权利要求1所述的同时线程处理器的分支预测器,其特征在于:在共享模式下,PHTl?PHTn合成一个整体的PHT,为每个线程所共享。这种模式下, GHR依然是各线程拥有各自独立的一个。实际上,这就是一个GHR独立,PHT共享的Gshare 预测器配置。
5.根据权利要求1所述的同时线程处理器的分支预测器,其特征在于:在独立模式下,活动线程数为m,PHTa?PHTk是动态调整后的PHT结构,它可能包含I 个或多个小的PHT,剩余部分为空闲的小PHT。
6.根据权利要求1所述的同时线程处理器的分支预测器,其特征在于:通过可重构硬件来实现分支预测方案的灵活性。
【文档编号】G06F9/38GK103593166SQ201210294702
【公开日】2014年2月19日 申请日期:2012年8月17日 优先权日:2012年8月17日
【发明者】刘书, 郑耀, 任治全, 陈曦 申请人:刘书
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1