[发明专利]用于对由处理器执行的指令进行优化的方法和装置有效
| 申请号: | 201680027157.0 | 申请日: | 2016-05-06 |
| 公开(公告)号: | CN107592924B | 公开(公告)日: | 2022-03-22 |
| 发明(设计)人: | V·麦卡特;G·文卡塔苏布拉马拉尼安;H·H·陈 | 申请(专利权)人: | 英特尔公司 |
| 主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
| 代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 刘瑜;王英 |
| 地址: | 美国加*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 处理器 执行 指令 进行 优化 方法 装置 | ||
本文中公开了方法、装置、系统和制品。示例装置包括指令分析器,其用于在要由硬件处理器执行的指令内识别出断言的块。示例装置包括性能监测器,其用于基于与所述断言的块相关联的指令地址来访问错误预测统计。示例装置包括区域形成器,其用于响应于确定出所述错误预测统计高于错误预测阈值,将所述断言的块包括在断言的区域中以用于优化。
技术领域
本公开总体上涉及指令优化,并且更具体地涉及用于对由处理器执行的指令进行优化的方法和装置。
背景技术
处理器执行指令以完成有用的任务。现代的处理器使用处理器流水线。当指令被加载到处理器流水线以用于执行时,该指令实际上可能不被处理器执行直到已经在流水线中的其他指令被执行为止。在一些示例中,执行指令的处理器试图在将这些指令置于流水线中之前对这些指令进行优化,以试图更有效地进行操作。这样的优化可能使得指令不以其原有预期的排序被执行。例如,在一些示例中,处理器将在这些代码部分被需要之前推测地执行代码的部分,以设法对处理器的性能进行优化。
附图说明
图1是根据本公开的教导构建的用于对由处理器执行的指令进行优化的示例计算系统的图。
图2示出了将由图1的处理器执行的示例指令集。
图3示出了将由图1的处理器执行的示例优化的指令集。
图4是表示可以被执行以用于实现图1的示例处理器的示例机器可读指令的流程图。
图5是表示可以被执行以用于实现图1的示例动态二进制翻译器的示例机器可读指令的流程图。
图6是表示可以被执行以用于实现图1的示例动态二进制翻译器的示例机器可读指令的流程图。
图7是被构成用于执行图4、图5和/或图6的示例机器可读指令以实现图1的计算系统的示例处理器平台的框图。
附图未进行缩放。在任何可能的情况下,贯穿附图和所附书面描述所使用的相同的附图标记将指代相同或相似的部分。
具体实施方式
现代的处理器利用指令流水线来增加指令吞吐量。不是顺序地执行指令(例如,在执行第二指令之前第一指令被充分执行),而是指令可以被分成操作的序列使得这些操作可以被并行地执行(例如,通过不同的电路和/或在相同时间)。例如,指令可以被分成:用于从存储器中读取指令的第一操作、用于执行指令的第二操作、以及用于将指令的结果写入存储器的第三操作。这样,多个指令可以在单个时钟周期期间由处理器来执行。为了增强效率,一些处理器试图重新组织指令以确保指令流水线是不断充满的。然而,这样试图的优化可以引入延迟。
例如,当处理器执行条件运算,例如“IF(如果)”语句,处理器的分支预测器可以预测条件语句的输出并且在这样的结果被需要之前推测地执行指令(例如,执行“IF”语句,如同其被解析为TRUE(真))。即,条件语句的指令可以被置于处理器流水线中以用于执行,即使条件语句所基于的断言尚未被确定。如果分支预测器已经适当地估计了条件语句的断言,则当实际的断言被确定时,条件语句的结果立即是可用的(例如,不需要执行其他指令)。当处理器识别到做出了错误的推测假设(例如,预测了错误的断言)时,执行与未被预测的断言相关联的指令(例如,“IF”语句的“ELSE(否则)”部分)。错误的推测假设被识别为由处理器做出的分支错误预测。分支预测器可以使用存储的错误预测信息来例如试图更准确地预测条件运算的断言。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680027157.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:钧瓷工艺品(天龙八部)
- 下一篇:用于沉浸式视图的数字标牌





