整合記憶體控制器

整合記憶體控制器

整合記憶體控制器(integrated memory controller,IMC)是英特爾在其最新的Nehalem架構處理器中新加入的一種快速通道互聯技術,這也是Nehalem架構處理器全新採用的直連架構後的產物。它使CPU到記憶體的路徑更短,大幅度降低了記憶體的延遲,同時每一個CPU都具有自己專有的記憶體頻寬,這一點在資料庫套用中表現非常顯著,資料庫套用對存儲器的延遲很敏感,而對於普通用戶來說,在使用大型軟體和3D遊戲時,其數據載入時間將更短,打開大型軟體和3D遊戲時的載入速度將更快,告別長時間的等待。

基本介紹

  • 中文名:整合記憶體控制器
  • 外文名:integrated memory controller
  • 縮寫:IMC
  • 研究公司英特爾
產生背景,技術演變,技術規格,技術優點,技術缺點,Intel:不整合記憶體控制器原因,

產生背景

記憶體控制器(MemoryController)是計算機系統內部控制記憶體並且通過記憶體控制器使記憶體與CPU之間交換數據的重要組成部分。記憶體控制器決定了計算機系統所能使用的最大記憶體容量、記憶體BANK數、記憶體類型和速度、記憶體顆粒數據深度和數據寬度等等重要參數,也就是說決定了計算機系統的記憶體性能,從而也對計算機系統的整體性能產生較大影響。
Xeon 5000與Xeon 5500區別圖示Xeon 5000與Xeon 5500區別圖示
傳統的計算機系統其記憶體控制器位於主機板晶片組的北橋晶片內部,CPU要和記憶體進行數據交換,需要經過“CPU--北橋--記憶體--北橋--CPU”五個步驟,在此模式下數據經由多級傳輸,數據延遲顯然比較大從而影響計算機系統的整體性能;而AMD的K8系列CPU(包括Socket754/939/940等接口的各種處理器)內部則整合了記憶體控制器,CPU與記憶體之間的數據交換過程就簡化為“CPU--記憶體--CPU”三個步驟,省略了兩個步驟,與傳統的記憶體控制器方案相比顯然具有更低的數據延遲,這有助於提高計算機系統的整體性能。
CPU內部整合記憶體控制器的優點,就是可以有效控制記憶體控制器工作在與CPU核心同樣的頻率上,而且由於記憶體與CPU之間的數據交換無需經過北橋,可以有效降低傳輸延遲。打個比方,這就如同將貨物倉庫直接搬到了加工車間旁邊,大大減少了原材料和製成品在貨物倉庫和加工車間之間往返運輸所需要的時間,極大地提高了生產效率。這樣一來系統的整體性能也得到了提升。
CPU內部整合記憶體控制器的最大缺點,就是對記憶體的適應性比較差,靈活性比較差,只能使用特定類型的記憶體,而且對記憶體的容量和速度也有限制,要支持新類型的記憶體就必須更新CPU內部整合的記憶體控制器,也就是說必須更換新的CPU;例如AMD的K8系列CPU目前就只能支持DDR,而不能支持更高速的DDR2。而傳統方案的記憶體控制器由於位於主機板晶片組的北橋晶片內部,就沒有這方面的問題,只需要更換主機板,甚至不更換主機板也能使用不同類型的記憶體,例如Intel Pentium4系列CPU,如果原來配的是不支持DDR2的主機板,那么只要更換一塊支持DDR2的主機板就能使用DDR2,如果配的是同時支持DDR和DDR2的主機板,則不必更換主機板就能直接使用DDR2。
記憶體控制器整合到CPU內部顯然是今後的發展方向,而且其技術也會越來越完善。以後Intel也將會推出整合記憶體控制器的CPU。

技術演變

確切的說AMD並不是第一個採用處理器集成記憶體控制器技術的公司,只能說是他們把這項技術推了向市場。而英特爾才是真正的處理器集成記憶體控制器技術創始人,他們曾經在1999年3月推出的Timna處理器(參見圖1)中集成了Rambus記憶體控制器(同時還集成S3的Savage4圖形晶片和英特爾的I/O控制晶片ICH2),但遺憾的是由於Rambus記憶體在市場上的慘敗而流產。

技術規格

Nehalem整合記憶體控制器IMC,可以支持三通道的DDR3記憶體,運行速度是外頻x8,記憶體位寬從128位提升到192位。這樣總共的峰值頻寬就可以達到32GB/s(3×64bit×1.33GT/s÷8),達到了Core 2的3倍,而雙路伺服器的記憶體頻寬峰值可以達到64GB/s。
在實際套用過程中,普通用戶使用DDR3-1066即可滿足Core i7在記憶體環節的需求,Nehalem的IMC會通過亂序執行來為DDR3三通道降低延遲,並讓其每條通道都能夠獨立操作,這也使得記憶體的兼容性大大提高,組建三通道的門檻相對降低。

技術優點

CPU集成記憶體控制器,由於CPU和記憶體之間的數據傳輸不再需要經過北橋晶片,因此可以縮短CPU與記憶體之間的數據交換周期。這肯定是北橋晶片來負責記憶體控制器的模式無法比擬的。
許多應用程式擁有更為複雜的讀取模式(幾乎是隨機地,特別是當cache hit不可預測的時候),並且沒有有效地利用頻寬。典型的這類應用程式就是業務處理軟體,即使擁有如亂序執行(out of order execution)這樣的CPU特性,也會受記憶體延遲的限制。這樣CPU必須得等到運算所需數據被除數裝載完成才能執行指令(無論這些數據來自CPU cache還是主記憶體系統)。當前低段系統的記憶體延遲大約是120-150ns,而CPU速度則達到了3GHz以上,一次單獨的記憶體請求可能會浪費200-300次CPU循環。即使在快取命中率(cache hit rate)達到99%的情況下,CPU也可能會花50%的時間來等待記憶體請求的結束- 比如因為記憶體延遲的緣故。
以看到Opteron整合的記憶體控制器,它的延遲,與晶片組支持雙通道DDR記憶體控制器的延遲相比來說,是要低很多的。英特爾也按照計畫的那樣在處理器內部整合記憶體控制器,這樣導致北橋晶片將變得不那么重要。但改變了處理器訪問主存的方式,有助於提高頻寬、降低記憶體延時和提升處理器性 。

技術缺點

1、由於記憶體控制器是集成在CPU內部,因此記憶體的工作頻率與CPU相同,而且不能進行頻率異步設定,這樣的話在超頻的時候會導致記憶體的頻率同CPU的外頻一起升高,一旦超過記憶體的承受能力,就會導致記憶體無法工作,這會大大限制處理器的超頻能力。
2、雖然將記憶體控制器集成於CPU核心當中,CPU無需通過北橋,直接可以對記憶體進行訪問操作,有效的提高了處理效率。但這樣的設計存在的問題就是對記憶體延時要求很高,記憶體延時的提高會給系統性能帶來很大的影響。

Intel:不整合記憶體控制器原因

記憶體標準一直在改變: Athlon處理器不能搭配DDR2記憶體只是因為它整合的記憶體控制器只能連線DDR,這也是AMD要升級到Socket AM2的主要原因。Intel當初的Timna處理器曾整合了RAMBUS記憶體控制器,但隨著RAMBUS在市場上的慘敗而流產。
Intel可以在處理器上集成大容量快取: AMD處理器對快取容量不是非常敏感,而Intel處理器則可以憑藉大容量的快取彌補未整合記憶體控制器帶來的損失。奧特里尼在IDF上說:“唯一能戰勝整合記憶體控制器的武器是處理器快取。”
不整合記憶體控制器可以減小處理器面積: 儘管Intel不斷改進自己的生產工藝和產能,但產量總是有限度的。因此,處理器面積越小,能生產的數量就越多,最終帶來更多收入。
不甘心直接使用AMD的HyperTransport技術: AMD之所以能將整合控制器成功套用到市場中有一重要原因是使用了新的傳輸技術HyperTransport,該技術不僅僅簡化了CPU與記憶體之間的數據傳輸,也簡化了CPU與CPU之間的數據傳輸(在未來可能會簡化CPU與GPU之間的數據傳輸),英特爾需要通過更先進的技術(QPI)來戰勝對手。

相關詞條

熱門詞條

聯絡我們