计算机网络概述
一、计算机系统基础知识
1、计算机系统硬件基本组成
5大部件
- 运算器
- 控制器
- 存储器
- 输入设备
- 输出设备
2、中央处理单元
- 运算器:
执行所有的算术运算,执行所有的逻辑运算并进行逻辑测试 - 算术逻辑单元ALU:
数据的算术运算和逻辑运算 - 累加寄存器AC(累加器):
通用寄存器,为ALU提供一个工作区,用在暂存数据 - 数据缓冲寄存器DR(缓冲寄存器):
写内存时,暂存指令或数据 - 状态条件寄存器PSW:
存状态标志与控制标志 - 控制器:
控制整个CPU的工作,最为重要,包括程序控制、时序控制等 - 时序部件
提供时序控制信号 - 指令译码器ID:
对指令中的数据操作码字段进行分析解释 - 指令寄存器IR:
存储即将执行的指令 - 程序计数器PC:
存储下一条要执行指令的地址 - 地址寄存器AR:
保存当前CPU所访问的内存地址
3、数据表示
3.1 进制转化(B站视频看一遍就会)
R进制转十进制
位权展开法,用R进制数的每一位乘以n次方,n是变量,从R进制ovtr整数最低位开始,依次累加
十进制再转化为R进制(短除法)
3.2 原码、反码、补码、移码
原码:二进制最高位表示符号
反码:
- 正数:与原码一致
- 负数:原码除符号位外,其他各位取反
- 0有两种形式:+0(0 000)和-0(1 000)
补码
- 正数:原码
- 负数:原码除符号位外,其他各位取反
- 0只有一种形式:0(0 000)
移码:原码的补码的符号位取反
数值1 | 数值-1 | 1 + (-1) | |
---|---|---|---|
原码 | 0001 | 1001 | 1010 |
反码 | 0001 | 1110 | 1111 |
补码 | 0001 | 1111 | 0000 |
移码 | 1001 | 0111 | 1000 |
4、差错控制
-
什么是检错和纠错
检错是检查输入的数据是否正确的一种方法,而纠错则是尝试纠正已存在的错误数据的一种方法。 -
什么是码距?
一个编码系统的码距是整个编码系统中任意(所有)两个码字的最小距离。例如:- 若用1位长度的二进制编码。若A=1,B=0 ,A,B之间的最小码距为1
- 若用2位长度的二进制编码。若A=11 ,B=00,A,B之间的最小码距为2
- 若用3位长度的二进制编码。若A=11 1,B=000作为合法编码,A,B之间的最小码距为3
-
码距与检错、纠错有何关系
- 1、在一个码组内为了检测e个误码,要求最小码距d应该满足:d>=e+1
- 2、在一个码组内为了纠正t个误码,要求最小码距应该满足:d>=2t+1
(1)CRC与海明校验码
2
r
2^r
2r>=4+r1,其中4为信息为个数,r为校验位个数
二、计算机体系结构
1、计算机体系结构分类——Flynn
体系结构类型 | 结构 | 关键特性 | 代表 |
---|---|---|---|
单指令流单数据流SISD | 控制部分:一个 、处理器:一个 、主存模块:一个 | 单处理器系统 | |
单指令流多数据SIMD | 控制部分:一个、处理器:多个、主存模块:多个 | 各处理器以异步的形式执行同一条指令 | 并行处理机、阵列处理机、超级向量处理器 |
多指令流单数据流MISD | 控制部分:多个、处理器:一个、主存模块:多个 | 被证明不可能,至少是不实际 | 目前没有,有文献称流水线计算机为此类 |
多指令流多数据流MIMD | 控制部分:多个、处理器:多个、主存模块:多个 | 能够实现作业、任务、指令等各级全面并行 | 多处理机系统、多计算机 |
2、CISC与RISC的区别比较(P15页)
指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其它 |
---|---|---|---|---|
CISC(复杂) | 数量多,使用评率差别较大,可变长格式 | 支持多种 | 微程序控制技术(微码) | 研究周期长 |
RISC(精简) | 数量少,使用评率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存 | 支持方式少 | 增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线 | 优化编译,有效支持高级语言 |
3、流水线(P17)
(1) 概念
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,他们同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度
——>取指——>分析——>执行——>
(2) 流水线计算
【例】若指令流水线把一条指令分为取指、分析和执行三部分,且三部分的时间分别是取指2ns,分析2ns,执行1ns。那么,流水线周期是多少?100条指令全部执行完毕需要的时间是多少?
【分析】流水线周期为执行时间最长的一段
流水线计算公式为:1条指令执行时间+(指令条数-1)* 流水线周期
(首先使用)理论公式:(t1+t2+…+tk)+(n-1)*
Δ
\Delta
Δt
实践公式:(k+n-1)*
Δ
\Delta
Δt(指令分几部分k就为多少)
【解析】流水线周期是:2ns
100条指令全部执行完毕所需时间:(2+2+1)+(100-1)*2=203
实际公式:(3+100-1)*2=204
(3)流水线吞吐率计算
流水线的吞吐率是指在单位时间内流水线所完成的任务数量或输出的结果数量。计算流水线吞吐率的最基本公式如下:
流水线最大吞吐率(理想状态下):
【例】承接上题,上题的流水线吞吐率为:TP=100/203
最大吞吐率为:1/2
(3)流水线的加速比
完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比。计算公式如下:
(4)流水线的效率
流水线的效率是指流水线的设备利用率。在时空图上,流水线的效率定义为n个任务占用的时空区与k个流水段总的时空区之比
计算流水线效率的公式为:
3、计算机层次化存储
引入cache的目的:一个具有极高性价比的方案,在提高速度的同时,没有提高多少成本,cache按内容存取(相连存储)速率高于按地址存取
(1) 高速存储(Cache)——概念
- Cache的功能:提高CPU数据输入输出的速率,突破冯诺依曼瓶颈,即CPU与存储系统间数据传送带宽限制。
- 在计算机的存储系统体系中,Cache是访问速度最快的层次
- 使用Cache改善系统性能的依据是程序的局部性原理。
如果以h代表队Cache的访问命中率,t1表示Cache的周期时间,t2表示主存储器周期时间,以读操作为例,使用“Cache+主存储器”的系统的平均周期为t3,则:
其中:(1-h)又称为失效率(未命中率)
【教材解释P26】Cache性能分析
4、局部性原理
当一个程序访问特定的程序,只有少量的资源会受到影响。因此,在使用更多资源的情况下,局部性原理可以帮助减少资源的消耗,从而提高计算机系统的性能。
- 时间局部性:
- 空间局部性
- 工作集理论:工作集是进程运行时被频繁访问的页面集合
5、主存
(1)分类
- 随机存储器
- DRAM(动态RAM)
- SRAM(静态)
- SRAM与DRAM的比较
SRAM | DRAM | |
---|---|---|
原理 | 触发器 | 电容 |
读出 | 非破坏性 | 破坏性 |
刷新 | 不用 | 用 |
送地址 | 一起送 | 行列分开送 |
速度 | 快 | 慢 |
集成度 | 低 | 高 |
功耗 | 高 | 低 |
成本 | 高 | 低 |
用途 | Cache | 内存 |
- 只读存储器
- MROM(掩模式ROM)
- PROM(一次可编程ROM)
- EPROM(可移除的ROM)
- 闪速存储器(flash memory,闪存)
(2) 编址
【例】内存地址从AC000H到C7FFFH,共有___ K个地址单元,如果该内存地址按字(16bit)编址,由28片存储器芯片构成。已知构成此内存的芯片每片有16K个存储单元,则该芯片每个存储单元存储 ___ 位
【解析】
(1)内存地址从AC000H到C7FFFH 使用大的地址减去小的地址+1即可得到共有地址单元,此题首先将C7FFFH+1得到C8000H便于计算,再讲C8000H减去AC000H得到1C000H
,再将值除以K(1024)得到112
(2)
112
K
∗
16
28
∗
16
)
∗
X
\frac {112K* 16}{28*16)*X}
28∗16)∗X112K∗16=1,求出X即是每个存储单元存储4位
(3) 磁盘结构与参数
存储时间=寻道时间+等待时间(平均定位时间+转动延迟)
注意:寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间
【例】【较为重要,具有代表性】
【解】
(1)【最长时间:336ms】依题意可知:磁头从R0除开始转动(磁头期间不会因为处理单个物理块而停留)磁盘的旋转周期为33且有11个物理块,所以磁头经过每个物理块的时间为33/11=3ms,因每个物理快的逻辑记录需要处理3ms,所以当R0处理完后,磁头已指向R2的开始位置
(2) 【最短时间:66ms】由题意可知可以对存储进行优化分布,故最优为当R0读取处理完成之后直接进入R1读取故解题如下
5、总线
根据总线所处的位置不同,总线通常被分为三种类型,分别是
- 内部总线
- 系统总线
- 数据总线
- 地址总线
- 控制总线
- 外部总线
6、系统可靠性分析与设计
(1)串联系统
(2) 并联系统
【例题:课本P50】
(3) 模冗余系统
【例题:课本P50】
(4)混合系统
提高计算机的可靠性一般采取如下两项措施
- 1、提高元器件质量,改进加工工艺与工艺结构,完善电路设计。
- 2、发展容错技术,使得在计算机硬件有故障的情况下,计算机仍能继续运行,得出正确的结果