[发明专利]无预测延时的分支预测控制方法无效
申请号: | 200910095786.9 | 申请日: | 2009-01-22 |
公开(公告)号: | CN101477455A | 公开(公告)日: | 2009-07-08 |
发明(设计)人: | 严晓浪;项晓燕;葛海通;孟建熠 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 杭州天正专利事务所有限公司 | 代理人: | 王 兵;王利强 |
地址: | 310027浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 预测 延时 分支 控制 方法 | ||
技术领域
本发明涉及一种嵌入式处理器的分支处理过程。
背景技术
目前,包括嵌入式处理器在内的所有处理器,都使用流水线方式使指令的执行可以重叠进行以提高效率。而程序中分支指令的存在,导致了流水线的停顿,破坏了指令的并行执行。分支预测的引入,使分支指令后面的指令可以投机的执行,无需等待后级流水线返回分支指令的跳转信息,从而提高了处理器的效率。
分支预测的准确率很大程度上影响了处理器的性能,为提高分支预测的准确率,分支预测机制经历了从简单的静态预测机制到动态预测机制的发展过程。目前常见的动态分支预测机制有局部分支预测机制、全局分支预测机制、结合历史相关和地址相关的两级分支预测机制(如Gselect分支预测机制和Gshare分支预测机制)以及各种预测机制的组合机制如Alpha21264处理器中的分支预测器。分析这些分支预测机制,发现对于较短的分支预测,只有在前续分支预测结果被后级流水线确认的情况下,才能对当前分支指令做出准确的预测,即都为有延时的分支预测。
发明内容
为了克服已有的嵌入式处理器的分支预测机制的存在预测延时问题、预测准确率较低的不足,本发明提供一种消除预测延时,提高预测准确率的无预测延时的分支预测控制方法。
本发明解决其技术问题所采用的技术方案是:
一种无预测延时的分支预测控制方法,其特征在于:所述分支预测控制方法包括:
1)、设置两级分支预测机制:
设置用于记录经过后级流水线确认的分支预测历史信息的全局历史寄存器,以及用于记录预测逻辑产生的未经后级流水线确认的预测历史信息的虚拟历史寄存器,设置用于记录分支预测信息的分支预测存储器;
虚拟历史寄存器作为分支预测存储器的全局读索引,全局历史寄存器作为分支预测存储器的全局写索引;
2)、如果前续分支指令的预测结果尚未被后级流水线确认,虚拟历史寄存器读取预测结果,预测逻辑进行分支预测;
当分支预测出现错误时,用全局历史寄存器的值更新虚拟历史寄存器以及分支预测存储器的分支预测信息。
作为优选的一种方案:将分支跳转历史记录作为分支预测的全局相关索引,索引当前分支预测器所在的存储区;分支在程序中的空间地址作为局部相关索引,索引当前分支预测器所在特定存储区下的特定位置。
作为优选的另一种方案:在上述优选的方案基础上设置用于记录预测逻辑产生的未经后级流水线确认的预测历史信息的虚拟历史寄存器,当虚拟历史寄存器的值被错误预测结果污染时,用全局历史寄存器实现对于虚拟历史寄存器的更新,后续预测继续正确的预测分支跳转。
进一步,所述的全局历史寄存器为第一移位寄存器,分支指令被后级流水线执行单元执行后,分支跳转的结果被保存进入所述第一移位寄存器的最低位或最高位,所述第一移位寄存器中原先保持的跳转历史信息各左移或右移一位,记录最近若干次跳转的真实历史信息。
再进一步,所述虚拟历史寄存器为第二移位寄存器,在每次分支预测后,将当前未经后级流水线确认的分支预测的结果保存进入所述第二移位寄存器的最低位或最高位,所述第二移位寄存器中原先保持的分支预测历史信息各左移或右移一位,记录最近若干次分支预测的历史信息。
所述第一移位寄存器和第二移位寄存器具有同样大小的存储空间。
在分支预测出现错误时,分支预测存储器内的预测器的预测结果需要被更新,用记录分支跳转正确信息的全局历史寄存器作为索引,改写预测器的预测值。
本发明的技术构思为:在前续分支预测结果未得到后级流水线确认的情况下,利用虚拟历史寄存器可以继续下一次准确的预测,从而实现了无延时的分支预测。
本发明的有益效果主要表现在:克服了两级分支预测机制中存在的预测延时问题,从而可以处理更短的分支预测,提高了分支预测器预测的准确率。
附图说明
图1是无预测延时分支预测机制的结构图。
图2是两级分支预测机制的框架图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1,一种无预测延时的分支预测控制方法,所述分支预测控制方法包括:
1)、设置两级分支预测机制:
设置用于记录经过后级流水线确认的分支预测历史信息的全局历史寄存器,以及用于记录预测逻辑产生的未经后级流水线确认的预测历史信息的虚拟历史寄存器;设置用于记录分支预测信息的分支预测存储器;
虚拟历史寄存器作为分支预测存储器的全局读索引,全局历史寄存器作为分支预测存储器的全局写索引;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910095786.9/2.html,转载请声明来源钻瓜专利网。