CPU的快速互聯通道(QPI)詳解


翻譯自:http://www.hardwaresecrets.com/article/Everything-You-Need-to-Know-About-The-QuickPath-Interconnect-QPI/610/1

自Intel有CPU開始,便一直采用的是稱之為“前端總線(Front Side Bus, FSB)”的外部總線。前端總線是由內存和I/O共享的一條通往CPU的通道。新一代的Intel 處理器將內置內存控制器,所以該處理器將提供兩個通道:連接CPU和內存的內存總線(memory bus)以及連接CPU和I/O的I/O總線。這個新增的I/O總線稱之為快速互聯通道(QuickPath Interconnect, QPI)。本文中,我們將解釋其工作原理。

 

圖1 傳統Intel處理器架構

圖1給出了傳統的Intel處理器架構,圖2是處理器內置內存控制器的新一代Intel處理器架構。

 

圖2 新一代Intel處理器架構

事實上,AMD從2003年開始便在Athlon 64 CPU中采用相似的架構了。現在,所有AMD的CPU都已經內置內存控制器了。他們使用稱之為HyperTransport總線來實現I/O通信。盡管HyperTransport和QPI目標相同、工作機制也類似,不過他們並不兼容。

順便一提的是,技術上將QPI和HyperTransport並不能稱之為總線而只是點對點連接。總線是指允許多個部件同時連接的一組導線。點對點連接指的是僅僅連接兩個部件。盡管技術上稱它為總線不太對,為了簡便起見和我們還是這么叫吧。

接下來我們談談QPI的工作原理,和HyperTransport類似,QPI為CPU和芯片組的連接提供了兩個通道(lane),如圖3所示。這樣做,可以讓CPU同時接收(讀)和發送(寫)I/O數據,而傳統的FSB是不能實現這個目標的。

 

圖3 快速互聯通道提供分離的輸入輸出路徑

說到芯片組,Intel將推行單芯片解決方案。因為在CPU中內置內存控制器幾乎等價於將北橋內置到CPU中。圖3中的Chipset的功能和南橋類似,功能上就像是一個“I/O集線器(I/O Hub)”或者用Intel的行話稱之為“IOH”。

每個通道(lane)一次能傳輸20個比特位,其中16位為實際數據,4位是冗余糾錯碼(CRC)。QPI第一個版本的工作頻率為3.2GHz並能夠在一個時鍾周期內傳輸兩個數據(即DDR技術),這使得總線工作頻率看起來好像是在6.4GHz(Intel使用GT/s為單位,表示十億次傳輸/秒).由於一次可以傳輸16位,我們可以很容易計算得到一個通道上的數據傳輸峰值6.4GHzX16bits/8=12.8GB/s。也許有些人說QPI的最大理論峰值為25.6GB/s因為他們考慮兩個通道同時提供的帶寬。不過我們並不同意這種方法,這就像我們可以說高速公路上限速為130英里每小時因為單向限速為65英里每小時一樣毫無意義。

所以和FSB比起來,QPI雖然傳輸更少的數據但是卻可以在更高的頻率工作。當前,最快的前端總線頻率1600MHz(實際上工作在400MHZ,但是在一個時鍾周期內傳輸四個數據)也能達到12.8GB/s,這和QPI一樣快,但是QPI是在每個通道上都提供12.8GB/s。而且FSB要同時傳輸I/O數據和內存數據,所以QPI可用帶寬要更高些。

QPI也比HyperTransport要快。當前HyperTransport能夠達到的最大速度為10.4GB/s,但是當前Phenom處理器的只能達到7.2GB/s.所以,Intel Core i7 CPU的外部總線要比AMD的快78%。其他系列的AMD CPU如Athlon, Athlon X2的傳輸頻率更低了,僅能達到4GB/s。

圖4 差分對傳輸

順着電子傳輸繼續往下走,每個位的傳輸使用差分對(differential pair),圖4所示。所以,每傳輸一位都要使用兩根導線。QPI的兩個通道一共使用了84根導線,這幾乎是Intel傳統CPU中FSB需要的導線數量的一半。所以,第三個有點便是前端總線可以使用更少的導線(第一個優點使將內存和I/O請求分開,第二個有點是將讀寫路徑通道分開)。

QPI使用了和網絡架構中很像的分層技術,一共有四層分別是物理層,鏈路層,路由層和協議層。

接下來我們看看QPI中引入的高級技術。

功耗模式

如圖5所示,QPI提供以下兩種功耗模式,分別稱之為L0和L0s和L1. L0指的是QPI全速運行時的模式,在L0s狀態時,為了節省能耗,數據線和驅動這些線的電路將被關掉。在L1狀態時,所有的東西都會被關閉。當然,L1的喚醒時間將更長。

 

圖5 功耗管理

可靠模式

我們提到了QPI的數據路徑是20位寬,我們並沒有提到的是QPI允許每個通道被設置成4個五位寬的小通道,如圖6所示。對於服務器市場環境來說,這種分割方法可以提高可靠性。不過對於桌面環境而言,QPI並不提供這個功能。

當這個功能打開后,如果接收器發現其與發射器之間的連接物理上已經被破壞了,它將關閉已經破壞的部分,然后每次傳輸更少的位數。這顯然會降低數據傳輸速率,但是至少系統不會崩潰。

 

圖5 可靠模式配置 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM