计算机体系结构中流水线的结构是什么?
流水线定义了处理的时序重叠。在计算中,流水线比装配线更为空闲,可用于指令处理或更一般的方法,用于执行任何复杂操作。它仅能有效地用于相同任务的序列,这与装配线非常相似。
一个流水线包括几个阶段,每个阶段对应一个子任务,如图所示。这些阶段通过称为锁存器的寄存器彼此解耦。在每个时钟周期结束时,锁存器将其输入门控并将其转发到关联的阶段,在那里将执行所需的运算。
每个阶段由几个不同的执行单元 (EU) 实现,这些单元协同执行所需的操作,如图所示。锁存器扩展了多路复用器,这些多路复用器选择并将数据从前面执行单元的输出传输到后面执行单元的输入。
IBM Power1 (RS/6000) (Grohoski,1990) 的 FX 单元的结构和流水线操作。此单元执行 FX 和逻辑指令,通常在四个周期内执行。在取指令周期,指令通过指令总线从片上指令缓存获取到指令缓冲区。
解码周期解码获取的指令并访问引用的寄存器值。然后,在下一个周期(执行周期)中执行指定的数据操作。此阶段提供三个执行单元来执行所需的数据操作:一个加法器、一个逻辑单元和一个乘/除单元。
前两个单元只需要一个周期即可完成结果。乘/除单元不以流水线模式运行,需要相当多的周期才能完成乘法或除法。随后,结果在随后的写回周期内通过 T 锁存器写回寄存器文件。
值得注意的是,为了缩短或消除定义-使用延迟,执行阶段的结果可以直接返回(旁路)到执行阶段的输入(A-、B- 和 S 锁存器)通过结果总线。
FX 单元提供了一个额外的阶段来处理加载和存储指令,该阶段在缓存访问周期中运行。在此周期中,数据可以写入或读取缓存。
广告