计算机组成原理学习笔记(9):控制单元的功能

本文深入探讨计算机控制单元(CU)的功能,分析微操作命令在取指、间址、执行及中断周期中的作用,阐述CU如何协调CPU各部件,实现指令的高效执行。同时,介绍了同步、异步及联合控制方式,以及它们对机器速度的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

课程笔记导览

计算机组成原理学习笔记(1):概述
计算机组成原理学习笔记(2):发展
计算机组成原理学习笔记(3):总线
计算机组成原理学习笔记(4):存储器
计算机组成原理学习笔记(5):I/O
计算机组成原理学习笔记(6):数字
计算机组成原理学习笔记(7):指令系统
计算机组成原理学习笔记(8):CPU的结构和功能
计算机组成原理学习笔记(9):控制单元的功能
计算机组成原理学习笔记(10):控制单元的设计

附录:英语解释

CPU——Central Processing Unit,中央处理机(器)
PC——Program Counter,程序计数器,存放当前欲执行指令的地址,并可自动计数形成下一条指令地址的计数器
IR——Instruction Register,指令寄存器,存放当前正在执行的指令的寄存器
CU——Control Unit,控制单元(部件),控制器中产生微操作命令序列的部件,为控制器的核心部件
ALU——Arithmetic Logic Unit,算术逻辑运算单元,运算器中完成算术逻辑运算的逻辑部件
ACC——Accumulator,累加器,运算器中运算前存放操作数、运算后存放运算结果的寄存器
MQ——Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器
X——此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数
MAR——Memory Address Register,存储器地址寄存器,内存中用来存放欲访问存储单元地址的寄存器
MDR——Memory Data Register,存储器数据缓冲寄存器,主存中用来存放从某单元读出、或写入某存储单元数据的寄存器
I/O——Input/Output equipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送
MIPS——Million Instruction Per Second,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位

第九章 控制单元的功能

9.1 微操作命令的分析

微操作命令

指令解释过程中由控制单元发出的一些指令,这些指令所完成的动作

完成一条指令分4个工作周期

取指周期
间址周期
执行周期
中断周期

9.1.1 取指周期微操作命令分析

image-20200816201932891

9.1.2 间址周期微操作命令分析

image-20200816204730284

9.1.3 执行周期微操作命令分析

非访存指令

image-20200816205559646

访存指令

image-20200816221211123

image-20200816221300681

image-20200816221406427

转移指令

image-20200816221528186

三类指令的指令周期

image-20200816221733688

9.1.4 中断周期微操作命令分析

保存断点、形成中断服务程序的入口地址、关闭中断

硬件向量法

image-20200816230545682

软件查询法

image-20200816230638984

9.2 控制单元的功能

控制单元功能:

发出各种控制命令或者微指令控制整个计算机系统包括CPU内部的各个部件,能够协调稳定连续正确的运行

9.2.1 控制单元的外特性

image-20200817081138567

输入信号

image-20200817081444428

输出信号

image-20200817081626809

9.2.2 控制信号举例

不采用CPU内部总线的方式

image-20200817081833718

以间接寻址加法指令为例

取指周期

C 0 C_0 C0把PC的内容送给MAR

C 1 C_1 C1把MAR的内容送入内存单元的地址线

中间还应该给控制总线一个读命令

C 2 C_2 C2控制取回来的内容放入MDR

C 3 C_3 C3将渠道的指令送到指令寄存器IR

PC加1

C 4 C_4 C4控制进入CU进行译码

image-20200817082404893

间址周期

image-20200817083342153

IR,MDR 当中都保存了取回的指令

C 5 C_5 C5将取回的指令送入MAR

C 1 C_1 C1将内容送入到地址线,准备取数字的地址

发出读命令

C 2 C_2 C2数据(操作数的地址)送入MDR

C 3 C_3 C3送到指令寄存器的后半部分(地址码部分)表示操作数的地址,前半部分为操作码

执行周期

image-20200817084412657

此时MDR中的存放的数据是操作数的地址

C 5 C_5 C5将地址送到MAR

发出读命令

C 2 C_2 C2操作数传入MDR

控制信号告诉ALU是加法

C 6 C_6 C6 C 7 C_7 C7加数和被加数放入算术逻辑运算单元进行计算

C 8 C_8 C8将结果保存到AC中

采用CPU内部总线的方式

image-20200817084833283

以间接寻址加法指令为例

取指周期

image-20200817085509574

间址周期

image-20200817090055981

执行周期

将参与运算的数据进行取出来并进行运算

image-20200817090512855

9.2.3 多级时序系统

机器周期

机器周期的概念:所有指令执行过程中的一个基准时间

确定机器周期需考虑的因素:每条指令的执行步骤、每一步骤所需的时间

基准时间的确定:以完成最复杂指令功能的时间为准,一般最复杂的就是访存操作,以访问一次存储器的时间为基准

假定指令字长 = 存储字长 取指周期 = 机器周期

时钟周期(节拍、状态)

一个机器周期内可完成若干个微操作(如果可以并行的话可以完成若干个)

每个微操作需一定的时间

将一个机器周期分成若干个时间相等的时间段(节拍、状态、时钟周期)

image-20200817094348977

时钟周期CLK

节拍 T 0 , T 1 , T 2 , T 3 T_0,T_1,T_2,T_3 T0,T1,T2,T3用于控制不通的内部构件

多级时序系统

机器周期、节拍(状态)组成多级时序系统
一个指令周期包含若干个机器周期
一个机器周期包含若干个时钟周期

image-20200817095446982

机器速度与机器主频的关系

机器的主频f越快机器的速度也越快

在机器周期所含时钟周期数相同的前提下,两机平均指令执行速度之比等于两机主频之比

M I P S 1 M I P S 2 = f 1 f 2 \frac{\mathbf{M I P S}_{1}}{\mathbf{M I P S}_{2}}=\frac{f_{1}}{f_{2}} MIPS2MIPS1=f2f1

机器速度不仅与主频有关,还与机器周期中所含时钟周期(主频的倒数)数以及指令周期中所含的机器周期数有关

9.2.4 控制方式

产生不同微操作命令序列所用的时序控制方式

同步控制方式

任一微操作均由统一基准时标的时序信号控制

image-20200817102223045

方法一:采用定长的机器周期,以最长的微操作序列和最复杂的微操作作为标准,可能会在部分微操作有一些浪费

image-20200817102430361

方法二:采用不定长的机器周期,机器周期内节拍数不等

image-20200817102419474

方法三:采用中央控制和局部控制相结合的方法

image-20200817102648392

异步控制方式

无基准时标信号
无固定的周期节拍和严格的时钟同步
采用应答方式

联合控制方式

同步与异步相结合

人工控制方式

Reset

连续和单条指令执行转换开关

符合停机开关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值