1.概念
1.1 时间上的并行技术/流水线技术
将一个任务划分为几个不同的阶段,每个阶段在不同部件上并行执行,这样就可以在同一时刻中执行多个任务。
1.2 空间上的并行技术
在同一个处理机内,设置多个执行相同任务的功能部件,并让这些部件并行执行。这样的处理机也叫超标量处理机。
1.3 指令流水线
这里将指令划分为了五个子阶段:
- 取指(IF):从IR/Cache中取出指令。
- 译码/读寄存器(ID):操作控制器对指令进行译码,同时从寄存器堆中取操作数。
- 执行/计算地址(EX):执行运算操作或计算地址。
- 访存(MEM):对存储器进行读写操作。
- 写回(WB):将指令结果写回寄存器堆。
1.3.1 设计原则
以最复杂指令的所用的功能段个数作为指令流水线段个数,以最复杂的操作所需的时间作为流水段长度。
1.3.2 特征
- 指令长度一致,有助于简化取指和译码操作。
- 指令格式规整,尽量保证源寄存器相同,便于在不取指的情况下便可取到操作数。
- 只采用Load/Store指令来访问存储器,可将访存操作单独抽离到一个周期中,有利于简化操作步骤。
- 数据和指令对齐存放,有助于减少访存次数。
注意,流水线技术并不能缩短单指令的执行时间,但对于整个程序来说,效率得到了大幅度的提升。