我有一些關於緩存同步操作的問題。緩存 - 刷新和無效操作
無效:在cpu嘗試讀取由設備更新的部分內存之前,相應的內存需要失效。
沖洗:所述裝置讀取的存儲器由CPU更新的部分之前,CPU必須刷新(回寫也是正確的嗎?)從超高速緩存到存儲器中的內容,使設備從存儲器讀取與更新的內容的內容。
如果未執行刷新操作,則可能會讀取內存中存在的垃圾數據,因爲內存仍未更新,並且內容寫入緩存。
請確認我的上述理解是否正確?
什麼時候要結合flush和invalidate?我聽說在使用設備控制描述符時,我們需要通過組合flush和invalidate來同步。爲什麼這樣?
我們是否需要遵循一個像flush這樣的順序然後無效?
有沒有一種情況,其中無效後跟着刷新會有用?
謝謝你的解釋,找不到比互聯網上更好的解釋...... – fazkan