Invd-invalidate internal caches, Invd—invalidate internal caches – Intel 253666-024US User Manual

Page 532

Advertising
background image

3-486 Vol. 2A

INVD—Invalidate Internal Caches

INSTRUCTION SET REFERENCE, A-M

INVD—Invalidate Internal Caches

Description

Invalidates (flushes) the processor’s internal caches and issues a special-function
bus cycle that directs external caches to also flush themselves. Data held in internal
caches is not written back to main memory.
After executing this instruction, the processor does not wait for the external caches
to complete their flushing operation before proceeding with instruction execution. It
is the responsibility of hardware to respond to the cache flush signal.
The INVD instruction is a privileged instruction. When the processor is running in
protected mode, the CPL of a program or procedure must be 0 to execute this
instruction.
Use this instruction with care. Data cached internally and not written back to main
memory will be lost. Unless there is a specific requirement or benefit to flushing
caches without writing back modified cache lines (for example, testing or fault
recovery where cache coherency with main memory is not a concern), software
should use the WBINVD instruction.
This instruction’s operation is the same in non-64-bit modes and 64-bit mode.

IA-32 Architecture Compatibility

The INVD instruction is implementation dependent; it may be implemented differ-
ently on different families of Intel 64 or IA-32 processors. This instruction is not
supported on IA-32 processors earlier than the Intel486 processor.

Operation

Flush(InternalCaches);
SignalFlush(ExternalCaches);
Continue (* Continue execution *)

Flags Affected

None.

Opcode*

Instruction

64-Bit

Mode

Compat/

Leg Mode

Description

0F 08

INVD

Valid

Valid

Flush internal caches; initiate flushing of

external caches.

NOTES:

* See the IA-32 Architecture Compatibility section below.

Advertising