第五章 控制器

69
第第第 第第第 第 第第第第 第第第 第第第第第第第 第第第 第第第第第第 第第第 第第第第第第 第第第 第第第第第第第

Upload: aretha-rivera

Post on 03-Jan-2016

28 views

Category:

Documents


2 download

DESCRIPTION

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

TRANSCRIPT

第五章 控制器

第一节 基本概念第二节 指令的执行过程

第三节 硬连线控制器第四节 微程序控制器

第五节 阵列逻辑控制器

第五节 阵列逻辑控制器

• CPU 的基本构成:– 控制器,运算器,寄存器( cache ,指令缓存)

• 寄存器的类型:– 指令寄存器 (IP)

– 程序计数器 (PC)

– 数据寄存器 (DR)

– 地址寄存器 (AR)

– 状态寄存器 (SR)

• 数据通路:– 数据总线(单总线,双总线,多总线)– 专用通路(如 MIPS)

数据总线结构

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R0

Rn-1

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

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

专用通路结构

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

专用通路结构

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

控制信号:MemRead 存储器读MemWrite 存储器写ALUOp 运算操作码ALUSrc ALU 数据选择PCWrite PC 写PCSource PC 输入选择

RegWrite 数据寄存器写MemtoReg 写数据选择RegDst 写寄存器选择Irwrite 指令寄存器Jump 选择转移地址

一些基本概念

• 三种生成控制信号方式– 硬连线– 微程序– 阵列逻辑

• 指令周期,机器周期与时钟周期

第二节 指令的执行过程一、运算指令的执行过程

• 专用通路结构:如 add $1, $2, $3

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

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

一、运算指令的执行过程

• 专用通路结构:如 add $1, $2, $3

• (2) 指令译码及读取操作数。 A = R[IR[25:21]]• B = R[IR[20:16]]

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

一、运算指令的执行过程

• 专用通路结构:如 add $1, $2, $3

• (3) 执行。 ALUoutput = A + B

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

一、运算指令的执行过程

• 专用通路结构:如 add $1, $2, $3

• (4) 写回。 R[IR[15:11]] = ALUoutput

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

一、运算指令的执行过程

单总线结构:– 如 ADD R3, R1, R2

(1) PC→MAR

(2) PC+1→PC

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

一、运算指令的执行过程

单总线结构:– 如 ADD R3, R1, R2

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

一、运算指令的执行过程

单总线结构:– 如 ADD R3, R1, R2

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

(5) R1→Y

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

一、运算指令的执行过程

单总线结构:– 如 ADD R3, R1, R2

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

(5) R1→Y

(6) R2 + Y→Z

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

一、运算指令的执行过程

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

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

二、访存指令的执行过程

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

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

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

二、访存指令的执行过程

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

• (2) 指令译码。 A = R[IR[25:21]]

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

二、访存指令的执行过程

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

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

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

二、访存指令的执行过程

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

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

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

二、访存指令的执行过程

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

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

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

二、访存指令的执行过程

• 专用通路结构 写操作:如 Store $1,offs($2)• (1) IR = Memory[PC] PC = PC + 4

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

二、访存指令的执行过程

• 专用通路结构 写操作:如 Store $1,offs($2)• (2) A = R[IR[25:21]]• B = R[IR[20:16]]

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

二、访存指令的执行过程

• 专用通路结构 写操作:如 Store $1,offs($2)• (3) ALUoutput = A + Sign-extend(IR[15:0])

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

二、访存指令的执行过程

• 专用通路结构 写操作:如 Store $1,offs($2)• (4) Memory[ALUoutput] = B

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

二、访存指令的执行过程

单总线结构: 读操作:如 LOAD R1,mem

(1) PC→MAR

(2) PC+1→PC

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

二、访存指令的执行过程

单总线结构: 读操作:如 LOAD R1,mem

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

二、访存指令的执行过程

单总线结构: 读操作:如 LOAD R1,mem

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

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

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

二、访存指令的执行过程

单总线结构: 读操作:如 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

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

二、访存指令的执行过程

单总线结构: 写操作:如 STORE R1,mem

(1) PC→MAR

(2) PC+1→PC

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

二、访存指令的执行过程

单总线结构: 写操作:如 STORE R1,mem

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

二、访存指令的执行过程

单总线结构: 写操作:如 STORE R1,mem

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

(5) IR( 地址段 )→MAR

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

二、访存指令的执行过程

单总线结构: 写操作:如 STORE R1,mem

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

(5) IR( 地址段 )→MAR

(6) R1→MDR ,写存储器

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

三、控制指令的执行过程

专用通路结构 如无条件转移指令操作: J Target(1) IR = Memory[PC]

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

三、控制指令的执行过程

• 专用通路结构 如无条件转移指令操作: J Target• PC = (IR[25:0] << 2) | PC+4[31:28]

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

三、控制指令的执行过程

单总线结构:如 BR offs

(1) PC→MAR

(2) PC+1→PC

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

三、控制指令的执行过程

单总线结构:如 BR offs

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

三、控制指令的执行过程

单总线结构:如 BR offs

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

• (5) PC→Y

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

三、控制指令的执行过程

单总线结构:如 BR offs

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

(5) PC→Y

• (6) Y + IR( 地址段 )→Z

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

三、控制指令的执行过程

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

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

三、控制指令的执行过程

• 条件转移指令操作,有条件地修改 PC

• 方式:条件码,条件寄存器,比较与转移• 专用通路结构:如 beq $1,$2,offs• (1) IR = Memory[PC]• PC = PC + 4

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

三、控制指令的执行过程

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

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

B = R[IR[20:16]]

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

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

三、控制指令的执行过程

专用通路结构:如 beq $1,$2,offs• (3) if(A == B) PC = Target

图 5-2 专用通路结构 CPU例子

x4

4

x4

ALU

符号扩展

PC IR

指令存储器

数据存储器

数据寄存器

I25-0

PC+431-28

PC+4Target

ADx

RxI20-16

IRWritePCWrite I25-21

RegDst

ALUOpMemWrite

MemtoReg

MemRead

Jump

PCSource

ALUSource

RegWrite

Ry

Add

DyRzI15-11

DoB

Dz

DiI15-0

控制器

三、控制指令的执行过程

单总线结构: BNE offs

(1) PC→MAR

(2) PC+1→PC

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

三、控制指令的执行过程

单总线结构: BNE offs

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

三、控制指令的执行过程

单总线结构: BNE offs

(1) PC→MAR

(2) PC+1→PC

(3) DBUS→MDR

(4) MDR→IR

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

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

三、控制指令的执行过程

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

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

三、控制指令的执行过程

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

图 5-1 单总线 CPU的结构

指令译码/控制器

IR

PC

MAR

MDR

R1

R3

Y

SR Z

A B

ALU

存储器

控制信号

地址总线

数据总线

R2

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

ADD STORE LOAD JMP

图 5-4 指令执行周期流程

开始

译码及测试

PC→ MARPC + 1→ PC

DBUS→ MDRMDR→ IR

R1→ YR2 +Y→ Z

Z→ R3

PC→ YY+IR(地)→ Z

Z→ PC

IR(地)→ MARDBUS → MDR

MDR→ R1

AR→ MARR1→ MDR

控制信号:如 ADD R3, R1, R2

T1: PCout, MemRead, PC+1, MARin ;PCMAR, PC+1PC

T2: MDRout, IRin ;MDRIR

addT3: R1out, Yin ;R1Y

addT4: R2out, ADD, Zin ;R2+YZ

addT5: Zout, R3in ;ZR3

二、硬连线控制器

T1 T2 … Tn

INS1

INS2

… INSm

图 5-6 硬布线控制器的构成

时钟

状态标志

条件码

环形脉冲发生器

IR 指令译码 编码器

二、硬连线控制器 ( 续 )

条件码如算术运算的异常、内部中断等。编码器电路的一般逻辑表达形式是 :

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

固定时钟信号环形脉冲发生器:指令执行的时钟数固定。可变长度时钟信号环形脉冲发生器:指令执行的时钟数不固定。实现方法:用 END信号,如

END = T5*ADD + T3*CLA + …

习题: 8

• 步骤– (1) 先画出控制器逻辑图。– (2) 列出各指令的各操作过程所需的控

制信号。– (3) 写出控制信号及其逻辑表达式。

第四节 微程序控制器

• 一、微程序和微指令• 基本概念:控制字,微指令,微程序,微操作,控制存储器,微地址

• 微程序控制方法:把指令执行所需要的所有控制信号存放在控制存储器中,需要时从这个存储器中读取。

• 微指令的构成:操作控制部分,顺序控制部分• 微程序控制的特点:灵活性好,速度慢

二、微程序控制器原理

控制信号

图 5-8 微指令控制器结构

状态码操作码 条件码

PC

IR

顺序控制逻辑译码器

微地址寄存器

微指令译码器

BAFBCF控制码

控制存储器

三、微程序设计技术

1. 微指令编码控制字编码

微操作的相容性和相斥性(1) 直接表示法(2) 编码表示法(3) 混合表示法

IR顺序控制字段字段n…字段字段

(c) 混合表示法

IR顺序控制字段

顺序控制字段

(b) 编码表示法

(a) 直接表示法

IR…字段字段 字段n

操作控制字段

译码译码

译码译码

译码

………

… …

2. 微地址的形成方法(1) 计数器方式——增量方式,用 PC。

控制码译码器

控制码

控制存储器

微地址计数器

顺序控制逻辑

状态码

PC

控制信号

IR

操作码

译码器

2. 微地址的形成方法(2) 断定方式

选择器控制码译码器

下址 2下址 1控制码

控制存储器

微地址寄存器

顺序控制逻辑

状态码

AR

控制信号

IR

操作码

译码器

2. 微地址的形成方法(3) 结合方式

控制信号

图 5-8 微指令控制器结构

状态码操作码 条件码

PC

IR

顺序控制逻辑译码器

微地址寄存器

微指令译码器

BAFBCF控制码

控制存储器

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

DG

F

EC

H

B

A

IR3=0 IR3=1

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

答 : (一)

• B 的两个后继状态 C和 E 的微地址只有 1位不同,这一位可以根据转移条件 IR3 来设置。

DG

F

EC

H

B

A

0110

0111

0101

0110

0011

0010

0001

0000

IR3=0 IR3=1

答:(二)

• 微指令的 BCF中用最低位表示是否选择IR3的值与 BAF字段的其他位一起构成微地址。

存储地址 BAFBDF控制字

0000

0101

0111

0110

0111

0011

0010

0

0

0

0

0

0

1

0001

0111

0110

0101

0100

0011

0010

H

E

G

F

D

C

00000

0001 B

A

答:(三)

• 微地址形成的原理

IR

R0 1

a2

a0a3 a1

BAFBCF控制字

3. 微指令格式分类

• (1) 水平型——并行性。– 并行操作能力强,效率高,灵活性强;执行指令的时间较短;微指令比较长,但微程序比较短;硬件密切相关,微程序设计比较困难。

• (2) 垂直型——有微操作码、部件号。– 每条微指令只表示一个微操作;需要对微操作码和部件号译码;微指令短,微程序长。

• 习题: 9 , 14

第五节 阵列逻辑控制器一、阵列逻辑部件可编程逻辑阵列 PLA

I2 I1 I0

O2 O1 O0

图 5-10 PLA可编程逻辑阵列

cba

非连接交叉

连接点编程点

门电路的表示

cba

可编程阵列逻辑 PAL

I2 I1 I0

O2 O1 O0

图 5-11 PAL可编程逻辑阵列

一、阵列逻辑部件

• PAL, GAL 与 ROM的关系• 通用阵列逻辑 GAL

– 采用通用输出电路——宏单元

二、阵列逻辑控制器

• 基本思想:– 写出每个操作控制信号的逻辑表达式,– 采用某种阵列逻辑芯片,– 通过器件编程来实现这些表达式。

例:专用通路结构的指令流程

• 第一级:取指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)

例:专用通路结构的指令流程

图 5-13 MIPS结构控制器的状态转换图

S1

S8S6

S0

运算访存 条件转移

S2

写读

S7S5S3

S4

习题: 10