流水线各级的操作一F级1、取指令 2、计算下一条指令地址 disp 寄存器堆 指令 →AD 数据 存储器 Q1 A 存储器 D DOHD Datar∏rsl Al ALU RHAdd A Q2FB Imme ISE C opcode 控制器 IF EXE MEM WB 计算机组成原理
计算机组成原理 16 流水线各级的操作—IF级 1、取指令 2、计算下一条指令地址 ALU P C 寄存器堆 rs2 disp rs1 控制器 + 1 imme opcode A1 Q1 Q2 DI AD A2 ISE 数据 存储器 Add DO DI A B 指令 存储器 Add Data I R D S E rd d A B I d d Z R S C D rd ID EXE MEM WB IF
流水线各级的操作一ID级1、读寄存器堆中的操作数 2、符号扩展 disp 寄存器堆 指令 LAD 数据 存储器 OI 存储器 Z DOHD C Datah r∏rsl Al SALU R Add A2 Q2HB B imme ISE C opcode 控制器 IF EXE MEM WB 3、控制器根据0PD产生控制信号4、转移指令在ID级结束 计算机组成原理
计算机组成原理 17 流水线各级的操作—ID级 1、读寄存器堆中的操作数 2、符号扩展 3、控制器根据OPCODE产生控制信号 ALU P C 寄存器堆 rs2 disp rs1 控制器 +1 imme opcode A1 Q1 Q2 DI AD A2 ISE 数据 存储器 Add DO DI A B 指令 存储器 Add Data I R D S E rd d A B I d d Z R S C D rd IF ID EXE MEM WB 4、转移指令在ID级结束
流水线各级的操作EXE级 寄存器堆 指令 HAD 存储器 QI A 数据 存储器 Add DOHID Data risi Al SALU R|→Ad A2 Q2HB mme ISE opcode 控制器 IF EXE MEM WB 1、ALU指令完成计算结果2、L0AD/ STORE指令计算存储器地址 计算机组成原理
计算机组成原理 18 流水线各级的操作—EXE级 1、ALU指令完成计算结果 2、LOAD/STORE指令计算存储器地址 ALU P C 寄存器堆 rs2 disp rs1 控制器 +1 imme opcode A1 Q1 Q2 DI AD A2 ISE 数据 存储器 Add DO DI A B 指令 存储器 Add Data I R D S E rd d A B I d d Z R S C D rd IF ID EXE MEM WB
流水线各级的操作MEM级1、ALU指令在该级仅把R内容打入C 寄存器堆 指令 AD Q 数据 存储器 存储器 Add Z DO→D Datah ri rsl dR HAdd O2HB HA2 DI Imme ISE opcode 控制器 IF EXE MEM WB 2、LOAD/ STORE指令访问存储器,L0AD指令读操作, STORE 指令写操作, STORE指令结束。 计算机组成原理
计算机组成原理 19 流水线各级的操作—MEM级 2、LOAD/STORE指令访问存储器,LOAD指令读操作,STORE 指令写操作,STORE指令结束。 1、ALU指令在该级仅把R内容打入C ALU P C 寄存器堆 rs2 disp rs1 控制器 +1 imme opcode A1 Q1 Q2 DI AD A2 ISE 数据 存储器 Add DO DI A B 指令 存储器 Add Data I R D S E rd d A B I d d Z R S C D rd IF ID EXE MEM WB
流水线各级的操作一W级 dis E 寄存器堆 指令 D 数据 存储器 存储器 Add DOHD Datar∏rsl A Q2HB A2 B rs DI Imme ISE opcode 控制器 IF ID EXE MEM WB 结果写回到寄存器堆 计算机组成原理
计算机组成原理 20 流水线各级的操作—WB级 ALU P C 寄存器堆 rs2 disp rs1 控制器 +1 imme opcode A1 Q1 Q2 DI AD A2 ISE 数据 存储器 Add DO DI A B 指令 存储器 Add Data I R D S E rd d A B I d d Z R S C D rd IF ID EXE MEM WB 结果写回到寄存器堆