编址 & 寻址
MARIE是按字编址、按字寻址的。字长16位。
注意“可寻址单元个数”与“寻址范围”的单位不同,前者没有单位,后者是一个数据范围。“寻址空间”的单位是容量单位。
每个可寻址单元对应一个唯一的地址编号。
数据的各种表示方式
- 原码
0的表示不唯一。\((1|0000000)_2\) = \((0|0000000)_2\) = \((0)_{10}\) - 一的补码(二进制数的一的补码叫反码)
0的表示不唯一。\((0|0000000)_2\) = \((1|1111111)_2\) = \((0)_{10}\)
注意:反码的获取方法是“负数的原码除符号位之外按位取反”或者“负数的绝对值的原码所有位取反”。 - 二的补码(二进制数真正的补码)
0的表示唯一。 - 移码
0的表示唯一。
8位原码能表示255个不同的数,因为\(2^8\)种表示中有两种都表示0.8位二的补码能表示256个不同的数。 - 浮点数编码
- 符号位:正数为0,负数为1
- 指数位:等于指数 + \(2^{指数的位数 - 1} - 1\)
- 有效数位:小数点后的部分,通过调整指数,把小数点前化为1
浮点数0:指数位和有效数位全是0
非规格化数字:指数位全为0,有效数非0,小数点前隐含的是0
无穷值:指数位全为1,尾数为0,小数点前隐含的是1
NAN:指数全为1,尾数非0。 - QNAN(Quiet NAN):小数点前是1,用于表示未定义的运算结果
- SNAN(Singaling NAN):小数点前是0,用于标记未初始化的值
校验方法的纠错能力
- CRC
- 余数为0,一定无错
- 可以检验出所有的奇数位错
- \(2^r\) - 1 >= N = k + r,k是数据位数,r是校验码位数。
- CRC不能保证100%检错
- 汉明码
- \(2^r\) - 1 >= N = k + r,k是数据位数,r是校验码位数。
汉明码,想要检测d位错误,需要汉明距离至少是d+1;想要纠正d位错误,需要汉明距离至少是2d+1
基于小端模式的变长的整数压缩编码LEB-128
- 对于无符号整数
1)写成二进制;
2)从右向左,每7bit分为一组;
3)以最右为第一组,若其左侧没有其他分组,则在该分组的最左侧加一个1,否则加一个0;
4)按从右到左顺序(小端),写下每个分组。 - 对于有符号整数(正数与无符号整数无差别,此处讨论的是负数)
1)写成二进制补码;
2)从右向左,每7bit分为一组,左侧用1补全;
3)以最右为第一组,若该7bit分组的最高位是1,且该分组的左侧全是1,则以该分组为最后一个分组;
4)按从右到左顺序(小端),写下每个分组。
网络字节序默认是大端
流水线pipeling
- 阶段:任务中的每个步骤成为1个阶段,具有n个阶段的流水线叫n级流水线。
- 时延:一个任务完成的时间。
- 流水线周期:指所有阶段中耗时最长的阶段所耗费的时间
- 吞吐:单位时间可以同时执行的任务数量。
流水线不能提高指令的执行速度,不能降低时延。
可以提高利用率、指令吞吐和整个程序的处理速度。
CPU时间公式
CPUtime = CPI * IC * 时间周期
CPI = 总时间周期数 / 执行的总指令数
IC = 执行的指令条数
I/O控制方法
- 程序控制I/O
- 中断驱动I/O
- 存储器映射I/O
- 直接存储器存取
- 通道控制I/O
缓存写策略
脏块:缓存里的是对的 主存里的是错的
写缺失:对不在缓存里的主存块进行了更新(也就是缓存里的是错的,主存里的是对的)
中断执行过程
- 保存变量和寄存器的值
- 在中断向量表中找到对应的ISR的地址
- 执行ISR
- 执行结束后,恢复保存的变量和寄存器值,继续执行中断前的程序
RAID
- RAID-0
低位交叉,按条带存储
不需要冗余硬盘(最少2块硬盘)
不能容错,访问速度快(可以并行),有效存储率100% - RAID-1
一份数据存储在两个硬盘上
最多对一个硬盘容错(对于一个硬盘和他的镜像硬盘)
有效存储50%,性能无提升 - RAID-2
汉明码,数据和校验分开存储,至少需要两个数据盘和两个校验盘
最多可以恢复一个故障,访问性能低(要更新多个校验盘)
有效存储比低(比RAID-1高),只存在于理论中 - RAID-3
低位交叉,多个数据盘和一个奇偶校验盘(按位)
最多可以恢复一个故障,访问性能低
有效存储比高(1-1/N),只存在于理论中 - RAID-4
多个数据盘和一个奇偶校验盘(按条带)
最多可以恢复一个故障,访问性能低(比RAID-3高,但是奇偶校验盘并发写入会成为瓶颈)
有效存储比高(1-1/N),只存在于理论中 - RAID-5
按条带的奇偶校验,校验信息分散存储在各个数据盘中(块交叉分布)
最多可以恢复一个故障,访问性能好
有效存储比高(1-1/N),最广泛使用的RAID - RAID-6
按条带的奇偶校验和里德所罗门校验码,校验信息分散存储在各个数据盘中
最多可以恢复两个故障,访问性能好(比RAID-5差,因为两个校验导致并发写入概率更高)
有效存储比高(1-2/N) - RAID-DP
采用水平和对角奇偶校验(独立存储在两个奇偶校验盘中)
最多可以恢复两个故障,访问性能差
有效存储比高(1-2/N) - 混合RAID
RAID-10:先1再0
RAID-01:先0再1
10更安全;正常情况下二者读写效率相同,出现损坏时10读性能更好
英文
locality 局部性
hazard 冒险
indexed addressing 变址寻址
RAID-0也叫disk spanning和disk striping
RAID-1也叫disk mirroring和disk duplexing
sign-magnitude 原码
缩写
SISD 单指令流、单数据流体系结构
SMP 对称多处理器
MPP 大规模并行处理器 也就是 AMP 非对称多处理器
VLIW 超长指令字
UMA 统一内存访问
LPAR 逻辑分区
ACID 数据库事务管理四种性质(原子性、一致性、隔离性、持久性)
DMA 直接存储器存取
IOP I/O处理器
EAT 有效访问时间
ROM 只读存储器
RAM 随机访问存储器
CAM 内容寻址存储器
TLB 缓冲后备存储器
RISC 精简指令集计算机
CWP 当前窗口指针