[发明专利]用于实现加载存储重新排序和优化的指令定义有效
申请号: | 201380042998.5 | 申请日: | 2013-06-13 |
公开(公告)号: | CN104583956B | 公开(公告)日: | 2019-01-04 |
发明(设计)人: | M·阿布达拉;G·A·伍兹 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/38 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 黄嵩泉 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 实现 加载 存储 重新 排序 优化 指令 定义 | ||
1.一种用于在乱序处理器中从存储指令向对应的加载指令转发数据的方法,包括:
访问传入的指令的序列;
在指令的所述序列之中,将每个存储指令分离成存储地址指令和存储数据指令,其中所述存储地址指令执行地址计算和取读,并且其中所述存储数据指令执行寄存器内容到存储器地址的加载;
在指令的所述序列之中,将每个加载指令分离成加载地址指令和加载数据指令,其中所述加载地址指令执行地址计算和取读,并且其中所述加载数据指令执行存储器地址内容到寄存器中的加载;以及
将所述存储地址指令和所述加载地址指令重新排序得比对应的加载指令或存储数据指令更早并且距所述对应的加载指令或存储数据指令更远,以实现所述加载指令和所述存储指令的较早的分派和执行。
2.根据权利要求1所述的方法,其中所述存储地址指令、所述存储数据指令、所述加载地址指令和所述加载数据指令是宏指令并且在宏指令情境中被重新排序。
3.根据权利要求1所述的方法,其中所述存储地址指令、所述存储数据指令、所述加载地址指令和所述加载数据指令是微指令并且在微指令情境中被重新排序。
4.根据权利要求1所述的方法,其中将所述加载指令分离成两个指令允许运行时间优化器在指令的序列内较早地调度地址计算和取读。
5.根据权利要求1所述的方法,其中将所述存储指令的每一个分离成两个指令允许运行时间优化器在指令的序列内较早地调度地址计算和取读。
6.根据权利要求1所述的方法,其中如果存在与处于在加载地址指令与对应的加载数据指令之间的窗口中的在先存储指令的别名使用,则能够重新发出加载数据指令。
7.根据权利要求1所述的方法,其中加载地址指令和取读指令能够在不等待对应的加载数据指令返回的情况下从所述处理器的机器退出窗口退出。
8.根据权利要求1所述的方法,其中所述存储地址指令、所述存储数据指令、所述加载地址指令以及所述加载数据指令用指令前缀和伴随后缀指令的组合来实现。
9.一种微处理器,包括:
核,被耦合到加载存储缓冲器的核心,其中所述加载存储缓冲器实现用于通过以下方式在乱序处理器中从存储指令向对应的加载指令转发数据的方法:
访问传入的指令的序列;
在指令的所述序列之中,将每个存储指令分离成存储地址指令和存储数据指令,其中所述存储地址指令执行地址计算和取读,并且其中所述存储数据指令执行寄存器内容到存储器地址的加载;
在指令的所述序列之中,将每个加载指令分离成加载地址指令和加载数据指令,其中所述加载地址指令执行地址计算和取读,并且其中所述加载数据指令执行存储器地址内容到寄存器中的加载;以及
根据处理器资源将所述存储地址指令、所述存储数据指令、所述加载地址指令和所述加载数据指令重新排序以用于分派和执行。
10.根据权利要求9所述的微处理器,其中所述存储地址指令、所述存储数据指令、所述加载地址指令和所述加载数据指令是宏指令并且在宏指令情境中被重新排序。
11.根据权利要求9所述的微处理器,其中所述存储地址指令、所述存储数据指令、所述加载地址指令和所述加载数据指令是微指令并且在微指令情境中被重新排序。
12.根据权利要求9所述的微处理器,其中将所述加载指令的每一个分离成两个指令允许运行时间优化器在指令的序列内较早地调度地址计算和取读。
13.根据权利要求9所述的微处理器,其中将所述存储指令的每一个分离成两个指令允许运行时间优化器在指令的序列内较早地调度地址计算和取读。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380042998.5/1.html,转载请声明来源钻瓜专利网。