这里主要的限制流水线的因素就是 标记为"3"的这个 mul,
标记为 1 的这个add 只需要等待 load 指令读取走数据,就可以执行下一个 add,
标记为 2 的指令读取到数据以后,直接进行 mul 然后就卡在了 标记为"3"的这个 mul,
所以这里主要卡住的只有这个标记为 "3" 的mul.
因为 标记为 1 的 add 只需要 Load 指令取走数据,就可以执行下一个,所以这里并不会因为 标记为 3 的指令没有执行完成,而无法执行下去。
而是会直接执行下一个 add。
这里主要的限制流水线的因素就是 标记为"3"的这个 mul,
标记为 1 的这个add 只需要等待 load 指令读取走数据,就可以执行下一个 add,
标记为 2 的指令读取到数据以后,直接进行 mul 然后就卡在了 标记为"3"的这个 mul,
所以这里主要卡住的只有这个标记为 "3" 的mul.
因为 标记为 1 的 add 只需要 Load 指令取走数据,就可以执行下一个,所以这里并不会因为 标记为 3 的指令没有执行完成,而无法执行下去。
而是会直接执行下一个 add。
来源:https://www.cnblogs.com/java9494/p/11601793.html