操作碼 |
指令 |
說明 |
0F 09 |
WBINVD |
寫回並清除內部快取;初始化寫回並清除外部快取。 |
寫回處理器內部快取中所有修改的快取線,並使這些內部快取失效(清除)。接著,指令發出一個特殊功能的匯流排週期,指示外部快取寫回修改的數據;併發出另一個匯流排週期,指示應該使外部快取失效。
執行此指令之後,處理器並不等待外部快取完成寫回與清除操作,而是繼續執行指令。快取寫回與清除訊號的響應由硬體負責。
WBINVD 指令是特權指令。處理器在保護模式中執行時,程式或過程的 CPL 必須是 0 才能執行此指令。此指令也是序列化指令(請參閱“IA-32 英特爾(R) 體系結構軟件開發人員手冊”第 3 卷第 7 章中的“序列化指令”)。
在快取與主記憶體是否一致無關緊要的情況下,軟體可以使用 INVD 指令。
WBINVD 指令取決於具體實現的版本,在將來的“英特爾(R) 體系結構”處理器上,它的功能實現可能會有所不同。早於 Intel486™ 的“英特爾(R) 體系結構”處理器不支援此指令。
WriteBack(InternalCaches);
Flush(InternalCaches);
SignalWriteBack(ExternalCaches);
SignalFlush(ExternalCaches);
Continue (* Continue execution);
無。
#GP(0) - 如果目前特權級別不為 0。
無。
#GP(0) - WBINVD 指令無法在虛 8086 模式中執行。