流水线的通用原理
在流水线化的系统中,待执行的任务被划分成了若干个独立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上升之前,这些指令的结果就会传到流水线寄存器的输入。 总结 :由此可以看出时钟对于计算机系统的重要性,指令流随着之中周而复始的上升和下降,不同的指令就会通过流水线的各个阶段,不会相互干扰。 转载请标明出处: 流水线的通用原理 文章来源: 流水线的通用原理