【技术实现步骤摘要】
【国外来华专利技术】应用控制独立技术还原用于对处理器中处理的指令进行推测性预测的推测性历史
[0001]本公开的技术通常涉及处理器的指令流水线中的控制流计算机指令(“指令”)的推测性预测,更具体地涉及在执行时将控制流指令的推测性预测作为预测失误还原之后的预测失误恢复。
技术介绍
[0002]指令流水线是一种处理技术,由处理器执行的计算机指令的吞吐量可以通过将每个指令的处理分为一系列步骤,来提高。这些步骤在由多个阶段组成的执行流水线中被执行。如果执行流水线中的所有阶段都可以在指令在(多个)指令流水线中排序时并行和顺序地处理指令,则可以实现处理器的最佳性能。然而,在无法避免计算结果错误的情况下执行下一个指令的指令流水线时,会导致结构性危险的发生。例如,由于导致处理器中精确中断的控制流指令的执行可能会产生控制危险。可能导致控制危险的控制流指令的一个示例是条件分支指令。条件控制指令(诸如,条件分支指令)可以基于在控制分支指令的条件被执行时所评估的条件来重定向指令执行的流路径。因此,处理器可能不得不暂停提取附加指令,直到条件控制指令已执行,从而导致处理器 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种处理器,包括:指令处理电路,包括一个或多个指令流水线;以及推测性预测历史指示器;所述指令处理电路被配置为:基于所述推测性预测历史指示器,推测性地预测指令流水线中的指令流中的条件控制指令中的条件;推测性地预测所述指令流中的所述条件控制指令之后的第一控制依赖(CD)指令区域中的一个或多个CD条件控制指令的条件;推测性地预测所述指令流中的所述第一CD指令区域之后的控制独立(CI)指令区域中的一个或多个CI条件控制指令的条件;基于所述CI指令区域中的所述一个或多个CI条件控制指令的相应的推测性预测,更新所述推测性预测历史指示器的一个或多个CI预测条目;执行所述条件控制指令以解析所述条件控制指令的所述条件;以及响应于所述推测性预测与执行的所述条件控制指令的所解析的条件不匹配:存储所述推测性预测历史指示器的所述一个或多个CI预测条目;基于所述条件控制指令的所述所解析的条件,提取所述条件控制指令的第二CD指令区域中的一个或多个CD指令;推测性地预测所述第二CD指令区域中的一个或多个CD条件控制指令的条件;以及还原在所述推测性预测历史指示器中存储的一个或多个CI预测条目。2.根据权利要求1所述的处理器,其中所述指令处理电路还被配置为:从存储器提取多个指令到所述一个或多个指令流水线中的指令流水线中;基于所述条件控制指令的所述条件的所述推测性预测,更新所述推测性预测历史指示器中的预测条目;基于所述条件控制指令的所述推测性预测,提取所述条件控制指令的所述第一CD指令区域中的所述多个指令的所述一个或多个CD指令;基于所述第一CD指令区域中的所述一个或多个CD条件控制指令的相应的推测性预测,更新所述推测性预测历史指示器的一个或多个CD条目;提取所述条件控制指令的所述CI指令区域中的一个或多个CI指令;以及响应于所述推测性预测与执行的所述条件控制指令的所述所解析的条件不匹配:基于所述条件控制指令的所述所解析的条件,更新所述推测性预测历史指示器中的所述预测条目;移除所述推测性预测历史指示器的所述一个或多个CD条目;推测性地预测所述第二CD指令区域中的一个或多个CD条件控制指令的条件;以及基于所述第二CD指令区域中的所述一个或多个CD条件控制指令的相应的推测性预测,更新所述推测性预测历史指示器的所述一个或多个CD条目。3.根据权利要求1所述的处理器,其中:所述指令处理电路还被配置为:基于所述第一CD指令区域中的所述一个或多个CD条件控制指令的相应的推测性预测,更新所述推测性预测历史指示器的一个或多个CD条目;以及
所述指令处理电路被配置为:在所述推测性预测历史指示器的所述一个或多个CD预测条目基于所述第二CD指令区域中的所述一个或多个CD条件控制指令的相应的推测性预测被更新之后,还原所述推测性预测历史指示器所存储的一个或者多个CI预测条目。4.根据权利要求1所述的处理器,其中响应于所述推测性预测还原在所述推测性预测历史指示器中存储的所述一个或多个CI预测条目,所述指令处理电路还被配置为:基于所述推测性预测历史指示器,推测性地预测一个或多个较新的CI条件控制指令的条件;以及基于所述推测性预测历史指示器中所述一个或多个CI条件控制指令的相应的推测性预测,更新所述推测性预测历史指示器的所述一个或多个CI预测条目。5.根据权利要求1所述的处理器,其中响应于所述推测性预测还原所述推测性预测历史指示器的存储的所述一个或多个CI预测条目,所述指令处理电路还被配置为:基于具有被还原的一个或多个CI预测条目的所述推测性预测历史指示器,处理所述一个或多个CI条件控制指令。6.根据权利要求1所述的处理器,还包括:分支重新排序缓冲器(BRB)电路,包括多个分支条目,每个分支条目包括被配置为存储条件控制指令标识符的预测条目、被配置为存储到所述推测性预测历史指示器的预测索引的预测地址指针、被配置为存储用于所述条件控制指令的预测指示器的预测条目;以及所述指令处理电路被配置为:将所述条件控制指令存储在所述BRB电路中的所述多个分支条目中的分支条目中;基于所述分支条目中的所述预测地址指针中的到所述推测性预测历史指示器的所述预测索引,推测性地预测所述指令流中的所述条件控制指令中的所述条件;将所述预测条目中的一个或多个条件控制指令标识符存储在所述BRB电路中的所述多个分支条目中的分支条目中,所述一个或多个条件控制指令标识符标识所述第一CD指令区域中相应的一个或多个CD条件控制指令;将所述一个或多个CD条件控制指令的所述推测性预测存储为其相应的分支条目中的所述预测条目中的相应的预测性指示器;将所述预测条目中的一个或多个条件控制指令标识符存储在所述BRB电路中的所述多个分支条目中的分支条目中,所述一个或多个条件控制指令标识符标识所述CI指令区域中相应的一个或多个CI条件控制指令;以及将所述一个或多个CI条件控制指令的所述推测性预测存储为其相应的分支条目中的所述预测条目中的相应的预测性指示器。7.根据权利要求6所述的处理器,还包括:响应于所述推测性预测与执行的所述条件控制指令的所解析的条件不匹配,所述指令处理电路还被配置为:移除所述BRB电路中的所述多个分支条目中的所述分支条目中的所述预测条目中的所述一个或多个条件控制指令标识符,所述一个或多个条件控制指令标识符标识所述第一CD指令区域中的相应的一个或多个CD...
【专利技术属性】
技术研发人员:V,
申请(专利权)人:微软技术许可有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。