[发明专利]一种分支处理方法与系统在审
申请号: | 201810382188.9 | 申请日: | 2018-04-13 |
公开(公告)号: | CN108845831A | 公开(公告)日: | 2018-11-20 |
发明(设计)人: | 林正浩 | 申请(专利权)人: | 上海芯豪微电子有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200092 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理器核 分支处理 分支预测 指令地址 指令 分支目标指令 处理器性能 电子计算机 微处理器 错误导致 分支判断 分支损失 顺序指令 映射 处理器 | ||
一种适用于电子计算机/微处理器的分支处理方法,其特征是根据处理器核提供的指令地址提供顺序指令,由BTB映射所述指令地址以提供分支目标指令,由处理器核产生的分支判断选择上述两支指令中的一支指令供处理器核执行,因此没有分支损失;也不使用分支预测,排除了分支预测错误导致的处理器性能损失。
技术领域
本发明涉及电子计算机和微处理器领域。
背景技术
控制相关(control hazards)也称为分支(Branch),是处理器流水线性能损失的一大原因。当前的主流微处理器使用分支预测(branch prediction)的方式以消除分支损失。图1是现有微处理器处理条件分支方式的实施例。其中101是分支目标缓冲器(BranchTarget Buffer,BTB),105是指令缓存,108是处理器核。典型的BTB中存储分支指令地址与相应的分支目标指令地址,以及其分支预测。BTB 101中存储的复数条分支指令地址与108产生的指令地址106相比较。如有匹配,根据匹配的BTB行中存储的分支预测102,输出控制信号103以控制选择器104。如分支预测为分支,104选择BTB匹配行中的分支目标地址向105提供。如无匹配,或有匹配但分支预测为不分支,104选择106上的顺序地址向105提供。指令缓存105根据分支目标或顺序地址经总线107提供分支目标或顺序指令供处理器核108执行。如此消除了分支的损失。
但分支预测有无法避免的预测错误。如处理器核执行分支指令产生的分支判断(branch decision)与分支预测不相同,则必须清除处理器流水线中产生分支判断的流水线段之前各流水线段的处理结果,从分支判断选择的一支指令开始重新执行,导致性能损失。
发明内容
本发明针对现有技术的不足,提出一种分支处理方法与系统,其特征是提供分支目标及顺序两支指令由处理器核产生的分支判断选择一支指令供处理器核执行,因此没有分支损失;也不使用分支预测,因此完全排除了分支预测错误导致的处理器性能损失。
本发明中由处理器核提供指令地址,该指令地址寻址存储装置提供顺序指令,该指令地址也与BTB中存储的分支指令地址比较。由BTB根据匹配结果直接提供分支目标指令。或由BTB根据匹配结果提供分支目标指令地址,该分支目标指令地址寻址存储装置,由存储装置提供分支目标地址。处理器核产生的分支判断选择顺序指令或分支目标指令供处理器核执行。当执行无条件分支指令时,分支判断经分支指令译码生成。当执行条件分支指令时,分支判断经分支指令译码结合执行分支指令或之前指令产生的结果生成。
本发明消除了分支预测导致的性能损失,节省了分支预测装置所占据的芯片面积与消耗的功耗。
附图说明
虽然该发明可以以多种形式的修改和替换来扩展,说明书中也列出了一些具体的实施图例并进行详细阐述。应当理解的是,发明者的出发点不是将该发明限于所阐述的特定实施例,正相反,发明者的出发点在于保护所有基于由本权利声明定义的精神或范围内进行的改进、等效转换和修改。
图1是现有以分支预测处理分支的实施例。
图2是本发明所述以分支判断处理分支的实施例。
图3是本发明所述以分支判断处理分支的另一个实施例。
图4是本发明所述以分支判断处理分支的另一个实施例。
图5是本发明所述以分支判断处理分支的另一个实施例。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海芯豪微电子有限公司,未经上海芯豪微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810382188.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种一对数装载指令的执行方法
- 下一篇:一种提高处理器主频的流水线细分装置