1.微操作命令分析
完成一段程序分四个工作周期:取指周期、间址周期、执行周期、中断周期。
1.1取指周期
PC-->MAR-->地址线
1-->R(向存储器发出读命令)
M(MAR)-->MDR
MDR-->IR
OP(IR)-->CU(把操作码部分交给控制器进行分析)
(PC)+1-->PC
1.2间址周期
指令形成地址-->MAR(IR中指令的地址码部分)
Ad(IR)-->MAR
1-->R
M(MAR)-->MDR
MDR-->Ad(IR)
1.3执行周期
1.非访存指令
- CLA 清零 0-->ACC
- COM 取反
-->ACC
- SHR 算数右移 L(ACC)-->R(ACC),
-->
(这两个操作可以同时进行)
- CSL 循环左移 R(ACC)-->L(ACC),
-->
- STP 停机指令 0-->G(停机标志)
2.访存指令
a.加法指令
ADD X(ACC的内容和X指出的内存单元的内容相加,结果保存在ACC)
Ad(IR)-->MAR
1-->R
M(MAR)-->MDR
(ACC)+(MDR)-->ACC
b.存数指令
STA X(ACC中的数据保存在X指向的内存单元)
Ad(IR)-->MAR
1-->W(向存储器发出写命令)
ACC-->MDR
MDR-->M(MAR)
c.取数指令
LDA X
Ad(IR)-->MAR
1-->R
M(MAR)-->MDR
MDR-->ACC
3.转移指令
a.无条件转移
JMP X
Ad(IR)-->PC
b.条件转移
BAN X(负则转)
4.三类指令的指令周期
1.4中断周期
中断周期需要执行中断隐指令,即进行以下操作:
(1)保存断点
可将断点保存至特定的内存区域,也可使断点进栈
程序断点存入“0”地址 | 程序断点进栈 |
0-->MAR | (SP)-1-->MAR |
1-->W | 1-->W |
PC-->MDR | PC-->MDR |
MDR-->M(MAR) | MDR-->M(MAR) |
(2)形成中断服务程序的入口地址
中断识别程序入口地址M-->PC(软件查询法)
或向量地址-->PC(硬件向量法)
(3)关中断
0-->EINT
2.控制单元的功能
发出各种控制命令或微指令,控制计算机系统,包括CPU内部各部件协调、稳定、正确、连续地运行。
1.1控制单元的外特性
1.输入信号
a.时钟
CU受时钟控制,在特定的时间节点执行微操作
一个时钟脉冲可以发出一个操作命令或一组需同时执行的操作命令
b.指令寄存器
OP(IR)-->CU
控制信号与操作码有关
c.标志
CU 受标志控制(如条件转移指令的转移条件)
d.外来信号
如中断请求信号INTR
2.输出信号
a.CPU内的各种控制信号
(PC)+1-->PC
ALU的算数运算和逻辑运算
b.送至总线的信号
输入信号:
访存控制信号
访问IO/存储器的控制信号
读命令
写命令
输出信号:
INTA 中断响应信号
HLDA 总线响应信号
2.2控制信号举例
1.不采用CPU内部总线的方式
CPU内部部件分散连接
a.取指周期:
注:AC和经常使用的ACC都是累加器(Accumulator)的缩写。
图中MDR-->AC是取数指令的操作,加法指令直接将取回的操作数送到ALU中。
b.间址周期:
此时IR和MDR中都保存有刚刚取出的指令,地址码部分是操作数的形式地址
注:Ci是电路编号,不代表执行顺序,间址周期耳朵执行顺序为C5-->C1-->C2-->C3。
IR蓝色部分为操作码,黄色部分为地址码。
c.执行周期:
2.采用CPU内部总线方式
ADD @X取指周期
AC和Y是ALU的两个输入端寄存器,Z是ALU的输出端寄存器
- PC-->MAR-->地址线
- 命令1-->R
- 数据线-->MDR
- MDR-->IR
- OP(IR)-->CU
- (PC)+1-->PC
ADD @X间址周期
- MDR-->MAR-->地址线 (形式地址-->MAR)
- 1-->R
- 数据线-->MDR
- MDR-->IR(有效地址-->Ad(IR))
ADD @X执行周期
- MDR-->MAR-->地址线
- 1-->R
- 数据线-->MDR
- MDR-->Y-->ALU
- AC-->ALU
- (AC)+(Y)-->Z
- Z-->AC
2.3多级时序系统
1.机器周期
a.机器周期的概念
所有指令执行过程中的一个基准时间
b.确定机器周期需考虑的因素
每条指令的执行步骤(微操作)
每一步骤所需的时间
c.基准时间的确定
以完成最复杂指令操作功能的时间为准
以访问一次存储器的时间为基准(从一个存储单元中取出数据并放到寄存器)
若指令字长=机器字长,则取指周期=机器周期
2.时钟周期(节拍、状态)
时钟周期是时钟频率的倒数,时钟频率时钟频率是指时钟信号每秒钟的振荡次数,由计算机系统中的时钟发生器控制,与计算机系统的硬件设计相关。
一个机器周期内可以完成若干个微操作,每个微操作需要一定的时间
将一个机器周期分成若干个时间相等的时间段(节拍/状态/时钟周期)
时钟周期是控制计算机操作的最小单位时间,用时钟周期控制产生一个或几个(并行)微操作命令
3.多级时序系统
指令周期、机器周期、节拍(状态)组成多级时序系统
一个指令周期包含多个机器周期,一个机器周期包含多个时钟周期
4.机器速度与机器主频的关系
在机器周期所含时钟周期数相同的前提下,两机平均指令执行速度之比等于两机主频(时钟周期的倒数)之比,也就是说机器的主频f越快机器的速度也越快。
。
机器速度不仅与主频有关,还与机器周期中所含时钟周期数以及指令周期中所含机器周期数,以及是否采用流水方式有关。
2.4控制方式
产生不同微操作命令序列所用的时序控制方式
1.同步控制方式
任一微操作均由统一基准时标的时序信号(定宽定距的时钟)控制。即有一个统一的时钟信号控制控制信号的产生,进而控制各个部件的交互。
(1)采用定长的机器周期
以最长的微操作序列和最复杂的微操作作为标准,机器周期内节拍数相同
可能在某些执行阶段造成时间的浪费
(2)采用不定长的机器周期
(3)采用中央控制和局部控制相结合的方法
2.异步控制方式
无基准时标信号
无固定的周期节拍和严格的时钟同步
采用应答方式(一个微操作完成后给出应答信号,告诉下一个微操作可以开始)
3.联合控制方式
同步与异步相结合
大部分指令执行的先后顺序和时间是确定的,可以采用同步方式,I/O指令的时间无法确定,采用异步方式
4.人工控制方式
(1)Reset
(2)连续和单条指令执行转换开关
(3)符合停机开关