发明名称 |
微处理器跳转指令分支预测处理系统和方法 |
摘要 |
本发明公开一种微处理器跳转指令分支预测处理系统和方法。该系统包括译码模块和发射模块。译码模块包括分支预测器,用于在所述译码模块通过预译码判断出待处理指令是跳转指令,以及跳转指令的类型后,根据该待处理的跳转指令是否为跳转执行类型,而采用静态预测或者动态预测方法进行预测,然后将该待处理跳转指令及其延迟槽指令按照指令在程序中的次序直接写入操作队列项;发射模块包括预测结果处理器,用于在跳转指令执行完并写回到发射模块后,在分支预测器对跳转指令的预测错误时,取消错误执行的指令且从正确的跳转方向继续取指;在取消指令时,根据是否为跳转执行指令,采取不同的取消方法进行取消操作。 |
申请公布号 |
CN101770358B |
申请公布日期 |
2013.01.30 |
申请号 |
CN201010111407.3 |
申请日期 |
2010.02.10 |
申请人 |
龙芯中科技术有限公司 |
发明人 |
李祖松;徐萍;郝守青;汪文祥 |
分类号 |
G06F9/38(2006.01)I |
主分类号 |
G06F9/38(2006.01)I |
代理机构 |
北京远大卓悦知识产权代理事务所(普通合伙) 11369 |
代理人 |
史霞 |
主权项 |
一种微处理器跳转指令分支预测处理系统,包括译码模块和发射模块,其特征在于:所述译码模块包括分支预测器,用于在所述译码模块通过预译码判断出待处理指令是跳转指令,以及跳转指令的类型后,根据该待处理的跳转指令是否为跳转执行类型,而采用静态预测或者动态预测方法进行预测,然后将该待处理跳转指令及其延迟槽指令按照指令在程序中的次序直接写入操作队列项;所述发射模块包括预测结果处理器,用于在跳转指令执行完并写回到所述发射模块后,在所述分支预测器对跳转指令的预测错误时,取消错误执行的指令且从正确的跳转方向继续取指;在取消指令时,根据是否为跳转执行指令,采取不同的取消方法进行取消操作;所述根据该待处理的跳转指令是否为跳转执行类型,而采用静态预测或者动态预测方法进行预测,是指:根据待处理的跳转指令的类型,如果是跳转执行指令,则对该待处理的跳转指令采用静态预测方法预测,并且预测其跳转;否则,如果是其他非跳转执行的跳转指令,则采用动态预测方法进行预测;所述根据是否为跳转执行指令,采取不同的取消方法进行取消操作,是指:如果分支预测错的跳转指令是跳转执行指令,则该跳转指令后的所有指令都取消执行;如果分支预测错的跳转指令不是跳转执行指令,则该跳转指令的延迟槽指令后的所有指令都取消执行。 |
地址 |
100080 北京市海淀区科学院南路10号 |