[发明专利]用于可乱序执行指令的处理器的流水线排空有效
申请号: | 201010624755.0 | 申请日: | 2010-12-30 |
公开(公告)号: | CN102541511A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 孙红霞;吴永强;王凯峰;朱鹏飞 | 申请(专利权)人: | 世意法(北京)半导体研发有限责任公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华 |
地址: | 100080 北京市海淀区北四环西路9号*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 可乱序 执行 指令 处理器 流水线 排空 | ||
技术领域
本发明的实施方式总体上涉及计算机技术,并且更具体地,涉及用于可乱序执行指令的处理器的流水线排空(flush)的方法和系统。
发明内容
提供“发明内容”是为了以简化形式介绍下文将在“具体实施方式”中详述的概念选择。本“发明内容”并非意在标识要求保护主题的关键特征或者必要特征,也非意在限制要求保护主题的范围。
指令流水线的一个实施方式包括第一部分和第二部分。第一部分可操作用于提供有序的第一指令和第二指令;并且第二部分可操作用于响应于第二指令而从数据存储位置读取第一数据,可操作用于响应于第一指令而在读取第一数据之后向该数据存储位置写入第二数据,以及可操作用于响应于在读取第一数据之后写入第二数据而致使流水线的某些但非全部的排空。
在一个实施方式中,这种指令流水线可以通过仅排空部分流水线而非排空整个流水线来降低由流水线排空引起的处理时间损失和消耗的能量。例如, 超标量处理器可以响应于错误推测(mis-speculative)装载指令而执行这种部分流水线排空,其中错误推测装载指令是在相对于某存储器位置的存储指令的执行之前相对于同一存储器位置而执行的装载指令,其中在指令顺序中,存储指令在装载指令之前到来。处理器可以这样来执行这种部分流水线排空:从重排序缓冲区重新装载指令发布队列,使得流水线的取指-译码部分无需刷新并因此不进行刷新。
附图说明
图1是具有指令流水线的超标量处理器的实施方式的框图。
图2是图1的指令流水线的一个实施方式的框图,其中详细示出了存储-装载流水线分支的一个实施方式。
图3是相对于同一存储器位置的存储和装载指令的按序执行的流程图。
图4是相对于同一存储器位置的存储和装载指令的乱序执行的流程图。
图5是在其间或之前执行相对于存储器位置的装载指令的操作状态期间的、图2的指令流水线的实施方式的框图。
图6是图5的操作状态之后的、在其间发布相对于同一存储器位置的存储指令的操作状态期间的、图2的指令流水线的实施方式的框图。
图7是图6的操作状态之后的、在其间由于错误推测而标记先前执行的装载指令的操作状态期间的、图2的指令流水线的实施方式的框图。
图8是图7的操作状态之后的、在其间排空流水线的部分而非全部的操作状态期间的、图2的指令流水线的实施方式的框图。
图9是图8的操作状态之后的、在其间利用重排序缓冲区中存储的指令重新填入指令发布队列的操作状态期间的、图2的指令流水线的实施方式的框图。
图10是图9的操作状态之后的、在其间指令流水线的操作返回正常的操作状态期间的、图2的指令流水线的实施方式的框图。
图11是包括具有图2的指令流水线的实施方式的超标量处理器的实施方式的计算机系统的实施方式的框图。
具体实施方式
超标量处理器可以包括指令流水线,其可操作用于同时乱序执行多个(例如,4个)程序指令,其中“乱序”是指按照不同于指令在程序中所排次序的顺序。通过同时乱序执行多个指令,超标量处理器能够比只能按序执行指令或者每次只能执行一条指令的处理器更快地执行软件或固件程序。
图1是具有指令流水线10的超标量处理器8的实施方式的框图。如下文所述,与传统指令流水线相比,通过响应于引致排空的事件而仅仅排空流水线的部分,指令流水线10可以降低流水线排空延迟和能耗。
指令流水线10包括取指-译码部分12、指令队列部分14、指令发布部分16以及指令执行部分18。
取指-译码部分12包括指令取回(IF)级20、指令译码(ID)级22以及寄存器映射(RM)级24。
IF级20按照程序顺序从程序存储器(图1中未示出)取回程序指令,其中程序顺序可以是指令存储在存储器中的顺序(在执行分支指令时会出现例外),并且IF级20按照取回指令的顺序将这些指令提供给ID级22。例如,程序计数器(图1中未示出)存储程序存储器的地址,并且在每个时钟周期期间递增(或者递减)该地址,使得IF级20从顺序的地址取回程序指令。被执行的分支可能导致以非顺序地址装载程序计数器;但是一旦重新装载,程序计数器再次在每个时钟周期期间递增(或者递减)地址,使得IF级20再次从顺序地址(即,按照程序顺序)取回指令,直到下一被执行的分支。
ID级22按照接收自IF级20的顺序来译码取回的指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于世意法(北京)半导体研发有限责任公司,未经世意法(北京)半导体研发有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010624755.0/2.html,转载请声明来源钻瓜专利网。