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





