文章目录
- 📚微操作命令的分析
- 🐇取指周期
- 🐇间址周期
- 🐇执行周期
- 🥕非访存指令
- 🥕访存指令⭐️
- 🥕转移指令
- 🐇中断周期
- 📚控制单元的功能
- 🐇控制单元的外特性
- 🥕输入信号
- 🥕输出信号
- 🐇控制信号举例
- 🥕不采用 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
- 连续和单条指令执行转换开关
- 符合停机开关
📚小结
🍃划个重点🔔
























