訪問memory數據的速度與core的運行速度相比,要花費更多的時鐘周期。為了減少這個差異計算機系統引進了存儲器層次結構,如圖1所示。在層次結構中,越往上,讀寫速度越快,價格越貴,存儲容量也越小。
圖1 存儲器結構層次
隨著摩爾定律的發展,人們試圖增加CPU的core數以提升系統整體性能,這類系統稱之為多core系統。一個包含多core的系統中,每個core可能都有自己的私有cache,并且有可能會對相同的memory地址進行修改。如果多個core同時對同一memory地址進行讀寫操作,很可能導致cache內容不一致,從而導致數據不一致,最終造成系統出錯和崩潰。因此,在設計多core系統時,必須考慮cache一致性(cache coherency)問題來確保數據的正確性和系統的穩定性。舉個例子,假設2個core的系統,每個core私有的L1 cache的cacheline大小是64Bytes。兩個core都讀取0x80地址數據,導致0x80開始的64Bytes數據都分別加載到core0和core1的私有L1 cache中。
本文鏈接:http://www.tebozhan.com/showinfo-26-82752-0.html一文讀懂Cache一致性原理
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: 通過方法引用獲取屬性名的底層邏輯是什么?