1. 程式人生 > >Intel Sandy Bridge/Ivy Bridge架構/微架構/流水線 (19) - 系統代理

Intel Sandy Bridge/Ivy Bridge架構/微架構/流水線 (19) - 系統代理

System Agent

在Sandy Bridge微架構中實現的系統代理包括瞭如下的元件:

  • 一個總裁器,用於管理所有的訪問請求,並將這些請求路由(即轉發)到正確的位置上。訪問請求可能來自於環域(ring domain)和I/O(PCIe* 和DMI)。
  • PCIe控制器,用於連線外部PCIe裝置。PCIe控制器根據產品的分割規範(product segment specifics)可能具有不同的配置方式:x16+x4,x8+x8+x4,x8+x4+x4+x4。
  • DMI控制器連線PCH晶片組。
  • 整合的顯示引擎,Flexible Display Interconnect(FDI),和Display Port (DP口),服務於內部圖形操作
  • 記憶體控制器

所有的訪存流量都會從仲裁器路由到記憶體控制器。第二代的Intel Core 2xxx處理器中的記憶體控制器支援雙通道的DDR記憶體,支援的資料速率1066MHz,1333MHz和1600MHz,以及每週期8位元組的頻寬(依賴於單元型別,系統配置和DRAM型別)。使用一個本地的雜湊函式,記憶體地址被分佈在兩個記憶體通道上,目的是嘗試平衡通道間的負載均衡,從而獲得最大的頻寬和最小的熱點衝突。

為了最佳效能,在兩個通道上安裝相等容量的記憶體,最好是同類型的DIMM。而且,同樣容量的記憶體如果具有更多的rank,在某種程度上可以獲得更好的記憶體頻寬,因為更多的DRAM頁面可以被同時開啟。高度推薦安裝受支援的最高速度DRAM(例如1333MHz或1600MHz)以及配置成DRAM的最佳時序。

兩個通道各自有獨立的資源,可以獨立的處理訪存請求。記憶體控制器有一個高效能的亂序排程器(注:不要與處理器核中流水線的亂序排程器混淆),從而獲得最大的訪存頻寬與最小的訪存時延。每個記憶體通道有一個可以容納32個快取行的寫存資料緩衝區。當寫存操作的資料被寫入到緩衝區之後,即認為寫操作完成了。隨後某個時間,寫存資料緩衝區會被沖刷到(flush out)到記憶體中,並不影響寫操作時延。

記憶體控制器不能高效地處理區域性寫存(partial writes)操作,這裡區域性寫存表示沒有完整的寫入一個快取行(64位元組)。在這種情況下,可能引發DDR通道的讀-改-寫操作,導致訪存效能降低。只要有可能,軟體應該避免建立區域性寫存事務(即操作),替代地,應該考慮先將區域性寫存資料快取,直到形成一個完整的快取行寫操作。

記憶體控制器也支援高優先順序的同步請求(例如USB同步或顯示同步請求)。來自於顯示引擎的巨量訪存請求可能佔據部分訪存頻寬,在某種程度上可能會影響處理器核的訪存時。延。