流水线的通用原理

匿名 (未验证) 提交于 2019-12-02 23:03:14

在流水线化的系统中,待执行的任务被划分成了若干个独立de 阶段

以《深入理解计算机系统》一书上的图做说明,而不是我们常见的五段流水线,我想能更好的说明一些问题。

首先:将系统执行的计算分成三个部分A B C,每个阶段需要100ms然后在各个阶段之间放上流水线寄存器,这样每条指令都会按照三步经过这个系统,从头到尾需要三个完整的时间周期。在稳定状态下,三个阶段都应该是活动的,每个时钟周期,一条指令离开系统,一条新的进入,从时刻240~360可以看出这一点,此时,I1在C阶段,I2在B阶段,I3在A阶段。

重要观点:每一步都有流水线寄存器,故流水线机制需要增加硬件

观察流水线上的时钟信号,流水线阶段之间的指令转移是由时钟信号来控制的,每隔120ms,信号从0上升至1,开始下一组流水线阶段的计算。

在时刻240时钟上升之前,指令I1和指令I2已经完成了B,A,在时钟上升后,这些指令开始传送到阶段C和B,而指令I3开始经过阶段A,就在时钟再次在360上升之前,这些指令的结果就会传到流水线寄存器的输入。

总结:由此可以看出时钟对于计算机系统的重要性,指令流随着之中周而复始的上升和下降,不同的指令就会通过流水线的各个阶段,不会相互干扰。

 

转载请标明出处:流水线的通用原理
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!