目录
1. 机器周期的设置
对于这些硬件,取指阶段和访存阶段能够拆分为两段原因在于将指令和数据分开存储,否则取指的时候和存回数据的时候访问的都是存储器,就有可能产生硬件资源的冲突。
锁存器出现的原因在于机器周期取的是最长耗时,当某阶段不需要这么久,那么当这阶段完成产生的数据要提供给下一阶段时,如果直接流向下一阶段,那么可能破坏下一阶段的数据,因此需要先存储在锁存器中。
2. 影响流水线的因素
[1/3]资源冲突:
这里 Mem 冲突是因为 上面是存运算结果到存储器,而下面是刚进入取指周期进入存储器取指令。故有第二种解决方案。
[2/3]数据冲突:
硬件阻塞效果图: 软件插入 nop 效果图: