[发明专利]微处理器和分支处理方法在审
申请号: | 202110793205.X | 申请日: | 2021-07-14 |
公开(公告)号: | CN113535237A | 公开(公告)日: | 2021-10-22 |
发明(设计)人: | 汤玛斯·C·麦当劳 | 申请(专利权)人: | 圣图尔科技公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 美国德州78731奥斯汀市*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 微处理器 分支 处理 方法 | ||
本申请涉及微处理器和分支处理方法。在一个实施例中,一种分支处理方法,包括:从至少两个分支执行单元接收信息;基于所述信息在每个时钟周期将两个更新写入到相应的第一写入队列和第二写入队列;以及从所述第一写入队列在每个时钟周期将多达两个更新写入到第一预测器的多个表中,并且在存在预期写入冲突的情况下,针对单个时钟周期写入单个更新,所述第一预测器包括单个写入或读取/写入端口。
技术领域
本发明通常涉及微处理器,尤其涉及微处理器中的分支预测。
背景技术
微处理器如今使用流水线处理方案来操作,由此编程指令被分解为在流水线的多个阶段中并发执行的步骤。指令通常(例如,编程代码的10-20%)包括分支指令或简单的分支,其中包括无条件分支(例如,始终采取的分支)和条件分支(例如,根据对指定条件的评估而采取或不采取)。直到计算出条件并且条件跳转经过指令流水线中的执行阶段之前,通常不确定地知道采取还是不采取条件跳转,这可能导致获取下一条指令的延迟。已经开发了分支预测器以试图在流水线的前端猜测条件分支将去向哪个方向以及到达哪个目标地址,并且这样改善了整个流水线中的指令流。
如果在流水线的其余部分中存在瓶颈,则用以改善整个流水线中的指令流的分支预测没有实际价值。因此,已经开发了微处理器以在每个时钟周期解码并执行两个分支。在解码阶段,对于前端预测器(例如,通过分支目标地址高速缓存或BTAC)未预测的指令,或者甚至对于那些已预测的指令,针对各分支将指令格式化并通过加法器逻辑检查位移分支的目标地址,这增加了成本和复杂度。进一步沿着流水线,对分支预测表的更新可能会给流程带来进一步的挑战,因为用于基于来自两个分支执行单元的输出处理更新的至各个预测表的附加写端口导致更多的硬件,但单次写入或读取/写入端口限制每个周期的更新量。因此,需要对流水线架构进行改进以改善流水线指令流,从而改善微处理器中指令执行的速度和效率。
发明内容
在一个实施例中,一种分支处理方法,包括:从至少两个分支执行单元接收信息;基于所述信息在每个时钟周期将两个更新写入到相应的第一写入队列和第二写入队列;以及从所述第一写入队列在每个时钟周期将多达两个更新写入到第一预测器的多个表中,并且在存在预期写入冲突的情况下,针对单个时钟周期写入单个更新,所述第一预测器包括单个写入或读取/写入端口。
通过检查以下附图和详细描述,本发明的其它系统、方法、特征和优点对于本领域技术人员将是或变得显而易见。旨在将所有这样的附加系统、方法、特征和优点包括在本说明书内、在本发明的范围内,并由所附权利要求书保护。
附图说明
参考以下附图可以更好地理解本发明的各个方面。附图中的组件不一定按比例绘制,而是着重于清楚地示出本发明的原理。此外,在附图中,在所有的各图中相同的附图标记指代对应的部分。
图1A是示出实现分支处理系统的实施例的微处理器的示例性分支单元流水线的框图。
图1B是示出图1A所示的分支单元流水线的示例性前端的示意图。
图2A是示出分支处理系统的实施例的、用于实现双分支格式化的示例性格式阶段分支单元的实施例的示意图。
图2B是示出分支处理系统的实施例的双分支格式化的示例性方法的实施例的流程图。
图3A是示出分支处理系统的实施例的双分支更新系统的实施例的示意图。
图3B是示出分支处理系统的实施例的双分支更新的示例性方法的实施例的流程图。
图4是示出示例性分支处理方法的实施例的流程图。
图5是示出另一示例性分支处理方法的实施例的流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于圣图尔科技公司,未经圣图尔科技公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110793205.X/2.html,转载请声明来源钻瓜专利网。