The present invention relates to a method of controlling speculation in a cyclic accelerator based on high performance strings. A device that includes a binary translator to elevate the loading instruction in the branch of a conditional statement beyond the conditional statement and inserts a loaded speculative control (SCL) instruction in the supplementary branch of the conditional statement, in which the SCL instruction provides a real program order (RPO) for the loading instruction before the loading instruction is promoted. Instructions. The device further includes an executive circuit for executing loading instructions to load and inserting an entry for the loading instruction in the sorted buffer, and in which the execution circuit executes the SCL instruction to locate the entry for the loading instruction in the sort buffer by using the RPO of the loading instruction provided by the SCL instruction. And discard entries for loading instructions from the sorted buffer.
【技术实现步骤摘要】
对基于高性能串的循环加速器中的加载做控制推测的方法
本专利技术的实施例涉及计算领域;并且更具体地,涉及对基于串(strand)的循环加速器中的加载执行控制推测的领域。
技术介绍
推测性执行是一种优化技术,其中计算机系统在知道一些任务是否将被需要之前提前执行所述任务,以便防止将由在已经知道需要所述任务之后执行该任务所招致的任何延迟。现代流水线化微处理器采用推测性执行来使用基于分支执行的历史行为而预测程序的执行路径的方案减小条件分支指令的成本。例如,可以将加载指令提升(hoist)超过包括条件语句(例如,If-语句或if-then-else语句)的一些在前指令,来隐藏存储器访问等待时间。通过将加载指令提升超过条件语句,在知道是否将需要加载之前执行与加载指令对应的加载。将加载指令提升超过条件语句的这样的技术被称为控制推测。为了确保在采用控制推测时的恰当的程序执行,需要解决以下问题以便确保正确的程序执行:(1)牢记加载指令在提升之前的原始位置;(2)在执行推测性加载时,保持包括潜在异常的所有结果达一些时间;(3)在控制流经过加载的原始位置时向架构状态公开推测性加载的结果;以及(4)如果控制流没有经过加载的原始位置,则丢弃推测性加载的结果。附图说明通过参考以下描述和用来图示本专利技术的实施例的附图,可以最好地理解本专利技术。在各图中:图1是图示根据一些实施例的处理器的示意图,所述处理器实现控制推测以使能基于高度并行的串的架构中的高水平的迭代间并行性;图2是图示根据一些实施例的系统的示意图,所述系统实现控制推测以使能基于高度并行的串的架构中的高水平的迭代间并行性;图3 ...
【技术保护点】
1.一种装置,包括:二进制翻译器,用以将条件语句的分支中的加载指令提升超过条件语句并且在条件语句的补充分支中插入加载的推测控制(SCL)指令,其中SCL指令提供对在加载指令被提升之前的加载指令的真实程序顺序(RPO)的指示;排序缓冲器;以及执行电路,用以执行加载指令以实行加载并且在排序缓冲器中插入针对加载指令的条目,其中针对加载指令的条目包括加载指令的RPO和加载的结果,并且其中执行电路要执行SCL指令以使用由SCL指令提供的加载指令的RPO来定位排序缓冲器中的针对加载指令的条目并且从排序缓冲器丢弃针对加载指令的条目。
【技术特征摘要】
2016.12.27 US 15/3917891.一种装置,包括:二进制翻译器,用以将条件语句的分支中的加载指令提升超过条件语句并且在条件语句的补充分支中插入加载的推测控制(SCL)指令,其中SCL指令提供对在加载指令被提升之前的加载指令的真实程序顺序(RPO)的指示;排序缓冲器;以及执行电路,用以执行加载指令以实行加载并且在排序缓冲器中插入针对加载指令的条目,其中针对加载指令的条目包括加载指令的RPO和加载的结果,并且其中执行电路要执行SCL指令以使用由SCL指令提供的加载指令的RPO来定位排序缓冲器中的针对加载指令的条目并且从排序缓冲器丢弃针对加载指令的条目。2.权利要求1的装置,其中执行电路要基于确定排序缓冲器是否包括具有与由SCL指令提供的加载指令的RPO匹配的RPO的条目来确定针对加载指令的条目是否在排序缓冲器中。3.权利要求1的装置,其中由SCL指令提供的对加载指令的RPO的指示是增量值,其指示SCL指令的RPO与加载指令的RPO之间的差异。4.权利要求3的装置,其中执行电路要基于将增量值添加到SCL指令的RPO来确定加载指令的RPO。5.权利要求4的装置,其中执行电路要在SCL指令的解码阶段期间确定SCL指令的RPO。6.权利要求1-3中的任一个的装置,其中执行电路要以RPO顺序来处理排序缓冲器中的条目以用于加载指令引退。7.权利要求1-3中的任一个的装置,其中SCL指令进一步提供对加载指令的目的地寄存器的模式的指示,其中执行电路要根据由SCL指令提供的对模式的指示将目的地寄存器设置成空状态或满状态。8.一种方法,包括:将条件语句的分支中的加载指令提升超过条件语句;在条件语句的补充分支中插入加载的推测控制(SCL)指令,其中SCL指令提供对在加载指令被提升之前的加载指令的真实程序顺序(RPO)的指示;执行加载指令以实行加载并且在排序缓冲器中插入针对加载指令的条目,其中针对加载指令的条目包括加载指令的RPO和加载的结果;以及执行SCL指令以使用由SCL指令提供的加载指令的RPO来定位排序缓冲器中的针对加载指令的条目并且从排序缓冲器丢弃针对加载指令的条目。9.权利要求8的方法,进一步包括:基于确定排序缓冲器是否包括具有与由SCL指令提供的加载指令的RPO匹配的RPO的条目来确定针对加...
【专利技术属性】
技术研发人员:AY奥斯塔内维奇,SP舍尔比宁,J伊耶尔,DM马斯伦尼科夫,DG莫廷,AV埃尔莫洛维奇,A楚德诺韦茨,SA罗兹科夫,BA巴巴彦,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。