[发明专利]支持多路并行预测的分支预测装置无效
申请号: | 201110347139.X | 申请日: | 2011-11-04 |
公开(公告)号: | CN102520914A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 郭宇波;孟建熠;刘兵;葛海通 | 申请(专利权)人: | 杭州中天微系统有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 杭州天正专利事务所有限公司 33201 | 代理人: | 王兵;王利强 |
地址: | 310012 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 并行 预测 分支 装置 | ||
技术领域
本发明涉及计算机系统,更具体地说,涉及一种使用分支预测表进行分支预测的处理器。
背景技术
目前,包括嵌入式处理器在内的所有处理器,都是用流水线方式,指令处理分为一系列的操作,且由各个的流水线执行相应的操作。不同的流水线级同时对不同的指令进行操作,使得指令的执行可以重叠进行以提高效率。为了充分利用这个指令执行能力,必须由正确的执行路径想该处理器提供足够的指令,而分支跳转指令的存在,将导致流水线的停顿。预测机制的出现使处理器可以以投机执行的方式继续执行指令,从而提高了执行的效率。
在有指令多发机制的嵌入式处理器中,在同一级流水线有一条或多于一条的指令需要处理。当只有一条分支跳转指令时,传统的非并行的结合历史相关的分支预测装置可以很好地预测。但当遇到同时有多条分支跳转指令时,预测将出现问题。这是因为历史相关的分支预测中,前一条分支跳转的跳转情况将影响后一条分支跳转的预测。而在同一级流水线中的前后几条分支跳转指令的互相影响并不能做到及时获取预测信息,造成了预测效率的低下。
发明内容
为了克服已有的嵌入式处理器的分支预测机制存在的对多发处理器支持不力导致的预测准确率较低的不足,本发明提供一种解决多 条分支跳转指令同时预测,提高预测准确率的支持多路并行预测的分支预测装置。
本发明解决其技术问题所采用的技术方案是:
一种支持多路并行预测的分支预测装置,所述分支预测装置包括:
一个指令预取单元,用于在一个时钟周期内并行预取n条指令,n为自然数,且n≥2;
n路并行预测单元,用于设置n路并行预测子单元,对n条分支跳转指令进行并行预测;
一个控制电路,用于检测整个分支预测装置的状态,连接分支预测存储器,为其提供读使能信号和写使能信号,连接索引选择器,为其提供选通信号;
所述并行预测子单元包括:
分支预测存储器,用于记录分支跳转指令的分支预测信息,并输出预测的分支结果,所述分支跳转指令包含在n条指令中;
全局历史移位寄存器,用于记录经过后级流水线确认的拥有特定低位PC地址的跳转指令跳转历史信息,为对应的分支预测存储器提供写索引,每个全局历史移位寄存器的位宽为j位,其中存储着最近j条分支跳转指令执行完成时是否跳转的结果;
虚拟历史移位寄存器,用于记录拥有特定低位PC地址的跳转指令跳转与否预测轨迹,每个虚拟历史移位寄存器的位宽为j位,其中存储着最近j条分支跳转指令是否跳转的预测结果;
索引选择器,连接于全局历史移位寄存器和虚拟历史移位寄存器的输出端和存储器的输入端之间,从全局历史移位寄存器或虚拟历史 移位寄存器中选取j作为最终的分支预测存储器的索引。
进一步,所述控制电路使用分支跳转指令用低m位的PC地址来区分不同的分支跳转指令,其中n=2m,一路分支预测装置的预测结果只能用于其对应的特定的分支跳转指令。
再进一步,所述并行预测子单元中,使用虚拟历史移位寄存器的全部共j位用于索引对应的预测存储器,对分支预测存储器进行读操作,读取预测信息。
更进一步,所述控制电路中,当分支跳转指令的预测结果经过后级流水线确认正确之后,更新此分支跳转指令所对应的全局历史寄存器,将正确的分支结果写入全局历史移位寄存器的最高位或者最低位,全局历史移位寄存器则相应的左移或者右移一位。
所述控制电路中,对分支跳转指令作出预测之后,将立即用这条指令的预测信息更新这条分支跳转指令所对应的虚拟历史寄存器,将预测的分支结果写入虚拟历史移位寄存器的最高位或者最低位,虚拟历史移位寄存器则相应的左移或者右移一位。
所述控制电路中,当分支跳转指令的预测结果经过后级流水线确认错误之后,控制电路控制选择此分支跳转指令所对应的分支预测存储器进行写操作,此分支跳转指令所对应的全局历史移位寄存器的全部共j位用于索引,将正确的分支结果写入分支结果存储器。
所述控制电路中,当分支跳转指令的预测结果经过后级流水线确认错误之后,每一路分支预测装置将使用预测信息更新此分支跳转指令所对应的全局历史寄存器,将跳转结果写入全局历史移位寄存器的最高位或者最低位,全局历史移位寄存器则相应的左移或者右移一位,并用更新后的全局历史移位寄存器全j位更新对应的虚拟历史移位寄 存器的全j位。
本发明的有益效果为:解决多条分支跳转指令同时预测,提高预测准确率。
附图说明:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州中天微系统有限公司,未经杭州中天微系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110347139.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种N掺杂的二氧化钛微球的制备方法
- 下一篇:一种联合降解木质纤维素的方法