(二)计算机知识
1、计算机硬件5大件
运算器、控制器、存储器(内、外存储器)、输入设备、输出设备
2、运算器
- 算数逻辑单元ALU:数据的算术运算和逻辑运算
- 累加寄存器AC:通用寄存器,为ALU提供一个工作区,用在暂存数据
- 数据缓冲寄存器DR:写内存是,暂存指令或数据
- 状态条件寄存器PSW**(在不得已的时候可以是控制器)**:存状态标志与控制标志
3、控制器
- 程序计数器PC:存储下一条要执行指令的地址
- 指令寄存器IR:存储即将执行的指令
- 指令译码器ID:对指令中的操作码字段进行分析解释
- 时序部件:提供时序控制信号
4、计算机体系结构分类–Flynn
体系结构类型 | 结构 | 关键特性 | 代表 |
---|---|---|---|
单指令流单数据流 SISD | 控制部分:一个;处理器:一个;主存模块:一个 | 单处理器系统 | |
单指令流多数据流 SIMD | 控制部分:一个;处理器:多个;主存模块:多个 | 各处理器以异步的形式执行同一条指令 | 并行处理机、阵列处理机、超级向量处理机 |
被证明不可能,至少是不实际 | 目前没有 | ||
多指令流多数据流MIMD | 控制部分:多个;处理器:多个;主存模块:多个 | 能够实现作业、任务、指令等各级全面并行 | 多处理机系统、多计算机 |
5、指令的基本概念
-
一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如下:
操作码字段|地址码字段
-
操作码部分指出了计算机要执行什么性质的操作,如加法、减法、取数、存数等。地址码字段需要包含各操作数的地址及操作结果的存放地址等,从其地址结构的角度可以分为三地址指令、二地址指令、一地址指令和零地址指令
OP|A1|A2|A3 OP|A1|A2 OP|A1 OP
6、寻址方式
- 立即寻址
- 操作数直接在指令中,速度快,灵活性差
- 直接寻址
- 指令中存放的是操作数的地址
- 间接寻址
- 指令中存放了一个地址,这个地址对应内容是操作数的地址
- 寄存器寻址
- 寄存器存放操作数
- 寄存器间接寻址
- 寄存器内存放的是操作数的地址
7、CISC与RISC
指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其他 |
---|---|---|---|---|
CISC(复杂指令集) | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制技术(微码) | 研制周期长 |
RISC(精简指令集) | 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存 | 支持方式少 | 增加了通用寄存器;硬布线逻辑控制位主适合采用流水线 | 优化编译,有效支持高级语言 |
8、流水线
8.1、概念
- 相关参数计算:流水线执行时间计算、流水线吞吐量、流水线加速比、流水线效率
- 流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度
-
流水线周期为执行时间最长的一段
- 每个部分的操作都是1ms,流水线周期为1ms;若每个部分的操作分别为 1ms、2ms、1ms,那么流水线周期为2ms
-
流水线计算公式为:
1条指令执行时间 + (指令条数 - 1 )* 流水线周期 理论公式(即上面这条公式):(t1+t2+...+tk)+(n-1)*△t,t为每条个操作的执行时间,n为指令条数,△t为流水线周期
若理论公式计算完没有正确答案,应该用实践公式(预留了一些宽裕的时间)
实践公式:k*△t+(n-1)*△t
8.2、超标量流水线
相当于增加多条流水线,提高效率(多少条流水线,度就为多少)
如:度为2的超标流水线
8.3、吞吐率计算
-
流水线的吞吐率是指在单位时间内流水线所完成的任务数量或输出的结果数量。
-
流水线吞吐率的公式如下:
TP = 指令条数/流水线执行时间
-
流水线最大吞吐率:
TP(max) = 1/△t , △t为流水线周期
9、层次化存储结构
名称 | 特点 | |
---|---|---|
速度快、容量小 | CPU | 寄存器;最快,容量小,成本高 |
Cache | 高速存储器,按内容存取 | |
内存(主存) | 分两类:随机存储器(RAM),只读存储器(ROM) | |
速度慢、容量大 | 外存(辅存) | 硬盘、光盘、u盘等 |
9.1、Cache-概念
-
在计算机的储存系统体系中,Cache是访问速度最快的层次(若右寄存器,则寄存器最快)
-
使用Cache改善系统性能的依据是程序的局部性原理
-
如果用h代表Cache的访问命中率,t1表示Cache的周期时间,t2表示主存储器周期时间,以读操作为例,使用
Cache+主存储器
的系统的平均周期为t3,则:t3 = h*t1 + (1-h)*t2 其中,(1-h)称为生效率(未命中率)
9.2、Cache-映像
- 直接相联映像:硬件电路较简单,访问速度快,但冲突率很高
- 全相联映像:电路难于设计和实现,只适用于小容量的Cache,冲突率较小
- 组相联映像:直接相联与全相联的折中
- 地址映像是将主存与Cache的存储空间划分为若干大小的相同的页(或称为块)
- 某机主存容量为1GB,划分为2048页,每页512KB;Cache容量为8MB,划分为16页,每页512KB
9.3、Cache-直接相联映像
- 直接相联的第x位Cache只能存储每个区中的第x页的数据
9.4、Cache-全相联映像
9.4、Cache-组相联映像
10、主存-编址与计算
- 按字编址:存储体的存储单元是字存储单元,即最小寻址单位是一个字
- 按字节编址:存储体的存储单元是字节存储单元,即最小寻址单位是一个字节
根据存储器所需求的容量和选定的存储芯片的容量,就可以计算出所需芯片的总数,即:
总片数 = 总容量 / 每片的容量
1Byte = 8bit
- 例题:若内存地址区间为 4000H~43FFH,每个存储单元可存储16位二进制数,该内存区域用4片存储器芯片构成,则构成该内存所用的存储器芯片的容量是多少?
共有:43FFH-4000H+1 = 400H 个内存地址
400H = 2^10 = 1K
1K * 16bit / 4 = 256k * 16bit = 512KB
11、总线
一条总线同一时刻仅允许一个设备发送,但允许多个设备接收
11.1、分类
- 数据总线:在CPU与RAM之间来回传送需要处理或是需要存储的数据
- 地址总线:用来指定在RAM之中存储的数据的地址
- 控制总线:将微处理器控制单元的信号,传送到周边设备,一般常见的为USB Bus 和 1394 Bus
12、串联系统与并联系统
12.1、串联系统
输入--> R1 --> R2 --> ... --> Rn --> 输出
该系统的可靠性为:R = R1 * R2 * ... * Rn
12.2、并联系统
--> R1 -->
↑ ↓
输入 ---> R2 ----> 输出
↓ ... ↑
--> Rn -->
并联系统可靠性 = 1 - 总失效
该系统的可靠性为:R = 1 - (1-R1) * (1-R2) * ... * (1-Rn)
12.3、N模混合系统
--> R --> --> R -->
↑ ↓ ↑ ↓
输入 --> R ---> R ------> ---> 输出
↓ ↑ ↓ ↑
--> R --> --> R -->
该混合系统的可靠性为:R * (1-(1-R)^3) * (1-(1-R)^2)
13、校验码
13.1、码距
任何一种编码都由许多码字构成,任意两个码字之间最少变化的二进制位数就称为数据校验码的码距
例如:
0000 与 0001,码距为1
01 与 10,码距为2
13.2、奇偶校验
- 奇偶校验码的编码方法是:由若干位有效信息(如一个字节),再加上一个二进制位(校验位)组成校验码
- 奇校验:整个校验码**(有效信息位和校验位)中 ”1“ 的个数为奇数个**
- 偶校验:整个校验码**(有效信息位和校验位)中 ”1“ 的个数为偶数个**
注意:奇偶校验,可检查1位的错误,不可纠错
发送的数据为:1010 1
接收的数据若为:1011 1,则会检查到错误
接收的数据若为:1111 1,则不会检查到错误
13.3、循环冗余校验码CRC
注意:CRC只能检错,不能纠错
13.4、海明校验码
可以检错,也可纠错
- 需要多少位校验码才能实现检错和纠错
设r为校验位,m为数据位
公式为:2^r >= m+r+1