[发明专利]加快执行时存储器别名使用检查有效
申请号: | 201180073739.X | 申请日: | 2011-09-27 |
公开(公告)号: | CN103827816B | 公开(公告)日: | 2016-11-09 |
发明(设计)人: | C.王;Y.吴 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/45;G06F9/06 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 杨美灵;汤春龙 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 加快 执行 存储器 别名 使用 检查 | ||
技术领域
本发明的实施例一般涉及数据处理的技术领域,并且更具体地说,涉及加快执行时存储器别名使用检查。
背景技术
本文中提供的背景描述是为了概括介绍公开内容的上下文。当前有名的发明者的工作(就其在本背景部分中描述而言)及在提交之时不可视为现有技术的描述的方面,均未被明确或隐含承认为相对于本公开内容的现有技术。除非本文中另有指示,否则,此部分中描述的方案不是本公开内容的权利要求的现有技术,并且未由于包含在本部分中而被承认是现有技术。
计算机软件可分多个阶段开发。计算机程序员可编写人可读的源代码(例如,以C、C++、Java)。随后,可通过编译器或解释器(下文简称为“编译器”)将此源代码变换成可由一个或更多个处理器(例如,由多核处理器的处理器核)执行的低级别指令,如汇编语言指令和/或机器代码指令。
在编译或解释(下文简称为“编译”)期间,可将汇编或机器指令重新排序或“优化”,以便可在运行时更快和/或有效地执行它们。然而,可能难以确定诸如加载和存储等存储器指令是否将在运行时访问相同存储器位置(称为“存储器别名使用”)。相应地,编译器或解释器可优化指令,好象在这些指令中将不存在存储器别名使用一样,同时保留指令的原来执行顺序(例如,使用注释或通过另外的指令)以防止在运行时出现存储器别名使用。
处理器可配有存储器消歧电路以执行猜测式存储器优化。在运行时,如果存储器消歧电路检测到存储器别名使用,则它可触发存储器别名使用异常(exception)。优化的指令可存储在原子区域中,以便在发生存储器别名使用异常的情况下,可回滚整个原子区域。随后,可转而执行原来或不那么优化的指令。
基于旋转(rotation)的存储器消歧电路可基于指令序列的原来执行顺序,检测存储器别名使用。在存储器指令执行后,由指令寻址的存储器地址可存储在别名寄存器队列中某个位置,该位置对应于指令序列的原来执行顺序(如前面所述在编译期间已保留)中指令的位置。随后,存储器消歧电路可比较该存储器地址和“以后”别名寄存器条目(例如,有更大索引的条目)中包含的指令访问的存储器地址以检测存储器别名使用。
基于旋转的存储器消歧可对有序计算机程序中的指令调度表现良好。然而,对于更复杂情况中的指令优化,它可能表现不是如此好。例如,在处理猜测式加载或存储消除时,存储器消歧电路可不必要地对在优化期间实际上未重新排序的指令访问的存储器进行别名检查。处理分支式程序也可能困难,这是因为在不同分支中的存储器指令之间没有原来的程序执行顺序,然而,这些指令寻址的存储器地址仍可被指派到别名寄存器。借助于循环,通过循环的迭代(也称为“旋转”)别名寄存器条目的有序释放可将循环指令的优化限制到受别名寄存器队列的大小约束的滑动窗口。
附图说明
结合附图,通过下面的详细描述,将容易理解实施例。为有助于此描述,类似的标号指示类型的结构元素。在附图的图形中,实施例以示例方式而不是限制方式示出。
图1根据本公开内容的实施例,以示意图方式示出可如何创建和优化/重新排序计算机程序的示例。
图2和3根据本公开内容的实施例,以示意图方式示出可由编译计算机程序执行的示例方法。
图4根据本公开内容的实施例,以示意图方式示出可由执行计算机系统实现的示例方法。
图5和6根据本公开内容的实施列,以示意图方式示出可如何在包含猜测式加载的指令上执行公开方法的示例。
图7和8根据本公开内容的实施列,以示意图方式示出可如何在包含猜测式存储的指令上执行公开方法的示例。
图9和10根据本公开内容的实施列,以示意图方式示出可如何在分支式存储器指令上使用公开方法的示例。
图11-13根据本公开内容的实施列,以示意图方式示出可如何在循环中在存储器指令上使用公开方法的示例。
图14根据各种实施例,以示意图方式示出可实现各种方法和编译器的示例系统。
图15根据各种实施例,以示意图方式示出可实现各种方法和执行模块的示例系统。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180073739.X/2.html,转载请声明来源钻瓜专利网。