1 / 69

第五章 控制器

第五章 控制器. 第一节 基本概念 第二节 指令的执行过程 第三节 硬连线控制器 第四节 微程序控制器 第五节 阵列逻辑控制器. 第五节 阵列逻辑控制器. CPU 的基本构成: 控制器,运算器,寄存器( cache, 指令缓存) 寄存器的类型: 指令寄存器( IP) 程序计数器( PC) 数据寄存器( DR) 地址寄存器( AR) 状态寄存器( SR) 数据通路: 数据总线(单总线,双总线,多总线) 专用通路(如 MIPS). 数据总线结构. 控制信号: R1out:R1 的输出控制 R1in: R1 的输入控制 Yin: Y 的输入控制

Download Presentation

第五章 控制器

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第五章 控制器 第一节 基本概念 第二节 指令的执行过程 第三节 硬连线控制器 第四节 微程序控制器 第五节 阵列逻辑控制器

  2. 第五节 阵列逻辑控制器 • CPU的基本构成: • 控制器,运算器,寄存器(cache,指令缓存) • 寄存器的类型: • 指令寄存器(IP) • 程序计数器(PC) • 数据寄存器(DR) • 地址寄存器(AR) • 状态寄存器(SR) • 数据通路: • 数据总线(单总线,双总线,多总线) • 专用通路(如MIPS)

  3. 数据总线结构 控制信号: R1out:R1的输出控制 R1in: R1的输入控制 Yin: Y的输入控制 IRin: IR的输入控制 IRout: IR的输出控制 PCin: PC的输入控制 PCout: PC的输出控制 PC+1: PC计数更新控制 ADD: ALU加法操作控制

  4. 专用通路结构

  5. 专用通路结构 控制信号: MemRead 存储器读 MemWrite 存储器写 ALUOp 运算操作码 ALUSrc ALU数据选择 PCWrite PC写 PCSource PC输入选择 RegWrite 数据寄存器写 MemtoReg写数据选择 RegDst 写寄存器选择 Irwrite 指令寄存器 Jump 选择转移地址

  6. 一些基本概念 • 三种生成控制信号方式 • 硬连线 • 微程序 • 阵列逻辑 • 指令周期,机器周期与时钟周期

  7. 第二节 指令的执行过程一、运算指令的执行过程 • 专用通路结构:如add $1, $2, $3 • (1) 取指令。IR = Memory[PC] • PC = PC + 4

  8. 一、运算指令的执行过程 • 专用通路结构:如add $1, $2, $3 • (2) 指令译码及读取操作数。A = R[IR[25:21]] • B = R[IR[20:16]]

  9. 一、运算指令的执行过程 • 专用通路结构:如add $1, $2, $3 • (3) 执行。ALUoutput = A + B

  10. 一、运算指令的执行过程 • 专用通路结构:如add $1, $2, $3 • (4) 写回。R[IR[15:11]] = ALUoutput

  11. 一、运算指令的执行过程 单总线结构: • 如ADD R3, R1, R2 (1) PC→MAR (2) PC+1→PC

  12. 一、运算指令的执行过程 单总线结构: • 如ADD R3, R1, R2 (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR

  13. 一、运算指令的执行过程 单总线结构: • 如ADD R3, R1, R2 (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR (5) R1→Y

  14. 一、运算指令的执行过程 单总线结构: • 如ADD R3, R1, R2 (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR (5) R1→Y (6) R2 + Y→Z

  15. 一、运算指令的执行过程 单总线结构: • 如ADD R3, R1, R2 (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR (5) R1→Y (6) R2 + Y→Z (7) Z→R3

  16. 二、访存指令的执行过程 专用通路结构 读操作:如lw $1, off($2) (1) 取指令。IR = Memory[PC] PC = PC+4

  17. 二、访存指令的执行过程 专用通路结构 读操作:如lw $1, off($2) • (2) 指令译码。A = R[IR[25:21]]

  18. 二、访存指令的执行过程 专用通路结构 读操作:如lw $1, off($2) (3) 计算地址。ALUoutput = A + Sign-extend(IR[15:0])

  19. 二、访存指令的执行过程 专用通路结构 读操作:如lw $1, off($2) (4) 访存。Memory-data = Memory[ALUoutput]

  20. 二、访存指令的执行过程 专用通路结构 读操作:如lw $1, off($2) (5) 写回。R[IR[20:16]] = Memory-data

  21. 二、访存指令的执行过程 • 专用通路结构 写操作:如Store $1,offs($2) • (1) IR = Memory[PC] PC = PC + 4

  22. 二、访存指令的执行过程 • 专用通路结构 写操作:如Store $1,offs($2) • (2) A = R[IR[25:21]] • B = R[IR[20:16]]

  23. 二、访存指令的执行过程 • 专用通路结构 写操作:如Store $1,offs($2) • (3) ALUoutput = A + Sign-extend(IR[15:0])

  24. 二、访存指令的执行过程 • 专用通路结构 写操作:如Store $1,offs($2) • (4) Memory[ALUoutput] = B

  25. 二、访存指令的执行过程 单总线结构: 读操作:如LOAD R1,mem (1) PC→MAR (2) PC+1→PC

  26. 二、访存指令的执行过程 单总线结构: 读操作:如LOAD R1,mem (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR

  27. 二、访存指令的执行过程 单总线结构: 读操作:如LOAD R1,mem (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR (5) IR(地址段)→MAR,读存储器

  28. 二、访存指令的执行过程 单总线结构: 读操作:如LOAD R1,mem (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR (5) IR(地址段)→MAR,读存储器 (6) DBUS→MDR (7) MDR→R1

  29. 二、访存指令的执行过程 单总线结构: 写操作:如STORE R1,mem (1) PC→MAR (2) PC+1→PC

  30. 二、访存指令的执行过程 单总线结构: 写操作:如STORE R1,mem (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR

  31. 二、访存指令的执行过程 单总线结构: 写操作:如STORE R1,mem (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR (5) IR(地址段)→MAR

  32. 二、访存指令的执行过程 单总线结构: 写操作:如STORE R1,mem (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR (5) IR(地址段)→MAR (6) R1→MDR,写存储器

  33. 三、控制指令的执行过程 专用通路结构 如无条件转移指令操作: J Target (1) IR = Memory[PC]

  34. 三、控制指令的执行过程 • 专用通路结构 如无条件转移指令操作: J Target • PC = (IR[25:0] << 2) | PC+4[31:28]

  35. 三、控制指令的执行过程 单总线结构:如BR offs (1) PC→MAR (2) PC+1→PC

  36. 三、控制指令的执行过程 单总线结构:如BR offs (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR

  37. 三、控制指令的执行过程 单总线结构:如BR offs (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR • (5) PC→Y

  38. 三、控制指令的执行过程 单总线结构:如BR offs (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR (5) PC→Y • (6) Y + IR(地址段)→Z

  39. 三、控制指令的执行过程 单总线结构:如BR offs (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR (5) PC→Y (6) Y + IR(地址段)→Z • (7) Z→PC

  40. 三、控制指令的执行过程 • 条件转移指令操作,有条件地修改PC • 方式:条件码,条件寄存器,比较与转移 • 专用通路结构:如beq $1,$2,offs • (1) IR = Memory[PC] • PC = PC + 4

  41. 三、控制指令的执行过程 专用通路结构:如beq $1,$2,offs (2) A = R[IR[25:21]] B = R[IR[20:16]] Target = PC + (Sign-extend(IR[15:0]) << 2)

  42. 三、控制指令的执行过程 专用通路结构:如beq $1,$2,offs • (3) if(A == B) PC = Target

  43. 三、控制指令的执行过程 单总线结构:BNE offs (1) PC→MAR (2) PC+1→PC

  44. 三、控制指令的执行过程 单总线结构:BNE offs (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR

  45. 三、控制指令的执行过程 单总线结构:BNE offs (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR (5) if(!Z) PC→Y; else goto END

  46. 三、控制指令的执行过程 单总线结构:BNE offs (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR (5) if(!Z) PC→Y; else goto END (6) Y + IR(地址段)→Z

  47. 三、控制指令的执行过程 单总线结构:BNE offs (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR (5) if(!Z) PC→Y; else goto END (6) Y + IR(地址段)→Z (7) Z→PC • 习题:3,4

  48. 第三节 硬连线控制器一、指令周期流程

  49. 控制信号:如ADD R3, R1, R2 T1: PCout, MemRead, PC+1, MARin ;PCMAR, PC+1PC T2: MDRout, IRin ;MDRIR addT3: R1out, Yin ;R1Y addT4: R2out, ADD, Zin ;R2+YZ addT5: Zout, R3in ;ZR3

  50. 二、硬连线控制器

More Related