HRESET
历史重置
stableVMJITAOTinstruction
编码
| 操作码 | 指令 | Op/En | 64 位 | 兼容/传统 | 说明 |
|---|---|---|---|---|---|
F3 0F 3A F0 C0 /ib | HRESET imm8, <EAX> | A | 有效 | 有效 | 处理器历史重置请求。 由 EAX 隐含的 操作数 控制 。 |
操作数编码
每个模式对应上表 Op/En 列的一个取值,说明各操作数按书写顺序分别编码在指令的哪个字段,以及指令对它是读、是写还是两者兼有。
A
modrm.rmlecturaModRM 字节的 r/m 字段(第 2-0 位);当 mod 字段要求时,还包括 SIB 字节和位移
实测开销
正在从 arch-data 加载实测数据...
说明
请处理器选择性地重置当前逻辑处理器所维护的硬件历史中选定的组件. HRESET操作由隐含的EAX 操作数控制. 明文 imm8 操作数的值被忽略. 此指令只能在特权级别 0 执行 。
HRESET指令可用于请求重置硬件历史的多个组件. 在HRESET执行前,系统软件必须采取以下步骤: 1.
- 联合国 通过CPUID.20H.00H:EBX来假设HRESET的能力,这表示硬件历史中哪些组件可以重置.
- 国家 只有CPUID.20H.00H:EBX所列举的比特可以设置在IA32 HRESET ENULE MSR中.
HRESET如果EAX设置了IA32 HRESET EN-ABLE MSR中未设置的任何位点,则会导致一般保护例外(#GP).
在交易区域中执行 HRESET 指令的任何尝试都会导致交易中止 。
行动
IF EAX = 0
THEN NOP
ELSE
FOREACH i such that EAX[i] = 1
Reset prediction history for feature i
FI受影响的旗帜
None.
异常
保护模式
#GP(0) | 若CPL > 0或(EAX AND NOT IA32 HRESET ENABLE) 0. |
#UD | 如果 CPUID.07H.01H:EAX.HRESET[22]=0. |
实地址模式
| 与保护模式中的例外相同. |
虚拟 8086 模式
#GP(0) | HRESET指令在虚拟 8086 模式中不被识别. |
兼容模式
| 与保护模式中的例外相同. |
64 位模式
| 与保护模式中的例外相同. |