数据的表示
进制转换
(1)R 进制转十进制:按权展开法
(2)十进制转R 进制:除以 R 取余,倒着排列余数
(3)二进制、八进制、十六进制转换:
| 二进制转八进制 | 将每 3 个二进制数转换为八进制数 |
|---|---|
| 二进制转十六进制数 | 将每 4 个二进制数转换为八进制数 |
| 八进制转二进制 | 将每个八进制数转换为 3 位二进制数 |
| 十六进制转二进制 | 将每个十六进制数转换为 4 位二进制数 |
八进制数和十六进制数转换可先转换为二 进制数,然后再转换为目标进制。
原码、反码、补码、移码
- 0 表示正数,1 表示负数
- 正数=原码=反码=补码
- 负数的补码=负数的反码+1
- 移码只用于整数,补码的符号位取反
表示范围
| 整数 | |
|---|---|
| 原码 | -(2n-1-1)~2n-1-1 |
| 反码 | -(2n-1-1)~2n-1-1 |
| 补码 | -2n-1~2n-1-1 |
浮点数运算(小阶向大阶对齐,小阶尾数右移)
**N = M * R e M:尾数;e:指数;R:基数 **
计算机结构
- (1)运算器=算术逻辑单元(ALU)+累加寄存器(AC)+数据缓冲寄存器(DR)+状态条件寄存器(PSW)
- (2)控制器=指令寄存器(IR)+程序计数器(PC)+地址寄存器(AR)+指令译码器(ID)+时序部件
Flynn分类法(指令流/数据流)
| 体系结构类型 | 结构 | 关健特性 | 代表 |
|---|---|---|---|
| 单指令流单数据流控制部分:单处理器系统 SISD | 控制部分:一个 处理器:一个 主存模块:一个 | 单处理器系统 | |
| 单指令流多数据流控制部分:一个各处理器以异并行处理机 SIMD | 控制部分:一个 处理器:多个 主存模块:多个 | 各处理器以异步的形式执行同一条指令 | 并行处理机 阵列处理机 超级向量处理机 |
| 多指令流单数据流 MISD | 控制部分:多个 处理器:一个 主存模块:多个 | 被证明不可能, 至少是不实际 | 目前没有,有文献称流水线计算机为此类 |
| 多指令流多数据流 MIMD | 控制部分:多个 处理器:多个 主存模块:多个 | 能够实现作业、任务、指令等各级全面并行 | 多处理机系统 多计算机 |
CISC 与 RISC
| 指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其它 |
|---|---|---|---|---|
| CISC(复杂) | 数量多,使用频率差别 大,可变长格式 | |||
| RISC(精简) | 数量少,使用频率接近 定长格式,大部分为单周期指令,操作寄存器只有Load/Store操作内存 | 支持方式少 | 增加了通用寄存器;硬布线逻辑控制为主采用流水线 | 优化编译,有交效支持高级语言 |
流水线技术(计算指令的执行总时间、平均时间、计算机运算速度)
基本概念
- 流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度
| 取指 | 1 | 2 | 3 | ||||||
|---|---|---|---|---|---|---|---|---|---|
| 分析 | 1 | 2 | 3 | ||||||
| 执行 | 1 | 2 | 3 |
未使用流水线执行指令情况
| 取指 | 1 | 2 | 3 | ||||||
|---|---|---|---|---|---|---|---|---|---|
| 分析 | 1 | 2 | 3 | ||||||
| 执行 | 1 | 2 | 3 |
使用流水线执行指令情况
流水线周期及执行时间的计算
| 取指 | 1 | 2 | 3 | . | . | . | n | ||
|---|---|---|---|---|---|---|---|---|---|
| 分析 | 1 | 2 | 3 | . | . | . | n | ||
| 执行 | 1 | 2 | 3 | . | . | . | n |
流水线周期为执行时间最长的一段
流水线计算公式为:
1条指令执行时间+(指令条数-1)*流水线周期
①理论公式:(t1+t2++tk)+(n-1)*△t
②实践公式:(k+n-1)*△t
例:若指令流水线把一条指令分为取指、分析和执行三部分,且三部分的时间分别
是取指2ns,分析2ns,执行1ns。那么,流水线周期是多少?100条指令全部执行
完毕需要的时间是多少?
流水线周期是2ns。
100条指令的总时间是: 5ns+99×2ns=5ns+198ns=203ns
综上所述,流水线周期是2ns,100条指令全部执行完毕需要的时间是203ns。
流水线吞吐率的计算
流水线的吞吐率(ThoughPutrate,TP)是指在单位时间内流水线所完成的
任务数量或输出的结果数量。计算流水线吞吐率的最基本的公式如下:
流水线最大吞吐率:
流水线的加速比计算
流水线的效率
流水线的效率是指流水线的设备利用率。在时空图上,流水线的效率定义为n个任务占用的时空区与k个流水段总的时空区之比。
空间
| S4 | 1 | 2 | 3 | 4 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| S3 | 1 | 2 | 3 | 4 | |||||||||||
| S2 | 1 | 2 | 3 | 4 | |||||||||||
| S1 | 1 | 2 | 3 | 4 |
15△t时间
连续处理4个数据的时空图
计算流水线效率的公式为:
多级存储体系
层次化存储结构
基于性价比:速度快的存储空间小,价格昂贵;速度慢的存储空间大,价格便宜。
Cache的概念以及命中率
Cache-概念:
- Cache的功能:提高CPU数据输入输出的速率,突破冯·诺依曼瓶颈,即CPU与存储系统间数据传送带宽限制。
- 在计算机的存储系统体系中,Cache是访问速度最快的层次。
- 使用Cache改善系统性能的依据是程序的局部性原理。
如果以h代表对Cache的访问命中率,表示Cache的周期时间,
表示主存储器周期时间,以读操作为例,使用“Cache+主存储器”的系统的平均周期为
则:
其中,(1-h)又称为失效率(未命中率)。
局部性原理(Cache的依据)
:::info 时间局部性
空间局部性
工作集理论:工作集是进程运行时被频繁访问的页面集合
:::
int i,j,s=0;
for(i=1;i<1000;i++)
for(j=1;j<1000;j++)
s+=j;
printf("结果为:%d",s);
内存问题(随机存储器和只读存储器)
主存分类
主存编址
| 000 | ||||
|---|---|---|---|---|
| 001 | ||||
| 010 | ||||
| 011 | ||||
| 100 | ||||
| 101 | ||||
| 110 | ||||
| 111 |
8*4位的存储器
8*8位的存储器
16*4位的存储器
:::info 内存地址从AC000H到C7FFFH,共有_(1)K个地址单元,如果该内存地址按字(16bit)编址,由28片存储器芯片构成。已知构成此内存的芯片每片有16K个存储单元,则该芯片每个存储单元存储(2)_位。
(1)A.96 B.112 C.132 D.156
(2)A.4 B.8 C.16 D.24
:::
:::color2
:::
已知每个地址单元是按字编址,即每个地址单元的位数是 16位。代入公式计算每存储单元存储的位数。
磁盘的工作原理
磁盘结构
存取时间=寻道时间+等待时间(平均定位时间+转动延迟)
注意:寻道时间是指磁头移动到磁道所需的时间:等待时间为等待读写的扇区转到磁
头下方所用的时间。
磁盘容量计算
(1)非格式化容量=面数×(磁道数/面)×内圆周长×最大密度
(2)格式化容量=面数×(磁道数/面)×(扇区数/面)X(字节数/扇区)
计算机总线
总线分类
:::color2 根据总线所处的位置不同,总线通常被分成三种类型,分别是:
:::
- 内部总线
- 系统总线
- 数据总线 地址总线 控制总线
- 外部总线
计算机的可靠性
串联模型=可靠度相乘
并联模型=1-不可靠度相乘
N模冗余模型
串并联混合模型
校验码(海明码)
校验码的检错纠错原理(增加码距)
差错控制-CRC与海明校验码
:::color2 什么是码距?
一个编码系统的码距是整个编码系统中任意(所有)两个码字的最小距离。
例:
若用1位长度的二进制编码,若A=1,B=0,这样A,B之间的最小码距为1.
若用2位长度的二进制编码,若以A=11,B=00为例,A、B之间的最小码距为2.
若用3位长度的二进制编码,可选用111,000作为合法编码。A,B之间的最小码距为3。
:::
:::color1 码距与检错、纠错有何关系?
1.在一个码组内为了检测e个误码,要求最小码距d应该满足:d>=e+1
2.在一个码组内为了纠正t个误码,要求最小码距d应该满足:d>=2t+1
:::
循环校验码马(CRC)-只能检错
循环余校验码在进行编码时,其编码的结果由数据位+校验位组成,其中数据位在前,而校验位在后。
校验码-循环校验码CRC
:::color1 什么是模2除法,它和普通的除法有何区别?
模2除法是指在做除法运算的过程中不计其进位的除法。
例如,10111对110进行模2除法为:
:::
海明校验码-既可以检错也可以纠错
例:求信息1011的海明码。
(1),确定校验码为3位:
>=4+3+1.分别放在
、
、
位.
(2)列出校验位公式。
(3)根据公式得
(4)将数据加入表格,如表所示。
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 位数 |
|---|---|---|---|---|---|---|---|
| 信息位 | |||||||
| 校验位 |
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 位数 |
|---|---|---|---|---|---|---|---|
| 1 | 信息位 | ||||||
| 0 | 校验位 |