编址 & 寻址

MARIE是按字编址、按字寻址的。字长16位。
注意“可寻址单元个数”与“寻址范围”的单位不同,前者没有单位,后者是一个数据范围。“寻址空间”的单位是容量单位。
每个可寻址单元对应一个唯一的地址编号。

数据的各种表示方式

  1. 原码
    0的表示不唯一。\((1|0000000)_2\) = \((0|0000000)_2\) = \((0)_{10}\)
  2. 一的补码(二进制数的一的补码叫反码)
    0的表示不唯一。\((0|0000000)_2\) = \((1|1111111)_2\) = \((0)_{10}\)
    注意:反码的获取方法是“负数的原码除符号位之外按位取反”或者“负数的绝对值的原码所有位取反”。
  3. 二的补码(二进制数真正的补码)
    0的表示唯一。
  4. 移码
    0的表示唯一。
    8位原码能表示255个不同的数,因为\(2^8\)种表示中有两种都表示0.8位二的补码能表示256个不同的数。
  5. 浮点数编码
  • 符号位:正数为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,用于标记未初始化的值

校验方法的纠错能力

  1. CRC
  • 余数为0,一定无错
  • 可以检验出所有的奇数位错
  • \(2^r\) - 1 >= N = k + r,k是数据位数,r是校验码位数。
  • CRC不能保证100%检错
  1. 汉明码
  • \(2^r\) - 1 >= N = k + r,k是数据位数,r是校验码位数。
    汉明码,想要检测d位错误,需要汉明距离至少是d+1;想要纠正d位错误,需要汉明距离至少是2d+1

基于小端模式的变长的整数压缩编码LEB-128

  1. 对于无符号整数
    1)写成二进制;
    2)从右向左,每7bit分为一组;
    3)以最右为第一组,若其左侧没有其他分组,则在该分组的最左侧加一个1,否则加一个0;
    4)按从右到左顺序(小端),写下每个分组。
  2. 对于有符号整数(正数与无符号整数无差别,此处讨论的是负数)
    1)写成二进制补码;
    2)从右向左,每7bit分为一组,左侧用1补全;
    3)以最右为第一组,若该7bit分组的最高位是1,且该分组的左侧全是1,则以该分组为最后一个分组;
    4)按从右到左顺序(小端),写下每个分组。

网络字节序默认是大端

流水线pipeling

  • 阶段:任务中的每个步骤成为1个阶段,具有n个阶段的流水线叫n级流水线。
  • 时延:一个任务完成的时间。
  • 流水线周期:指所有阶段中耗时最长的阶段所耗费的时间
  • 吞吐:单位时间可以同时执行的任务数量。
    流水线不能提高指令的执行速度,不能降低时延。
    可以提高利用率、指令吞吐和整个程序的处理速度。

CPU时间公式

CPUtime = CPI * IC * 时间周期
CPI = 总时间周期数 / 执行的总指令数
IC = 执行的指令条数

I/O控制方法

  1. 程序控制I/O
  2. 中断驱动I/O
  3. 存储器映射I/O
  4. 直接存储器存取
  5. 通道控制I/O

缓存写策略

脏块:缓存里的是对的 主存里的是错的
写缺失:对不在缓存里的主存块进行了更新(也就是缓存里的是错的,主存里的是对的)

中断执行过程

  1. 保存变量和寄存器的值
  2. 在中断向量表中找到对应的ISR的地址
  3. 执行ISR
  4. 执行结束后,恢复保存的变量和寄存器值,继续执行中断前的程序

RAID

  1. RAID-0
    低位交叉,按条带存储
    不需要冗余硬盘(最少2块硬盘)
    不能容错,访问速度快(可以并行),有效存储率100%
  2. RAID-1
    一份数据存储在两个硬盘上
    最多对一个硬盘容错(对于一个硬盘和他的镜像硬盘)
    有效存储50%,性能无提升
  3. RAID-2
    汉明码,数据和校验分开存储,至少需要两个数据盘和两个校验盘
    最多可以恢复一个故障,访问性能低(要更新多个校验盘)
    有效存储比低(比RAID-1高),只存在于理论中
  4. RAID-3
    低位交叉,多个数据盘和一个奇偶校验盘(按位)
    最多可以恢复一个故障,访问性能低
    有效存储比高(1-1/N),只存在于理论中
  5. RAID-4
    多个数据盘和一个奇偶校验盘(按条带)
    最多可以恢复一个故障,访问性能低(比RAID-3高,但是奇偶校验盘并发写入会成为瓶颈)
    有效存储比高(1-1/N),只存在于理论中
  6. RAID-5
    按条带的奇偶校验,校验信息分散存储在各个数据盘中(块交叉分布)
    最多可以恢复一个故障,访问性能好
    有效存储比高(1-1/N),最广泛使用的RAID
  7. RAID-6
    按条带的奇偶校验和里德所罗门校验码,校验信息分散存储在各个数据盘中
    最多可以恢复两个故障,访问性能好(比RAID-5差,因为两个校验导致并发写入概率更高)
    有效存储比高(1-2/N)
  8. RAID-DP
    采用水平和对角奇偶校验(独立存储在两个奇偶校验盘中)
    最多可以恢复两个故障,访问性能差
    有效存储比高(1-2/N)
  9. 混合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 当前窗口指针

posted on 2024-04-03 20:31  ww0809  阅读(25)  评论(0编辑  收藏  举报