[发明专利]用于实现加载存储重新排序和优化的指令定义有效
申请号: | 201380042998.5 | 申请日: | 2013-06-13 |
公开(公告)号: | CN104583956B | 公开(公告)日: | 2019-01-04 |
发明(设计)人: | M·阿布达拉;G·A·伍兹 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/38 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 黄嵩泉 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 实现 加载 存储 重新 排序 优化 指令 定义 | ||
一种用于在乱序处理器中从存储指令向对应的加载指令转发数据的方法。该方法包括访问传入的指令的序列,在指令的所述序列之中,将存储指令分离成存储地址指令和存储数据指令,其中存储地址执行地址计算和取读,并且其中存储数据执行寄存器内容到存储器地址的加载。该方法还包括:在指令的所述序列之中,将加载指令分离成加载地址指令和加载数据指令,其中加载地址执行地址计算和取读,并且其中加载数据执行存储器地址内容到寄存器中的加载,以及将存储地址指令和加载地址指令重新排序得比LD/SD指令序列更早并且距LD/SD指令序列更远,以实现加载和存储的较早的分派和执行。
本申请要求2012年6月15日由Mohammad A.Abdallah和Gregory A.Woods提交的题为“AN INSTRUCTION DEFINITION TO IMPLEMENT LOAD STORE REORDERING ANDOPTIMIZATION”的共同待决共同转让的美国临时专利申请序号61/660,610的权益,并且该申请被整体地并入到本文中。
技术领域
本发明总体涉及数字计算机系统,更具体地涉及用于选择指令(包括指令序列)的系统和方法。
背景技术
要求处理器来处理相关或完全独立的多个任务。此类处理器的内部状态通常由在程序执行的每个特定时刻可能保持不同的值的寄存器组成。在程序执行的每个时刻,将内部状态图像称为处理器的架构状态。
当架构代码执行切换成运行另一功能(例如,另一线程、进程或程序)时,然后必须保存机器/处理器的状态,使得新功能可以利用内部寄存器以构建其新状态。一旦新功能已终止,则可以丢弃其状态,并且先前情境的状态将被恢复且该执行又继续。此类切换过程称为情境切换,并且通常包括10个或数百个循环,尤其是在采用大量寄存器(例如,64、128、256)和/或乱序执行的现代架构的情况下。
在线程感知硬件架构中,硬件支持用于有限数目的硬件支持线程的多个情境状态是正常的。在这种情况下,硬件复制用于每个所支持线程的所有架构状态元素。这消除了在执行新线程时的情境切换的需要。然而,这仍具有多个缺点,即复制用于用硬件中所支持的每个附加线程的所有架构状态元素(即,寄存器)的面积、功率和复杂性。另外,如果软件线程的数目超过明确支持的硬件线程的数目,则仍必须执行情境切换。
这变得常见,因为在要求大量线程的细粒度基础上需要并行性。具有复制情境状态硬件存储的硬件线程感知架构无助于非线程软件代码,并且仅仅减少了用于被线程化的软件的情境切换的次数。然而,那些线程通常是针对粗粒并行性而构造的,并且导致用于发起和同步、离开细粒并行性的沉重软件开销,诸如函数调用和回路并行执行,而没有高效的线程化发起/自动生成。此类所述开销伴随着针对非明确/容易并行化/线程化软件代码而使用现有技术编译程序或用户并行化技术进行此类代码的自动并行化的困难。
发明内容
在一个实施例中,将本发明实现为一种用于在乱序处理器中从存储指令向对应的加载指令转发数据的方法。该方法包括访问传入的指令的序列,在指令的所述序列之中,将存储指令分离成存储地址指令和存储数据指令,其中存储地址执行地址计算和取读,并且其中存储数据执行寄存器内容到存储器地址的加载。该方法还包括:在指令的所述序列之中,将加载指令分离成加载地址指令和加载数据指令,其中加载地址执行地址计算和取读,并且其中加载数据执行存储器地址内容到寄存器中的加载,以及将存储地址指令和加载地址指令重新排序得比LD/SD指令序列更早并且距LD/SD指令序列更远,以实现加载和存储的较早的分派和执行。
前述是概要且因此必要地包含细节的简化、一般化以及省略;因此,本领域的技术人员将认识到的是该概要仅仅是说明性的且并不意图以任何方式是限制性的。单独地由权利要求定义的本发明的其他方面、发明特征以及优点在下面阐述的非限制性详细描述中将变得显而易见。
附图说明
在附图中以示例的方式而不是以限制的方式举例说明本发明,并且在附图中相同的附图标记指示类似元件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380042998.5/2.html,转载请声明来源钻瓜专利网。