首页 > 编程知识 正文

五段式指令流水线,指令流水线的每一级

时间:2023-05-04 03:52:49 阅读:109481 作者:1199

为什么要引入指令流水线的概念

一条指令的执行需要多个时钟周期。 CPU采用串行执行指令方式,即执行一条指令的各项微操作后,取出下一条指令执行,执行部件的并行性得不到充分利用,指令执行效率低下。 像现实中的许多情况一样,指令的执行也可以采取流水线形式,即叠加多个指令的执行,以提高CPU执行指令的效率。

命令流水线的设计思想是什么?

指令流水线设计的基本思想是将每个指令的执行有序化为几个相同的流水段,每个流水段的执行时间相同,都等于一个时钟周期。 以流水线方式执行指令时,吞吐量比非流水线方式提高数倍,但每次指令的执行时间反而比非流水线方式长。

指令流水线的实现

各流水线级的部件是组合逻辑和寄存器的集合,组合逻辑所生成的结果,在时钟到来时在寄存器(例如,程序计数器、条件代码分动器、流水线级寄存器)中生成位于两个相邻流水段之间的流水段寄存器。 记录指令代码、参加运算的操作数、指令运算结果、指令异常信息、寄存器的读取端口地址、存储单元的地址、新的PC值等所有后续阶段使用的各种信息。 指令译码得到的控制信号也通过流水段寄存器传送到后续各流水段。

指令流水线的极限

理想情况下,每个时钟都会到来,命令执行后结束。 然而,由于诸多因素,指令流水线的情况并不那么理想。

首先,由于并不是每个指令都有相同的多个管线段,而且各管线段的执行也并不是花费相同的时间,所以为了容易地控制指令管线的执行,通常为了使指令管线的执行变得容易, 随着以最复杂阶段所需时间为基准的流水线深度的增加,流水线寄存器的读写带来的额外开销的比例增大,在执行命令时会发生资源的冲突和数据关联

先进的流水线实现技术

超流水线技术

多喷丸流水线技术

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。