文章目录
一、数据的表示
1.1 进制转化
- 任意进制转十进制采用按权展开法
例:
2. 十进制转其他进制用短除法
例:
3. 二进制转八进制或16进制
例:
1.2 原码反码补码移码
数值1 | 数值-1 | 1-1 | 还原1-1的原码 | |
---|---|---|---|---|
原码 | 0000 0001 | 1000 0001 | 1000 0010 | 1000 0010 |
反码 | 0000 0001 | 1111 1110 | 1111 1111 | 1000 0000 |
补码 | 0000 0001 | 1111 1111 | 0000 0000 | 0000 0000 |
移码 | 1000 0001 | 0111 1111 | 1000 0000 | 0000 0000 |
原码直接计算会出现问题,所以引入了其他的表示方式。
反码的缺陷在于没有解决对于数字0的表示具有两种形式(即-0和0)的问题。
补码解决了计算问题和0的表示不唯一问题,且因此补码的表示范围从原码反码的-127——127扩大到了-128——127,其中补码表示的-128没有对应的原码表达方式。
移码解决了由于符号位的规定导致的直观感受上负数比正数大的现象
所以补码的设计目的是:
- 使符号位能与有效值部分一起参加运算,从而简化运算规则.
- 使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计
1.3 浮点数运算
浮点数表示为:
N
=
M
⋅
R
e
N = M \cdot {R^e}
N=M⋅Re
其中M为尾数,e为指数,R为基数
运算过程为:
对阶规则一般为将低阶指数向高阶指数对等。如若结果的尾数小数点前的数字小于一或不小于十,则需要将结果格式化。
二、计算机结构
三、Flynn分类法
四、CISC与RISC(指令集)
五、流水线技术
5.1 流水线周期以及多条指令执行时间计算
取执行时间最长的一段即流水线周期为2ns。
5.2 流水线吞吐率计算
5.3 流水线加速比计算
5.4 流水线效率计算
六、存储系统
6.1 层次化存储结构
层次化存储:存储的速度从上到下逐渐变慢,存储的容量从上到小逐渐增加
Cache:高速缓存
6.2 Cache
6.3 Cache的局部性原理
时间局部性:例如上图S+=j这条代码是要执行1000000次的,如果将这段代码直接放入到Cache里面就会大大提高计算效率,如果没有在Cache里面,每一次都要调用主存储器的,这样的花销就会很大。
空间局部性:就是访问了一个存储空间以后,立即访问他的临近空间
工作集理论:就是把经常访问的界面,放到一个集合里面
6.4 主存储器
主存储器的分类:
主存储器的编址:
6.5 磁盘结构与参数
PS:单缓冲区说明读取信息后必须处理完才能存储下一个信息。
习题:
注意事项:
- 硬盘有数个盘片,每盘片两个面,每个面一个磁头
- 盘片被划分为多个扇形区域即扇区
- 同一盘片不同半径的同心圆为磁道
- 不同盘片相同半径构成的圆柱面即柱面
七、总线系统
八、可靠性
8.1、串并联系统
失效率一般也可以用1减去可靠度求得。
8.2 N模冗余系统与混合系统
九、校验码
9.1 校验码概念
9.2 循环校验码CRC
CRC可检错不可纠错。
具体来说,CRC校验原理就是以下几个步骤:
(1)先选择(可以随机选择,也可按标准选择,具体在后面介绍)一个用于在接收端进行校验时,对接收的帧进行除法运算的除数(是二进制比较特串,通常是以多项方式表示,所以CRC又称多项式编码方法,这个多项式也称之为“生成多项式”)。
(2)看所选定的除数二进制位数(假设为k位),然后在要发送的数据帧(假设为m位)后面加上k-1位“0”,然后以这个加了k-1个“0“的新帧(一共是m+k-1位)以“模2除法”方式除以上面这个除数,所得到的余数(也是二进制的比特串)就是该帧的CRC校验码,也称之为FCS(帧校验序列)。但要注意的是,余数的位数一定要是比除数位数只能少一位,哪怕前面位是0,甚至是全为0(附带好整除时)也都不能省略。
(3)再把这个校验码附加在原数据帧(就是m位的帧,注意不是在后面形成的m+k-1位的帧)后面,构建一个新帧发送到接收端,最后在接收端再把这个新帧以“模2除法”方式除以前面选择的除数,如果没有余数,则表明该帧在传输过程中没出错,否则出现了差错。
CRC校验中有两个关键点:一是要预先确定一个发送端和接收端都用来作为除数的二进制比特串(或多项式);二是把原始帧与上面选定的除进行二进制除法运算,计算出FCS。前者可以随机选择,也可按国际上通行的标准选择,但最高位和最低位必须均为“1”
9.3 海明校验码(高频考点)
海明校验码既可以纠错,也可以改错
校验位永远位于2的N次方的位置
将得到的信息的校验码位(如000)与发送信息的校验码位(如001)进行异或,可得到错误信息的位置。需要注意的是:只有一组校验结果出现差错时,则肯定只是对应的校验位出了差错。