第五章 控制器
DESCRIPTION
第五章 控制器. 第一节 基本概念 第二节 指令的执行过程 第三节 硬连线控制器 第四节 微程序控制器 第五节 阵列逻辑控制器. 第五节 阵列逻辑控制器. CPU 的基本构成: 控制器,运算器,寄存器( cache, 指令缓存) 寄存器的类型: 指令寄存器( IP) 程序计数器( PC) 数据寄存器( DR) 地址寄存器( AR) 状态寄存器( SR) 数据通路: 数据总线(单总线,双总线,多总线) 专用通路(如 MIPS). 数据总线结构. 控制信号: R1out:R1 的输出控制 R1in: R1 的输入控制 Yin: Y 的输入控制 - PowerPoint PPT PresentationTRANSCRIPT
第五节 阵列逻辑控制器
• 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
二、硬连线控制器 ( 续 )
条件码如算术运算的异常、内部中断等。编码器电路的一般逻辑表达形式是 :
C = T1*(INS1 + INS2 + …) + T2*(INS1 + INS2 + …) + …
固定时钟信号环形脉冲发生器:指令执行的时钟数固定。可变长度时钟信号环形脉冲发生器:指令执行的时钟数不固定。实现方法:用 END信号,如
END = T5*ADD + T3*CLA + …
第四节 微程序控制器
• 一、微程序和微指令• 基本概念:控制字,微指令,微程序,微操作,控制存储器,微地址
• 微程序控制方法:把指令执行所需要的所有控制信号存放在控制存储器中,需要时从这个存储器中读取。
• 微指令的构成:操作控制部分,顺序控制部分• 微程序控制的特点:灵活性好,速度慢
三、微程序设计技术
1. 微指令编码控制字编码
微操作的相容性和相斥性(1) 直接表示法(2) 编码表示法(3) 混合表示法
IR顺序控制字段字段n…字段字段
(c) 混合表示法
IR顺序控制字段
顺序控制字段
(b) 编码表示法
(a) 直接表示法
IR…字段字段 字段n
操作控制字段
译码译码
译码译码
译码
………
…
…
…
…
… …
多路分支方法:使得微指令中不同的分支微地址中有若干位与条件代码相同,从而可免去微地址编码电路。
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
3. 微指令格式分类
• (1) 水平型——并行性。– 并行操作能力强,效率高,灵活性强;执行指令的时间较短;微指令比较长,但微程序比较短;硬件密切相关,微程序设计比较困难。
• (2) 垂直型——有微操作码、部件号。– 每条微指令只表示一个微操作;需要对微操作码和部件号译码;微指令短,微程序长。
• 习题: 9 , 14
例:专用通路结构的指令流程
• 第一级:取指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)