指令流水是
计算机处理器中通过将单条指令分解为多个阶段并由专用电路分别执行的
并行处理技术,其核心目标在于提升指令执行效率。典型实现包括取指令、
译码、执行、访存和
写回五个阶段,通过重叠不同指令的执行步骤缩短整体处理时间。实际应用中需解决资源、数据和控制三类相关性冲突,常见方法包括设置独立指令/数据存储器、数据旁路和
分支预测等技术。
例如一条指令要执行要经过3个阶段:取指令、译码、执行;每个阶段都要花费一个时钟周期,如果没有采用流水线技术,那么这条指令执行需要3个时钟周期;如果采用了指令流水线技术,那么当这条指令完成“取指”后进入“译码”的同时,下一条指令就可以进行“取指”了,这样就提高的指令的执行
效率。
通常,大多数机器都是将指令和数据保存在同一存储器中,且只有一个访问口,如果在某个时钟周期内,流水线既要完成某条指令对操作数的存储器访问操作,又要完成另一条指令的取指操作,这就会发生访存冲突。这就是结构相关。