計算機體係結構4_分級緩存
一,處理器和內存係統結構
主存在內存體係結構距離CPU最遠端,緩存在內存體係結構距離CPU最近端。
EU直接讀取L1指令緩存,通過LSU讀/寫L1數據緩存,在LSU與L1數據緩存之間是write buffer,用於回寫。
write buffer與write-combining buffers連接,後者通過係統總線與主存連接。
二,分級緩存
L1緩存分為數據、指令兩種類型,保存最近被使用的數據或指令。
L2緩存一般不區分類型,包含指令和數據。L2緩存可以為exclusive模式,意味著它不緩存L1緩存的內容,或者為inclusive模式,保存L1緩存內容的一份拷貝。
三,內存操作
內存讀寫都會先檢查緩存中是否有需要的信息,當讀的內容在緩存中時,為讀命中,否則為讀miss;當可以向緩存中寫數據時,稱作寫命中,當數據不
能保存到緩存時為寫miss。
加載數據到緩存的操作叫做cache line填充,填充操作的單位為cache line。為新加載的cache line騰出空間,一次填充操作一般會引起移除一個已經存在
的cache line,移除已有cache line的操作叫做cache line replacement。如果被移除的cache line為modified狀態,則先將其writeback回主存,然後在執行
cache-line-fill。
通過cache line寫回保證主存和緩存之間的一致性。處理器在處理內存請求時,會檢查其他緩存和write buffer對請求信息的version,保證各緩存,write buffer
的一致性。
當主存或緩存忙於處理其他內存訪問時,write buffer用於暫存數據。
參考:
AMD64 Architecture Programmer’s Manual Volume 2: System Programming
最後更新:2017-04-03 14:54:06