5.3时序控制方式与时序系统.ppt

* * 1 if Zero=1 第三阶段:执行 —— 分支指令 if (A == B) PC = ALUOut; 0 X X 0 0 X 0 1 1 011 0 * 第三阶段:执行 —— 跳转指令 PC = {PC[21-28],(IR[25-0] 2)}; 0 X X X 0 1 X 0 X 2 XXX 0 * 第四阶段:访存 —— lw指令 MDR = Memory[ALUOut]; 0 X X X 1 0 1 0 X X XXX 0 * 第四阶段:访存 —— sw指令 Memory[ALUOut] = B; 0 X X X 0 0 1 1 X X XXX 0 * 1 0 0 X 0 X 0 XXX X X 0 1 5 5 RD1 RD2 RN1 RN2 WN WD RegWrite Registers Operation ALU 3 E X T N D 16 32 Zero RD WD MemRead Memory ADDR MemWrite 5 Instruction I 32 ALUSrcB 2 PC 4 RegDst 5 I R M D R M U X 0 1 2 3 M U X 1 0 M U X 0 1 A B ALU OUT 0 1 2 M U X 2 CONCAT 28 32 M U X 0 1 ALUSrcA jmpaddr I[25:0] rd MUX 0 1 rt rs immediate PCSource MemtoReg IorD PCWr* IRWrite 第四阶段:访存 —— R型指令完成 Reg[IR[15:11]] = ALUOut; (Reg[Rd] = ALUOut) * 第五阶段:写回 —— lw指令完成 Reg[IR[20-16]] = MDR; 1 1 0 X 0 0 X 0 X X XXX 0 5 5 RD1 RD2 RN1 RN2 WN WD RegWrite Registers Operation ALU 3 E X T N D 16 32 Zero RD WD MemRead Memory ADDR MemWrite 5 Instruction I 32 ALUSrcB 2 PC 4 RegDst 5 I R M D R M U X 0 1 2 3 M U X 1 0 M U X 0 1 A B ALU OUT 0 1 2 M U X 2 CONCAT 28 32 M U X 0 1 ALUSrcA jmpaddr I[25:0] rd MUX 0 1 rt rs immediate PCSource MemtoReg IorD PCWr* IRWrite * 4.5 多周期实现机制 6. 控制实现 不同控制信号值的产生依赖于: 被执行的指令类型 指令执行到了哪个阶段 ALU相关操作占用一个时钟周期,因此ALU控制单元和单周期实现中一样,无需修改。 如何设计主控制单元? 两种实现方法: 有限状态机——组合逻辑控制器 微程序编程——微程序控制器 (1) 有限状态机(FSM)状态图 MemRead ALUSrcA=0 IorD=0 IRWrite ALUSrcB=01 ALUOp=00 PCWrite PCSource=00 取指 ALUSrcA=0 ALUSrcB=11 ALUOp=00 译码/读寄存器 0 1 ALUSrcA=1 ALUSrcB=10 ALUOp=00 地址计算 2 ALUSrcA=1 ALUSrcB=00 ALUOp=10 执行 6 ALUSrcA=1 ALUSrcB=00 ALUOp=01 PCWriteCond PCSource=01 分支完成 8 PCWrite PCSource=10 跳转完成 9 MemRead IorD=1 访存 3 MemWrite IorD=1 访存 5 RegDst=1 RegWrite MemtoReg=0 R-指令完成 7 RegDst=0 RegWrite MemtoReg=1 LW完成 4 (Op=‘LW’)or (Op=‘SW’) (Op=R-type) (Op=‘beq’) (Op=‘j’) (Op=‘LW’) (Op=‘SW’) Start FSM放大图-1 MemRead ALUSrcA=0 IorD=0 IRWrite ALUSrcB=01 ALUOp=00 PCWrite PCSource=00 取指 A

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档