cli (Cache Line Invalidate) 指令

用途

使包含在数据或指令高速缓存中寻址的字节的行失效,从而导致后续引用再次从主内存中检索该行。

注: cli 指令仅在 POWER ® 系列体系结构中受支持。

语法

位数 VALUE
0-5 31
6-10 ///
11-15 亚美尼亚共和国
16-20 经常预算
21-30 502
31 Rc
POWER ® 系列 
cli RA RB

描述

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 指令具有特权。