Loading AI tools
電腦處理器總線 来自维基百科,自由的百科全书
快速通道互聯[1][2](英語:Intel QuickPath Interconnect,縮寫:QPI)[3][4],是一種由英特爾開發並使用的點對點處理器互聯架構,用來實現CPU之間的互聯。英特爾在2008年開始用QPI取代以往用於至強、安騰處理器的前端匯流排(FSB)。初期,英特爾給這種連接架構的名稱是「公共系統界面」(Common System Interface ,CSI)[5][6],它的早期設計形態亦被稱為Yet Another Protocol(YAP)和YAP+。
英特爾在發布Sandy Bridge-EP核心(Romley平台)後,也順勢公佈首代QPI的改進版QPI 1.1版本。[7]Intel於2017年發佈的SkyLake-SP Xeon中,用UPI(UltraPath Interconnect)取代QPI。
儘管多數時候被稱作「匯流排」,但是QPI是一種點對點互聯結構。它被設計成與超微半導體自2003年使用的超傳輸(HyperTransport)匯流排競爭。[8][9] 英特爾在它下屬的麻省微處理器研究中心(Massachusetts Microprocessor Design Center,MMDC)開發設計QPI,由以前曾在DEC Alpha的開發團隊的成員進行。這個原先來自DEC的開發團隊此前曾在康柏電腦和惠普工作,後來被英特爾挖角。而關於QPI的研究早在2004年就開始了。[10]
QPI的首次實作是英特爾自家的Nehalem微架構。在2008年11月發售的桌上型平台處理器Core i7-900系列和X58晶片組上、在2009年3月發布伺服器平台的Xeon X5500系列處理器。後來,2010年2月發布的Itanium 2處理器(核心代號「Tukwila」),也使用了QPI。[11]
QPI通常作為一個系統架構的組成部分,英特爾稱之為「快速通道架構」(QuickPath architecture),這個架構的實作英特爾又稱之為「快速通道技術」(QuickPath technology)。[12]在QPI最簡單的佈置形態——單處理器主機板上,QPI可用來將像是北橋晶片、南橋晶片的IO Hub和處理器對等連接,像是早期Core i7-900系列與X58晶片組之間的連接。在一些更複雜的架構的例子中,多個QPI鏈接可將一個以上的處理器或一個以上的IO Hub甚至主機板網路上的路由集線器對等連接起來,允許各個組件通過這個網路來與另一個組件進行通信。和HyperTransport匯流排類似,搭載快速互聯架構的處理器亦需要內建記憶體控制器,支援非均勻存取架構。
每個QPI包括有兩個20連線的點對點資料通道,每個通道一個傳送方向,而每一方向還配備單獨的時鐘信號對(發送TX,接收RX),與資料訊號一起形成共42個信號,如此一來達成全雙工運作。每個時鐘信號採用差動信號的形式傳送,因此QPI的信號線共84條。20條連線被劃分為四等份,每份5條連線。QPI中基本資料傳送單元是80位元大小的QPI資料封包,每兩個時鐘週期完成一次一個QPI資料封包的傳送,在這兩個時鐘週期內,一個QPI資料封包是分為四次傳送,每次傳送20位元,即一個時鐘週期內傳送兩次。每個80位元的QPI資料封包內有8位元用於錯誤糾正,8位元是「鏈路層報頭」,剩下的64位元才是包含的真實有效的資料。QPI的頻寬的計算上,建議計算每兩個時鐘週期每方向傳送的有效資料量,由於QPI是雙向傳送的,因此每方向在兩個時鐘週期內都會有包含64位元(8位元組)有效資料的資料封包的傳送。[13]
儘管最初QPI僅實現四象限鏈接,但QPI的規格容許其它實作。每個象限可以獨立使用。在高可靠度伺服器上,一個QPI鏈接可以在降階模式中運作。如果20+1信號中一個或多個鏈路失效,介面將剩餘的鏈路以10+1或最低5+1信號來繼續運作,如果時鐘失效,甚至會為資料信號重新分配時鐘。[13]
最初實現四象限鏈路的是Nehalem架構的4核心處理器,使用完整的四象限鏈接QPI介面達成25.6GB/s的頻寬,提供兩倍於英特爾自家的X48晶片組上使用的1600MHz FSB的理論頻寬。
儘管最早Core i7-900系列全面使用QPI,但其它Nehalem架構至桌上型處理器和行動型處理器,像是Core i3、Core i5以及其它Core i7系列(Lynnfield核心、Clarksfield核心以及其後續核心型號)的處理器,這些處理器因無需參與到多處理器系統上(從市場取向上也沒有必要加入該特性),因此任何外部存取方式上都沒有使用QPI,儘管這些處理器內部仍然使用QPI,用以連接處理器內的「Uncore」(「Uncore」指的是處理器晶片的一部分,包含記憶體控制器、PCI-E控制器、以及內建GPU,乃至整個北橋),這種設計可見於基於Westmere微架構的Clarkdale核心及Arrandale核心型號上(即首代Core i3、i5)[14][15][16][17][18]:p.3而這些系列的處理器,北橋已經移到處理器內部作為「Uncore」(或稱「片上北橋」)的一部分,和處理器核心直接連接,無需再以前端匯流排界面連接,處理器的外部連結通過片上北橋/Uncore使用較慢的DMI(2.5GT/s至5.0GT/s的吞吐量)或PCI-e匯流排介面,用來連接南橋/PCH或其它形式的外部裝置。[19]Nehalem/Westmere微架構上,Uncore/片上北橋與處理器核心尚用QPI連接,而Sandy Bridge微架構以後的桌上型平台以及行動平台之處理器上則採用基於QPI衍生的環形匯流排鏈路連接,同時也保證快取一致性。[18]:p.10
QPI的運作時脈有2.4GHz、2.93GHz、3.2GHz或4.0GHz(4.0GHz用於企業級的Sandy Bridge-E/EP核心的處理器上)。每個特定鏈路的時脈取決於鏈路終端的組件之性能以及印刷電路板上信號路徑的信號特徵,亦即可根據所連接組件的資料吞吐量需求自行調整時脈,提高資源利用效率。[20]最初,非極致版本的Core i7-900系列的處理器出廠預設的QPI時脈被限定在2.4GHz。由於採用了雙倍資料率技術(DDR),位元的傳送在時鐘脈衝信號的上升沿和下降沿都進行,因此,資料傳送的實際時脈是時鐘時脈的兩倍。
英特爾以80位元的QPI資料封包封裝的64位元實際有效資料的傳送量計數,來描述資料吞吐量和頻寬。然而,由於單向發送和單向接收鏈路對是同步進行的,亦即全雙工作業,英特爾後來將結果數字改為原來的兩倍。因此,英特爾描述中,一個運作於3.2GHz時脈速率的20通道的QPI鏈接對(發送和接收)擁有6.4GT/s的資料傳送速率,25.6GB/s的頻寬,而同樣通道數的QPI運作於2.4GHz時資料傳送速率是4.8GT/s,頻寬19.2GB/s。更通常地,根據這個定義,一個兩端鏈結的20通道QPI每時鐘週期傳送8位元組,每方向4位元組。
頻寬計算:(以運作於3.2GHz時脈速率下,吞吐量6.4GT/s)[21]
或:
如此類推,2.4GHz或4.8GT/s、4.0GHz或8.0GT/s、2.93GHz或5.86GT/s的也可以計算出頻寬。
QPI的協定定義了五層結構,分為物理層、鏈路層、路由層、傳輸層以及協定層。[3]但是,在一些僅兩節點的點對點QPI配置組態上,像是Core i7-900系列和Xeon雙處理器平台(DP)系列的處理器,不需要傳輸層,路由層是最小最簡單的兩節點組態。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.