第一章 计算机系统概论
1.1 计算机系统简介
计算机的软硬件概念
1.2 计算机的基本组成
冯诺伊曼计算机的特点
1.计算机由五大部件组成
2.指令和数据以同等地位存于存储器,可按地址寻访
3.指令和数据用二进制表示
4.指令由操作码和地址码组成
5.存储程序(核心特征),程序存储在存储器中
6.以运算器为中心
现代计算机硬件框图
- 硬件 = 主机 + I / O设备
- 主机 = CPU + 主存
CPU = ALU(运算器) + CU(控制器)
- I / O设备 = 辅存 + 输入设备 + 输出设备
- ps : 存储器 = 主存 + 辅存
系统复杂性管理的方法-2(3’Y)
- 层次化:多个模块
- 模块化:功能和接口
- 规则性:模块重用
计算机的解题过程
存储器的基本组成:(主存储器?)
- 存储体 -> 存储单元 -> 存储元件(0/1)
- 存储体中 :
存储单元 : 存放一串二进制代码
存储字 : 存储单元中二进制代码的组合
存储字长 : 存储单元中二进制代码的位数
按地址寻访 :每个存储单元赋予一个地址
- MAR (存储器地址寄存器):反映存储单元的个数
- MDR (存储器数据寄存器):反映存储字长
运算器的基本组成及操作过程:
- 乘法 : 加法 + 移位;除法 : 减法 + 移位
- 加法操作过程 :
指令 = “加” + M
初态 ACC 被加数
[M] -> X
[ACC] + [X] -> [ACC]
- 减法操作过程 :
指令 = “减” + M
初态 ACC 被减数
[M] -> X
[ACC] - [X] -> [ACC]
- 乘法操作过程 :
指令 = “乘” + M
初态 ACC 被乘数
[M] -> MQ
[ACC] -> X
0 -> ACC(移位)
[X] * [MQ] -> [ACC] // [MQ]
- 除法操作过程 :
指令 = “除” + M
初态 ACC 被除数
[M] -> X
[ACC] / [X] -> [MQ]商 [ACC]余数
控制器的基本组成:
- 控制器的功能 ?1.解释指令;2.保证指令的按顺序执行
- 完成一条指令 需要三步 :
取指令 PC
分析指令 IR
执行指令 CU
- PC 存放当前欲执行指令的地址,具有 计数功能 (PC) + 1 -> PC
- IR 存放当前欲执行的指令
主机完成一道指令的过程
-
取数 : 将存储体中的放入ACC
-
存储 : 将ACC中的放入存储体
1.3 计算机硬件的主要技术指标
机器字长
- CPU 一次 能处理的数据的 位数
- 与 CPU中的 寄存器的位数 有关
运算速度
存储容量
第3章 系统总线
3.1 总线的基本概念
什么是总线 :
总线 是 连接各个部件的信息传输线,是 各个部件共享的传输介质
总线上信息的传送 :
分为 串行 和 并行
总线结构的计算机举例 :
1.单总线(系统总线)结构框图
2.面向CPU(I/O总线 M总线)的双总线结构框图
3.以存储器为中心的双总线(存储总线 系统总线)结构框图
3.2 总线的分类
- 1.片内总线 :芯片内部 的总线
- 2.系统总线 :计算机各部件之间 的信息传输线 ;分为三种总线 :
数据总线 :双向 与机器字长、存储字长有关(一般小于等于机器字长)
地址总线 :单向 与存储地址、I/O地址有关
控制总线 :有出 有入
- 3.通信总线 :用于计算机系统之间 或 计算机系统与其他系统(如控制仪表、移动通信)之间的通信
传输方式 :串行通信总线;并行通信总线
3.3 总线性能及性能指标
总线特性
总线的性能指标
3.4 总线结构
单总线结构
多总线结构
1.双总线结构
2.三总线结构
3.三总线结构的又一形式
4.四总线结构
总线结构举例
3.5 总线控制
总线判优控制
1.基本概念
- 主设备 对总线有 控制权
- 从设备 响应 从主设备发来的总线命令
- 总线判优控制方法分为 集中式 和 分布式
- 其中,集中式 分为 链式查询、计数器定时查询、独立请求方式
2.链式查询方式
地址线
数据线
BS-总线忙
BR-总线请求
BG-总线同意
3.计数器定时查询方式
地址线
数据线
设备地址
BS-总线忙
BR-总线请求
计数器
4.独立请求方式
地址线
数据线
BG-总线同意
BR-总线请求
排队器
总线通信控制
3.总线通信的四种方式
- 同步通信 :由 统一时标 控制数据传送
- 异步通信 :采用 应答方式 ,没有公共时钟标准
- 半同步通信 :同步、异步结合
- 分离式通信 :充分 挖掘 系统 总线每个瞬间 的潜力
1)同步式数据输入
2)同步式数据输出
3)异步通信
4)半同步通信(异步、同步结合)
- 上述三种通信的共同点
一个总线传输周期(以输入数据为例)
1)主模块发地址、命令 (占用总线)
2)从模块准备数据 (不占用总线,总线空闲)
3)从模块向主模块发数据 (占用总线)
5)分离式通信
- 充分挖掘系统总线每个瞬间的潜力
- 一个总线传输周期 :
子周期1 :主模块 申请 占用总线,使用完后 即 放弃总线的使用权
子周期2 :从模块 申请 占用总线,将各种信息送至总线上
- 分离式通信的特点 :
1.各模块有权申请占用总线(都可以从 从模块 变成 主模块)
2.采用同步方式通信,不等对方回答
3.各模块准备数据时,不占用总线
4.总线被占用时,无空闲
第4章 存储器
4.1 概述
存储器分类
1.按存储介质分类
1)半导体存储器 TTL、MOS (易失)
2)磁表面存储器 磁头、磁载体 (非易失)
3)磁芯存储器 硬磁材料、环状元件 (非易失)
4)光盘存储器 激光、磁光材料 (非易失)
2.按存取方式分类
1)存取时间与物理地址无关(随机访问)
- 随机存储器 在程序的执行过程中 可 读 可 写
- 只读存储器 在程序的执行过程中 只 读
2)存取时间与物理地址有关(串行访问)
3.按在计算机中的作用分类
存储器的层次结构
1.存储器三个主要特性的关系
2.缓存-主存层次 和 主存-辅存层次
4.2 主存储器(上)
概述
1.主存的基本组成
2.主存和CPU的联系
3.主存中存储单元地址的分配
- 地址线一次确定一个存储单元,地址线上值可能取的所有组合确定了存储单元的个数,所以,存储单元的个数=2^地址线的条数
- 在未给出存储字长的计算机中每次存储单元为8位(MW中W是word的意思)
4.主存的技术指标
1)存储容量 (主存 存放二进制代码的总位数
2)存储速度 :
- 存取时间 (存储器的访问时间)(读出时间 写入时间)
- 存取周期 (连续两次独立的存储器操作(读或写)所需的 最小间隔时间(不是 总时间))
把存取周期 分成 读周期 和 写周期
3)存储器的带宽 :位/秒
半导体存储芯片简介
1.半导体存储芯片的基本结构
存储芯片片选线的作用
2.半导体存储芯片的译码驱动方式
1)线选法
- 每一个地址对应了一条线,因此,对于容量很大的芯片是不合适的
2)重合法
- 比如20条线,在 线选法 中 需要的线是 2 20 2^{20} 220;而在 重合法 中需要的线是 2 10 + 2 10 2^{10}+2^{10} 210+210
随机存取存储器(RAM)
1.静态RAM(SRAM)
1)静态RAM基本电路
- 核心 是 利用触发器(双稳态触发器)
2)静态RAM芯片举例
2.动态RAM(DRAM)
- 相比于SRAM,DRAM利用的是 电容
1)动态RAM基本单元电路
3)动态RAM举例
4)动态RAM刷新
3.动态RAM和静态RAM的比较
4.2 主存储器(中)
只读存储器(ROM)
- 早期的只读存储器-在厂家就写好了内容
- 改进1-用户可以自己写-一次性
- 改进2-可以多次写-要能对信息进行擦除
- 改进3-电可擦写-特定设备
- 改进4-电可擦写-直接连接到计算机
1.掩模ROM(MROM)
是第一种,“在厂家就写好了内容”
行列选择线交叉处有MOS管为“1”
行列选择线交叉处无MOS管为“0”
2.PROM(一次性编程)
行线与列线之间有 熔丝
熔丝断 “0”
熔丝未断 “1”
3.EPROM(多次性编程)
N型沟道浮动栅MOS电路
D端加正电压 形成浮动栅 S与D不导通为“0”
D端不加正电压 不形成浮动栅 S与D导通为“1”
紫外线全部擦洗(浮动栅的驱散)
4.EEPRROM(多次性编程)
电可擦写
局部擦写
全部擦写
5.Flash Memory(闪速型存储器)
EPROM 价格便宜 集成度高
EEPROM 电可擦洗重写
Flash Memory 比EEPROM快 且具备RAM功能
存储器与CPU连接
1.存储器容量的扩展
1)位扩展(增加存储字长)
- CS片选线,WE读写
- 位扩展 的关键 就是 把两个芯片当成一个芯片,让这两个芯片同时进行操作
2)字扩展(增加存储字的数量)
2.存储器与CPU的连接
1)地址线的连接
2)数据线的连接
3)读/写命令线的连接
4)片选线的连接
5)合理选择存储芯片
6)其他 时序、负载
存储器的校验
合法代码集合
1.编码的最小距离
任意两组合法代码之间 二进制位数 的 最少差异
编码的检错、纠错能力 与 编码的最小距离 有关
令L为编码的最小距离,D为检测错误的位数,C为纠正错误的位数,有
L − 1 = D + C ( D ≥ C ) L-1=D+C(D\geq C) L−1=D+C(D≥C)
汉明码 是具有 一位纠错能力 的编码
2.汉明码的组成
- 每一组都采用偶校验的方式
- 偶校验 采用 异或门 的方式来验证
- 在通过这三组结果来判定 具体是哪一个出现的错误 时,我们假定 只有一位出现了错误
- 异或和 为1 说明 “1”的个数为奇数个,而在偶校验中,由于校验位的设立,保证了每组中“1”的个数为偶数个,因此,可以说明该组出错
提高访存速度的措施
- CPU的快速发展 与 主存的慢速发展 之间的差异
- 其中,措施有 :采用高速器件;采用层次结构 Cache-主存;调整主存结构
- 这节中主要使用 调整主存结构
1.单体多字系统
- 比如 CPU字长为16位,存储器存储字长设为64位,CPU每次访问存储器都可以访问出 四个机器字 ,这四个机器字 每一个 都可以是一条机器指令,或者是长度为16的数据,CPU一次把这四个值从内存中取出,放到 数据寄存器中,下一次再用的时候就直接可以从数据寄存器中把需要的数据或者指令取走;因此,这种方法可以 增加存储器的带宽
- 问题 :1.可能错误修改,如果想要单字长的写入,还需要额外的硬件;2.如果要取的数据或者指令不是连续的存放在相邻的地址中,
- 虽然每一个存储单元包括了四个机器字,但是这四个机器字 存取的时候 以整体的方式进行存取
2.多体并行系统
-
每一个存储体 都有自己的控制电路(MAR、MDR、地址译码器)
-
CPU给出的地址中,地址的前两位作为 体号,作为存储体的体号
-
问题 :按 程序、数据存取的特征来说(程序和指令是顺序存储的,因此读取程序或者指令时可能要访问的是在同一个存储体中),即使是并行,会造成某一个存储器非常繁忙,其余存储体非常闲
-
这种形式很像前面讲过的 存储器容量的扩展;因此,这种方式适合存储器容量扩展,但不适合 提高存储器的带宽(提高存储器的访存速度)
-
分离式通讯
-
第一个字需要 T T T,之后,每经过一个 总线传输周期 就会有一次访问操作(在这里是读取操作)完成
-
相对于 高位交叉,低位交叉 适用于 存储器带宽和访问速度的提高
3.高性能存储芯片
4.3 高速缓冲存储器
概述
1.问题的提出
- 要想充分发挥Cache的能力,使机器的速度切实的得到提高,必须要保障 cpu访问的数据或指令 大多数情况下 都能在cache中取得,为此,要依靠 程序访问的局部性原理
- 程序访问的局部性原理 分为两块,1.时间的局部性 :当前正在访问的指令或数据,在不久的将来还会被访问到,因此,当前正在访问的这些,我们应该把它放到cache中,将来就可以直接从cache中取出;2.空间的局部性 :当前正在访问的指令或数据,在不久的将来 相邻的指令或数据 会被访问到
- cache和主存之间数据交换的单位是 一块,这个块中 即包括了 正在使用的指令或数据,也包括了 相邻的指令或数据
2.Cache的工作原理
-
Cache容量远远小于主存的容量,因此, M > > C M >> C M>>C
-
主存 和 Cache的 块内地址 是相同的
-
Cache上的 标记 ,实际上标记了主存块和Cache块之间的对应关系
-
访问效率在 [ t c t m , 1 ] [\frac{t_c}{t_m},1] [tmtc,1]之间
3.Cache的基本结构
- 主存Cache地址映射变换机构 :
地址映射 就是 map,它实际上给出的是一个规则,主存中的一个块如果要放到Cache中,它可以被放到Cache的那一个块,或者哪些块当中,这就是映射规则
变换,就是把 主存的块号 转换成 相应的Cache的块号,或者把 主存的地址 转换成Cache的地址,在Cache中找到相应的地址块进行访问。也就是说 查找 操作
4.Cache的读/写操作
- Cache是内存中某些块的缓存,Cache中有的信息在内存中也有,读操作不对Cache块中任何信息进行修改,那么 主存和Cache的信息就是一致的;而 写操作 不同,会造成Cache和主存的不一致,比如 只对Cache写,没有对主存写,所以写操作中一定要解决Cache和主存的一致性问题
5.Cache的改进
Cache-主存的地址映射
- 速度快
- 缺点 :Cache的利用率低,重复率高
- 成本高,速度慢,Cache利用率高
- 主存中的块可以被放入Cache中任何一个块中。因此,Cache的利用率高了
- 缺点 :查找时 主存字块标记 要和 Cache中的所有标记 进行比较;参加比较的位数也比较长
- 前两者的折中
- Cache被分成了多少组,那么主存储器中每个区就包含了多少块;映像时,每个区的第0块可以放到Cache中第0组的任何一个位置,也就是说 主存中每个块在区里的编号就直接决定了可以放在Cache中的哪个组
- 和直接相联相比,每个块可以有多个位置来放,即使其中一个位置被占用了,另外一个位置如果是空的,内存块就可以掉入到这个空的位置;和全相联相比,如果我们要找一个内存块是不是被掉入到了Cache中,我们只需要确定它在某个区的标号是多少,就可以找到给定的组,比较的数量小的多
替换算法
- 前面介绍了一个内存块可以放在Cache的什么位置;如果我们发现Cache已经满了,没有位置可以放,那么必须有一个Cache中的块被替换出来
4.4 辅助存储器
概述
- 磁盘每个磁道都是同心圆,越往外,位密度就越低
- 存储容量 = 盘面数量 * 磁道 / 面 * 多少位二进制信息 / 磁道
- 数据传输率 与 位密度 有关,数据传输率 = 位密度 * 旋转的速度
磁记录原理和记录方式
硬磁盘存储器
- 类型区分方法1 :
固定磁头 : 磁头不动,盘片旋转,盘片不会平移,因此,每一个磁道都需要一个磁头,数量很庞大,但是速度会比较快
移动磁头 :每一个盘面上有一个磁头,这个磁头可以沿着盘面移动
- 类型区分方法2 :
常用的是固定盘,不能随意取出盘片
软磁盘存储器
光盘存储器