寄存器重命名
重命名映射表
重命名时
- 源寄存器查找 RAT 获得对应物理寄存器标号
- 指令的目的寄存器会新增对应新的物理寄存器
两种方式
- SRAM 方式
- SRAM 是每个逻辑寄存器分配一个物理寄存器
- Entry 项为 32 个,一共有 32 个逻辑寄存器
- SRAT 占据空间是 32 X 6 bits = 192 bits
- CAM 方式(Content Addressable Memory)
- CAM 是每个物理寄存器分配一个逻辑寄存器,所以需要 valid 位来表示
- Entry 项为 64 个,一共有 64 个物理寄存器
- CRAT 占用空间是 64 X 5 bits = 320 bits
- 需要 valid 位来表示
- 对比
- 都是使用逻辑寄存器来寻址
- SRAM 快,并且节省资源
- 对 cRAT 进行 Checkpoint 只需要保存状态位
32 个逻辑寄存器 5 位来表示
64 个物理寄存器 6 位来表示
#问题 CAM 的 check points 只需要一位?
在完成 RAT 写入时
对于一个特点的通用寄存器来说
- SRAM 中
- 需要保存当前值,当前值又因为 ARF 可能会不断映射新的值而被覆盖,所以需要保存所有