一般占据6分分值
课程内容提要

编码及浮点数运算

在计算机中,基数不存储,因为基数在计算机里面是2(二进制)
Flynn分类法

I(Instructions): 指令 D(Data):数据
S: 单个(Single) M:多个(Multiple)

AD
CISC与RISC
指令系统的分类:复杂指令集 、 精简指令集


寄存器过多是精简指令集的特点
C
流水线

流水线的建立时间是一个流水线完成的时间,流水线建立后,其取指、分析、执行花费时间最多的时间就是流水线周期。

考试时如果没有理论公式的答案,就选实践公式的。
串行执行也就是顺序执行
- 4
- (3 + 2 + 4) * 10 = 90
- 3 + 2 + 4 + (10 - 1) * 4 = 45
对于度为2的超标量流水线,其执行时间为 3+2+4+(10/2-1)*4


度为2的超标量流水线
流水线吞吐率

流水线加速比

流水线加速比一般大于1
流水线最大加速比 = k (分段数)

1+1+1+(16-1)*1 = 18
1+1+1+(16/4-1)*1 = 6
指令条数不能整除需要向上取整,例如15条指令对应的流水线条数为 Math.ceil(15/4)

存储系统

Cache


例题详解

B C
理论依据是局部性原理
辅存也是外部存储的意思

程序运行时可能存在大小不够用的情况,就需要使用页面淘汰算法
淘汰算法中还有一种LFU的算法,即统计使用次数,使用次数最少的被淘汰
映射方式是由硬件直接完成的,具体见下图

将主存和Cache都划分为相同大小的页,也称之为块


A B
主存


按字节编址说明一个存储单元存储的是一个字节(1Byte=8bit,一字节等于8比特)
存储总容量 = 存储单元个数*存储内容
H标识代表16进制
总容量16进制 = 8FFFFH - 84000H + 1 = C000H(注意借位就不是10了而是16,因此16-4=12=C)
把C000H转成2进制后转成10进制得到存储总容量
总容量10进制 = 48K*8bit(按字节编址)
存储芯片个数 = 总容量 / 单位容量
磁盘


寻道时间=10*10=100ms
共需时间 = (寻道时间+旋转延迟时间+传输时间)*100 = 20200


每个逻辑记录的旋转时间是 33/11 = 3ms
当处理完R0的时候,磁头就旋转到R1了
R0的读取和处理时间=3+3=6ms
R0之外的其他逻辑记录读取处理时间=(旋转一周的时间+读取时间+处理时间) * 需要处理的逻辑记录个数 = (3*10+3+3) * 10 = 360
因此最长时间=6+360=366
优化后的结构(右图)只需要旋转2周就可以全部读取处理完毕,因此花费时间=33*2=66
总线

半双工
校验码

奇偶校验(只能检错)、CRC循环校验(只能检错)、海明校验(既可以检错也可以纠错)
https://www.ionluo.cn/blog/posts/14ca2885.html#%E6%A0%A1%E9%AA%8C%E7%A0%81
3位二进制有000 100 010 001 110 101 011 111共8种,这里码字的最小距离是1(如000和010)最大距离是3(如000和111、100和011),因此码距是1。如果编码系统有10 01两种的话,码距就是2。规定编码系统就是为了提高容错能力,增加冗余信息,方便校错

奇偶校验:信息位+校验位的1的个数为奇/偶数
循环校验:通常使用模2除法
- 不需要借位
- 中间使用异或计算(二者相同则为0,二者不同则为1)
- 校验方式是信息位+校验位能够被生成多项式整除

上面的生成多项式分别是x的0-4次方的系数,作为模二除法的除数
被除数位数需要是除数的整数倍,因此这里需要补充4个0
最终计算的校验位就是 0011

2^r>=m+r+1
r是校验码位数,m是信息位数。当给出信息位数时候,可以根据公式等到校验位数。如上图,校验位数是3的时候,校验码放置的位置就是2^0、2^1和2^2次方的位置

2^4 >= 6 + 4 + 1, 因此r=4
可靠性分析


B A



D
本文链接: http://www.ionluo.cn/blog/posts/852f824a.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
