[发明专利]无预测延时的分支预测控制方法无效
申请号: | 200910095786.9 | 申请日: | 2009-01-22 |
公开(公告)号: | CN101477455A | 公开(公告)日: | 2009-07-08 |
发明(设计)人: | 严晓浪;项晓燕;葛海通;孟建熠 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 杭州天正专利事务所有限公司 | 代理人: | 王 兵;王利强 |
地址: | 310027浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 预测 延时 分支 控制 方法 | ||
1.一种无预测延时的分支预测控制方法,其特征在于:所述分支预测控制方法包括:
1)、设置两级分支预测机制:
设置用于记录经过后级流水线确认的分支预测历史信息的全局历史寄存器,以及用于记录预测逻辑产生的未经后级流水线确认的预测历史信息的虚拟历史寄存器,设置用于记录分支预测信息的分支预测存储器;
虚拟历史寄存器作为分支预测存储器的全局读索引,全局历史寄存器作为分支预测存储器的全局写索引;
2)、如果前续分支指令的预测结果尚未被后级流水线确认,虚拟历史寄存器读取预测结果,预测逻辑进行分支预测;
当分支预测出现错误时,用全局历史寄存器的值更新虚拟历史寄存器以及分支预测存储器的分支预测信息。
2.如权利要求1所述的无预测延时的分支预测控制方法,其特征在于:将分支跳转历史记录作为分支预测的全局相关索引,索引当前分支预测器所在的存储区;分支在程序中的空间地址作为局部相关索引,索引当前分支预测器所在特定存储区下的特定位置。
3.如权利要求1或2所述的无预测延时的分支预测控制方法,其特征在于:当虚拟历史寄存器的值被错误预测结果污染时,用全局历史寄存器实现对于虚拟历史寄存器的更新,后续预测继续正确的预测分支跳转。
4.如权利要求3所述的无预测延时的分支预测控制方法,其特征在于:所述的全局历史寄存器为第一移位寄存器,分支指令被后级流水线执行单元执行后,分支跳转的结果被保存进入所述第一移位寄存器的最低位或最高位,所述第一移位寄存器中原先保持的跳转历史信息各左移或右移一位,记录最近若干次跳转的真实历史信息。
5.如权利要求3所述的无预测延时的分支预测控制方法,其特征在于:所述虚拟历史寄存器为第二移位寄存器,在每次分支预测后,将当前未经后级流水线确认的分支预测的结果保存进入所述第二移位寄存器的最低位或最高位,所述第二移位寄存器中原先保持的分支预测历史信息各左移或右移一位,记录最近若干次分支预测的历史信息。
6.如权利要求4所述的无预测延时的分支预测控制方法,其特征在于:所述虚拟历史寄存器为第二移位寄存器,在每次分支预测后,将当前未经后级流水线确认的分支预测的结果保存进入所述第二移位寄存器的最低位或最高位,所述第二移位寄存器中原先保持的分支预测历史信息各左移或右移一位,记录最近若干次分支预测的历史信息;所述第一移位寄存器和第二移位寄存器具有同样大小的存储空间。
7.如权利要求1或2所述的无预测延时的分支预测控制方法,其特征在于:在分支预测出现错误时,分支预测存储器内的预测器的预测结果需要被更新,用记录分支跳转正确信息的全局历史寄存器作为索引,改写预测器的预测值。
8.如权利要求6所述的无预测延时的分支预测控制方法,其特征在于:在分支预测出现错误时,分支预测存储器内的预测器的预测结果需要被更新,用记录分支跳转正确信息的全局历史寄存器作为索引,改写预测器的预测值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910095786.9/1.html,转载请声明来源钻瓜专利网。