Intel Sandy Bridge/Ivy Bridge架構/微架構/流水線 (17) - 互聯環路&LLC
Ring Interconnect and Last Level Cache
片上系統設計提供了一個高頻寬的雙向環路匯流排,用於連線IA處理器核與核外的各子系統。在第二代Intel Core處理器2xxx系列(即基於Sandy Bridge微架構的處理器)上,核外子系統包括系統代理(system agent),圖形單元,和最後級快取記憶體LLC(即L3 Cache)。
LLC由多個快取分片構成。分片的數量與IA處理器核的數目相等。每個分片分為邏輯部分(logic portion)和資料陣列部分(data arrary portition)。邏輯部分處理資料一致性,訪存排序,對資料陣列部分的訪問,LLC未中事件,以及回寫資料到儲存器等功能。每個分片有一個全速快取埠,具有每週期32位元組的頻寬。
儲存在LLC資料陣列部分中的快取行的實體地址通過一個雜湊演算法分佈在不同的快取分片中,主要目的是保持地址均勻分佈,也即快取行均勻分佈。在快取塊(cache block, 注:猜測是指分片)中的資料陣列可能是4/8/12/16路,對應於0.5M/1M/1.5M/2M的塊大小。但是從軟體的角度來看,由於地址分佈在不同的快取塊(注:猜測是分片)中,所以這裡資料陣列並不像常見的N路快取。
從處理器核與圖形單元的角度來看,LLC看起來像是一個多埠的共享快取,其頻寬可以根據核數按比例擴充套件。LLC命中的時延是26~31個週期,根據核與LLC塊的相對位置,以及訪問請求需要在環路上行走的距離。
快取分片的資料隨著處理器核的數目增長,所以環路與LLC的頻寬不太可能限制處理器核的操作。
圖形單元連線在同一個互聯環路上,在資料操作時也使用LLC。從這個角度上看,圖形單元也很類似與一個IA處理器核。因此,高頻寬的圖形應用程式如果佔據了LLC快取頻寬和大量的快取印記(significant cache footprint),可能會在某種程度上影響處理器核的執行(注,例如增加指令時延)。
所有不能由LLC滿足的流量,例如LLC未中,髒(即修改狀態)的快取行回寫,不能快取的操作,以及MMIO/IO操作,也會穿過快取分片的邏輯部分和互聯環路,最後到達系統代理(system agent)。
在Intel Xeron E5處理器系列中,核外子系統不包括圖形單元,但是卻包括了更多的元件,例如更大容量的,具有快取嗅探能力(snooping)的LLC用於支援多處理器系統,Intel QuickPath Interconnect(QPI)支援多路處理器平臺,電源管理控制硬體,和一個系統代理,可以支援從儲存器和I/O裝置的高頻寬流量。
在Intel Xeon E5 2xxx和4xxxx系列處理器中,LLC容量基本上按照處理器核數乘以2.5MB的大小增長。