计算机组成原理
第一章 计算机系统概论
1.1 计算机系统简介
一、 计算机软硬件概念
-
计算机系统(硬件、软件)
**硬件:**计算机的实体,如主机、外设
**软件:**由具有各类特殊功能的信息(程序)组成
软件分为系统软件和应用软件
- 系统软件:用来管理整个计算机系统
- 应用软件:按任务需要编制城的各种程序
二、计算机系统的层次结构
高级语言 | 虚拟机器M3 | 用编译程序翻译成汇编语言程序 |
---|---|---|
汇编语言 | 虚拟机器M2 | 用汇编程序翻译成机器语言程序 |
操作系统 | 虚拟机器 | 用机器语言解释操作系统 |
机器语言 | 实际机器M1 | 用微指令解释机器指令 |
微指令系统 | 微程序机器M0 | 由硬件直接执行微指令 |
三、计算机体系结构和计算机组成
- 计算机体系结构:程序员所见到的计算机系统的属性,概念性的结构与功能特性(指令系统、数据类型、寻址技术、I/O机理)
- 计算机组成:实现计算机体系结构所体现的属性(具体指令的实现)
1.2 计算机基本组成
一、冯诺依曼计算机的特点
- 计算机由五大部件组成:运算器、控制器、存储器、输入设备、输出设备(CPU:运算器、控制器)
- 指令和数据以同等地位存于存储器,课按地址寻访
- 指令和数据用二进制表示
- 指令由操作码和地址码组成
- 存储程序(具有存储程序特征的机器都称为冯诺依曼机器)
- 以运算器为中心
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qCz97DUa-1646990725815)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220131133733581.png)]
二、现代计算机
- 以存储器为中心
三、 存储器的基本组成
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hitKi6G7-1646990725816)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220203175220005.png)]
MAR:存储器地址寄存器,反应存储单元的个数
MDR:存储器数据寄存器,反应存储字长
类比:
存储体 | 存储单元 | 存储元件 |
---|---|---|
大楼 | 房间 | 床位 |
存储单元:存放一串二进制代码
存储字:存储单元中二进制代码的组合
存储字长:存储单元中二进制代码的位数,每个存储单元赋予一个地址
四、运算器的基本组成
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MBFOsHP5-1646990725817)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220203234847161.png)]
五、控制器的基本组成
-
控制器的功能
-
解释指令
-
保证指令的按序执行
-
完成一条指令的步骤
-
-
控制器的基本组成
完成一条指令的步骤:取指令(PC)、分析指令(IR)、执行指令(CU)
PC:存放当前欲执行的指令的地址、具有计数功能(PC)+1->PC
IR:存放当前欲执行的指令
CU:控制单元
1.3 计算机硬件的主要技术指标
一、机器字长
CPU一次能处理数据的位数,与CPU中的寄存器位数有关。(通常是8位)
二、运算速度
-
主频
-
核数,每个核支持的线程数
-
指令执行的速度(吉普森法)
T M = ∑ i = 1 n f i t i T_M=\sum_{i=1}^{n}f_it_i TM=i=1∑nfiti -
CPI,执行一条指令所需始终周期数
-
MIPS,每秒执行百万条指令
-
FLOPS,每秒浮点运算次数
三、存储容量
存放二进制信息的总位数
-
主存容量
- 存储单元个数 × 存储字长
- 字节数
-
辅存容量
字节数
第二章 计算机的发展及应用(略)
第三章 系统总线
3.1 总线的基本概念
-
为什么要用总线
为了解决分散连接的问题,引入总线。
-
什么是总线(bus)
总线式连接各个部分的信息传输线,是各个部件共享的传输介质
-
总线上信息的传输
- 串行(一位一位的)
- 并行(多位多位的)
3.2 总线的分类
-
片内总线
芯片内部的总线
-
系统总线
计算机各部件之间的信息传输线
-
数据总线:双向的 与机器字长、存储字长有关
-
地址总线:单向的 与存储地址、I/O地址有关
-
控制总线:1. 出:存储器读、存储器写、总线允许、中断确认
2.入:中断请求、总线请求
-
-
通信总线
用于计算机系统之间或计算机与其它系统(入控制仪表、移动通信等)之间的通信。
传输方式:①串行通信总线;②并行通信总线
3.3 总线的特性及性能指标
一、总线物理实现
二、总线特性
-
机械特性
尺寸、形状、管脚数、排列顺序
-
电气特性
传输方向和有效的电平范围
-
功能特性
每根传输线的功能:地址、数据、控制
-
时间特性
信号的时序关系
三、总线的性能指标
-
总线宽度
数据线的根数
-
标准传输率
每秒传输的最大字节数(MBps)
-
时钟同步/异步
-
总线复用
地址线与数据线复用,[复用]:减少戏弄i俺的管脚数
-
信号线数
地址线、数据线和控制线的总和
-
总线控制方式
突发、自动、仲裁、逻辑、计数
-
其他指标
负载能力(比如一条总线可以挂载多少个I/O设备)
四、总线标准
3.4 总线结构
一、单总线结构
二、多总线结构
- 双总线结构
- 以CUP为中心
- 以存储器为中心
- 三总线结构
- 三总线结构
- 四总线结构
3.5 总线控制
一、 总线判优控制
-
基本概念
- 主设备(模块):对总线有控制权
- 从设备(模块):响应从设备发来的总线命令
-
总线判优控制
-
集中式
- 链式查询
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fJd5Tfuc-1646990725817)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220205223938685.png)]
**优:**优先级固定,结构简单,扩充容易
**缺:**对电路故障敏感,优先级不能改变。
- 计数器定时查询
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JN3EQG4Y-1646990725818)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220205224233195.png)]
**优:**优先级可调整,可使各个设备的优先级相等,对电路故障敏感度低于链式查询
**缺:**增加了控制线数(n个设备,则需要log2n上取整+2条控制线),控制也比相对链式查询要复杂
- 独立请求方式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RWjBfIzk-1646990725818)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220205230314014.png)]
**优:**响应速度快,对优先次序控制相当灵活
**缺:**控制线数量多(n个设备,2n+1条控制线)控制总线逻辑复杂
-
分布式
-
二、总线通信控制
-
**目的:**解决通信双方协调配合问题
-
总线传输周期:
主设备到从设备一次完成的可靠的通信周期
- **申请分配阶段:**主模块申请,总线仲裁决定
- **寻址阶段:**主模块像从模块给出地址和命令
- **传数阶段:**主模块和从模块交换数据
- **结束阶段:**主模块撤销有关信息
-
总线通信的四种方式
- **同步通信:**由统一时标控制数据传送
- **异步通信:**采用应答方式,没有公共时钟标准
- **半同步通信:**同步、异步结合
- 上述三种通信共同点
- 主模块发地址、命令 占用总线
- 从模块准备数据 不占用总线
- 从模块向主模块发数据 占用总线
- 上述三种通信共同点
- **分离式通信:**充分挖掘系统总线每个瞬间的潜力,让系统总线发挥最大效率
- 子周期1 主模块申请站用总线,使用完后,放弃总线的使用权
- 子周期2 从模块申请占用总线,讲各种信息送至总线上
- 特点:
- 各个模块有权申请占用总线
- 采用同步方式通信,不等对方回答
- 各模块准备数据时,不占用总线
- 总线被占用时,无空闲
第四章 存储器
4.1 概述
一、存储器分类
- 按存储介质分类
- 半导体存储器 易失
- 磁表面存储器 非易失
- 磁芯存储器 非易失
- 光盘存储器 非易失
- 按存取方式分类
- 存取时间与物理地址无关(随机访问)
- 随机存储器 在程序的执行过程中可读可写
- 只读存储器 在程序的执行过程中只读
- 存取时间与物理地址有关(串行访问)
- 顺序存取存储器 磁带
- 直接存取存储器 磁盘
- 存取时间与物理地址无关(随机访问)
- 在计算机中的作用分类
- 主存储器
- RAM
- ROM
- 辅助存储器
- Flash Memory
- 高速缓冲存储器(Cache)
- 主存储器
二、存储器的层次结构
-
存储器的三个主要特征关系
速度 容量 价格/位
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QPQq7P8k-1646990725818)(C:\Users\86187\Desktop\20200712083151263.png)]
-
缓存——主存层次 和 主存——辅存层次
缓存用来解决主存与CPU速度差距太大的问题
4.2 主存储器
一、概述
-
主存的基本组成
-
主存与CPU之间的联系
-
主存中存储单元的地址分配
-
主存的技术指标
-
存储容量
主存存放二进制代码的总位数
-
存储速度
-
存取时间
存储器的访问时间
读出时间、写入时间
-
存取周期
连续两次独立的存储器操作(读或写)多虚的最小间隔时间
-
-
存储器的带宽(位/秒)
-
二、半导体存储芯片简介
-
半导体存储芯片的基本结构
片选线: C S ‾ \overline{CS} CS(芯片选择) C E ‾ \overline{CE} CE(芯片使能)
读/写控制线: W E ‾ \overline{WE} WE(低电平写 高电平读)
O E ‾ \overline{OE} OE(允许读) W E ‾ \overline{WE} WE(允许写)
-
半导体存储芯片的译码驱动方式
- 线选法
- 重合法
三、随机存取存储器(RAM)
-
静态RAM(SRAM)
-
静态RAM基本电路
T1 ~ T4:触发器,存放01的部件
T5、T6:行开关,控制读写的部件
T7、T8:列开关,一列共用
-
-
动态RAM(DRAM)
-
动态RAM基本单元电路
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f7ig0n87-1646990725819)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220208184659092.png)]
左侧电路:信息保存在Cg
T4:预充电管,预充电信号有效时打开 VDD:通过T4对读数据线充电,使其变为高电平
-
动态RAM刷新
-
**原因:**动态RAM是利用电容保存电荷的方式来保存信息的,因电容小,所以很容易漏电,若一段时间不对电容写入,信息很容易丢失(刷新只与行地址有关)
-
刷新方式:
-
**集中刷新:**在一个周期内理由一段固定的时间,一次对存储器的所有行进行逐一再生,在此期间停止对存储器的读写操作,称为“死区”
-
**优点:**读写操作时不受刷新工作的影响
-
**缺点:**处于死区时泵访问存储器
-
-
**分散刷新:**把对每行的刷新分散到各个工作周期中。一个存储器的系统工作周期分为了两部分:前半部分用于正常读写或保存;后半部分用于刷新,加长了系统的存取周期。
-
**优点:**无死区
-
**缺点:**加长了系统的存取周期,降低了整机的速度
-
-
**异步刷新:**分散刷新与集中刷新相结合,
-
-
-
-
SRAM和DRAM的比较
四、只读存储器(ROM)
-
掩模式ROM(MROM)
内容由半导体制造厂按需求直接写入,写入后无法更改。
- **优点:**可靠性高,集成度高,价格便宜
- **缺点:**灵活性差
-
一次可编程ROM(PROM)
只允许一次编程,一旦写入,内容无法改变。
-
多次可编程ROM(EPROM)
-
EEPROM
电可擦写
全局擦写
全部擦写
-
Flash Memory(闪速存储器)
在EPROM和E2PROM的基础上发展起来,即可在不加电的情况下长期保存信息,又能在线进行快速擦除与重写,具备RAM功能。
五、存储器与CPU的连接
-
存储器容量的扩展
-
位扩展(增加存储字长)
-
**连接方式:**将多个存储芯片的地址端、片选端和读写控制端相应并联,数据端分别引出。
-
**例:**用2片1K×4位存储芯片组成1K×8位的存储器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qkjGgEEl-1646990725819)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220213201405818.png)]
-
-
字扩展(增加存储子的数量)
-
**连接方式:**将芯片的地址线、数据线、读写控制线相应并联,由片选信号来区分各芯片的地址范围。
-
**例:**用2片1K×8位存储芯片组成2K×8位的存储器。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ghy4gzb8-1646990725820)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220213201035373.png)]
A10为片选信号
-
-
字、位扩展
-
**例:**用8片1K×4位存储芯片组成4K×8位的存储器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n4lhi2ev-1646990725820)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220213202307523.png)]
两两为一组,A10和A11为片选信号
-
-
-
存储器与CPU的连接
-
合理选择存储芯片
- ROM通常存放系统程序、标准子程序和各类常数(不经常改动)
- RAM通常是为用户编程而设置的
- 选择芯片时,考虑芯片的数量(尽可能少),片选逻辑(尽可能简单),使其连线简单、方便
-
地址线的连接
通常将CPU地址线的低位与芯片的低位相连,用于选择芯片中的某一单元(字选);CPU的高位在扩充存储芯片时使用,用于片选芯片。
-
数据线的连接
-
读/写命令线的连接
-
片选线的连接
片选线的连接是CPU与存储芯片连接的关键。
-
时序、负载
-
六、存储器的校验
-
编码的最小距离
任意两组合法代码之间二进制位数的最少差异
编码的纠错、检错能力与编码的最小距离有关
L − 1 = D + C ( D ≥ C ) L — — 编 码 的 最 小 距 离 D — — 检 测 错 误 的 位 数 C — — 纠 正 错 误 的 位 数 L-1=D+C(D\geq C)\\L——编码的最小距离\\D——检测错误的位数\\C——纠正错误的位数 L−1=D+C(D≥C)L——编码的最小距离D——检测错误的位数C——纠正错误的位数 -
汉明码的组成
-
汉明码采用奇偶校验
- 奇校验:加上一个校验位后代码当中1的个数是奇数个
- 偶校验:加上一个校验位后代码当中1的个数是偶数个
-
汉明码采用分组校验
-
汉明码的分组是一种非划分方式
-
组成汉明码的三要素
-
汉明码的组成需添加k位检测位(即把汉明码分成k组)
2 k ≥ n + k + 1 n : 信 息 位 数 k : 检 测 位 2^k\geq n+k+1\\ n:信息位数\\k:检测位 2k≥n+k+1n:信息位数k:检测位 -
检测位的位置为2i位
-
检测位的取值
检测位的取值与改为所在的检测“小组”承担的奇偶校验任务有关
-
各检测位Ci所承担的检测小组为
-
-
- **例:**求0101按“偶校验”配置的汉明码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XLeNKfNA-1646990725820)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220215182529860.png)]
-
汉明码的纠错过程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xm7XrNX0-1646990725821)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220216230859664.png)]
当Pi = 1时,则为出错
-
**例:**已知接收到的汉明码为0100111,若按配偶原则配置,试问要求传送的信息是什么?
解:
1 2 3 4 5 6 7 0 1 0 0 1 1 1 C1 C2 C4 P 1 = 1 ⊕ 3 ⊕ 5 ⊕ 7 = 0 无 错 P 2 = 2 ⊕ 3 ⊕ 6 ⊕ 7 = 1 有 错 P 4 = 4 ⊕ 5 ⊕ 6 ⊕ 7 = 1 有 错 P_1 = 1\oplus3\oplus5\oplus7=0无错\\P_2 = 2\oplus3\oplus6\oplus7=1有错\\P_4=4\oplus5\oplus6\oplus7=1有错 P1=1⊕3⊕5⊕7=0无错P2=2⊕3⊕6⊕7=1有错P4=4⊕5⊕6⊕7=1有错
按从高到低把检测位排列得到二进制位置,即P4P2P1=110=6
∴第6位出错,汉明码修改为0100101
∴传送的信息为0101
若二进制位数恰好为检测位(1,2,4…),可不纠
-
七、提高访存速度的措施
- 采用高速器件(内存速度更快,带宽更大,访问延迟更小)
- 采用层次结构Cache—主存
- 调整主存结构
调整主存结构
-
单体多字系统
适用于程序和数据在存储体内是连续存放的情况。在一个存取周期内,从同一地址取出多条指令,然后再逐条将指令送至CPU执行,这样增大了存储器的带宽,提高了单体存储器的速度。这里的单体应该就是一个模块,但是每次可以读取多个字,可以和多体进行比较。
-
多体并行系统
有多个模块,每个模块有相同的容量以及存取速度,各模块各自都有独立的地址寄存器(MAR),数据寄存器(MDR),地址译码,驱动电路和读写电路,他们能够并行工作,同时也能交叉工作(什么是交叉工作?),但是并行读出的数据在总线上需要分时传送。地址分为体号与体内地址。
-
高位交叉
程序按体内地址顺序存放,他们在每一个模块中的地址是连续的,有利于存储器的扩充。高位地址表示体号,低位地址表示体内地址。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zv5cX29Q-1646990725821)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220217003406386.png)]
-
低位交叉
程序连续存放在相邻体中(又有交叉存储之称),低位地址表示体号,高位地址表示体内地址。这种编址方式又称为模M编址,其中M为模块数。每个模块的存取周期是不变的,但是CPU交叉访问各体,使得这几个存储体的读/写过程重叠进行。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ORGSq2we-1646990725821)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220217003433206.png)]
-
4.3 高速缓冲存储器
一、概述
由于程序的转移概率不会很低,数据分布的离散型较大,所以单纯依靠并行主存系统提高主存系统的频宽是有限的。为了避免CPU“空等”现象,在CPU和主存之间引入Cache
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HIX7U030-1646990725821)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220217155729462.png)]
-
程序局部性原理
程序访问的局部性原理包括时间局部性原理和空间局部性原理。
-
时间局部性原理
在最近的未来要用到的信息,很可能是现在正在使用的信息
-
空间局部性原理
在最近的未来要用到的信息,很有可能与现在正在使用的信息在存储空间上是临近的。
-
-
Cache的工作原理
为便于Cache和主存之间交换信息,Cache和主存都被划分为相等的块。由于Cache的容量远小于主存的容量,所以它仅保存主存中最活跃的若干块的副本。
-
主存和缓存的编址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UyKkZdcq-1646990725822)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220217163116751.png)]
-
命中与未命中
-
命中
主存块调入缓存
主存块与缓存块建立了对应关系
用标记记录与某缓存块建立了对应关系的主存块号
-
未命中
主存块为调入缓存
主存块与缓存块未建立对应关系
-
命中率
CPU与访问的信息在Cache中的比率
命中率与Cache的容量与块长有关
-
-
Cache—主存系统的效率
效率e与命中率有关,设Cache的命中率为h,访问Cache的时间为tc,访问主存的时间为tm
-
e = 访 问 C a c h e 的 时 间 平 均 访 问 时 间 e = t c h × t c + ( 1 − h ) × t m e = \frac{访问Cache的时间}{平均访问时间}\\e=\frac{t_c}{h×t_c+(1-h)×t_m} e=平均访问时间访问Cache的时间e=h×tc+(1−h)×tmtc
-
Cache的基本结构
-
Cache的读写操作
-
读
-
写
解决Cache和主存的一致性问题
-
写直达法
写操作时数据既写入Cache又写入主存
写操作时间就是访问主存的时间,Cache块退出时,不需要对主存执行写操作,更新策略比较容易实现 -
写回法
写操作时只把数据写入Cache而不写入主存,当Cache数据被替换出去时才写回主存
写操作时间就是访问Cache的时间,Cache块退出时,被替换的块需写回主存增加了Cache的复杂性
-
-
-
Cache的改进
-
增加Cache的级数
片载(片内)Cache(CPU内)
片外Cache(CPU外)
例:现代处理器(多核),每一个核都有自己的Cache,多个核有共同的Cache
-
统一缓存和分立缓存
冯诺依曼结构:把指令和数据以同等的方式,保存在存储器中
现代计算机结构:有时把指令Cache和数据Cache分开,与指令执行的控制方式有关
-
二、Cache和主存的映射方式
-
直接映射(离CPU近就采用这种方式)
主存当中,任意一个给定的块,它只能映射(装载)到某一个指定的Cache块当中
直接映射的关系可定义为:
j = i m o d 2 c j : C a c h e 的 块 号 i : 主 存 的 块 号 2 c : C a c h e 中 的 总 块 数 j=i\space mod\space 2^c\\j:Cache的块号\\i:主存的块号\\2^c:Cache中的总块数 j=i mod 2cj:Cache的块号i:主存的块号2c:Cache中的总块数
每个缓存块i可以和若干个主存块对应 每个主存块j只能和一个缓存块对应 **缺点:**Cache的利用率可能会很低,Cache块进行调入的时候,冲突的概率非常大,不灵活,但速度快
-
全相联映射
主存当中,任何一个块,可以被放到Cache中任意一个块中。
**优点:**相比与直接映射,Cache的利用率有提高
**缺点:**电路复杂,速度慢
-
组相连映射
全相联映射和直接映射的折中。先把Cache分成块,再把Cache中的块分成组。把主存储器中的字块也进行分区,每个区的大小与Cache中的组数相同
组相联映射的关系可以定义为:
j = i m o d Q j : C a c h e 行 的 组 号 i : 主 存 的 块 号 Q : C a c h e 的 组 数 j=i\space mod\space Q\\j:Cache行的组号\\i:主存的块号\\Q:Cache的组数 j=i mod Qj:Cache行的组号i:主存的块号Q:Cache的组数
**优点:**电路结构比较简单,速度快,Cache命中率高
映射方式小结
映射方法 | |
---|---|
直接映射 | 某一主存块只能固定映射到某一缓存块 |
全相联映射 | 某一主存块能映射到任意缓存块 |
组相联映射 | 某一主存块只能映射到某一缓存组中的任意位置 |
三、替换算法
-
先进先出(FIFO)算法(队列)
-
近期最少使用(LRU)算法
较好的体现了程序的局部性原理
4.4 辅助存储器
一、概述
-
特点
不直接与CPU交换信息
-
磁表面存储器得技术指标
-
记录密度
道密度Dt
位密度Db
-
存储容量
C = n × k × s n : 盘 面 个 数 k : 每 个 盘 面 磁 道 个 数 s : 每 个 磁 道 存 放 的 二 进 制 信 息 个 数 C=n×k×s\\n:盘面个数\\k:每个盘面磁道个数\\s:每个磁道存放的二进制信息个数 C=n×k×sn:盘面个数k:每个盘面磁道个数s:每个磁道存放的二进制信息个数 -
平均寻址时间
寻道时间+等待时间
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n9UL9pHD-1646990725822)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220227193744275.png)]
-
数据传输率
Dr=Db×V
-
误码率
出错信息位数与读出信息的总位数之比
-
二、磁记录原理和记录方式
-
磁记录原理
磁化磁载体
三、硬磁盘存储器
-
硬磁盘存储器的类型
- 固定磁头和移动磁头
- 可换盘和固定盘
-
硬磁盘存储器的结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rFhtCiFo-1646990725822)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220227194501076.png)]
四、软磁盘存储器
-
概述
硬盘 软盘 速度 高 低 磁头 固定、活动 活动 浮动 接触磁盘 盘片 固定盘、盘组大部分不可换 可换盘片 价格 高 低 环境 苛刻
五、光盘存储器
-
概述
采用光存储技术:利用激光写入和读出
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hMeaewhH-1646990725823)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220227195631162.png)]
-
光盘存储原理
类型 原理 只读型和只写一次型 热作用 可擦写光盘 热磁效应
第五章 输入输出系统
5.1 概述
一、输入输出系统的发展概况
-
早期
外部设备与主机采用分散连接的方式
CPU和I/O设备串行工作,主要采用程序查询方式
-
接口模块和DMA阶段
总线连接
CPU和I/O设备并行工作,主要有两种方式:①中断方式;②DMA方式
-
具有通道结构的阶段
-
具有I/O处理机的阶段
二、输入输出系统的组成
-
I/O软件
-
I/O指令(CPU指令的一部分)
由程序员编写到应用程序里,CPU执行此些指令,从而控制外部设备
I/O指令格式:
操作码 命令码 设备码 -
通道指令(通道自身的指令)
指出数组的首地址、传送字数、操作命令
-
-
I/O硬件
设备 I/O接口
设备 设备控制器 通道(通道方式连接方法)
三、I/O设备与主机的联系方式
-
I/O设备编址方式
- 统一编址 CPU直接利用取数、存数指令对I/O设备进行控制
- 单独编制 有专门的I/O指令
-
设备选址
用设备选择电路识别是否被选中
-
数据传送方式
- 串行:传输速度慢,但适合远程传输
- 并行
-
联络方式
外部设备接受或者响应的情况
- 立即响应
- 异步工作采用应答信号
- 同步工作采用同步时标
-
I/O设备与主机的连接方式
-
辐射式连接(分散连接)
每台设备都配有一套控制线路和一组信号线
不便于增删设备
-
总线连接
便于增删设备
-
四、I/O设备与主机信息传送的控制方式
-
程序查询方式
-
程序中断方式
程序中断方式的流程
-
DMA(直接存储器)方式
可以进一步把CPU从数据的输入和输出中解放出来
主存和I/O之间有一条直接数据通道
不中断执行
周期挪用(周期窃取)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JlwSADSr-1646990725823)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220227210950152.png)]
-
三种方式CPU工作效率比较
5.2 外部设备
一、概述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kkPUfTBP-1646990725823)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220227212157269.png)]
外部设备大致分为三类:
- 人机交互设备 键盘、鼠标
- 计算机信息存储设备 磁盘、光盘、磁带
- 机-机通信设备 调制解调器
二、输入设备
输入设备完成输入程序、数据和操作命令等功能。
- 键盘
- 鼠标
- 触摸屏
三、输出设备
- 显示器
- 字符显示 字符发生器
- 图形显示 主管图像
- 图像显示 客观图像
- 打印机
- 击打式 点阵式(逐字、逐行)
- 非打击式 激光、喷墨
四、其他
- A/D、D/A(模拟信号与数字信号的转换)
- 终端 由键盘和显示器组成
- 汉字处理
五、多媒体设备
5.3 I/O接口
一、概述
为什么要设接口?
- 实现设备的选择
- 实现数据缓冲达到速度匹配
- 实现数据串——并格式转换
- 实现电平转换
- 传送控制命令
- 反应设备的状态(“忙”、“就绪”、…)
二、接口的功能和组成
-
总线连接方式的I/O接口电路
-
接口的功能和组成
功能 | 组成 |
---|---|
选址功能 | 设备选择电路 |
传送命令的功能 | 命令寄存器、命令译码器 |
传送数据的功能 | 数据缓冲寄存器 |
反应设备状态的功能 | 设备状态标记 |
所需要反应设备的状态:
状态 | |
---|---|
设备是否准备好 | 完成触发器D |
标识外部设备工作状态 | 工作触发器B |
中断请求触发器INTR | |
屏蔽触发器MASK |
-
I/O接口的基本组成
三、接口类型
- 按数据传送方式
- 并行接口
- 串行接口
- 按功能选择的灵活性分类
- 可编程接口
- 不可编程接口
- 按通用性分类
- 通用接口
- 专用接口
- 按数据传输的控制方式分类
- 中断接口
- DMA接口
5.4 程序查询方式
一、程序查询流程
-
查询流程
- 单个设备
- 多个设备
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1EJmZT89-1646990725823)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220228153550877.png)]
-
程序流程
二、程序查询方式的接口电路
5.5 程序中断方式(听不懂)
一、中断的概念
CPU在执行程序的过程中,如果发生意外事件,CPU要中断当前程序的处理,去处理意外发生的事件,处理完意外发生的事件后,返回原程序断点,继续完成原程序。
二、I/O中断的产生
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lRtxywPW-1646990725824)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220228162127786.png)]
三、程序中断方式的接口电路(听不懂)
-
配置中断请求触发器和中断屏蔽触发器
要进行数据传输的时候产生中断
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OCQBNrGe-1646990725824)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220228162755425.png)]
-
排队器(有多个设备同时发出请求时使用)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3aVj9taW-1646990725824)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220228164257450.png)]
-
中断向量地址形成部件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MakIJrAb-1646990725825)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220228164535926.png)]
-
程序中断方式接口电路的基本组成
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-boipkO2z-1646990725825)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220302205043384.png)]
四、I/O中断处理过程
- CPU响应中断的条件和时间
- 条件
- 允许中断触发器EINT = 1
- 用开中断指令将EINT置为“1”
- 用关中断指令将EINT置为“0”或硬件自动复位
- 时间
- 当D = 1(随机)且MASK = 0时
- 在每条指令执行阶段的结束前
- CPU发中断查询信号(将INTR置“1”)
- 条件
- I/O中断处理过程
5.6 DMA方式
一、DMA方式的特点
-
DMA和程序中断两种方式的数据通路
- 程序中断方式数据传输通路需要经过CPU
- DMA方式数据传输通路不需要经过CPU
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KWzfhZpN-1646990725825)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220302212333954.png)]
-
DMA方式有以下特点:
①它使主存与CPU的固定联系脱钩,主存既可被CPU访问,又可被外设访问
②在数据块传输时,主存地址的确定、传送数据的计数等都由硬件电路直接实现
③主存中要开辟专用缓冲区,及时供给和接受外设的数据
④DMA传送速度快快,CPU和外设并行工作,提高了系统效率
⑤DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理
-
DMA与主存交换数据的三种方式
-
停止CPU访问主存
控制简单
CPU处于不工作状态或保持状态
未充分发挥CPU对主存的利用率
-
周期挪用(周期窃取)
DMA访问主存有三种可能:
①CPU此时不访存
②CPU正在访存
③CPU与DMA同时访存(此时CPU将总线控制权让给DMA)
-
DMA与CPU交替访问(实用性不强)
不需申请建立和归还总线的使用权
-
二、DMA接口的功能和组成
-
DMA接口的功能
①向CPU申请DMA传送
②处理总线控制权的转交
③管理系统总线、控制数据传送
④确定数据传送的首地址和长度,修正传送过程中的数据地址和长度
⑤DMA传送结束时,给出操作完成信号
-
DMA接口组成
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vD7P6Lbq-1646990725825)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220302220154691.png)]
- AR(主存地址计数器):存放要交换数据的主存地址。
- WC(传送长度计数器):记录传送数据的长度,计数溢出时,数据及传送完成,自动发中断请求信号
- BR(数据缓冲寄存器):暂存每次传送的数据
- DAR(设备地址寄存器):①供设备选择电路使用②对类似硬盘部件进行访问的过程中,用于保存柱面号、磁道号、扇区号
- DMA请求触发器:每当I/O设备准备好数据后,给出一个控制信号,使DMA请求触发器置位
- “控制/状态”逻辑:由控制和时序电路及状态标志组成,用于制定传送方向,修改传送参数,并对DMA请求信号和CPU响应信号进行协调和同步
- 中断机构:当一个数据块传送完毕后触发中断机构,向CPU提出中断请求
三、DMA的工作过程
-
DMA传送过程
①预处理
②数据传送
③后处理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VBZI6R62-1646990725826)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220304165511130.png)]
DMA传送流程图 -
预处理
通过几条I/O指令与之如下信息
- 通知DMA控制逻辑传送方向(I or O)
- 设备地址:DMA的DAR
- 主存地址:DMA的AR
- 传送字数:DMA的WC
-
数据传送
-
数据输入
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HwIbfFAv-1646990725826)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220304172251483.png)]
①外部设备----数据---->BR(数据缓冲寄存器),BR中保存所需要输入的数据
②外部设备----DREQ---->DMA控制逻辑单元,通知数据已经准备好(DREQ设备请求信号)
③DMA控制逻辑----(总线)---->CPU提出总线和主存储器占用请求
④CPU(在允许的情况下)----HLDA---->DMA控制逻辑,此时CPU放弃对总线的占用和主存的占用,总线和主存的控制转到DMA接口
⑤AR(主存地址计数器)-----(地址线)---->总线,使系统总线上地址总线有效
⑥DMA控制逻辑----DACK---->外部设备,告诉设备已经开始数据传输
⑦BR----(数据线)---->数据总线,每传输一个数据AR++,WC++
⑧传输结束,WC----溢出信号---->中断机构,使中断机构中,中断请求触发器置一
⑨中断机构----中断请求---->CPU,CPU接到中断请求后,执行中断服务程序,做后处理
-
数据输出
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rsQnc8hj-1646990725826)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220304172314886.png)]
①BR----数据---->设备,此时BR为空
②设备----DREQ---->DMA控制逻辑,设备告诉DMA控制器BR为空,可以用于接受下一个数据
③DMA逻辑控制器----总线、内存控制请求---->CPU
④CPU(在允许的情况下)----应答信号---->DMA控制逻辑,此时内存和总线的控制权都交给了DMA控制逻辑(DMA接口),允许进行下一次的数据输出
⑤AR----(地址线)---->总线,给出要访问的内存单元的地址
⑥DMA控制逻辑----应答---->设备,告诉设备已经开始新的传输
⑦主存----数据(数据线)---->BR,同时AR++,WC++
⑧若传输没结束,则重复上述循环;否则,WC----溢出信号---->中断机构
⑨中断机构----中断请求---->CPU,CPU接到中断请求后,执行中断服务程序,做后处理
-
-
后处理
校验送哦购入主存的数是否正确
是否继续用DMA
测试传送过程是否正确,错则转诊断程序
由中断服务程序完成
-
-
DMA接口与系统的连接方式
-
具有公共请求线的DMA请求
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l7LwR2JQ-1646990725826)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220304195051705.png)]
-
独立DMA请求
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T9OlfYHG-1646990725826)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220304195308076.png)]
-
-
DMA方式与程序中断方式的比较
中断方式 DMA方式 1.数据传送 程序 硬件 2.响应时间 指令执行结束时 存取周期结束 3.处理异常情况 能 不能 4.中断请求 传送数据 后处理 5.优先级 低 高 -
DMA接口类型
-
选择型
在物理上连接多个设备
在逻辑上只允许连接一个设备
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-duo2wkD2-1646990725827)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220304195905843.png)]
-
多路型
在物理上连接多个设备
在逻辑上允许连接多个设备同时工作,但真正进行数据传输时,也只有一个设备和内存之间进行数据传输,但数据准备阶段,可以有多个设备同时进行数据准备
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VeohNYJ2-1646990725827)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220304200237823.png)]
-
第六章 计算机的运算方法
6.1 无符号数和有符号数
一、无符号数
寄存器的位数反应无符号数的表示范围,只有数值部分
- 8位寄存器 整数范围0~255(28-1)
数值位 | 数值位 | 数值位 | 数值位 | 数值位 | 数值位 | 数值位 | 数值位 |
---|
- 16位寄存器 整数范围0~65535(216-1)
数值位 | 数值位 | 数值位 | 数值位 | 数值位 | 数值位 | 数值位 | 数值位 | 数值位 | 数值位 | 数值位 | 数值位 | 数值位 | 数值位 | 数值位 | 数值位 |
---|
二、有符号数
-
机器数与真值
真值 机器数 带符号的数 符号化的数 +0.1011 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fhmklwfh-1646990725827)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220304202432911.png)] -0.1011 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3JGEqLbY-1646990725828)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220304202521055.png)] +1100 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eSTYGJWU-1646990725828)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220304202709882.png)] -1100 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VGtwlg3R-1646990725828)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220304202744466.png)] -
原码表示法——带符号的绝对值表示
-
整数
KaTeX parse error: Undefined control sequence: \abs at position 60: … 0\\ 2^n-x=2^n+\̲a̲b̲s̲{x}, & 0\geq x …
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7tijQqvt-1646990725829)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220305171653020.png)] -
小数
[ x ] 原 = { x 1 > x ≥ 0 1 − x 0 ≥ x > − 1 x 为 真 值 [x]_原= \begin{cases} x&1>x\geq 0\\ 1-x&0\geq x>-1 \end{cases}\\x为真值 [x]原={x1−x1>x≥00≥x>−1x为真值
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yorlzQHr-1646990725829)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220305171723565.png)]
-
-
补码表示法
-
小数
KaTeX parse error: Undefined control sequence: \abs at position 42: …x\geq0\\ 2+x=2-\̲a̲b̲s̲{x}&0>x\geq-1 \…
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hurowr0f-1646990725829)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220305171805140.png)] -
整数
KaTeX parse error: Undefined control sequence: \abs at position 58: …n+1}+x=2^{n+1}-\̲a̲b̲s̲{x}&0\geq x\geq…
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qtX3zcRu-1646990725829)(C:\Users\86187\AppData\Roaming\Typora\typora-user-images\image-20220305171751844.png)]
整数的补数为其本身
-
| ------ | ------ | ------ | ------ |
二、有符号数
-
机器数与真值
真值 机器数 带符号的数 符号化的数 +0.1011 [外链图片转存中…(img-Fhmklwfh-1646990725827)] -0.1011 [外链图片转存中…(img-3JGEqLbY-1646990725828)] +1100 [外链图片转存中…(img-eSTYGJWU-1646990725828)] -1100 [外链图片转存中…(img-VGtwlg3R-1646990725828)] -
原码表示法——带符号的绝对值表示
-
整数
KaTeX parse error: Undefined control sequence: \abs at position 60: … 0\\ 2^n-x=2^n+\̲a̲b̲s̲{x}, & 0\geq x …
[外链图片转存中…(img-7tijQqvt-1646990725829)] -
小数
[ x ] 原 = { x 1 > x ≥ 0 1 − x 0 ≥ x > − 1 x 为 真 值 [x]_原= \begin{cases} x&1>x\geq 0\\ 1-x&0\geq x>-1 \end{cases}\\x为真值 [x]原={x1−x1>x≥00≥x>−1x为真值
[外链图片转存中…(img-yorlzQHr-1646990725829)]
-
-
补码表示法
-
小数
KaTeX parse error: Undefined control sequence: \abs at position 42: …x\geq0\\ 2+x=2-\̲a̲b̲s̲{x}&0>x\geq-1 \…
[外链图片转存中…(img-hurowr0f-1646990725829)] -
整数
KaTeX parse error: Undefined control sequence: \abs at position 58: …n+1}+x=2^{n+1}-\̲a̲b̲s̲{x}&0\geq x\geq…
[外链图片转存中…(img-qtX3zcRu-1646990725829)]
整数的补数为其本身
-