SW 指令的微状态、数据通路活动与控制信号详解
SW 指令的微状态、数据通路活动与控制信号如下:
1. 取指周期:
(1) MAR ← PC (2) PC ← PC + 1 (3) MDR ← M[MAR] (4) IR ← MDR
数据通路活动:
PC → ALU → MAR PC + 1 → ALU → PC MAR → Memory → MDR MDR → IR
控制信号:
PCsrc = 0 ALUsrcA = 0 ALUsrcB = '01' ALUop = add MemRead = 1 MemtoReg = 1 RegWrite = 1 IRWrite = 1
2. 执行周期:
(1) 根据 IR 中的操作码,确定指令类型 (2) 根据指令类型,从 IR 中取出操作数 (3) 执行指令
数据通路活动:
IR[15:12] → Control → ALUop IR[5:4] → Control → ALUsrcB IR[3:3] → Control → MemWrite IR[3:3] → Control → RegWrite IR[2:0] → Control → ALUsrcA IR[11:9] → Control → RegDst IR[8:6] → Control → ALUSrcB IR[8:6] → Control → MemtoReg IR[5:0] → Sign Extend → ALU
控制信号:
ALUsrcA = 0 ALUsrcB = 1x ALUop = 根据 IR 中的操作码确定 MemWrite = 根据 IR 中的操作码确定 RegWrite = 根据 IR 中的操作码确定 RegDst = 根据 IR 中的操作码确定 ALUSrcB = 根据 IR 中的操作码确定 MemtoReg = 根据 IR 中的操作码确定 PCsrc = 0
3. 存储周期:
(1) 根据指令类型,将执行结果存储到内存或者寄存器中
数据通路活动:
ALU → Memory/Registers Registers/Memory → MDR
控制信号:
MemWrite = 根据 IR 中的操作码确定 MemRead = 根据 IR 中的操作码确定 MemtoReg = 根据 IR 中的操作码确定 RegWrite = 根据 IR 中的操作码确定
4. 下一个周期:
(1) 重复取指周期,执行周期和存储周期,直到程序执行结束
原文地址: https://www.cveoy.top/t/topic/oirA 著作权归作者所有。请勿转载和采集!