【技术实现步骤摘要】
【国外来华专利技术】通过监控重复指令序列的运行时代码并行化专利
本专利技术总体上涉及处理器设计,并且具体地涉及用于运行时代码并行化的方法和系统。专利技术背景已经提出了用于在运行时动态地并行化软件代码的各种技术。例如,Akkary和Driscoll在1998年12月的第31届微体系结构年度国际研讨会的论文集“ADynamicMultithreadingProcessor”中描述了实现单个程序的动态多线程执行的处理器架构,该文章通过引用并入本文。Marcuellu等人在1998年的第12届国际超级计算会议的论文集“SpeculativeMultithreadedProcessors”中描述了一种处理器微架构,该微架构通过不需要编译器或用户支持的控制推测技术来同时执行从单个程序获得的多个控制线程,该文章通过引用并入本文。Marcuello和Gonzales在1999年的13届国际超级计算会议的论文集“ClusteredSpeculativeMultithreadedProcessors”中提出了在运行时从单线程应用中产生推测性线程的微架构,该文章通过引用并入本文。在2000年的第14届并行与分布式处理国际研讨会的论文集“AQuantitativeAssessmentofThread-LevelSpeculationTechniques”(其通过引用并入本文)中,Marcuello和Gonzales分析了不同线程推测技术的益处以及线程单元中的值预测、分支预测、线程初始化开销和连接的影响。Ortiz-Arroyo和Lee在2003年的第16届并行与分布式计算系统的国际会议(PDCS ...
【技术保护点】
一种方法,包括:在执行程序代码的指令的处理器中,监控表现出恒定的、循环的寄存器访问的重复指令序列,以及构建指定所述循环的寄存器访问的规范;响应于检测到所监控的指令中的分支误预测,回滚在所述规范中指定的所述循环的寄存器访问,以补偿由所述分支误预测引起的所述循环的寄存器访问的偏差;以及基于具有所回滚的循环的寄存器访问的所述规范,将所述指令中的至少一些的执行并行化。
【技术特征摘要】
【国外来华专利技术】2014.12.25 US 14/583,1191.一种方法,包括:在执行程序代码的指令的处理器中,监控表现出恒定的、循环的寄存器访问的重复指令序列,以及构建指定所述循环的寄存器访问的规范;响应于检测到所监控的指令中的分支误预测,回滚在所述规范中指定的所述循环的寄存器访问,以补偿由所述分支误预测引起的所述循环的寄存器访问的偏差;以及基于具有所回滚的循环的寄存器访问的所述规范,将所述指令中的至少一些的执行并行化。2.根据权利要求1所述的方法,其中,监控所述指令还包括生成由所监控的指令遍历的流控制轨迹,并且包括对所述流控制轨迹进行校正以补偿所述分支误预测。3.根据权利要求1所述的方法,并且包括在并行化的执行期间继续监控所述指令。4.根据权利要求1所述的方法,并且包括在回滚所述循环的寄存器访问之后,继续监控所述指令并构建所述规范。5.根据权利要求1所述的方法,其中,回滚所述循环的寄存器访问包括终止对其中发生所述分支误预测的所述指令的段的监控,以及丢弃在所述段中收集的所述循环的寄存器访问的所述规范的至少一部分。6.根据权利要求1-5中任一项所述的方法,其中,回滚所述循环的寄存器访问包括基于所述分支误预测之后的指令,将所述循环的寄存器访问回滚到与其中发生所述分支误预测的分支指令处或其之前的指令对应的先前状态。7.根据权利要求6所述的方法,其中,监控所述指令包括在所述规范中记录对寄存器的最后写入操作在所述序列中的位置,并且其中,回滚所述循环的寄存器访问包括对所述最后写入操作的位置进行校正。8.根据权利要求7所述的方法,其中,记录所述最后写入操作的位置包括递增对所述寄存器的写入操作的计数,并且其中,校正所述位置包括将所述计数递减到与其中发生所述分支误预测的分支指令对应的值。9.根据权利要求1-5中任一项所述的方法,其中,监控所述指令包括在所述规范中记录由所监控的指令访问的寄存器的分类,并且其中,回滚所述循环的寄存器访问包括对所述寄存器中的一个或更多个进行重新分类以补偿所述分支误预测。10.根据权利要求1-5中任一项所述的方法,其中,监控所述指令包括保存在沿着所述指令的受监控的段的一个或更多个相应的分支指令处或其之前的所述规范的一个或更多个状态,并且其中,回滚所述循环的寄存器访问包括恢复到与其中发生所述分支误预测的分支指令处或其之前的指令对应的保存状态。11.根据权利要求10所述的方法,其中,保存所述状态包括仅针对沿着所监控的段的所述分支指令的部分子集保存所述状态。12.根据权利要求11所述的方法,并且包括根据所述程序代码中的指示或来自所述程序代码的编译器的指示,选择所述分支指令的所述部分子集。13.根据权利要求11所述的方法,并且包括基于在运行时评估的标准,选择所述分支指令的所述部分子集。14.根据权利要求1-5中任一项所述的方法,其中,监控所述指令包括基于在所述处理器的执行流水线中从存储器提取的分支指令,生成所监控的指令的流控制轨迹。15.根据权利要求1-5中任一项所述的方法,其中,监控所述指令包括基于在所述处理器的执行流水线中被解码的分支指令来生成所监控的指令的流控制轨迹。16.根据权利要求1-5中任一项所述的方法,其中,监控所述指令包括共同地基于在所述处理器的执行流水线中从存储器提取的分支指令和被解码的分支指令来生成所监控的指令的流控制轨迹。17.根据权利要求1-5中任一项...
【专利技术属性】
技术研发人员:诺姆·米兹拉希,阿尔贝托·曼德勒,莎伊·科伦,乔纳森·弗里德曼,
申请(专利权)人:森蒂彼得塞米有限公司,
类型:发明
国别省市:以色列,IL
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。