內存控制器和cpu的問題?

問大家一個問題,以前intel剛剛取消fsb集成內存控制器的時候為什麼還要用qpi再把cpu和內存控制器連接起來呢直接像下圖這樣不就好了


我怎麼記得CPU和內存控制器從沒有用QPI連接過。下面貼一些參考資料,講得都很清楚。

1、以下是X58平台的結構圖,來自維基百科英文X58詞條。可以看出QPI連接的是CPU和北橋,但這時候北橋已經不再控制內存了,只負責控制PCIE了。

2、下圖為Nehalem架構的示意圖,該圖同時出現在維基百科英文版Nehalem詞條和QPI詞條。可以看出,右上角的QPI通信通道和內存控制器是獨立的,內存控制器和共享三級緩存之間的連接也不是QPI匯流排。

QPI匯流排是黑色的單向箭頭,寫了4x20Bit 6.4GT/s的那個,當然這個黑色箭頭的另一端是另一個CPU的QPI模塊,所以你說QPI連接了(另一個CPU的)內存控制器,嚴格講也沒錯,但這就有文字遊戲的意思了,我不想過分糾纏。

3、維基百科英文QPI詞條中的一段資料,重點已經加粗。

In its simplest form on a single-processor motherboard, a single QPI is used to connect the processor to the IO Hub (e.g., to connect an Intel Core i7 to an X58). In more complex instances of the architecture, separate QPI link pairs connect one or more processors and one or more IO hubs or routing hubs in a network on the motherboard, allowing all of the components to access other components via the network. As with HyperTransport, the QuickPath Architecture assumes that the processors will have integrated memory controllers, and enables a non-uniform memory access (NUMA) architecture.

4、下圖為Intel官網介紹QPI匯流排的頁面(Intel? QuickPath Interconnect)的配圖。可以看出QPI匯流排與集成內存控制器無關。

5、Intel關於QPI技術的白皮書,應該很權威了。Figure 7 是一般的結構圖,內存控制器與QPI是分開的。

http://www.intel.com/content/dam/doc/white-paper/quick-path-interconnect-introduction-paper.pdf

總結來說,和FSB不同,使用QPI的平台要求CPU有集成內存控制器,以NUMA的模式自己控制自己的內存,而QPI負責CPU之間、CPU和IOH之間、以及IOH之間的通信。這裡IOH指的是X58晶元組或同時期的伺服器5500和5520晶元組,負責PCIE。

再之後的E5和E7平台上,CPU同時集成內存控制器和PCIE控制器,傳統意義的北橋消失,QPI只負責CPU之間的通信,晶元組(傳統意義的南橋)和CPU的通信使用DMI。

QPI從沒有負責過CPU和內存之間的通信。


謝謝 @lixin liu 的指正,單個CPU內部的核心和內存控制器之間並沒有通過QPI通道交換數據。

==============================分割線=============================

謝邀

你用了一張不利於你理解這個問題的圖。這是第一代i7的示意圖,事實上,這一代的CPU本身可以理解為CPU核心+內存控制器,他們之間雖然在同一塊晶元內,但彼此是獨立的模塊。在這張圖上,因為都集成在CPU內部了,所以你看不到內存控制器的存在。同時這一代CPU配套的晶元組(X58)還是分南北橋的,顯卡是連在北橋上,南北橋之間通過DMI連接。這張圖只有南橋,嚴格來說是錯誤的。

關於QPI,DMI的不同,看這張圖會更明白一點。

QPI、CPU、MC這些名詞太專業,還是舉例來說吧。

有一個科學家(CPU核心)在實驗室(CPU)做研究,要看很多很多資料。

圖書館有一個管理員(MC,內存控制器)幫科學家從圖書館(內存)拿資料,同時也把他的研究結果放到圖書館裡面。因為科學家要看的資料非常多,所以每次去的時候都要開一輛大貨車搬資料過去,這輛車叫前端匯流排(FSB)。

除了服務於科學家之外,管理員也服務於統計局(南橋)。統計局通過各種方式和各個企業(硬碟、USB設備、網卡、音效卡等等)交換資料,統計局資料不多,開輛摩托車就行(DMI)。

城裡還有一個大學(顯卡),因為和圖書館資料往來也很多,外派了一個資料員運資料,一般運這些資料要用一輛小貨車(以前叫AGP,後來換了輛大點的車,PCI-E)。所以這個資料員叫AGP/PCI-E控制器。

圖書管理員和資料員在同一個地方(北橋)辦公。和統計局、實驗室都不在一起。

一個圖書管理員忙不過來,又請了另外一個圖書管理員,這叫雙通道。

如果這個城市還有另外一個實驗室,這叫雙路系統;再大點的城市甚至有四個實驗室,這叫四路系統。

實驗室擴張,請了另外一個科學家,實驗室升級為研究所(雙核CPU)。研究所裡面的科學家越來越多(四核、六核……)。

因為科學家多了,圖書管理員是在忙不過來,大家一看,其實時間都花路上了。於是研究所單獨蓋了棟樓給讓圖書管理員辦公(CPU集成內存控制器)。

因為大學的資料和統計局的資料還是送到舊辦公室的(北橋),所以有一段很短的時間內(只有i7-9XX+X58這一代),研究所和舊辦公室之間搭了對鐵軌,用小火車運送資料,小火車的名字叫(QPI)。

很快大家就覺得,舊辦公室沒有必要保留了,研究室給大學的資料員弄了個辦公室,統計局的小摩托也直接開到研究所了。於是只有一個研究所的城市(單路系統),小火車就取消掉了,舊辦公室也拆掉了。

對於兩個/四個研究所的城市(雙路/四路系統),每個研究所都有自己的圖書管理員和專用辦公室。因為研究所之間也是要交換很多資料的,所以研究所之間都搭了鐵軌,用小火車搬資料。

因為小火車很快,運送的資料也很多。所以一般統計局的數據是小摩托隨便扔到一個研究所,別的研究所就都能拿到了。


現在內存控制器集合在CPU中,其他還有IIO等等。訪問本地memory不需要通過QPI,訪問遠端memeory時就需要了。這也帶來了NUMA的問題,具體看NUMA與UEFI - 知乎專欄


Intel去掉了FSB後,內存控制器是內置到CPU里的,CPU訪問本地內存不需要經過QPI,但如果要跨CPU訪問遠端內存(也就是訪問別的CPU上直接連接的內存),就需要經過QPI了


因為一代酷睿時期北橋和CPU雖然在一塊PCB上但實際是不在一起的,無法直接溝通。


QPI負責CPU和內存之間的通信的情況有兩個。

第一種就是一代core i 的雙核

另一種就是在雙路以上的系統中,


還有一個就是主板和cpu的匯流排類型不一樣還能一起用嗎?比如說我e526xx和c602一起我知道e5 26xx寫的qpi是用來雙cpu交換數據用的實際上是dmi但是c602主板上寫的是qpi這兩個匯流排不一樣能一起用嗎?


推薦閱讀:

如何評價Intel官方宣布將在自家的處理器上集成AMD的GPU?
圖拉丁吧是根據什麼命名的?有什麼故事?
筆記本選I7還是I5的呢?
電腦使用時間長後CPU、內存、顯卡的性能下降比硬碟小很多嗎?
將近十年後,如何評價AMD收購ATi?

TAG:中央處理器CPU | 伺服器 | 內存RAM | 電腦DIY | 電腦硬體 |