[发明专利]多执行线程的分区流水线执行的方法和设备有效
申请号: | 200710127963.8 | 申请日: | 2007-06-29 |
公开(公告)号: | CN101118486A | 公开(公告)日: | 2008-02-06 |
发明(设计)人: | S·茹尔当;R·欣顿 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 曾祥夌;王忠忠 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 执行 线程 分区 流水线 方法 设备 | ||
技术领域
本公开一般涉及微处理器领域。具体地说,本公开涉及将微处理器流水线分区以便支持多执行线程的流水线作业。
背景技术
计算系统和微处理器往往支持多道处理,例如以下形式的多道处理:多个处理器,或处理器内的多个核,或运行在处理器核上的多个软件处理或线程(历史上涉及协同例程),或上述各项的不同组合。
在现代微处理器中,许多技术用来提高性能。流水线作业是利用具有类似执行阶段的不同指令之间的并行操作的技术。例如,这些阶段一般被认为是取指令、译码、操作数读、执行、回写等。通过对指令序列并行地进行关于多个流水线阶段的工作,可以减少有效机器周期时间并且可以利用所述序列中各指令阶段之间的并行性。在某些现代微处理器中,还可以把这些阶段分为越来越小的时间片,以便进一步减小有效机器周期时间。
分支预测是用来提高性能的另一种技术。当在指令系列中出现分支指令时,可能不知道分支决策的结果,直到在随后的流水线阶段之一中执行所述分支指令为止。因而,可以将气泡(bubble)引入流水线中,直到确定需要提取哪些分支目标指令为止。在知道分支决策的结果之前,不是等待,而可以预测采取或不采取的分支,并且可以从存储器提取预测目标的指令,因而减少流水线中的气泡。
在微处理器上执行多个软件过程或线程的技术还可以用来减少气泡在流水线中的出现。例如,当对于一个特定的执行线程发生指令高速缓存未命中时,可以从另一个执行线程提取指令以便填充流水线气泡,否则,要等待从外部存储器检索未命中的高速缓存行来得到所述流水线气泡。
另一方面,诸如一些特定类型的内部微处理器资源的耗尽的状态可能使一个或多个流水线阶段停止。在流水线中一个执行线程停止的时候,该流水线中其它线程的进展也可能被阻塞,因而,降低了在流水线微处理器上执行多个线程的有效性。
发明内容
根据第一实施例,一种由计算机实现的用于多线程的流水线分支预测的方法包括:
在第一流水线阶段,从多个执行线程中选择第一执行线程;
在第二流水线阶段,在分支预测输出队列中预分配存储,所述存储对应于所述第一执行线程的一部分;
在第三流水线阶段,产生对应于所述第一执行线程的所述部分的分支预测;和
把所述分支预测存储在所述分支预测输出队列中的所述预分配存储上。
根据第二实施例,一种流水线分支预测设备,包括:
在第一流水线阶段,从多个执行线程中选择第一执行线程的部件;
在第二流水线阶段,在分支预测输出队列中预分配存储的部件,所述存储对应于所述第一执行线程的一部分;
在第三流水线阶段,产生对应于所述第一执行线程的所述部分的分支预测的部件;和
把所述分支预测存储在所述分支预测输出队列中的所述预分配存储上的部件。
根据第三实施例,一种带有多线程分支预测设备的多线程处理器,包括:
用于从多个执行线程中选择第一执行线程的装置;
用于在分支预测输出队列中预分配对应于所述第一执行线程的一部分的存储的装置;
用于对把所述第一执行线程的指令数据存入指令提取输出队列作出响应而释放所述分支预测输出队列中的存储的装置;
用于停止所述第一执行线程的装置,除非所述分支预测输出队列中的存储的释放和/或存储的预分配成功。
根据第四实施例,一种流水线分支预测设备,包括:
用于在线程选择流水线阶段中从多个执行线程中选择第一执行线程的部件;
在第一预测流水线阶段中,用于在分支预测输出队列中预分配与所述第一执行线程的第一部分对应的存储的部件,以及用于对把所述第一执行线程的所述第一部分对应的指令数据存入指令提取输出队列作出响应而释放所述分支预测输出队列中的存储的部件;
用于在第二预测流水线阶段中产生与所述第一执行线程的所述第一部分对应的分支预测的部件;和
所述分支预测输出队列用以在第三预测流水线阶段中接收所述分支预测并将所述分支预测存储在所述预分配的存储处;以及还包括
流水线指令提取部件,用以访问与所述第一执行线程的所述第一部分对应的、由所述可寻址存储器存储的指令数据并且用以把所述指令数据存入所述指令提取输出队列中。
根据第五实施例,一种用于多执行线程的流水线分支预测和指令提取的设备,所述设备包括:
在线程选择流水线阶段中从多个执行线程中选择第一执行线程的装置;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710127963.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:水下等离子数控切割装置
- 下一篇:天线连接件