跳转指令:
beq: PC + offset * 4,其中 PC 为下一条指令地址;乘 4 的原因是一条指令长度为 4 字节,且指令连续存放
j: 伪直接寻址
jr: 按照寄存器值直接寻址
指令中的 rt 在 R 型指令中只读,在 I 型指令中可读可写
32 位浮点数中,8 位指数,23 位尾数;指数在前,尾数在后
浮点数中单精度偏阶为 127,双精度为 1023
指数中全0和全1都是保留值,无法取到
MIPS 速率:每秒能运行某段程序的次数
加减法溢出:当且仅当出现 正 + 正 = 负 或 负 + 负 = 正
流水线:IF -> ID(实际上是读寄存器) -> EX -> MEM -> WB
数据冒险:
带来阻塞
EX/MEM.RegisterRd = ID/EX.RegisterRs(Rt)
MEM/WB.RegisterRd = ID/EX.RegisterRs(Rt)
分支预测:
静态/动态
一位/两位
cache 包含 有效位、标记域、块本身(大小通常以字为单位)
组相联 chache 中,组号 = 块号 mod 组数
虚页号 virtual page number
页偏移 page offset:决定页大小
物理页号 physical page number
脏位
快表(翻译查找缓冲区) translation-lookaside buffer
引用位:当在 TLB 中查找到需要的虚拟页时,引用位置1
虚拟地址 -> TLB -> 物理地址 -> cache -> 寄存器
计算内存相关内容时,可以把虚拟内存和内存地址按位画出来