cli (Cache Line Invalidate) 指令
用途
使包含在数据或指令高速缓存中寻址的字节的行失效,从而导致后续引用再次从主内存中检索该行。
注: cli 指令仅在 POWER ® 系列体系结构中受支持。
语法
| 位数 | VALUE |
|---|---|
| 0-5 | 31 |
| 6-10 | /// |
| 11-15 | 亚美尼亚共和国 |
| 16-20 | 经常预算 |
| 21-30 | 502 |
| 31 | Rc |
描述
cli 指令使包含在数据或指令高速缓存中寻址的字节的行失效。 如果 RA 不是 0 ,那么 cli 指令通过将通用寄存器 (GPR) RA 的内容添加到 GPR RB的内容来计算有效地址 (EA)。 如果 RA 不是 GPR 0 ,或者指令未导致数据存储器中断,那么计算结果将返回到 GPR RA中。
使用 cli 指令时,请考虑以下事项:
- 如果机器状态寄存器 (MSR) 的数据重定位 (DR) 位为 0 ,那么会将有效地址视为实际地址。
- 如果 MSR DR 位为 1 ,那么会将有效地址视为虚拟地址。 在这种情况下,将忽略 MSR 重定位 (IR) 位。
- 如果包含由 EA 寻址的字节的行在数据或指令高速缓存中,那么该行将不可用,因此对该行的下一个引用将从主内存中获取。
- 当 MSR (DR) = 1 时,如果虚拟地址没有转换,将发生数据存储中断,将数据存储中断段寄存器的第一个位设置为 1。
- 地址转换将 cli 指令视为对字节寻址的存储,忽略保护和数据锁定。 如果此指令导致转换头缓冲区 (TLB) 不命中,那么将设置引用位。
- 如果 EA 指定 I/O 地址,那么该指令将被视为 no-op ,但 EA 仍放置在 RA中。
cli 指令只有一种语法形式,不会影响定点异常寄存器。 如果 "记录 (Rc)" 位设置为 1 ,那么未定义 "条件寄存器" 字段 0。
参数
| 项 | 描述 |
|---|---|
| RA | 指定用于 EA 计算的源通用寄存器,并可能指定用于操作的目标通用寄存器 (当 RA 不是 GPR 0 时)。 |
| 经常预算 | 指定用于 EA 计算的源通用寄存器。 |
安全性
cli 指令具有特权。