[发明专利]采用另一寄存器映射状态的快照并遍历处理器中的重排序缓冲器(ROB)条目来恢复被冲刷指令的寄存器映射状态在审
申请号: | 202180038871.0 | 申请日: | 2021-04-01 |
公开(公告)号: | CN115668136A | 公开(公告)日: | 2023-01-31 |
发明(设计)人: | K·R·赛斯;Y·C·特克曼;R·W·史密斯;S·普里亚达希;V·R·科欣蒂·纳雷斯 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京世辉律师事务所 16093 | 代理人: | 罗利娜 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 采用 另一 寄存器 映射 状态 快照 遍历 处理器 中的 排序 缓冲器 rob 条目 恢复 冲刷 | ||
一种寄存器映射电路,用于通过从另一寄存器映射状态的快照遍历ROB条目,恢复与被冲刷的指令相关联的寄存器映射状态。该寄存器映射电路包括ROB控制电路、快照电路和寄存器重命名恢复电路(RRRC)。ROB控制电路将ROB条目分配给进入处理器流水线的指令,包括被分配给目标指令的目标ROB条目和被分配给其他指令的其他ROB条目。快照电路捕获重命名映射表中的逻辑寄存器到物理寄存器映射状态的快照,该重命名映射表与可以被冲刷的指令的子集相关联。如果目标指令被冲刷,RRRC将基于被分配给另一指令的ROB条目中的快照来还原与目标指令相对应的重命名映射表寄存器映射状态,并遍历介于中间的ROB条目中的寄存器映射更新。
技术领域
本公开的技术涉及计算机处理器(多个“处理器”)中的指令流水线中的指令处理,并且更具体地,涉及与在条件控制(例如分支)指令的推测性误预测之后恢复处理器中的指令流水线的结构的状态。
背景技术
微处理器,也称为“处理器”,为各种各样应用执行计算任务。常规微处理器包括中央处理器(CPU),CPU包括一个或多个处理器核,也称为“CPU核”。CPU执行计算机程序指令(“指令”),该指令处理输入数据并产生数据结果。指令序列中生成的数据结果可以是中间数据,被存储以用作后续指令的输入数据。为了避免由于将中间数据存储在外部存储器中、然后从外部存储器将中间数据读回处理器中而导致的延迟,中间数据可以被暂时存储在处理器内的永久寄存器中。
指令集架构(ISA)使一定数目的寄存器可用作指令中的操作数(operand)。然而,ISA中可能没有足够的可用寄存器来避免指令流水线中的多个指令使用相同寄存器。因此,通常希望提供比ISA中定义的逻辑寄存器的数目更多的物理寄存器来存储中间数据。因而,对于不同的指令,处理器可以将ISA中可用的逻辑寄存器指派给不同的物理寄存器。处理器经由重命名映射表将已处理的指令中的逻辑寄存器映射到物理寄存器,以跟踪存储数据的实际物理寄存器。处理器在包括指令流水线中的寄存器重命名电路,以将逻辑寄存器重命名为物理寄存器,用于访问物理寄存器中的数据以执行指令。当物理寄存器过时、完整且不再使用时,重命名映射表中的逻辑寄存器到物理寄存器映射将被释放。过时意味着对相同逻辑寄存器的较新写入已被提交。完成意味着与物理寄存器对应的结果已被写入物理寄存器文件中。不再使用意味着所有需要消耗物理寄存器的指令都已超过读取寄存器文件的点。处理器将与每个指令相关联的重命名信息按程序顺序存储在重排序缓冲器(reorderbuffer,ROB)中,并在重命名映射表中保留最新的重命名状态。一旦已执行的指令被提交,该指令的逻辑寄存器到物理寄存器重命名将被保存到已提交映射表(CMT)中。
控制风险可能发生在指令流水线中,其中指令流水线中的下一个指令无法在不导致错误计算结果的情况下执行。例如,作为导致处理器中精确中断的控制流指令的执行的结果,控制风险可能发生。能够导致控制风险的控制流指令的一个示例是条件分支指令。条件分支指令可以基于在控制分支指令的条件被执行时所评估的条件,重定向指令执行的流路径。因此,处理器可以必须暂停额外指令的指取(fetch),直到条件分支指令已被执行,导致处理器性能降低并且功耗增加。最大化处理器性能的一种方法涉及利用预测电路来推测地预测条件分支指令的条件的结果。基于预测的新指令的处理可以包括对重命名映射表中的寄存器映射信息的改变。然而,被误预测的分支指令需要误预测恢复过程的执行,由此指令流水线被冲刷,并且指令流水线指取单元被重定向以从条件分支指令的地址开始指取新指令。作为此误预测恢复过程的一部分,在正确分支中的指令被处理之前,包含指令流水线中未提交指令的寄存器映射信息的重命名映射表必须要返回到其以前的寄存器映射状态。因为ROB在重命名映射表中为未提交指令保留了最新的寄存器重命名状态,因此ROB中包含最新寄存器重命名状态的指令条目能够用于还原在推测的被误预测的指令之前执行的寄存器映射的先前状态。在误预测恢复中,需要尽快还原处理器中的寄存器状态,以最小化由于推测性误预测造成的性能损失。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202180038871.0/2.html,转载请声明来源钻瓜专利网。