【技术实现步骤摘要】
多执行线程的分区流水线执行的方法和设备
本公开一般涉及微处理器领域。具体地说,本公开涉及将微处理 器流水线分区以便支持多执行线程的流水线作业。技术背景计算系统和微处理器往往支持多道处理,例如以下形式的多道处 理多个处理器,或处理器内的多个核,或运行在处理器核上的多 个软件处理或线程(历史上涉及协同例程),或上述各项的不同组合。在现代微处理器中,许多技术用来提高性能。流水线作业是利用 具有类似执行阶段的不同指令之间的并行操作的技术。例如,这些 阶段一般被认为是取指令、译码、操作数读、执行、回写等。通过 对指令序列并行地进行关于多个流水线阶段的工作,可以减少有效 机器周期时间并且可以利用所述序列中各指令阶段之间的并行性。 在某些现代微处理器中,还可以把这些阶段分为越来越小的时间片, 以便进 一 步减小有效机器周期时间。分支预测是用来提高性能的另 一种技术。当在指令系列中出现分 支指令时,可能不知道分支决策的结果,直到在随后的流水线阶段 之一中执行所述分支指令为止。因而,可以将气泡(bubble)引入流 水线中,直到确定需要提取哪些分支目标指令为止。在知道分支决 ...
【技术保护点】
一种由计算机实现的用于多线程的流水线分支预测的方法,所述方法包括:在第一流水线阶段,从多个执行线程中选择第一执行线程;在第二流水线阶段,在分支预测输出队列中预分配存储,所述存储对应于所述第一执行线程的一部分;在第三流水线阶段,产生对应于所述第一执行线程的所述部分的分支预测;和把所述分支预测存储在所述分支预测输出队列中的所述预分配存储上。
【技术特征摘要】
US 2006-6-29 11/4792451.一种由计算机实现的用于多线程的流水线分支预测的方法,所述方法包括在第一流水线阶段,从多个执行线程中选择第一执行线程;在第二流水线阶段,在分支预测输出队列中预分配存储,所述存储对应于所述第一执行线程的一部分;在第三流水线阶段,产生对应于所述第一执行线程的所述部分的分支预测;和把所述分支预测存储在所述分支预测输出队列中的所述预分配存储上。2. 如权利要求1所述的方法,还包括在所述第二流水线阶段,释^:所述分支预测输出队列中的存储。3. 如权利要求2所述的方法,还包括15 防止所述第一执行线程向所述第三流水线阶段的进展,除非在所述第二流水线阶段,所述分支预测输出队列中的存储的释放和/或存 储的预分配成功。4. 如权利要求3所述的方法,还包括对与所述第 一执行线程的一部分对应的存储的释放和/或存储的 20预分配的失败作出响应,在所述第二流水线阶段,对所述分支预测 输出队列中的存储进行预分配,所述存储对应于第二执行线程的一 部分。5. —种制品包括机器可存取介质,所述机器可存取介质包括当被机器访问时使所 25 述机器执行如权利要求4所述的方法的数据。6. —种制品包括机器可存取介质,所述机器可存取介质包括当净皮机器访问时使所 述机器执行如权利要求3所述的方法的数据。7. —种流水线分支预测设备,包括第一流水线阶段,用以从多个执行线程中选择第一执行线程; 第二流水线阶段,用以在分支预测输出队列中预分配存储,所述存储对应于所述第 一执行线程的 一部分; 5 第三流水线阶段,用以产生与所述第一执行线程的所述部分对应的分支预测;和第四流水线阶段,用以把所述分支预测存储在所述分支预测输出 队列中所述预分配的存储上。8. 如权利要求7所述的设备,其中,所述第二流水线阶段还将 io 对把与所述第一执行线程的一部分对应的指令数据存储在指令提取输出队列中作出响应而释;^丈所述分支预测输出队列中的存储。9. 如权利要求8所述的设备,其中,防止所述第一执行线程向 所述第三流水线阶段的进展,除非在所述第二流水线阶段,所述分 支预测输出队列中的存储的释^:和/或存储的预分配成功。10.如权利要求9所述的设备,其中,对与所述第一执行线程的一部分对应的存储的释放和/或存储的预分配的失败作出响应,所述 第二流水线阶段将与第二执行线程的 一部分对应的所述分支预测输 出队列中的存储进行预分配。11. 如权利要求7所述的设备,其中,对与所述第一执行线程的 20 —部分对应的存储的释放和/或存储的预分配的失败作出响应,所述第 一流水线阶段将从所述多个执行线程中选择第二执行线程。12. —种带有多线程分支预测逻辑的多线程处理器,包括 用于从多个执行线程中选择笫 一执行线程的装置;用于在分支预测输出队列中预分配对应于所述第一执行线程的一 25 部分的存储的装置;用于对把所述第一执行线程的指令数据存入指令提取输出队列作 出响应而释^C所述分支预测输出队列中的存储的装置;用于停止所述第 一执行线程的装置,除非所述分支预测输出队列 中的存储的释放和/或存储的预分配成功。13. 如权利要求12所述的多线程处理器,所述多线程分支预测 逻辑还包括用于产生对应于所述第一执行线程的所述部分的分支预测并且把 的装置。14. 如权利要求12所述的多线程处理器,所述多线程分支预测 逻辑还包括用于对所述第一执行线程的一部分对应的存储的释放和/或存储 的预分配的失败作出响应而从所述多个执行线程中选择第二执行线 程的装置;和用于在所述分支预测输出队列中预分配与所述第二执行线程的一 部分对应的存储的装置。15. —种多线程计算系统包括 用于存储数据的可寻址存储器;包括流水线分支预测逻辑的处理器,所述流水...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。