[发明专利]一种嵌入式处理器的分支预测器在审
申请号: | 202111432093.1 | 申请日: | 2021-11-29 |
公开(公告)号: | CN114265623A | 公开(公告)日: | 2022-04-01 |
发明(设计)人: | 陈冲;赵达;刘帆;周煜;张荣 | 申请(专利权)人: | 中电科申泰信息科技有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 无锡派尔特知识产权代理事务所(普通合伙) 32340 | 代理人: | 叶昕;杨立秋 |
地址: | 214000 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 处理器 分支 预测 | ||
1.一种嵌入式处理器的分支预测器,其特征在于,包括:
一级预测器:包括预测无条件跳转指令目标地址预测器和返回指令RET目标地址预测器;
二级预测器:包括预测条件跳转指令目标地址预测器和预测条件跳转指令跳转方向预测器;
判断分支预测结果正确性的模块:判断出分支预测出现错误的指令,并做出修正;
生成流水线站台控制信号的模块:当分支预测错误时生成相应的站台控制信号,控制相应的站台暂停或将相应站台上处于错误路径的指令清除。
2.根据权利要求1所述的一种嵌入式处理器的分支预测器,其特征在于,所述一级预测器仅对调用指令CALL、无条件跳转指令以及返回指令RET进行预测;一级预测器无需预测跳转方向,当预测器做出预测时即视为发生跳转,只需对跳转目标地址进行预测即可。
3.根据权利要求2所述的一种嵌入式处理器的分支预测器,其特征在于,所述调用指令CALL和无条件跳转指令的目标地址预测器采用全相联的存储器结构,返回指令RET的目标地址预测器采用堆栈结构的存储器。
4.根据权利要求3所述的一种嵌入式处理器的分支预测器,其特征在于,在指令经过译码后,如果当前指令为CALL指令,则将当前指令后一条指令的PC值压入RET指令目标地址预测器的堆栈中;在指令进入执行站台后,经ALU计算出实际的跳转目标地址后才会对调用指令CALL和无条件跳转指令的目标地址预测器进行更新。
5.根据权利要求4所述的一种嵌入式处理器的分支预测器,其特征在于,当预测器无空闲条目时,采用先入先出的替换算法对预测器条目进行替换;当因遇到连续调用指令CALL而导致其溢出时,采用计数器对溢出数目进行计数,溢出的部分将不再预测。
6.根据权利要求5所述的一种嵌入式处理器的分支预测器,其特征在于,所述预测条件跳转指令跳转方向预测器不同于传统gshare预测器,该方向预测器将gshare预测表分为4块,分别用gshare索引地址的一部分对预测表进行索引。
7.根据权利要求6所述的一种嵌入式处理器的分支预测器,其特征在于,该方向预测器的4个预测表中存储的内容为5bit有符号数,每一次预测均将4个有符号数相加得出一个和,和的符号位做为方向预测的结果,和为正数预测方向为跳转,和为负数预测方向为不跳转。
8.根据权利要求7所述的一种嵌入式处理器的分支预测器,其特征在于,预测表中的有符号数根据条件跳转指令的实际跳转方向进行加减操作,条件跳转指令实际发生跳转时,相应的有符号数自增,条件跳转指令实际发生不跳转时,相应的有符号数自减。
9.根据权利要求8所述的一种嵌入式处理器的分支预测器,其特征在于,4个预测表中的有符号数在进行加减操作时,加减的幅度各不相同,高位地址索引的有符号数加减幅度较大,低位地址索引的有符号数加减幅度较小。
10.根据权利要求9所述的一种嵌入式处理器的分支预测器,其特征在于,gshare索引地址由相应指令的PC值和全局跳转历史记录相异或而生成;全局跳转历史记录由实际的跳转方向对其进行更新,而不采用预测的结果对其进行更新。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电科申泰信息科技有限公司,未经中电科申泰信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111432093.1/1.html,转载请声明来源钻瓜专利网。