slide1
Download
Skip this Video
Download Presentation
第五章 控制器

Loading in 2 Seconds...

play fullscreen
1 / 69

第五章 控制器 - PowerPoint PPT Presentation


  • 64 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '第五章 控制器' - aretha-rivera


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

第五章 控制器

第一节 基本概念

第二节 指令的执行过程

第三节 硬连线控制器

第四节 微程序控制器

第五节 阵列逻辑控制器

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

控制信号:

R1out:R1的输出控制

R1in: R1的输入控制

Yin: Y的输入控制

IRin: IR的输入控制

IRout: IR的输出控制

PCin: PC的输入控制

PCout: PC的输出控制

PC+1: PC计数更新控制

ADD: ALU加法操作控制

slide5
专用通路结构

控制信号:

MemRead 存储器读

MemWrite 存储器写

ALUOp 运算操作码

ALUSrc ALU数据选择

PCWrite PC写

PCSource PC输入选择

RegWrite 数据寄存器写

MemtoReg写数据选择

RegDst 写寄存器选择

Irwrite 指令寄存器

Jump 选择转移地址

slide6
一些基本概念
  • 三种生成控制信号方式
    • 硬连线
    • 微程序
    • 阵列逻辑
  • 指令周期,机器周期与时钟周期
slide7
第二节 指令的执行过程一、运算指令的执行过程
  • 专用通路结构:如add $1, $2, $3
  • (1) 取指令。IR = Memory[PC]
          • PC = PC + 4
slide8
一、运算指令的执行过程
  • 专用通路结构:如add $1, $2, $3
  • (2) 指令译码及读取操作数。A = R[IR[25:21]]
  • B = R[IR[20:16]]
slide9
一、运算指令的执行过程
  • 专用通路结构:如add $1, $2, $3
  • (3) 执行。ALUoutput = A + B
slide10
一、运算指令的执行过程
  • 专用通路结构:如add $1, $2, $3
  • (4) 写回。R[IR[15:11]] = ALUoutput
slide11
一、运算指令的执行过程

单总线结构:

  • 如ADD R3, R1, R2

(1) PC→MAR

(2) PC+1→PC

slide12
一、运算指令的执行过程

单总线结构:

  • 如ADD R3, R1, R2

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

slide13
一、运算指令的执行过程

单总线结构:

  • 如ADD R3, R1, R2

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

(5) R1→Y

slide14
一、运算指令的执行过程

单总线结构:

  • 如ADD R3, R1, R2

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

(5) R1→Y

(6) R2 + Y→Z

slide15
一、运算指令的执行过程

单总线结构:

  • 如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

slide16
二、访存指令的执行过程

专用通路结构 读操作:如lw $1, off($2)

(1) 取指令。IR = Memory[PC] PC = PC+4

slide17
二、访存指令的执行过程

专用通路结构 读操作:如lw $1, off($2)

  • (2) 指令译码。A = R[IR[25:21]]
slide18
二、访存指令的执行过程

专用通路结构 读操作:如lw $1, off($2)

(3) 计算地址。ALUoutput = A + Sign-extend(IR[15:0])

slide19
二、访存指令的执行过程

专用通路结构 读操作:如lw $1, off($2)

(4) 访存。Memory-data = Memory[ALUoutput]

slide20
二、访存指令的执行过程

专用通路结构 读操作:如lw $1, off($2)

(5) 写回。R[IR[20:16]] = Memory-data

slide21
二、访存指令的执行过程
  • 专用通路结构 写操作:如Store $1,offs($2)
  • (1) IR = Memory[PC] PC = PC + 4
slide22
二、访存指令的执行过程
  • 专用通路结构 写操作:如Store $1,offs($2)
  • (2) A = R[IR[25:21]]
  • B = R[IR[20:16]]
slide23
二、访存指令的执行过程
  • 专用通路结构 写操作:如Store $1,offs($2)
  • (3) ALUoutput = A + Sign-extend(IR[15:0])
slide24
二、访存指令的执行过程
  • 专用通路结构 写操作:如Store $1,offs($2)
  • (4) Memory[ALUoutput] = B
slide25
二、访存指令的执行过程

单总线结构:

读操作:如LOAD R1,mem

(1) PC→MAR

(2) PC+1→PC

slide26
二、访存指令的执行过程

单总线结构:

读操作:如LOAD R1,mem

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

slide27
二、访存指令的执行过程

单总线结构:

读操作:如LOAD R1,mem

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

(5) IR(地址段)→MAR,读存储器

slide28
二、访存指令的执行过程

单总线结构:

读操作:如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

slide29
二、访存指令的执行过程

单总线结构:

写操作:如STORE R1,mem

(1) PC→MAR

(2) PC+1→PC

slide30
二、访存指令的执行过程

单总线结构:

写操作:如STORE R1,mem

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

slide31
二、访存指令的执行过程

单总线结构:

写操作:如STORE R1,mem

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

(5) IR(地址段)→MAR

slide32
二、访存指令的执行过程

单总线结构:

写操作:如STORE R1,mem

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

(5) IR(地址段)→MAR

(6) R1→MDR,写存储器

slide33
三、控制指令的执行过程

专用通路结构 如无条件转移指令操作: J Target

(1) IR = Memory[PC]

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

单总线结构:如BR offs

(1) PC→MAR

(2) PC+1→PC

slide36
三、控制指令的执行过程

单总线结构:如BR offs

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

slide37
三、控制指令的执行过程

单总线结构:如BR offs

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

  • (5) PC→Y
slide38
三、控制指令的执行过程

单总线结构:如BR offs

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

(5) PC→Y

  • (6) Y + IR(地址段)→Z
slide39
三、控制指令的执行过程

单总线结构:如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
slide40
三、控制指令的执行过程
  • 条件转移指令操作,有条件地修改PC
  • 方式:条件码,条件寄存器,比较与转移
  • 专用通路结构:如beq $1,$2,offs
  • (1) IR = Memory[PC]
  • PC = PC + 4
slide41
三、控制指令的执行过程

专用通路结构:如beq $1,$2,offs

(2) A = R[IR[25:21]]

B = R[IR[20:16]]

Target = PC + (Sign-extend(IR[15:0]) << 2)

slide42
三、控制指令的执行过程

专用通路结构:如beq $1,$2,offs

  • (3) if(A == B) PC = Target
slide43
三、控制指令的执行过程

单总线结构:BNE offs

(1) PC→MAR

(2) PC+1→PC

slide44
三、控制指令的执行过程

单总线结构:BNE offs

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

slide45
三、控制指令的执行过程

单总线结构:BNE offs

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

(5) if(!Z) PC→Y; else goto END

slide46
三、控制指令的执行过程

单总线结构: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

slide47
三、控制指令的执行过程

单总线结构: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
add r3 r1 r2
控制信号:如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

slide51
二、硬连线控制器(续)

条件码如算术运算的异常、内部中断等。

编码器电路的一般逻辑表达形式是:

C = T1*(INS1 + INS2 + …) + T2*(INS1 + INS2 + …) + …

固定时钟信号环形脉冲发生器:指令执行的时钟数固定。

可变长度时钟信号环形脉冲发生器:指令执行的时钟数不固定。

实现方法:用END信号,如

END = T5*ADD + T3*CLA + …

slide52
习题:8
  • 步骤
    • (1) 先画出控制器逻辑图。
    • (2) 列出各指令的各操作过程所需的控制信号。
    • (3) 写出控制信号及其逻辑表达式。
slide53
第四节 微程序控制器
  • 一、微程序和微指令
  • 基本概念:控制字,微指令,微程序,微操作,控制存储器,微地址
  • 微程序控制方法:把指令执行所需要的所有控制信号存放在控制存储器中,需要时从这个存储器中读取。
  • 微指令的构成:操作控制部分,顺序控制部分
  • 微程序控制的特点:灵活性好,速度慢
slide55
三、微程序设计技术

1. 微指令编码

控制字编码

微操作的相容性和相斥性

(1) 直接表示法

(2) 编码表示法

(3) 混合表示法

slide59
多路分支方法:使得微指令中不同的分支微地址中有若干位与条件代码相同,从而可免去微地址编码电路。

例. 试为各微指令分配适当的地址,并给出每条微指令的转移地址字段(即下址字段)BAF和实现“位选择”功能的转移控制字段BCF。

slide60
答:(一)
  • B的两个后继状态C和E的微地址只有1位不同,这一位可以根据转移条件IR3来设置。
slide61
答:(二)
  • 微指令的BCF中用最低位表示是否选择IR3的值与BAF字段的其他位一起构成微地址。
slide62
答:(三)
  • 微地址形成的原理
slide63
3. 微指令格式分类
  • (1) 水平型——并行性。
    • 并行操作能力强,效率高,灵活性强;执行指令的时间较短;微指令比较长,但微程序比较短;硬件密切相关,微程序设计比较困难。
  • (2) 垂直型——有微操作码、部件号。
    • 每条微指令只表示一个微操作;需要对微操作码和部件号译码;微指令短,微程序长。
  • 习题:9,14
slide66
一、阵列逻辑部件
  • PAL, GAL与ROM的关系
  • 通用阵列逻辑GAL
    • 采用通用输出电路——宏单元
slide67
二、阵列逻辑控制器
  • 基本思想:
    • 写出每个操作控制信号的逻辑表达式,
    • 采用某种阵列逻辑芯片,
    • 通过器件编程来实现这些表达式。
slide68
例:专用通路结构的指令流程
  • 第一级:取指

IR = Mem[PC] (S0)

PC = PC + 4 (S0)

  • 第二级:指令译码及读取寄存器

A = R[IR[25:21]] (S1)

B = R[IR[20:16]] (S1)

Target = PC + (Sign-extend(IR[15:0] << 2) (S1)

  • 第三级:执行,计算存储器地址(或转移完成)

访存:ALUoutput = A + Sign-extend(IR[15:0]) (S2)

运算:ALUoutput = A op B (S6)

转移:if(A op B) PC = Target (S8)

  • 第四级:访存(或运算完成)

访存(读):Memory-data = Memory[ALUoutput] (S3)

访存(写):Memory[ALUoutput] = B (S5)

运算:R[IR[15:11]] = ALUoutput (S7)

  • 第五级:写回

访存(读):R[IR[20:16]] = Memory-data (S4)

ad