rac (实际地址计算) 指令
用途
将有效地址转换为实际地址并将结果存储在通用寄存器中。
注: 拉克 指令仅在 POWER ® 系列体系结构中受支持。
语法
| 位数 | VALUE |
|---|---|
| 0 - 5 | 31 |
| 6 - 10 | RT |
| 11 - 15 | RA |
| 16 - 20 | 经常预算 |
| 21 - 30 | 818 |
| 31 | Rc |
描述
拉克 指令根据通用寄存器 (GPR) RA 的内容与 GPR 理, 的内容之和计算有效地址 (EA) ,并将 EA 扩展为虚拟地址。
如果 RA 不是 0 ,并且 RA 不是 资源,那么 拉克 指令会将 EA 存储在 GPR 中 RA,将结果转换为真实地址,并将真实地址存储在 GPR 中 资源。
使用 拉克 指示信息时,请考虑以下事项:
- 如果 GPR RA 为 0 ,那么 EA 是 GPR 经常预算 和 0 的内容之和。
- EA 扩展为其虚拟地址并转换为真实地址,而不管是否启用了数据转换。
- 如果转换成功,那么将设置条件寄存器中的 EQ 位,并将实际地址放置在 GPR 资源中。
- 如果转换不成功,那么会将 EQ 0 设置为 0 ,并将 0 放置在 GPR 资源中。
- 如果有效地址指定 I/O 地址,那么 EQ 位将设置为 0 ,并且 0 将放置在 GPR 资源中。
- 如果实际地址不在 "转换外观预留缓冲区" (TLB) 中,那么将设置引用位。
拉克 指令具有两种语法形式。 每个语法表单对条件寄存器字段 0 有不同的影响。
| 项 | 描述 | |||
|---|---|---|---|---|
| 语法表单 | 溢出 异常 (OE) | 固定点 异常寄存器 | 记录 位 (Rc) | 条件 注册字段 0 |
| 拉克 | 无 | 无 | 0 | 无 |
| 拉克 | 无 | 无 | 1 | EQ , SO |
拉克 指令的两种语法形式不影响固定点异常寄存器。 如果语法格式将 "记录 (Rc) 位" 1 为 1 ,那么指令将影响 "条件 0 字段 0" 中的 "相等 (EQ)" 和 "摘要溢出 (SO) 位"。
注: 硬件可能首先在转换预留缓冲区中搜索该地址。 如果此操作失败,那么必须搜索 "页面框架" 表。 在这种情况下,不需要装入 "翻译预留缓冲区" 条目。
参数
| 项 | 描述 |
|---|---|
| RT | 指定在其中存储操作结果的目标通用寄存器。 |
| RA | 指定 EA 计算的源通用寄存器。 |
| 经常预算 | 指定 EA 计算的源通用寄存器。 |
安全性
拉克 指令指令具有特权。