INVLPG
Invalidate TLB Entries
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
0F 01/7 | INVLPG m | M | Valido | Valido | Invalidar entradas TLB para página que contiene m. |
Codificacion de operandos
Cada modo es un valor de la columna Op/En de arriba. Dice en que campo de la instruccion codificada va cada operando, en el orden en que se escriben, y si la instruccion lo lee, lo escribe o ambas cosas.
M
modrm.rmlecturabyte ModRM, campo r/m (bits 2-0); con el byte SIB y el desplazamiento cuando el campo mod los pide
Coste medido
Cargando las mediciones de arch-data...
Descripción
Invalida las entradas de taquillas laterales de traducción (TLB) especificadas con el operando de origen. El operando de origen es una dirección de memoria. El procesador determina la página que contiene esa dirección y elimina todas las entradas de TLB para esa página.1
La instrucción INVLPG es una instrucción privilegiada. Cuando el procesador se ejecuta en modo protegido, el CPL debe ser 0 para ejecutar esta instrucción.
La instrucción INVLPG normalmente hace fluir las entradas TLB sólo para la página especificada; sin embargo, en algunos casos, puede fluir más entradas, incluso toda la TLB. La instrucción invalida las entradas TLB asociadas con el PCID actual y puede o no hacerlo para las entradas TLB asociadas con otros PCIDs. (Si los PCID están deshabilitados -- CR4.PCIDE = 0 -- el PCID actual es 000H.) La instrucción también invalida cualquier entrada TLB global para la página especificada, independientemente de PCID.
For more details on operations that flush the TLB, see "MOV--Move to/from Control Registers" in the Intel(R) 64 and IA-32 Architectures Software Developer's Manual, Volume 2B, and Section 5.10.4.1, "Operations that Invalidate TLBs and Paging-Structure Caches," in the Intel(R) 64 and IA-32 Architectures Software Developer's Manual, Volume 3A.
La operación de esta instrucción es la misma en todos los modos no-64-bit. También opera lo mismo en modo 64-bit, excepto si la dirección de memoria está en forma no canónica. En este caso, INVLPG es el mismo que un NOP.
Compatibilidad de arquitectura IA-32
La instrucción INVLPG es dependiente de la implementación, y su función puede ser implementada de manera diferente en diferentes familias de procesadores Intel 64 o IA-32. Esta instrucción no es compatible con los procesadores IA-32 antes que el procesador Intel486.
Operación
Invalidate(RelevantTLBEntries);
Continue; (* Continue execution *)Banderas afectadas
None.
Excepciones
Modo protegido
#GP(0) | Si el nivel actual de privilegios no es 0. |
#UD | Operando es un registro. Si el prefijo LOCK es utilizado. 1. Si las estructuras de paging mapean la dirección lineal usando una página más grande de 4 KBytes y hay múltiples entradas TLB para esa página (ver Sección 5.10.2.3, "Detalles de uso TLB", en el Intel(R) 64 e IA-32 Arquitecturas Programa de desarrolladores inválidos Manuales |
Modo real
#UD | Operando es un registro. Si el prefijo LOCK es usado. |
Modo virtual-8086
#GP(0) | La instrucción INVLPG no se puede ejecutar en el modo virtual-8086. |
Modo de 64 bits
#GP(0) | Si el nivel actual de privilegios no es 0. |
#UD | Operando es un registro. Si el prefijo LOCK es usado. |