[发明专利]基于预监控的指令序列的并行执行在审
申请号: | 201580077699.4 | 申请日: | 2015-12-09 |
公开(公告)号: | CN107430511A | 公开(公告)日: | 2017-12-01 |
发明(设计)人: | 诺姆·米兹拉希;阿尔贝托·曼德勒;莎伊·科伦;乔纳森·弗里德曼 | 申请(专利权)人: | 森蒂彼得塞米有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京安信方达知识产权代理有限公司11262 | 代理人: | 杨明钊,周靖 |
地址: | 以色列*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 监控 指令 序列 并行 执行 | ||
发明领域
本发明总体上涉及处理器设计,特别是涉及用于运行时代码并行化的方法和系统。
发明背景
已经提出了用于在运行时使软件代码动态并行化的各种技术。例如,Akkary和Driscoll在通过引用并入本文的“A Dynamic Multithreading Processor”(Proceedings of the 31st Annual International Symposium on Microarchitectures,1998年12月)中描述了实现单个程序的动态多线程执行的处理器架构。
例如,Marcuello等人在通过引用并入本文的“Speculative Multithreaded Processors”(Proceedings of the 12th International Conference on Supercomputing,1998年)中描述了一种处理器微架构,其借助于不需要编译器或用户支持的控制推测(control speculation)技术同时执行从单个程序获得的多个控制线程。
Marcuello和Gonzales在通过引用并入本文的“Clustered Speculative Multithreaded Processors”(Proceedings of the 13th International Conference on Supercomputing,1999年)中提出了在运行时从单线程应用产生推测性线程的微架构。
在通过引用并入本文的“A Quantitative Assessment of Thread-Level Speculation Techniques”(Proceedings of the 14th International Parallel and Distributed Processing Symposium,2000年)中,Marcuello和Gonzales分析了不同线程推测技术的优点和价值预测、分支预测、线程初始化开销和在线程单元之间的连接的影响。
Ortiz-Arroyo和Lee在通过引用并入本文的“Dynamic Simultaneous Multithreaded Architecture”(Proceedings of the 16th International Conference on Parallel and Distributed Computing Systems(PDCS'03),2003年)中描述了在同时多线程处理器核心上执行来自单个程序的多个线程的被称为动态同时多线程(DSMT)的多线程架构。
美国专利申请公布2014/0282601(其公开通过引用并入本文)描述了用于通过块组织的源视图数据结构进行依赖性广播的方法。该方法包括使用全局前端接收输入指令序列,并将指令分组以形成指令块。多个寄存器模板用于通过用对应于指令块的块号填充寄存器模板来跟踪指令目的地和指令源,其中对应于指令块的块号指示在指令块之间的相互依赖性。填充块组织的源视图数据结构,其中源视图数据结构存储与如由多个寄存器模板记录的指令块相对应的源。在调度指令块的一个块时,将属于该一个块的数字广播到与该块相关的源视图数据结构的列,并相应地标记该列。根据广播来更新剩余指令块的依赖性信息。
发明概述
一种方法包括在处理程序代码的指令的处理器中通过第一硬件线程处理一个或更多个指令。在检测到已经为第一线程提取被定义为并行化点的指令时,调用第二硬件线程以至少部分地与第一硬件线程对指令的处理并行地处理指令中的至少一个。
在一些实施例中,在处理器开始解析由第一线程处理的指令中的依赖性之前,执行调用第二线程。在一个实施例中,检测并行化点包括检测后向分支指令。在另一个实施例中,检测并行化点包括检测函数调用。在另一个实施例中,并行化点用嵌入在程序代码中的指示标记。
在一些实施例中,调用第二线程包括在调用第二线程时向第二线程提供在提取指令用于由第二线程处理时待遍历的流控制轨迹(flow-control trace)的至少部分。在一个实施例中,该方法还包括使用分支预测从一组可能的轨迹(trace)中选择流控制轨迹。该组可能的轨迹可以存储在处理器中、在处理器的高速缓存存储器中或在由处理器访问的存储器中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于森蒂彼得塞米有限公司,未经森蒂彼得塞米有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580077699.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动收料机
- 下一篇:一种钢带收卷助卷装置