首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

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

  • 25-03-03 17:24
  • 2514
  • 10484
blog.csdn.net

文章目录

  • 课程笔记导览
  • 附录:英语解释
  • 第九章 控制单元的功能
    • 9.1 微操作命令的分析
      • 9.1.1 取指周期微操作命令分析
      • 9.1.2 间址周期微操作命令分析
      • 9.1.3 执行周期微操作命令分析
        • 三类指令的指令周期
      • 9.1.4 中断周期微操作命令分析
    • 9.2 控制单元的功能
      • 9.2.1 控制单元的外特性
        • 输入信号
        • 输出信号
      • 9.2.2 控制信号举例
        • 不采用CPU内部总线的方式
        • 采用CPU内部总线的方式
      • 9.2.3 多级时序系统
        • 机器周期
        • 时钟周期(节拍、状态)
        • 多级时序系统
        • 机器速度与机器主频的关系
      • 9.2.4 控制方式
        • 同步控制方式
        • 异步控制方式
        • 联合控制方式
        • 人工控制方式

课程笔记导览

计算机组成原理学习笔记(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}} MIPS2​MIPS1​​=f2​f1​​

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

9.2.4 控制方式

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

同步控制方式

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

image-20200817102223045

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

image-20200817102430361

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

image-20200817102419474

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

image-20200817102648392

异步控制方式

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

联合控制方式

同步与异步相结合

人工控制方式

Reset

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

符合停机开关

注:本文转载自blog.csdn.net的呆呆象呆呆的文章"https://blog.csdn.net/qq_41554005/article/details/108085313"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top