再也不怕《计算机组成原理》这门课了

2023-10-21 04:20

本文主要是介绍再也不怕《计算机组成原理》这门课了,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

学习笔记

    • 计算机的发展
      • 主存储器的基本组成
      • 运算器的基本组成
      • 控制器的基本组成
      • 计算机性能指标
      • 定点数的表示
      • 补码的加减运算
      • 溢出判断
      • 符号扩展
      • 模运算的性质
      • 移位
      • 原码一位乘
      • 补码一位乘
      • 原码的除法运算
        • 恢复余数法
        • 加减交替法
        • 补码除法:加减交替法
      • 数据存储和排列
        • 大小端模式
        • 边界对齐
    • 浮点数的表示
      • 特点
      • IEEE 754
    • 电路的基本原理
      • 算术逻辑单元ALU
      • 常见逻辑门电路符号表示
      • 最基本的逻辑运算
      • 复合逻辑
      • 门电路求偶校验位
      • 一位全加器
      • 并行加法器
  • 存储系统
    • 存储系统的基本概念
    • 存储器的分类
      • 存取方式
      • 信息可保存性
      • 信息可更改性
    • 存储器性能指标
    • 主存储器的基本组成
      • 基本半导体元件及原理
      • 基本半导体元件及原理
      • 基本存储芯片的基本原理
      • 寻址
      • SRAM&DRAM
      • 二者对比
      • DRAM刷新
      • 刷新方式
      • 总结
      • ROM
    • 主存储器与CPU的连接
      • 单存储芯片与CPU的连接
      • 常见符号
      • 增加主存的存储字长-位拓展
      • 增加主存的存储字数-字扩展
      • 译码器
    • 双端口RAM和多模块存储器
      • 双端口RAM
      • 多体并行存储器
      • 多模块存储器
    • cache
      • 工作原理
      • 局部性原理
      • 性能分析
      • 待解决的问题
      • cache与主存的三种映射方式
      • 替换算法
        • 随机算法(RAND)
        • 先进先出(FIFO)
        • 近期最少使用(LRU)
        • 最不经常使用(LFU)
      • 写策略
        • 写命中
        • 写不命中
      • 页式存储器
        • 虚地址vs实地址
        • 逻辑页号-->主存块号
        • 地址变换过程
    • 虚拟存储技术
        • 页式虚拟存储器
        • 层次结构
        • 段式虚拟存储器
        • 段页式虚拟存储器
  • 指令系统
    • 指令定义
    • 指令格式
      • 零地址指令
      • 一地址指令
      • 二三地址指令
      • 四地址
    • 指令的分类
      • 按指令长度分类
      • 按操作码长度分类
      • 按操作类型分类
    • 拓展操作码
    • 指令寻址
      • 定长寻址
      • 变长寻址
      • 跳跃寻址
    • 数据寻址
      • 一地址指令
      • 直接寻址
      • 间接寻址
      • 寄存器寻址
      • 寄存器间接寻址
      • 隐含寻址
      • 立即寻址
      • 偏移寻址
        • 基址寻址
        • 基址寻址作用
        • 变址寻址
        • 变址寻址的作用
        • 基址&变址组合
        • 相对寻址
        • 相对寻址的作用
      • 硬件如何实现数的比较
      • 堆栈寻址
    • CISC&RISC
  • 中央处理器CPU
    • 运算器基本组成
    • 控制器的基本组成
    • CPU的功能
    • 运算器和控制器的功能
      • 运算器的基本结构
      • 控制器的基本结构
      • CPU的基本结构
    • 指令周期的数据流
      • 指令周期
      • 取指周期
      • 间址周期
      • 执行周期
      • 中断周期
    • 数据通路
      • CPU内部单总线方式
      • 例题
      • 专用数据通路方式-取指周期
      • 例题
        • 取指令的数据通路
        • 运算器ALU与内存的存取访问
        • 加载数据的通路
        • 加法操作
        • 存数据
    • 硬布线控制器的设计
      • 分析微操作序列
      • 安排微操作时序
      • 取指周期
      • 间址周期
      • 执行周期
      • 组合逻辑
      • 逻辑图
    • 微程序控制器的设计思路
      • 微程序控制器的基本结构
      • 工作原理
      • 微指令的格式
      • 微指令的编码方式
      • 微程序单元的设计
      • 微程序设计的分类
      • 比较
    • 指令流水
      • 流水线的表示
      • 流水线的性能指标
      • 机器周期的设置
      • 影响流水线的因素
        • 结构冲突
        • 数据冲突
        • 控制相关
      • 流水线的分类
      • 流水线的多发技术
      • 五段式指令流水线
        • 运算类指令
        • LOAD类指令
        • STORE存储指令
        • 条件转移指令
        • 无条件转移
  • 总线
    • 总线物理实现
    • 总线特点
    • 总线特性
    • 总线分类
    • 总线分类(按功能)
      • 系统总线
    • 系统总线的结构
      • 单总线结构
      • 双总线结构
      • 三总线结构
      • 四总线结构
    • 总线的性能指标
    • 总线仲裁
    • 集中仲裁方式
      • 链式查询
      • 计数器查询
      • 独立请求方式
    • 分布式仲裁
    • 总线传输的四个阶段
      • 同步定时的方式
      • 异步定时的方式
      • 半同步式通信
      • 分离式的通信
    • 总线的标准
    • 局部总线标准
  • IO系统
    • IO控制器
    • IO控制方式简介
    • DMA方式
    • 通道控制方式
    • IO系统的组成
    • 输入输出设备
    • 外存储器
    • 磁盘存储器
    • RAID
    • 光盘存储器
    • IO接口的作用
    • 统一编址&独立编址
    • 程序查询方式
    • 中断
    • 中断分类
    • 中断请求标记
    • 中断判优
    • 优先级设置
    • 硬件向量法
    • 中断服务程序
    • 中断屏蔽技术
    • 程序中断方式
    • DMA方式
    • DMA方式的特点
    • DMA传送方式

计算机的发展

  • 低电频表示0,高电平表示1
  • 主板上的印刷电路,可以传递电信号即二进制数位(1bit)
  • 计算机系统 = 硬件+软件
  • 逻辑元件:电子管-晶体管-集成电路(许多晶体管连在一起)
  • 内存:汞延迟线、磁鼓-磁芯-半导体
  • 机器字长:计算机一次整数运算所能处理的二进制位数
  • 冯诺依曼:五大部件组成、指令和数据可以同等地位存储于存储器、指令和数据用二进制表示、指令又操作码和地址码组成、存储程序、以运算器为中心
  • CPU:运算器和控制器

主存储器的基本组成

  • MAR(Memory Address Register):存储地址寄存器
  • MDR(Memory Data Register):存储数据寄存器
  • 存储体:数据在存储体内按地址存
  • 存储单元:每个存储单元放一串二进制代码
  • 存储字:存储单元中二进制代码的组合
  • 存储字长:存储单元中二进制代码的位数
  • 存储元:存储二进制的电子元件,每个存储元可存1bit
  • 例:MAR=4位:总共有2^4个存储单元,MDR=16位:每个存储单元可存放16bit,1个字 = 16bit
  • 1byte字节 = 8bit1B = 1byte1b =1bit

运算器的基本组成

  • ACC(Accumulator):累加器,用于存放操作数和运算结果。
  • MQ(Multiple_Quotient Register):乘商寄存器,在乘商运算时存放操作数和运算结果。
  • x:通用操作数寄存器,用于存放操作数。
  • ALU(Arithmetic and logic Unit):算术逻辑单元,通过复杂的电路实现算数运算、逻辑运算。

控制器的基本组成

  • CU(Control Unit):控制单元,分析指令,给出控制信号。
  • IR(Instruction Register):指令寄存器,存放当前执行的指令。
  • PC(Program Counter):程序计数器,存放下一条指令的地址,自动+1。
  • 若乘积太大,则需要MQ辅助存储,被乘数放在MQ中,乘数放在x(通用操作寄存器)中。
  • PC-MAR-M(MAR)-MDR-IR-PC+1- IR-CU(指令寄存器)取出指令后,提取操作码,给CU(控制单元),CU分析指令的具体含义
  • 十进制到2进制 整数:除基取余法,小数:乘基取整法

计算机性能指标

  • MAR位数:反映存储单元的个数

  • MDR位数:=存储字长=每个单元的大小

  • 总容量:存储单元个个数×存储字长 bit

  • CPU主频:CPU内数字脉冲信号振荡的频率

  • CPU时钟周期 = 1 / CPU主频

  • CPI:执行一条指令所需的时钟周期数

  • 执行一条指令的耗时 = CPI×CPU时钟周期

  • CPU执行时间(整个程序的耗时) = CPU时钟周期数 / 主频 = (指令条数*CPI)/ 主频

  • IPS:每秒执行多少条指令

  • FLOPS:每秒执行多少次浮点运算

  • 数据通路带宽:数据总线一次所能并行传送信息的位数(各硬件部件通过数据总线传输数据)

  • 吞吐量:系统在单位时间内处理请求的数量

  • 奇校验码: 整个校验码(有效信息位和校验位)中“1”的个数为奇数。

  • 偶校验码: 整个校验码(有效信息位和校验位)中“1”的个数为偶数。

  • 海明码: 将信息位进行偶校验->多个校验位->多个校验位标明出错位置

  • 校验码状态: 2^k .n+k位都可能出错,所以2 ^ k >= n+k+1

  • 循环冗余校验码: k个信息位+R个校验位作为被除数,数据发送,接收方约定一个除数,添加校验位后需保证除法余数为0。CRC码可以进行单比特纠错

定点数的表示

  • 无符号数:整个机器字长的全部二进制均为数值位,没有符号位,相当于数绝对值
  • n位的无符号数的表示范围:0 ~ 2^n - 1
  • 正数:原码=反码=补码
  • 负数反码:符号位不变:其他位求反,补码:反码加+1;
  • 补码整数的表示范围:-2^n<=x<=2 ^ n-1(比原码多表示一个 -2 ^ n)
  • 负数补码转回原码的方法相同:尾数取反,末尾+1
  • 移码:补码的基础上将符号位取反。移码只能用于表示整数,补码整数的表示范围:-2^n<=x<=2 ^ n-1
  • [-x]补:x的补码的符号位、数值位全部取反,末尾+1
  • 补码让减法操作变成加法操作

补码的加减运算

[A+C]补 = A补+C补
[A-C]补 = A补+ -C补
对于补码来说,无论加法还是减法,最终都表示成加法

溢出判断

正数符号00,负数符号11
01:上溢出
10:下溢出

符号扩展

短数据—长数据:多出的补0

模运算的性质

带余除法:x = qm + r
-3 = -112 + 9
9 = 0
12 + 9
21 = 1*12 + 9
模 = 补数+原数的绝对值
8位运算自动模2的8次方

移位

  • 正数的补码原码相同
    右移:高位补0,低位舍弃
    左移:低位补0,高位舍弃
  • 负数补码的算数移位
    右移:高位补1,低位舍弃
    左移:低位补0,高位舍弃

原码一位乘

  • 乘数符号位不参加运算
  • 符号位通过异或确定
  • 数值部分通过被乘数与乘数绝对值的n轮加法移位完成
    逻辑右移:符号位不变,高位补 0

补码一位乘

n次加法、移位 最后再多来一次加法
补码算数右移:符号位不变,高位补符号
辅助位-MQ中最低位 = 1时,ACC+x补
辅助位-MQ中最低位 = 0时,ACC+0
辅助位-MQ中最低位 = -1时,ACC+ -x补

补码算术左移,低位补0,补码的算数右移高位补1

原码的除法运算

ACC:存放被除数、余数
MQ:乘商寄存器,在乘除时,用于存放操作数或运算结果
X:通用操作数寄存器,存放除数

恢复余数法

符号位:单独异或
数值位:取绝对值进行除法计算
需求出:除数的补码-补数的补码
MQ:商1:代表ACC中 被除数+X中 -除数的补
若结果为负,则说明被除数小,则MQ最后一位会置0,加上除数的补,恢复原来值.
ALU: 进行运算,运算完放入ACC中
ACC中的数不断左移。

  • 余数为负 商0,并恢复余数之后,+ -y的补余数为正,逻辑左移(低位补0,高位舍弃)
    左移n次,上商n+1次,最后一次上商余数不左移

  • 当余数为负时商0,并+除数,再左移,再-|除数|

加减交替法

当余数为负时 商0,并左移,再+|除数|

若加完之后余数为负(a),加上y的补(b),恢复余数,之后左移(a+b),(a+b)* 2 + -y的补,相当于:2*a+b

  • 因此若余数为负,则可以直接商0,并让余数左移1位再加上除数
  • 若余数为正,则商1,让余数左移一位,再减去除数,得到新的余数
  • 最后一步若余数为负需商0,并+y的补得到正确的余数

加减可能 n+1 / n+2次,左移只需n次

补码除法:加减交替法

求出:x补,y补,-y补

  • 符号位参与元素
  • 被除数/余数/除数,采用双符号位

被除数和除数
同号,则被除数减去除数
异号则被除数加上除数

余数和除数同号,商1,余数左移减去除数
余数和除数异号,商0,余数左移加上除数
重复n次
末尾商置1
最后余数*2^-4

数据存储和排列

大小端模式

大端方式:低位存高地址,高位存低地址
小端方式:低位存低地址,高位存高地址

边界对齐

计算机按字节编址,即每个字节对应一个地址,通常也支持按字、按半字,按字节寻址。
假设存储字长32位,则一个字=32bit,半字=16bit,每次访问只能读写1个字
边界对齐方式
边界不对齐方式

浮点数的表示

阶符-阶码-尾数
阶码:反映数值的大小
尾数:反应精度
尾数右移,小数点左移,阶码增加
尾数左移,小数点右移,阶码减少

特点

  • 规格化的原码尾数,最高数值一定是1
    正数为0.1XXX形式,最大值是0.11111,最小值0.10000
    尾数表示范围 0.5 < M < 1-2 ^ -n
    负数为1.1XXX最大值:1.10000,最小值:1.11111

  • 规格化的补码尾数,符号位与最高数值位一定相反
    正数为0.1XXX形式,最大值是0.11111,最小值0.10000
    尾数表示范围 0.5 < M < 1-2 ^ -n
    负数为1.0XXX最大值:1.01111,最小值:1.00000

IEEE 754

  • 移码:补码的基础上将符号位取反。移码只能用于表示整数。
  • 移码=真值+偏置值
  • 8位移码的偏置值:128, 2的n-1次方
  • 数符+阶码用移码表示)+尾数(原码表示)1.M
  • float:数符1,阶码8位(-126-127)(阶码全1:-128,全0:-127 有特殊用处),尾数(23位),偏置值127
  • double:阶码:11位,尾数52位,数符1位,总共64位偏置值1023

例子

将十进制数-0.75转换为IEEE 754的单精度浮点数格式表示
(-0.75)10 = (-0.11)2 = (-1.1)2 * 2^-1
数符 = 1
尾数= .100000…(隐含最高位1)
阶码:真值 -1,移码=真值+偏移量=-1+127=126=0111 1110(凑足8位
–>1 0111 1110 1000000000000

IEEE 754 的单精度浮点数 C0 A0 00 00 H 的值是多少:

  • 转化为二进制
    1100 0000 1010 0000 0000 0000 0000 00000
  • 数符:1
  • 尾数:.01000000000(隐含最高位1)–>尾数真值=(1.01)2
  • 移码:10000001,若看作无符号数:129
  • 单精度偏移量:127
  • 真值:移码-偏移量=129-127=2=(1000 0001)-(111 1111)= (0000 0010)2 = (2)10
  • 结果:(-1.01) * 2^2 = -1.25*4 = -5.0

最小绝对值,最大绝对值
最小绝对值:尾数全为0,阶码真值最小:-126
真值:1.0*2^-126,最小 1-2 ^ N-1

最大值:尾数全为1,阶码真值最大127,整体真值为(1.111111) * 2 ^127

电路的基本原理

算术逻辑单元ALU

在这里插入图片描述

常见逻辑门电路符号表示

在这里插入图片描述

最基本的逻辑运算

在这里插入图片描述
在这里插入图片描述

复合逻辑

在这里插入图片描述
同或:
在这里插入图片描述

门电路求偶校验位

在这里插入图片描述

一位全加器

在这里插入图片描述

并行加法器

在这里插入图片描述

存储系统

存储系统的基本概念

在这里插入图片描述
存储介质:有半导体,磁性材料
RAM:(RandomAccessMemory)随机存取存储器
SAM:顺序存取存储器

存储器的分类

存取方式

在这里插入图片描述
内容与地址

信息可保存性

在这里插入图片描述

信息可更改性

在这里插入图片描述

存储器性能指标

在这里插入图片描述
数据宽度即 存储字长MDR是计算机中的主存数据寄存器。它的位数就是字长

主存储器的基本组成

基本半导体元件及原理

MOS管电控开关,输入电压达到阈值,就接通,半导体原器件。
一个MOS管就是一位。
多个原器件组成存储单元,几个存储的位数就是存储字长

多个存储单元构成存储体,也就是存储矩阵。

读写是一个存储字长,因为一个存储单元几个MOS管连在一起,一次读写就是所有的存储元。

存储字长与存储器有关

基本半导体元件及原理

在这里插入图片描述

基本存储芯片的基本原理

在这里插入图片描述

头上划线表示该信号 低电平有效
控制电路
片选线
CS:芯片选择信号
CE:芯片使能信号 chip enable
读写控制线

两根读/写线
WE:允许写
OE:允许读

一根读写线
WE: 低电平 ,高电平

片选线:根据地址线访问指定存储单元
每根线都对应一个金属引脚

8K X 8bit:8K存储单元数量,后面是存储字长

寻址

在这里插入图片描述
在这里插入图片描述

SRAM&DRAM

DRAM:电容存储信息
SRAM:双稳态触发器存储信息

栅极电容:
在这里插入图片描述
读出1:MOS管接通后,电容放电,数据线产生电流
读出0:MOS管接通后,数据线上 无电流

双稳态触发器:6个MOS管组成
DRAM:
1:A高B低
0:A低B高

在这里插入图片描述
电容放电信息被破坏,读出后应重写

二者对比

在这里插入图片描述
SRAM:用作cache
DRAM:用作主存

DRAM:需要刷新:电容电荷会消失

DRAM刷新

在这里插入图片描述
行列地址:减少选通器的数量
8根地址线:2^8 根选通线
如果采用行列地址:2^4+2 ^ 4根选通线
在这里插入图片描述
在这里插入图片描述

刷新方式

在这里插入图片描述

总结

在这里插入图片描述

ROM

RAM:随机存取的芯片
易失性,断电后数据消失
ROM:
非易失性,断电数据不会丢失

MROM(Mask Read-Only Memory)-掩膜只读存储器
PROM(Programmable Read-Only Memory)-可编程(写一次)

EPROM(Erasable Programmable ReadOnly)-可擦除可编程只读存储器
FlashMemory–闪速存储器(U盘,SD卡就是闪存)
E2PROM:断电也能保存信息,先擦除再写入,读比写快

SSD(solid state Drives)-固态硬盘

在这里插入图片描述

RAM:内存
ROM:辅存

BIOS:重要的ROM:开机时读取系统和指令到内存,内存条就是内存,主板上ROM也是主存的一部分。
在这里插入图片描述
在这里插入图片描述
ROM:也具有随机存取的特性,并不与RAM完全对立
RAM:具有易失性

主存储器与CPU的连接

数据总线(宽度=存储字长)

单存储芯片与CPU的连接

在这里插入图片描述
在这里插入图片描述

常见符号

在这里插入图片描述
CS/CE:片选信号,上面有 —:代表低电平有效
WE/WR:读写控制线

增加主存的存储字长-位拓展

在这里插入图片描述
在这里插入图片描述

增加主存的存储字数-字扩展

线选法:
在这里插入图片描述
1-2、3-8 译码器
在这里插入图片描述

译码器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

CPU中具有使能端:地址信号稳定后向存储器发出请求信号,使产生有效的片选信号

双端口RAM和多模块存储器

在这里插入图片描述

双端口RAM

优化多核CPU访问同一根内存条的速度
在这里插入图片描述

多体并行存储器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
m = T / R:存取周期,或者是总线传输周期

主频越高,读写周期越短

多模块存储器

在这里插入图片描述
在这里插入图片描述

cache

工作原理

在这里插入图片描述

局部性原理

在这里插入图片描述

性能分析

在这里插入图片描述
在这里插入图片描述

待解决的问题

在这里插入图片描述
在这里插入图片描述

cache与主存的三种映射方式

在这里插入图片描述

  • 全相联
    在这里插入图片描述
  • 直接相联
    在这里插入图片描述
  • n路组相联
    在这里插入图片描述
    在这里插入图片描述

替换算法

随机算法(RAND)

在这里插入图片描述

先进先出(FIFO)

在这里插入图片描述
发生抖动现象:最先换出的很快就被换入

近期最少使用(LRU)

在这里插入图片描述
在这里插入图片描述

最不经常使用(LFU)

在这里插入图片描述

在这里插入图片描述

写策略

写命中

在这里插入图片描述
在这里插入图片描述

写不命中

在这里插入图片描述
在这里插入图片描述

页式存储器

在这里插入图片描述

虚地址vs实地址

在这里插入图片描述

逻辑页号–>主存块号

在这里插入图片描述

地址变换过程

在这里插入图片描述

快表是在地址变换过程中起作用
cache是在获取物理地址后,访问物理地址时,起到加速作用

快表相联存储器可以按照内存寻访
(TLB)快表
在这里插入图片描述
在这里插入图片描述

虚拟存储技术

在这里插入图片描述

页式虚拟存储器

在这里插入图片描述
在这里插入图片描述

层次结构

在这里插入图片描述

段式虚拟存储器

在这里插入图片描述

段页式虚拟存储器

在这里插入图片描述

指令系统

在这里插入图片描述

指令定义

在这里插入图片描述
ARM:手机支持的指令系统架构

指令格式

在这里插入图片描述

零地址指令

在这里插入图片描述

一地址指令

在这里插入图片描述
在这里插入图片描述

二三地址指令

在这里插入图片描述

四地址

在这里插入图片描述

A4:下一条要执行的指令地址
指令执行后 将PC的值修改为 A4 所指的地址

在这里插入图片描述

指令的分类

按指令长度分类

在这里插入图片描述

按操作码长度分类

在这里插入图片描述

按操作类型分类

在这里插入图片描述
在这里插入图片描述

拓展操作码

在这里插入图片描述
在这里插入图片描述
前12位全1代表零地址指令

在这里插入图片描述

  • 举例
    在这里插入图片描述
    短的操作码不能是长的操作码的前缀

在这里插入图片描述

指令寻址

在这里插入图片描述

定长寻址

主存的编址方式决定 PC+x(指令字长)
在这里插入图片描述

变长寻址

在这里插入图片描述

跳跃寻址

在这里插入图片描述
在这里插入图片描述

数据寻址

在这里插入图片描述

一地址指令

在这里插入图片描述

直接寻址

在这里插入图片描述

间接寻址

在这里插入图片描述

在这里插入图片描述

寄存器寻址

在这里插入图片描述

寄存器间接寻址

在这里插入图片描述

隐含寻址

在这里插入图片描述

立即寻址

在这里插入图片描述
在这里插入图片描述

偏移寻址

在这里插入图片描述

基址寻址

基址寄存器(base address register)
在这里插入图片描述

基址寻址作用

在这里插入图片描述

程序员不能访问基地址的内容

在这里插入图片描述

变址寻址

在这里插入图片描述

变址寻址的作用

在这里插入图片描述

变址地址面向用户的
在这里插入图片描述

基址&变址组合

在这里插入图片描述

相对寻址

在这里插入图片描述

相对寻址的作用

在这里插入图片描述

在这里插入图片描述

取出当前指令后,PC会指向下一条指令,相对寻址是相对于下一条指令的偏移

在这里插入图片描述

硬件如何实现数的比较

PSW:程序状态字寄存器
在这里插入图片描述

堆栈寻址

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

CISC&RISC

Complex Instruction Set Computer
Reduced Instruction Set Computer

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

中央处理器CPU

CPU:运算器与控制器

在这里插入图片描述

运算器基本组成

在这里插入图片描述

控制器的基本组成

在这里插入图片描述
在这里插入图片描述

CPU的功能

在这里插入图片描述

运算器和控制器的功能

在这里插入图片描述

运算器的基本结构

在这里插入图片描述
在这里插入图片描述

控制器的基本结构

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

CPU的基本结构

在这里插入图片描述
在这里插入图片描述

指令周期的数据流

指令周期

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

取指周期

在这里插入图片描述

间址周期

在这里插入图片描述

执行周期

中断周期

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据通路

在这里插入图片描述

CPU内部单总线方式

内部总线:如CPU内部连接各寄存及运算部件之间的总线
系统总线:指同一台计算机系统的各部件,如CPU、内存、通道、各类IO接口互相连接的总线。

在这里插入图片描述
在这里插入图片描述

例题

  • 取指周期

在这里插入图片描述

  • 间址周期
    在这里插入图片描述
  • 执行周期

在这里插入图片描述

专用数据通路方式-取指周期

在这里插入图片描述

例题

取指令的数据通路

运算器ALU与内存的存取访问

ALU需要的数据放在累加寄存器ACC

在这里插入图片描述

加载数据的通路

在这里插入图片描述

加法操作

在这里插入图片描述

存数据

在这里插入图片描述
在这里插入图片描述

硬布线控制器的设计

CU发出一个微命令,可完成对应的微操作

在这里插入图片描述
四个触发器:FE:取指周期,IND:间址周期,EX:执行周期,INT:中断周期

在这里插入图片描述

分析微操作序列

在这里插入图片描述
ID:Instruction Decoder:指令译码器

安排微操作时序

取指周期

在这里插入图片描述

间址周期

在这里插入图片描述

执行周期

在这里插入图片描述
在这里插入图片描述

组合逻辑

  • 取指阶段
    在这里插入图片描述
    在这里插入图片描述

逻辑图

在这里插入图片描述
在这里插入图片描述

微程序控制器的设计思路

在这里插入图片描述
程序:由指令序列组成
微程序:由微指令序列组成,每一种指令对应一个微程序
指令是对程序执行步骤的描述
微指令:是对指令执行步骤的描述,可能包含多个微命令

微程序控制器的基本结构

在这里插入图片描述

工作原理

在这里插入图片描述

题目

在这里插入图片描述
在这里插入图片描述

微指令的格式

在这里插入图片描述

微指令的编码方式

在这里插入图片描述
在这里插入图片描述
例题
在这里插入图片描述
在这里插入图片描述

  • 断定方式

在这里插入图片描述
在这里插入图片描述

微程序单元的设计

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

微程序设计的分类

在这里插入图片描述

比较

在这里插入图片描述

在这里插入图片描述

指令流水

在这里插入图片描述

在这里插入图片描述

流水线的表示

在这里插入图片描述

流水线的性能指标

  • 吞吐率
    在这里插入图片描述
  • 加速比
    在这里插入图片描述
  • 效率
    在这里插入图片描述

机器周期的设置

在这里插入图片描述
IF:取指阶段 Fetch:取指

影响流水线的因素

结构冲突

在这里插入图片描述

数据冲突

在这里插入图片描述

控制相关

在这里插入图片描述

流水线的分类

在这里插入图片描述
在这里插入图片描述

流水线的多发技术

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

五段式指令流水线

运算类指令

在这里插入图片描述

LOAD类指令

在这里插入图片描述

STORE存储指令

在这里插入图片描述

条件转移指令

在这里插入图片描述

无条件转移

在这里插入图片描述

例题
在这里插入图片描述

LOAD阶段是在WB阶段把取出的数写回寄存器

总线

在这里插入图片描述

总线物理实现

在这里插入图片描述

总线特点

分时共享

在这里插入图片描述

总线特性

在这里插入图片描述

总线分类

在这里插入图片描述

总线分类(按功能)

在这里插入图片描述

系统总线

在这里插入图片描述

系统总线的结构

单总线结构

在这里插入图片描述

双总线结构

在这里插入图片描述
通道:阉割版的CPU专门管理IO设备的

三总线结构

在这里插入图片描述

四总线结构

在这里插入图片描述

总线的性能指标

在这里插入图片描述
在这里插入图片描述

  • 例题
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210605110735460.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,s hadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ2MDkyMDYx,size_16,color_FFFFFF,t_70#pic_center)

总线仲裁

解决多个设备争用总线的问题

在这里插入图片描述

集中仲裁方式

链式查询

在这里插入图片描述

计数器查询

在这里插入图片描述

独立请求方式

在这里插入图片描述
在这里插入图片描述

分布式仲裁

在这里插入图片描述

总线传输的四个阶段

在这里插入图片描述

同步定时的方式

在这里插入图片描述
在这里插入图片描述

异步定时的方式

在这里插入图片描述
在这里插入图片描述

半同步式通信

在这里插入图片描述

分离式的通信

在这里插入图片描述
在这里插入图片描述

总线的标准

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

局部总线标准

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

IO系统

在这里插入图片描述

IO控制器

在这里插入图片描述

IO控制方式简介

在这里插入图片描述
在这里插入图片描述

DMA方式

在这里插入图片描述
在这里插入图片描述

通道控制方式

在这里插入图片描述
在这里插入图片描述

IO系统的组成

在这里插入图片描述
在这里插入图片描述

输入输出设备

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

外存储器

在这里插入图片描述

磁盘存储器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

RAID

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

光盘存储器

在这里插入图片描述

IO接口的作用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

统一编址&独立编址

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

程序查询方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

中断

在这里插入图片描述

中断分类

在这里插入图片描述

中断请求标记

在这里插入图片描述

中断判优

在这里插入图片描述

优先级设置

在这里插入图片描述
在这里插入图片描述

硬件向量法

在这里插入图片描述

中断服务程序

在这里插入图片描述
在这里插入图片描述
单重中断:执行中断服务程序时不响应新的中断请求

中断屏蔽技术

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

程序中断方式

在这里插入图片描述
例题
在这里插入图片描述
在这里插入图片描述

DMA方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

DMA方式的特点

在这里插入图片描述

DMA传送方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

再见!

过了一遍这个课,感觉懵懵的,还是需要再细学一次。
必须要感谢咸鱼学长,讲得不错。

这篇关于再也不怕《计算机组成原理》这门课了的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/251911

相关文章

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

hdu4407容斥原理

题意: 有一个元素为 1~n 的数列{An},有2种操作(1000次): 1、求某段区间 [a,b] 中与 p 互质的数的和。 2、将数列中某个位置元素的值改变。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.Inpu

hdu4059容斥原理

求1-n中与n互质的数的4次方之和 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWrit

寻迹模块TCRT5000的应用原理和功能实现(基于STM32)

目录 概述 1 认识TCRT5000 1.1 模块介绍 1.2 电气特性 2 系统应用 2.1 系统架构 2.2 STM32Cube创建工程 3 功能实现 3.1 代码实现 3.2 源代码文件 4 功能测试 4.1 检测黑线状态 4.2 未检测黑线状态 概述 本文主要介绍TCRT5000模块的使用原理,包括该模块的硬件实现方式,电路实现原理,还使用STM32类

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

TL-Tomcat中长连接的底层源码原理实现

长连接:浏览器告诉tomcat不要将请求关掉。  如果不是长连接,tomcat响应后会告诉浏览器把这个连接关掉。    tomcat中有一个缓冲区  如果发送大批量数据后 又不处理  那么会堆积缓冲区 后面的请求会越来越慢。

PHP原理之内存管理中难懂的几个点

PHP的内存管理, 分为俩大部分, 第一部分是PHP自身的内存管理, 这部分主要的内容就是引用计数, 写时复制, 等等面向应用的层面的管理. 而第二部分就是今天我要介绍的, zend_alloc中描写的关于PHP自身的内存管理, 包括它是如何管理可用内存, 如何分配内存等. 另外, 为什么要写这个呢, 因为之前并没有任何资料来介绍PHP内存管理中使用的策略, 数据结构, 或者算法. 而在我们

Smarty模板执行原理

为了实现程序的业务逻辑和内容表现页面的分离从而提高开发速度,php 引入了模板引擎的概念,php 模板引擎里面最流行的可以说是smarty了,smarty因其功能强大而且速度快而被广大php web开发者所认可。本文将记录一下smarty模板引擎的工作执行原理,算是加深一下理解。 其实所有的模板引擎的工作原理是差不多的,无非就是在php程序里面用正则匹配将模板里面的标签替换为php代码从而将两者