当前位置:文档之家› CPU与控制单元设计

CPU与控制单元设计


三、微程序原理
四、微程序控制器设计
1.1 CPU的结构与功能
CPU的功能
取指令:具备从存储器中取出指令的功能
地址部件:解决指令地址的产生 指令部件:保存从存储器中取来的指令 分析指令:分析指令的操作性质,计算指令操作对象的位置(地 址) 译码部件:对指令进行译码 执行指令:实现指令的操作功能
指令周期
指令周期 取指周期:从存储器取出指令送指令寄存器 取数周期:计算操作数有效地址,取出操作数; 执行周期:执行指令的功能
指令周期与机器周期、节拍周期的关系
同步控制方式下,指令周期包括多个(不一定固定)机器周期; 每个机器周期包括固定个数的节拍周期
2.1 控制方式与时序系统
计算机组成原理与汇编语言
(组成原理部分) 2000级
北航计算机学院 刘旭东
Tel :82316285,82317634 Mail:liuxd@
第五部分
CPU与控制单元设计
一、CPU的结构与功能
二、指令流程与组合逻辑控制器
三、微程序原理
四、微程序控制器设计
一、CPU的结构与功能 二、指令流程与组合逻辑控制器
M3.T1 M3.T2 M3.T3 M3.T4
IB Z
AB MAR, RD, W/B
MDR DB
CPMDR
2.2 指令流程与微操作时间表
结构图
时间节拍 M4.T1 执 行 周 期 M4.T2 M4.T3 M4.T4
完成功能 源操作数送AX
需要的微操作信号
IB MDR, WRGR, W/B
需要的控制脉冲 AX的地址
2.2 指令流程与微操作时间表
MOV 1000H[BX], AX 指令执行的微操作流程
指令长度:32位,分两次读取(指令代码:89870010H) 读取指令周期:机器周期M1内完成(读第一个16位) 读变址值周期:机器周期M2内完成
指令寄存器IR
指令译码器ID(Instruction Decoder)
时序部件:提供各种时序信号 控制信号生成部件:产生计算机其他部件所需要的所有微操作控 制信号。
中断系统
检查中断信号,中断CPU的正常程序执行,处理异常事务。
1.2 模型机结构
Control Bus Data Bus Address Bus
控制与状态寄存器:一般用户不可见,为系统控制专用,用户不 可直接使用。 MAR(Memory Address Register):存储器地址寄存器 MBR/MDR(Memory Buffer Register,Memory Data Register):存储器数据缓冲寄存器
PC(Program Counter):程序计数器,存放下一条指令的 地址
2.2 指令流程与微操作时间表
取指周期的微操作流程
取指流程需要4个节拍 指令地址送MAR
结构图
存储器读出指令 指令送MDR,并调整PC 指令送IR 每条指令执行过程的第一个机器周期M1都是取指周期(取到指令核心部分)
时间节拍 M1.T1 M1.T2 M1.T3 调整PC M1.T4 MDR(指令)送IR PC+1 IB MDR CPPC CPIR 完成功能 指令地址送MAR Read Memory 指令送MDR 需要的微操作信号 IB PC
CPMDR
CPPC CPIR CPC, BX地址 AX地址
执 行 周 期
M2.T1 M2.T2 M2.T3 M2.T4
2.2 指令流程与微操作时间表
MOV AX,1000H[BX] 指令执行的微操作流程
指令长度:32位,分两次读取(指令代码:8B870010H) 读取指令周期:机器周期M1内完成(读第一个16位) 读变址值周期:机器周期M2内完成
取数:计算操作数地址,读取操作数,要根据操作数的来源与寻址 方式才能确定具体的操作过程。
执行:执行并送结果。
取指周期
指令的核心部分占16Bits,机器字长16Bits,每一次从存储器能读 取16Bits 指令编码长度有2个字节(16位),4个字节(32位),甚至6个字 节,但指令核心部分长度为16位。 取指周期特指读取指令核心部分(16Bits)的周期,所以在这种前 题下,所有指令的取指周期是完全一样的。
结构图
取操作数周期:机器周期M3内完成 执行周期:机器周期M4内完成
时间节拍 完成功能 需要的微操作信号 需要的控制脉冲
M1.T1
取 指 周 期 M1.T2 M1.T3
指令地址送MAR
Read Memory
IB PC
AB MAR, RD, W/B
CPMAR
指令送MDR
调整PC M1.T4 MDR(指令)送IR
译码部件:指令译码器(ID)
控制部件:微操作控制信号产生部件 时序部件:产生时序信号 中断系统:处理异常事务 内部总线:CPU内部数据通路(Internal Bus)
1.1 CPU的结构与功能
CPU内部结构 执行单元 控制单元 寄存器单元
ALU 控制信号
中断系统 CU
微操作控制信号
IR(Instruction Register):指令寄存器,存放当前执行的指 令编码
1.1 CPU的结构与功能
执行单元(EU-Execution Unit)
执行单元的核心:算术逻辑运算单元(ALU),完成算术运算、 逻辑运算、移位运算等操作;
寄存器:提供数据缓冲;
控制单元(CU-Control Unit)
MDR DB
PC+1 IB MDR
CPMDR
CPPC CPIR
2.2 指令流程与微操作时间表
时间节拍 M2.T1
取 变 址 值
结构图
完成功能 PC送MAR
从存储器读取1000H
1000H送MDR
需要的微操作信号 IB PC
AB MAR, RD, W/B
需要的控制脉冲 CPMAR
M2.T2
AB MAR, RD, W/B
需要的控制脉冲 CPMAR
MDR DB
CPMDR
2.2 指令流程与微操作时间表
MOV AX,BX 指令执行的微操作流程
指令长度:16位,一次可读取完毕(指令代码:89DBH) 读取指令周期:机器周期M1内完成 执行周期:机器周期M2内完成
时间节拍 完成功能 需要的微操作信号
控制信号:根据指令的操作性质和操作对象的地址,产生一 系列的微操作控制信号,从而控制计算机的运算器、存储器 或输入输出接口等部件,实现指令所表示的功能。
1.1 CPU的结构与功能
CPU的结构
运算器:算术逻辑运算单元(ALU) 寄存器:通用计算机(GR),标志寄存器(FR,又称程序状态字 PSW) 控制单元(CU): 指令部件:指令寄存器(IR)
结构图
需要的控制脉冲
M1.T1
取 指 周 期 M1.T2 M1.T3
指令地址送MAR
Read Memory
IB PC
AB MAR, RD, W/B
CPMAR
指令送MDR
调整PC M1.T4 MDR(指令)送IR BX送暂存器C 暂存器C送AX 无操作 无操作
MDR DB
PC+1 IB MDR IB GR, RDGR, W/B IB C, WRGR, W/B
MDR->DB W/B DB->MDR
返回
微操作信号 C
CPC C->IB R W W/ D R B
MAR -> AB
MAR
CPMAR
MDR
CPMDR MDR->IB
MEMORY
控制 部件
Internal Bus
D->IB SAL SAR RDGR WRGR W/B CPZ Z -> IB
GR -> IB
PC->IB
AH BH CH DH SP BP SI DI
AL BL CL DL
D
A
CPD
PC
B
CPPC
时序 部件
译码电路
ADD SUB B-1
ALU
PC+1 CLPC
Z FR
IR
FR->IB
CPIR
GR Add
1.2 模型机结构
简化的8086/8088结构
16位系统
通用寄存器部件 主存地址寄存器MAR 主存数据寄存器MDR 暂存器C,D,Z 程序计数器PC 指令寄存器IR
M2.T3
MDR DB
CPMDR
调整PC
M2.T4 MDR(1000H)送D (BX)+1000H 送 Z 源操作数地址 Z 送MAR 读取源操作数 源操作数送MDR
PC+1
IB MDR
IB GR, RDGR, W/B, ADD
CPPC
CPD BX地址, CPZ CPMAR
取 数 周 期
Q D
Q
1
Q D
CLK
2.2 指令流程与微操作时间表
指令周期分析(针对模型计算机及其指令系统 而言)
取指周期的微操作流程 MOV指令的微操作流程 单操作数指令的微操作流程 双操作数指令的微操作流程
其他指令的微操作流程
2.2 指令流程与微操作时间表
指令的执行过程
取指:从存取器读取当前指令送到指令寄存器(IR),要根据指令 编码的长度才能确定读取指令的详细流程。
REG 000 001 010 011 100 101 110 111
W=1 AX CX DX BX SP BP SI DI
W=0 AL CL DL BL AH CH DH BH
1.3 模型机的指令系统
双操作数指令格式
相关主题