计算机组成原理 第二十一、二十三讲 流水线处理机 2021年2月21日 计算机组成原理
计算机组成原理 1 计 算 机 组 成 原 理 第二十一、二十三讲 2021年2月21日 流水线处理机
本饼安排 1、流水线处理机的基本概念 2、流水线处理机的数据路径 流水线级,流水线各级的操作 3、流水线处理机的控制 运算指令,访存指令,转移控制指令,流水线各级信号的产 生,时序图,时空图 4、流水线处理机的相关 结构相关,数据相关,转移相关 计算机组成原理
计算机组成原理 2 1、流水线处理机的基本概念 2、流水线处理机的数据路径 流水线级,流水线各级的操作 3、流水线处理机的控制 运算指令,访存指令,转移控制指令,流水线各级信号的产 生,时序图,时空图 4、流水线处理机的相关 结构相关,数据相关,转移相关 本讲安排
本讲将解决的主要问题 掌握流水线处理机的数据路径 建立指令流水线中指令如何重叠执行和流动 了解流水线工作原理以及相关问题 计算机组成原理
计算机组成原理 3 本讲将解决的主要问题 掌握流水线处理机的数据路径 建立指令流水线中指令如何重叠执行和流动 了解流水线工作原理以及相关问题
单周期处理机 Selbra d 偏移量符 拍 Writeze 号扩展 存器 0 指令 Al r 存储器 AD CS WE Add Selload Dat A2 ALU Add 0 B DI 数据 WritePC Selst 存储器 imme|立即数符 DI AluOP 号扩展 Sellmme 控制部件 AluOP Selst writePC WriteReg WriteMem WriteZero Sellmme Selload SelBranch 计算机组成原理
计算机组成原理 4 ALU PC 寄存器堆 rs2 rd WritePC SelSt AluOP WriteMem SelLoad disp WriteReg rs1 SelBranch WriteZero +1 Zero Zero imme SelImme opcode AluOP WritePC SelSt WriteReg WriteMem SelImme WriteZero SelBranch SelLoad 控制部件 A1 Q1 Q2 DI AD A2 偏移量符 号扩展 立即数符 号扩展 指令 存储器 Add Data 数据 存储器 Add DO DI CS WE A B 1 0 1 0 1 0 0 1 单周期处理机
该单周期处理器的缺陷 时钟周期时间长: 对于装入指令,周期时间必须足够长: 指令存储器访问时间+ 寄存器堆访问时间+ ALU计算地址+ 数据存储器访问时间+ 寄存器建立时间+ 对于所有其他指令,周期时间都比所需的要长很多! 计算机组成原理
计算机组成原理 5 该单周期处理器的缺陷 时钟周期时间长: • 对于装入指令,周期时间必须足够长: 指令存储器访问时间+ 寄存器堆访问时间+ ALU计算地址+ 数据存储器访问时间+ 寄存器建立时间+ 对于所有其他指令,周期时间都比所需的要长很多!
多周期处理机 Selload SeIalua 存储器 寄存器堆 Add DI A O1 C DO d Alu Sellldst IR CAD Z B Zerol A2 WriteR Writezero Writer"Selst Writereg AluoP WriteMem Imme 立即数符号扩展 Sealab disp 偏移量符号扩展 opcode WritePc 控制部件 Zero Writezero 计算机组成原理
计算机组成原理 6 多周期处理机 ALU 立即数符号扩展 P C 存储器 寄存器堆 rs2 A rd WritePC SelSt AluOP IR SelLoad disp WriteReg rs1 B WriteZero 1 imme 偏移量符号扩展 Zero SelAluB SelAluA WriteIR SelLdst Z WriteMem ... WritePC WriteZero Zero opcode ... 控制部件 Q1 A1 Q2 DI AD A2 DO DI WE CS Add 1 0 3 1 0 0 1 0 1 0
多周期实现概述 单周期处理器的问题根源: 对于最慢的指令,周期时间必须足够长 解决方案 将指令处理分为更小的步骤,每个周期执行一步(而不是整 个指令) 周期时间:执行最长步所需的时间 使所有的步骤尽量具有相同的长度 这是多周期处理器的本质所在 多周期处理器的优点 周期时间非常短 ·不同的指令需要不同的周期数来完成 装入指令需要5个周期,一跳转仅仅需要3个周期 允许每条指令多次使用同一个功能部件 计算机组成原理
计算机组成原理 7 单周期处理器的问题根源: 对于最慢的指令,周期时间必须足够长 解决方案: • 将指令处理分为更小的步骤,每个周期执行一步(而不是整 个指令) - 周期时间: 执行最长步所需的时间 - 使所有的步骤尽量具有相同的长度 • 这是多周期处理器的本质所在 多周期处理器的优点: • 周期时间非常短 • 不同的指令需要不同的周期数来完成 - 装入指令需要5个周期,- 跳转仅仅需要3个周期 • 允许每条指令多次使用同一个功能部件 多周期实现概述
流水线的基本概念 什么是流水线 计算机中的流水线是把一个重复的过程分解为若干个子过 程,每个子过程与其他子过程并行进行。由于这种工作方式与 工厂中的生产流水线十分相似,因此称为流水线技术。 从本质上讲,流水线技术是一种时间并行技术。 计算机组成原理
计算机组成原理 8 流水线的基本概念 什么是流水线 计算机中的流水线是把一个重复的过程分解为若干个子过 程,每个子过程与其他子过程并行进行。由于这种工作方式与 工厂中的生产流水线十分相似,因此称为流水线技术。 从本质上讲,流水线技术是一种时间并行技术
计算机的各个部分几乎都可以采用流水线技术 (1)指令的执行过程可以采用流水线,称为指令流水线。 (2)运算器中的操作部件,如浮点加法器、浮点乘法器等可 以采用流水线,称为操作部件流水线。 (3)访问主存的部件可以采用访存部件流水线。多个计算机 之间,通过存储器连接,也可以采用流水线,称为宏流水线。 计算机组成原理
计算机组成原理 9 计算机的各个部分几乎都可以采用流水线技术: (1)指令的执行过程可以采用流水线,称为指令流水线。 (2)运算器中的操作部件,如浮点加法器、浮点乘法器等可 以采用流水线,称为操作部件流水线。 (3)访问主存的部件可以采用访存部件流水线。多个计算机 之间,通过存储器连接,也可以采用流水线,称为宏流水线
指令的重叠执行 (1)顺序执行方式 (2)一次重叠执行方式 (3)二次重叠执行方式 取指k分析k 执行k取指k+1分析k+1执行k+1 T=3nt (1)顺序解释执行 取指k分析k执行k T=(2n+1)t 取指k+1分析k+1执行k+1 (2)重叠解释执行 取指k分析k执行k T=3t+(n-1)t=(n+2)t 取指k+1分析k+1执行k+1 (3)更高重叠程度的解释执行 计算机组成原理
计算机组成原理 10 指令的重叠执行 (1)顺序执行方式 (2)一次重叠执行方式 (3)二次重叠执行方式 (2) 重叠解释执行 取指k 分析k 执行k 取指k+1 分析k+1 执行k+1 T=(2n+1)t 取指k 分析k 执行k 取指k+1 分析k+1 执行k+1 (3) 更高重叠程度的解释执行 T=3t+(n-1)t=(n+2)t 取指k 分析k 执行k 取指k+1 分析k+1 执行k+1 (1) 顺序解释执行 T=3nt