文章目录
- 📚微操作命令的分析
- 🐇取指周期
- 🐇间址周期
- 🐇执行周期
- 🥕非访存指令
- 🥕访存指令⭐️
- 🥕转移指令
- 🐇中断周期
- 📚控制单元的功能
- 🐇控制单元的外特性
- 🥕输入信号
- 🥕输出信号
- 🐇控制信号举例
- 🥕不采用 CPU 内部总线的方式
- 🥕采用CPU内部总线方式⭐️
- ⚠️微操作例题⭐️
- 🌟微操作模板集合
- 🐇多级时序系统
- 🥕机器周期
- 🥕时钟周期(节拍)
- 指令周期、机器周期和时钟周期小结❓
- 🥕多级时序系统
- 🥕机器速度与机器主频的关系
- ⚠️相关计算
- 🐇控制方式
- 🥕同步控制方式
- 🥕异步控制方式
- 🥕联合控制方式
- 🥕人工控制方式
- 📚小结
- 🍃划个重点🔔
📚微操作命令的分析
假设完成一条指令分为4个工作周期:取指周期、间址周期、执行周期、中断周期
🐇取指周期
- ①现行指令地址送至存储器地址寄存器,记作
PC → MAR
- ②向主存发送读命令,启动主存做读操作,记作
1 → R
- ③将MAR(通过地址总线)所指的主存单元中的内容(指令)经数据总线读至MDR内,记作
M(MAR) → MDR
- ④将MDR的内容送至IR,记作
MDR → IR
- ⑤指令的操作码送至CU(控制单元)译码,记作
OP(IR) → CU
- ⑥形成下一条指令的地址,记作
(PC)+1 → PC
🐇间址周期
- ①将指令的地址码部分(形式地址)送至存储器地址寄存器,记作
Ad(IR) → MAR
- ②向主存发送读命令,启动主存做读操作,记作
1 → R
- ③将MAR(通过地址总线)所指的主存单元中的内容(有效地址)经数据总线读至MDR内,记作
M(MAR) → MDR
- ④将有效地址送至指令寄存器的地址字段,记作
MDR → Ad(IR)
。此操作在有些机器中可省略。
🐇执行周期
不同指令执行周期的微操作是不同的,下面分别讨论非访存指令、访存指令和转移类指令的微操作,附不同指令的指令周期
🥕非访存指令
🥕访存指令⭐️
-
👀加法指令(该指令在执行阶段需要完成累加器内容与对应X地址单元的内容相加,结果送累加器的操作)
- 将指令的地址码部分送至存储器地址寄存器,记作
Ad(IR) → MAR
- 向主存发读命令,启动主存做读操作,记作
1 → R
- 将MAR(通过地址总线)所指的主存单元中的内容(操作数)经数据总线读至MDR内,记作
M(MAR) → MDR
- 给ALU发送加命令,将ACC的内容和MDR的内容相加,结果存于ACC,记作
(ACC) + (MDR) → ACC
- 将指令的地址码部分送至存储器地址寄存器,记作
-
👀存数指令(该指令在执行阶段需将累加器ACC的内容存于主存的X地址单元中)
- 将指令的地址码部分送至存储器地址寄存器,记作
Ad(IR) → MAR
- 向主存发写命令,启动主存做写操作,记作
1 → W
- 将累加器内容送至MDR,记作
ACC → MDR
- 将MDR的内容(通过数据总线)写入MAR(通过地址总线)所指的内存单元中,记作
MDR → M(MAR)
- 将指令的地址码部分送至存储器地址寄存器,记作
-
👀取数指令(该指令在执行阶段需将主存X地址单元的内容取至累加器ACC中)
- 将指令的地址码部分送至存储器地址寄存器,记作
Ad(IR) → MAR
- 向主存发读命令,启动主存做读操作,记作
1 → R
- 将MAR(通过地址总线)所指的主存单元中的内容(操作数)经数据总线读至MDR内,记作
M(MAR) → MDR
- 将MDR的内容送至ACC,记作
MDR → ACC
- 将指令的地址码部分送至存储器地址寄存器,记作
🥕转移指令
🐇中断周期
- ①将特定地址“0”送至存储器地址寄存器,记作
0 → MAR
(如果程序断点存入堆栈,而且进栈操作是先修改栈指针,后存入数据,则记作(SP)-1 → MAR
) - ②向主存发写命令,启动存储器作写操作,记作
1 → W
- ③将PC的内容(程序断点)送至MDR,记作
PC → MDR
- ④将MDR的内容(程序断点)通过数据总线写入MAR(通过地址总线)所指示的主存单元(0地址单元)中,记作
MDR → M(MAR)
- ⑤将向量地址形成部件的输出送至PC,记作
向量地址 → PC
,为下一条指令的取值周期做准备 - ⑥关中断,将允许中断触发器清零,记作
0 → EINT
⭐️上述所有操作都是在控制单元发出的控制信号(即微操作命令)控制下完成的
📚控制单元的功能
🐇控制单元的外特性
🥕输入信号
- 时钟
- 为了使控制单元按一定的先后顺序、一定的节奏发出各种控制信号,控制单元必须受时钟控制
- 每一个时钟脉冲使控制单元发送一个操作命令,或发送一组需要同时执行的操作命令
- 指令寄存器
- OP(IR)→ CU
- 现行指令的操作码决定了不同指令在执行周期所需完成的不同操作,故指令的操作码字段是控制单元的输入信号,它与时钟配合可产生不同的控制信号(控制信号与操作码有关)
- 标志
- 控制单元有时需依赖CPU当前所处的状态产生控制信号,即CU受标志控制
- 外来信号
- 如中断请求、DMA请求
🥕输出信号
-
CPU内的控制信号:主要用于CPU内的寄存器之间的传送和控制ALU实现不同的操作
-
送至系统总线(控制总线)的信号
🐇控制信号举例
🥕不采用 CPU 内部总线的方式
图中未画出每个寄存器的输入或输出控制门,但标出了这些门电路的控制信号 C i C_i Ci
- 取指周期
- 间址周期
- 执行周期
🥕采用CPU内部总线方式⭐️
- 以下图中每个小圈处都有一个控制信号,它控制着寄存器到总线或总线到寄存器之间的传送
- I R i IR_i IRi表示控制从内部总线到指令寄存器的输入控制门
- P C o PC_o PCo表示控制从程序计数器到内部总线的输出控制门
- 下标为i表示输入(in)控制
- 下标为o表示输出(out)控制
- 与不采用CPU内部总线的方式相比,上图中多了两个寄存器Y和Z ❓
- 因为ALU是一个组合逻辑电路,在其运算过程中必须保持两个输入端不变,其中一个输入端可以从Y寄存器中获得,另一个可以从内部总线上获得。当CPU内有多个通用寄存器时,由于设置了寄存器Y,可实现任意两个寄存器之间的算逻运算。
- 此外,ALU的输入不能直接与内部总线相连,因为其输入又会通过总线反馈到ALU的输入,影响运算的正确性,故用寄存器Z暂存运算结果,再根据需要送至指定的目标。
-
取指周期
-
间址周期
-
执行周期
⚠️微操作例题⭐️
- 非总线方式
- 总线方式
第七章知识回顾
🌟微操作模板集合
微操作指令解题可依据以下模板,再综合题目要求(1 → R/W
一般不写)
-
取指周期
-
间址周期
-
ADD
执行周期Z是锁存器
-
STA
执行周期
-
LDA
执行周期
🐇多级时序系统
🥕机器周期
- 机器周期的概念:所有指令执行过程中的一个基准时间
- 确定机器周期需考虑的因素:每条指令的执行步骤;每一步骤所需的时间
- 基准时间的确定
- 以完成最复杂指令功能的时间为准
- 以访问一次存储器的时间为准
若指令字长 = 存储字长,取指周期 = 机器周期
🥕时钟周期(节拍)
- 一个机器周期内可完成若干个微操作,每个微操作需要一定的时间
- 将一个机器周期分成若干时间相等的时间段,即为时钟周期(节拍)
- 时钟周期是控制计算机操作的最小单位时间
- 用时钟周期控制产生一个或几个微操作命令
指令周期、机器周期和时钟周期小结❓
- CPU每取出并执行一条指令所需的全部时间叫指令周期
- 所有指令执行过程中的一个基准时间叫机器周期
- 机器周期是在同步控制的机器中,执行指令周期中一步相对完整的操作所需时间,通常安排机器周期长度等于主存周期
- 将一个机器周期分成若干时间相等的时间段,即为时钟周期(节拍)
- 时钟周期是指计算机主时钟的周期时间,它是计算机运行时最基本的时序单位,对应一个微操作所需时间
- 三者之间关系是:(套娃👀)
- 时钟周期是基本动作单位
- 一个机器周期通常由多个时钟周期组成
- 而一个指令周期可能包含有一个或多个机器周期
🥕多级时序系统
- 机器周期、节拍组成多级时序系统
- 一个指令周期包含若干个机器周期
- 一个机器周期包含若干个时钟周期
🥕机器速度与机器主频的关系
⚠️相关计算
🐇控制方式
产生不同微操作命令序列所用的时序控制方式
🥕同步控制方式
- 采用定长的机器周期
- 以最长的微操作序列和最繁的微操作作为标准
- 机器周期内节拍数相同
- 采用不定长的机器周期
- 机器周期内节拍数不等
- 机器周期内节拍数不等
- 采用中央控制和局部控制相结合的方法
🥕异步控制方式
- 无基准时标信号
- 无固定的周期节拍和严格的时钟同步
- 采用应答方式
🥕联合控制方式
- 同步与异步相结合
- 大部分统一、小部分区别对待
🥕人工控制方式
- Reset
- 连续和单条指令执行转换开关
- 符合停机开关