操作碼 |
指令 |
說明 |
0F 08 |
INVD |
清除內部快取;啟動外部快取清除。 |
使處理器的內部快取失效(清除),併發出一個專用匯流排週期,指示外部快取也進行清除。內部快取儲存的數據不寫回主記憶體。
執行此指令之後,處理器不等待外部快取完成清除操作,而是繼續執行指令。快取清除訊號的響應由硬體負責。
INVD 指令是特權指令。處理器在保護模式中執行時,程式或過程的 CPL 必須是 0 才能執行此指令。
謹慎使用此指令。內部快取且未寫回主記憶體的數據可能會丟失。除非有特殊要求或好處,可以清除記憶體而不將修改的快取線寫回記憶體(例如,在測試或錯誤恢復場合,快取與主記憶體的一致性無關緊要),否則軟體應使用 WBINVD 指令。
INVD 指令取決於具體實現的版本,在將來的“英特爾(R) 體系結構”處理器上,它的功能實現可能會有所不同。早於 Intel486™ 的“英特爾(R) 體系結構”處理器不支援此指令。
Flush(InternalCaches);
SignalFlush(ExternalCaches);
Continue (* Continue execution);
無。
#GP(0) - 如果目前特權級別不是 0。
無。
#GP(0) - INVD 指令無法在虛 8086 模式中執行。