3-708
INSTRUCTION SET REFERENCE
WBINVDWrite Back and Invalidate Cache
Description
This instruction writes back all modified cache lines in the processors internal cache to main
memory and invalidates (flushes) the internal caches. The instruction then issues a special-func-
tion bus cycle that directs external caches to also write back modified data and another bus cycle
to indicate that the external caches should be invalidated.
After executing this instruction, the processor does not wait for the external caches to complete
their write-back and flushing operations before proceeding with instruction execution. It is the
responsibility of hardware to respond to the cache write-back and flush signals.
The WDINVD 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. This instruction
is also a serializing instruction. For more information, refer to Section 7.4., Serializing Instruc-
tions in Chapter 7, Multiple-Processor Management of the Intel Architecture Software Devel-
opers Manual, Volume 3.
In situations where cache coherency with main memory is not a concern, software can use the
INVD instruction.
Intel Architecture Compatibility
The WBINVD instruction is implementation dependent, and its function may be implemented
differently on future Intel Architecture processors. The instruction is not supported on Intel
Architecture processors earlier than the Intel486 processor.
Operation
WriteBack(InternalCaches);
Flush(InternalCaches);
SignalWriteBack(ExternalCaches);
SignalFlush(ExternalCaches);
Continue (* Continue execution);
Flags Affected
None.
Protected Mode Exceptions
#GP(0)
If the current privilege level is not 0.
Opcode
Instruction
Description
0F 09
WBINVD
Write back and flush Internal caches; initiate writing-back
and flushing of external caches.