第7章控制器7.1 控制器的功能和组成
7.3 操作命令分析7.2 指令周期
7.4 控制信号举例7.5 控制器设计7.1 控制器的组成一、控制器的功能1、从存储器取出指令,送到控制器里指令寄存器IR中
2、对指令进行译码,产生出完成指令对应的时序控制信号,并由CPU引脚将控制信号加到系统总线里的控制线中去,从而控制相关部件动作,完成指令的执行。
3. 控制程序输入及结果的输出4. 总线管理5. 处理异常情况和特殊请求二、控制器的组成1.程序计数器PC存放当前正在执行的指令地址或下一条要执行指令的地址。具有自动加1(或加2)功能。
2.指令寄存器IR存放次内存中取出的指令。3.指令译码器对指令寄存器IR中指令操作码进行译码,译码出的信号加到“操作信号形成部件”中一起形成该指令所需要的,具有一定时序关系的操作控制信号序列。
8.14.操作控制信号形成部件根据指令操作码的译码信号以及时序信号产生部件发出的时序信号,分波次发出控制信号,控制计算机相关部件,完成指令的执行。
5. 时序信号产生器产生机器周期信号和时钟信号,控制指令执行大的步骤(机器周期),及每个大步骤下的小的执行步骤(时钟周期)。6.地址寄存器MAR存放指令的地址或操作数的内存地址。7. 数据缓冲寄存器MDR内存写入数据或读出的指令或数据,都要经过MDR进行缓冲。7.2 指令周期一、指令周期的基本概念1 . 指令周期取出并执行一条指令所需的全部时间
完成一条指令执行取指、分析取指阶段取指周期执行阶段执行周期(取指、分析)(执行指令)指令周期取指周期执行周期2. 每条指令的指令周期不同取指周期指令周期
取指周期执行周期
指令周期
NOPADD mem
MUL mem取指周期执行周期
指令周期„3. 具有间接寻址的指令周期4. 带有中断周期的指令周期取指周期间址周期指令周期执行周期
取指周期间址周期指令周期执行周期中断周期5. 指令周期流程取指周期
执行周期有间址吗?
有中断吗?间址周期
中断周期
是
是否
否6. CPU 工作周期的标志CPU 访存有四种性质取指令取地址取操作数存程序断点取指周期间址周期执行周期中断周期
FEDINDDINTDCLK1FE1IND1EX1INTEXD
CPU 的4个工作周期1. 取指周期数据流二、指令周期的数据流
MDRCUMARPC存储器
CPU地址总线数据总线控制总线
IR+1 2. 间址周期数据流
CUMARCPU地址总线数据总线控制总线PCIR存储器
MDR3. 执行周期数据流4 . 中断周期数据流不同指令的执行周期数据流不同
MDRCUMARCPU地址总线数据总线控制总线PC存储器三、多级时序系统1. 机器周期(1) 机器周期的概念
(2) 确定机器周期需考虑的因素
(3) 基准时间的确定
所有指令执行大步骤过程中的一个基准时间
指令的执行步骤--决定指令周期由几个机器周期组成。每一步骤所需的时间--决定机器周期的大小。
•以完成最复杂指令功能的时间为准•以访问一次存储器的时间为基准若指令字长= 存储字长取指周期=机器周期2. 时钟周期(节拍、状态)
一个机器周期内可完成若干个微操作每个微操作需一定的时间
时钟周期是控制计算机操作的最小单位时间按照一个机器周期内操作包含小步骤数决定一个机器周期决定由几个时钟周期组成。
用时钟周期控制产生一个或几个微操作命令CLKT0
T1
T2
T3
时钟周期2. 节拍发生器输出多个频率相同的节拍信号机器周期机器周期
T0T1T2T3T0T1T2T33. 多级时序系统一个指令周期包含几个大步骤就包含若干个机器周期一个机器周期包含几个小步骤,就由几个时钟周期构成。每个时钟周期发送小步骤执行需要的控制信号
CLK
机器周期机器周期机器周期(取指令)(取有效地址)(执行指令)指令周期
T0T1T2T3T0T1T2T3T0T1T2T3
机器周期机器周期(取指令)(执行指令)指令周期
T0T1T2T3T0T1T2节拍
(状态)
节拍(状态)7.3操作命令的分析完成一条指令分4 个工作周期取指周期间址周期执行周期中断周期一、取指周期PC MAR 地址线
1 RM ( MAR ) MDRMDR IR
( PC ) + 1 PC+1
MDR
CU
MARPC
IR存储器
CPU地址总线
数据总线控制总线
7.3操作命令的分析
OP(IR)CU二、间址周期
M ( MAR ) MDR1 RAd ( IR ) MARMDR Ad ( IR )
指令形式地址MAR
MDRCUMARCPU地址总线数据总线控
制总线
IR存储器三、执行周期1. 非访存指令(1) CLA清A
(2) COM取反
(4) CSL循环左移(3) SHR 算术右移
(5) STP停机指令
0 ACCACC ACCL(ACC) R(ACC), ACC0ACC0
R(ACC) L(ACC), ACC0ACCn
0 G2. 访存指令Ad(IR) MAR1 RM(MAR) MDR(ACC) + (MDR) ACC
Ad(IR) MAR1 WACC MDRMDR M(MAR)
STA X
ADD X(2) 存数指令(1) 加法指令(3) 取数指令Ad ( IR ) MAR1 RM ( MAR ) MDRMDR ACC 3. 转移指令
(1) 无条件转
(2) 条件转移Ad ( IR ) PC
A0 •Ad ( IR ) + A0 ( PC ) PC
LDA XJMP XBAN X(负则转)4. 三类指令的指令周期取指周期执行周期取指周期执行周期
取指周期执行周期取指周期间址周期执行周期
非访存指令周期直接访存指令周期间接访存指令周期转移指令周期取指周期间址周期执行周期间接转移指令周期四、中断周期程序断点存入“0 ”地址程序断点进栈0MAR1 WPC MDRMDR M ( MAR )向量地址PC0 EINT(置“0”)0 EINT(置“0”)向量地址PCMDR M ( MAR )PC MDR1 W中断识别程序入口地址M PC( SP ) 1MAR7.4控制信号分析
一、控制单元的外特性指令寄存器
控制单元CU…
时钟标志
CPU 内部的控制信号
到系统总线的控制信号来自系统总线的控制信号
系统总线1. 输入信号(1) 时钟
(2) 指令寄存器(4) 外来信号(3) 标志
CU 受时钟控制
控制信号与操作码有关OP ( IR ) CUCU 受标志控制INTR 中断请求HRQ 总线请求
一个时钟脉冲发一个操作命令或一组需同时执行的操作命令
如2. 输出信号(1) CPU 内的各种控制信号
(2) 送至控制总线的信号RiRj
(PC) + 1 PC
INTAHLDA
访存控制信号访IO/存储器的控制信号读命令写命令中断响应信号总线响应信号
MREQIO/MRDWR
ALU+、-、与、或……二、控制信号举例ACCU时钟
ALU
………
控制信号标志
控制
信号C
0C
1
C2
C3
C4
取指周期以ADD @ X 为例PCIR
1. 不采用CPU 内部总线的方式
PCM D R
M A R