[发明专利]用于可乱序执行指令的处理器的流水线排空有效
申请号: | 201010624755.0 | 申请日: | 2010-12-30 |
公开(公告)号: | CN102541511A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 孙红霞;吴永强;王凯峰;朱鹏飞 | 申请(专利权)人: | 世意法(北京)半导体研发有限责任公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华 |
地址: | 100080 北京市海淀区北四环西路9号*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 可乱序 执行 指令 处理器 流水线 排空 | ||
1.一种指令流水线,包括:
第一部分,可操作用于提供有序的第一指令和第二指令;以及
第二部分,可操作用于:
响应于所述第二指令,从数据存储位置读取第一数据,
响应于所述第一指令,在读取所述第一数据之后向所述数据存储位置写入第二数据,以及
响应于在读取所述第一数据之后写入所述第二数据,致使所述流水线的某些但非全部的排空。
2.如权利要求1所述的指令流水线,其中所述第一部分可操作用于按照所述有序的第一指令和第二指令在软件程序中所处位置的顺序来提供所述第一指令和所述第二指令。
3.如权利要求1所述的指令流水线,其中所述第一部分包括指令取回级。
4.如权利要求1所述的指令流水线,其中所述第一部分包括指令译码级。
5.如权利要求1所述的指令流水线,其中所述第一部分包括寄存器映射级。
6.如权利要求1所述的指令流水线,其中所述第二部分包括数据访问级。
7.如权利要求1所述的指令流水线,其中所述第二部分可操作用于:
响应于在从所述数据存储位置读取所述第一数据之后向所述数据存储位置写入所述第二数据,将标记与所述第二指令相关联;以及
响应于所述标记而致使所述排空。
8.如权利要求1所述的指令流水线,还包括:
第三部分,包括第一指令队列和第二指令队列,可操作用于从所述第一部分接收所述第一指令和所述第二指令;以及
其中所述第二部分可操作用于:
从所述第一队列和所述第二队列中的一个接收所述第一指令和所述第二指令;以及
响应于所述第二部分在读取所述第一数据之后写入所述第二数据,排空所述第一队列和所述第二队列中的所述一个,并且从所述第一队列和所述第二队列中的另一个向所述第一队列和所述第二队列中的所述一个装载所述第二指令。
9.如权利要求1所述的指令流水线,还包括:
第三部分,包括:
第一指令队列和第二指令队列,可操作用于从所述第一部分接收所述第一指令和所述第二指令;以及
第三指令队列,可操作用于从所述第一部分接收所述第二指令;以及
其中所述第二部分可操作用于:
从所述第一队列和所述第二队列中的一个接收所述第一指令和所述第二指令,以及可操作用于响应于在读取所述第一数据之后写入所述第二数据而将标记与所述第三指令队列中的所述第二指令相关联;以及
响应于所述标记,排空所述第一队列和所述第二队列中的所述一个,并且从所述第一队列和所述第二队列中的另一个向所述第一队列和所述第二队列中的所述一个装载所述第二指令。
10.如权利要求1所述的指令流水线,还包括:
其中所述第一指令包括存储指令;
其中所述第二指令包括装载指令;
第三部分,包括:
重排序缓冲区和指令发布队列,可操作用于从所述第一部分接收所述存储指令和装载指令;以及
装载指令队列,可操作用于从所述第一部分接收所述装载指令;以及
其中所述第二部分包括:
数据访问级,可操作用于从所述指令发布队列接收所述存储指令和装载指令,在执行所述存储指令之前执行所述装载指令,以及响应于在执行所述装载指令之后执行所述存储指令而将标记与所述装载指令队列中的所述装载指令相关联;以及
指令提交级,可操作用于响应于所述标记而致使所述指令发布队列的排空、以及所述装载指令从所述重排序缓冲区向所述指令发布队列的重新装载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于世意法(北京)半导体研发有限责任公司,未经世意法(北京)半导体研发有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010624755.0/1.html,转载请声明来源钻瓜专利网。