天天看點

硬體的系統結構和cache

參考:

1、硬體系統結構描述 從硬體的系統結構開始_橙色逆流的部落格-CSDN部落格

2、CPU CACHE (一) CPU cache(上)_橙色逆流的部落格-CSDN部落格_cpu cache tag vaild

3、CPU CACHE (二)   CPU cache(中)_橙色逆流的部落格-CSDN部落格

通路記憶體的實體行為變遷

1、DAM引入(釋放cpu)

2、NUMA體系結構引入(釋放北橋)

3、cache引入(平衡cpu主頻和DDR速度)(哈佛結構資料和指令單獨存儲)

cpu通路所有的資料都需要經過北橋,其中包含對記憶體的資料通路

1、為了解決CPU通路記憶體的瓶頸點,引入了DMA

2、釋放北橋,将記憶體控制器放到cpu中(每個cpu可以單獨通路RAM,記憶體再一緻),引入了NUMA

cacheline的結構

tag:通過資料塊在主存的位址解析擷取的

Data block:主存資料

Flag bit:invalid(cache資料無效) dirty(記憶體資料無效,cache資料未同步到記憶體)

主存位址解析cacheline

tag:區分cache line

Cache set:指明記憶體單元位于哪個cache set(一個cache set包含多個cache line)

多處理器cache一緻性

MESI協定中利用這兩位(dirty,invalid)組成4種狀态,分别是Modified,Exclusive,Shared和Invalid。

Modified:本地處理器修改了cache line中的資料,并且資料隻存在于這一個cache中,在其他cache中沒有備份。(本地dirty,其他invalid)

Exclusive:cache line中的資料沒有被修改,并且資料隻存在于這一個cache中,在其他cache中沒有備份。(本地valid,其他invalid)

Shared:cache line中的資料沒有本修改,該資料有可能在其他cache中有備份。(本地和其他valid)

Invalid:cache line中的資料是無效的。(本地invalid)

繼續閱讀