專利名稱:在PCIe接口上實(shí)現(xiàn)快速通路互連協(xié)議的制作方法
技術(shù)領(lǐng)域:
本發(fā)明領(lǐng)域總地涉及計(jì)算機(jī)系統(tǒng)接口,更具體地但不排他地涉及在PCIe接口上實(shí)現(xiàn) Intel Quickpath Interconnect (快速通路互連)_協(xié)議。背景信息計(jì)算機(jī)系統(tǒng)常見地采用一個(gè)或多個(gè)互連以利于系統(tǒng)組件之間(例如處理器和存儲(chǔ)器之間)的通信?;ミB和/或擴(kuò)充接口也可用于支持內(nèi)建和附加設(shè)備,例如10(輸入/輸出)設(shè)備和擴(kuò)充卡等。在個(gè)人計(jì)算機(jī)引入后的許多年里,主要形式的互連是并行總線。并行總線結(jié)構(gòu)用于內(nèi)部數(shù)據(jù)傳輸和擴(kuò)充總線兩者,例如ISA(工業(yè)標(biāo)準(zhǔn)架構(gòu))、MCA(微通道架構(gòu))、EISA(擴(kuò)展的工業(yè)標(biāo)準(zhǔn)架構(gòu))以及VESA局部總線。在1990年代早期英特爾公司引入了 PCI (外圍組件互連)計(jì)算機(jī)總線。PCI在較早期總線技術(shù)上的改進(jìn)不僅在于提高了總線速度,還在于使用共享地址和數(shù)據(jù)線引入自動(dòng)配置和基于事務(wù)的數(shù)據(jù)傳輸。隨著時(shí)間推移,計(jì)算機(jī)處理器時(shí)鐘速率以比并行總線時(shí)鐘速率更快的步伐增加。結(jié)果,計(jì)算機(jī)工作負(fù)荷經(jīng)常受互連瓶頸而不是處理器速度限制。盡管并行總線支持每循環(huán)大數(shù)據(jù)量(例如在PC1-X下32位或甚至64位)的傳遞,它們的時(shí)鐘速率受定時(shí)失真因素限制,由此導(dǎo)致對(duì)最大總線速率的實(shí)際限制。為了克服這個(gè)問題,研發(fā)出高速串行互連。早期串行互連的例子包括串行ATA、USB (通用串行總線)、火線和RapidIO。另一廣泛使用的標(biāo)準(zhǔn)串行互連是PCI Express,也稱PCIe,它是在PCIel.0標(biāo)準(zhǔn)下在2004年引入的。PCIe被設(shè)計(jì)成代替舊的PCI和PC1-X標(biāo)準(zhǔn),同時(shí)提供舊有系統(tǒng)支持。PCIe利用點(diǎn)對(duì)點(diǎn)串行鏈路,而不是共享的并行總線架構(gòu)。每個(gè)鏈路使用一個(gè)或多個(gè)快線(lane)支持兩個(gè)PCIe端口之間的點(diǎn)對(duì)點(diǎn)通信信道,其中每個(gè)快線包括雙向串行鏈路??炀€使用縱橫開關(guān)架構(gòu)物理地路由,所述縱橫開關(guān)架構(gòu)同時(shí)支持多個(gè)設(shè)備之間的通信。因其固有優(yōu)勢(shì),PCIe在今日的個(gè)人計(jì)算機(jī)中已取代PCI成為最盛行的互連。PCIe是由PC1-SIG (特殊興趣小組)管理的工業(yè)標(biāo)準(zhǔn)。因此,PCIe片可從許多ASIC和硅賣方獲得。最近,英特爾引入了快速通路互連 (QPI)。QPI —開始被實(shí)現(xiàn)為點(diǎn)對(duì)點(diǎn)處理器互連,它取代使用高性能處理器(例如Intel Xeon _和Itanium 處理器)的平臺(tái)上的前端總線。QPI是可升級(jí)的,并且在具有采用共享存儲(chǔ)器資源的多個(gè)處理器的系統(tǒng)中尤其占優(yōu)勢(shì)。QPI事務(wù)使用多層協(xié)議架構(gòu)利用基于分組的傳輸。其特征之一是支持一致性事務(wù)(例如存儲(chǔ)器一致性),PCIe則不支持這個(gè)。因此,將例如事務(wù)一致性的QPI特征和功能擴(kuò)展至利用PCIe接口的系統(tǒng)將是有利的。
當(dāng)結(jié)合附圖參照下面的詳細(xì)描述,本發(fā)明前述方面和許多伴隨的優(yōu)勢(shì)將變得更為易懂并更容易理解,在附圖中,相同的附圖標(biāo)記在各個(gè)圖中表示相同的部件,除非另有規(guī)定:圖1示出QPI協(xié)議棧的層;圖2是示出QPI鏈路的結(jié)構(gòu)的示意圖3示出PCIe協(xié)議棧的層;圖4是示出PCIexl6鏈路結(jié)構(gòu)的示意圖;圖5是示出PCIex8鏈路結(jié)構(gòu)的示意圖;圖6是示出PCIex4鏈路結(jié)構(gòu)的示意圖;圖7示出由在PCIe接口上實(shí)現(xiàn)QPI協(xié)議的一個(gè)實(shí)施例采用的協(xié)議層;圖8示出當(dāng)工作在利用20個(gè)快線的全寬度模式時(shí)根據(jù)QPI流控制單元(flit)的數(shù)據(jù)位的映射;圖9示出根據(jù)一個(gè)實(shí)施例80位QPI流控制單元的位在PCIe xl6接口上的映射;圖10示出根據(jù)一個(gè)實(shí)施例80位QPI流控制單元的位在PCIe x8接口上的映射;圖11示出根據(jù)一個(gè)實(shí)施例80位QPI流控制單元的位在PCIe x4接口上的映射;圖12示出根據(jù)一個(gè)實(shí)施例QPI位在使用128b/130b編碼的PCIe xl6接口上的映射;圖13示出根據(jù)一個(gè)實(shí)施例用于將QPI鏈路層實(shí)現(xiàn)在PCIe物理層接口的信號(hào);圖14是示出根據(jù)一個(gè)實(shí)施例用于將QPI鏈路層實(shí)現(xiàn)在PCIe物理層接口的邏輯和物理塊的方框圖;圖15示出根據(jù)一個(gè)實(shí)施例兩個(gè)80位QPI流控制單元在PCIe xl6接口上的映射;圖16是示出根據(jù)一個(gè)實(shí)施例配置成在PCIe接口上實(shí)現(xiàn)QPI協(xié)議的刀片服務(wù)器的一對(duì)刀片的示意圖;圖17是示出使用圖16的刀片服務(wù)器根據(jù)QPI協(xié)議支持本地監(jiān)聽(home snoop)的發(fā)消息操作的消息流程圖;以及圖18是示出使用圖16的刀片服務(wù)器根據(jù)QPI協(xié)議支持源監(jiān)聽(source snoop)的發(fā)消息操作的消息流程圖。
具體實(shí)施例方式本文描述了在PCIe接口上實(shí)現(xiàn)QPI協(xié)議的方法和裝置的實(shí)施例。在以下描述中,陳述許多具體細(xì)節(jié)以提供對(duì)本發(fā)明的實(shí)施例的透徹理解。然而,相關(guān)領(lǐng)域內(nèi)技術(shù)人員將理解本發(fā)明可省去一個(gè)或多個(gè)特定細(xì)節(jié)而實(shí)現(xiàn),或通過其它方法、組件、材料等實(shí)現(xiàn)。在其它例子中,公知的結(jié)構(gòu)、材料或操作不被示出或詳細(xì)說明以避免對(duì)本發(fā)明某些方面產(chǎn)生混淆。貫穿本說明書,對(duì)“一個(gè)實(shí)施例”或“一實(shí)施例”的引用意味著結(jié)合該實(shí)施例描述的特定特征、結(jié)構(gòu)或特性被包括在本發(fā)明的至少一個(gè)實(shí)施例中。因此,在本說明書通篇的多個(gè)位置中的短語“在一個(gè)實(shí)施例中”或“在一實(shí)施例中”的出現(xiàn)不一定全部指向同一實(shí)施例。而且,具體特征、結(jié)構(gòu)、或特性可以任何合適的方式在一個(gè)或多個(gè)實(shí)施例中組合。怏諫通路互連總覽QPI事務(wù)是藉由在多層協(xié)議上傳輸?shù)姆纸M消息來促成的。如圖1所示,這些層包括物理層、鏈路層、傳輸層和協(xié)議層。在物理層,數(shù)據(jù)以20位phit (物理單元)交換。在鏈路層,phit被聚集成80位的flit (流控制單元)。在協(xié)議層,使用基于分組的傳輸在代理之間傳遞消息。物理層定義互連的物理結(jié)構(gòu)并負(fù)責(zé)應(yīng)對(duì)在兩代理之間特定鏈路上的信號(hào)的運(yùn)作細(xì)節(jié)。該層管理信號(hào)線上的數(shù)據(jù)傳輸,包括電平、定時(shí)方面以及涉及在并行快線兩側(cè)發(fā)送和接收信息的每個(gè)位的邏輯結(jié)果。如圖2所示,每個(gè)互連鏈路的物理連通性由20個(gè)差分信號(hào)對(duì)加上差分前進(jìn)時(shí)鐘來構(gòu)成。每個(gè)端口支持由兩個(gè)單向鏈路構(gòu)成的一鏈路對(duì),以完成兩組件之間的連接。這同時(shí)支持兩個(gè)方向上的話務(wù)。具有QPI端口的組件使用一對(duì)單向點(diǎn)對(duì)點(diǎn)鏈路通信,這對(duì)鏈路被定義為鏈路對(duì),如圖2所示。每個(gè)端口包括發(fā)送(Tx)鏈路接口和接收(Rx)鏈路接口。對(duì)于所示例子,組件A具有連接至組件B Rx端口的Tx端口。一個(gè)單向鏈路從組件A向組件B發(fā)送,而另一鏈路從組件B向組件A發(fā)送?!鞍l(fā)送”鏈路和“接收”鏈路是對(duì)于特定QPI代理而定義的。組件A發(fā)送鏈路將數(shù)據(jù)從組件A Tx端口發(fā)送至組件B Rx端口。該相同的組件A發(fā)送鏈路是端口 B接收鏈路。協(xié)議棧向上的第二層是鏈路層,它負(fù)責(zé)可靠數(shù)據(jù)傳輸和流控制。鏈路層也提供將物理信道虛擬化成多個(gè)虛擬信道和消息類。在物理層初始化和訓(xùn)練結(jié)束后,其邏輯子塊在鏈路層指引下工作,該鏈路層負(fù)責(zé)流控制。從該鏈路工作點(diǎn)向前,邏輯子塊以流控制單元粒度(80位)與鏈路層通信并以物理單元粒度(20位)橫跨鏈路地傳輸流控制單元。流控制單元由整數(shù)個(gè)物理單元構(gòu)成,其中物理單元被定義為在一個(gè)單元間隔(UI)上傳輸?shù)奈粩?shù)。例如,全寬度QPI鏈路使用四個(gè)物理單元發(fā)送和接收一完整的流控制單元。每個(gè)流控制單元包括72位的負(fù)載和8位CRC。路由層負(fù)責(zé)確保消息被送至其正確的目的地,并提供通過互連結(jié)構(gòu)引導(dǎo)分組的構(gòu)架。如果從鏈路層遞交的消息去往另一設(shè)備中的代理,則路由層將其提交給正確的鏈路以在該鏈路上發(fā)送。去往該本地設(shè)備上的代理的所有消息被向上傳遞給協(xié)議層。協(xié)議層發(fā)揮多種功能。它使用回寫協(xié)議管理接口的高速緩存一致性。它也具有用于管理非一致性發(fā)消息的一組規(guī)則。消息是使用分組在協(xié)議層上的代理之間傳遞的。協(xié)議層管理跨多個(gè)鏈路的消息傳遞,這牽涉到多個(gè)設(shè)備中的多個(gè)代理??绶植际礁咚倬彺婧痛鎯?chǔ)器控制器的系統(tǒng)高速緩存一致性是通過參與一致性存儲(chǔ)器空間事務(wù)的分布式代理維持的,它受由協(xié)議層定義的規(guī)則作用。QPI —致性協(xié)議既支持本地監(jiān)聽行為又支持源監(jiān)聽行為,如下文中進(jìn)一步詳細(xì)描述的那樣。PCI Express 的簡(jiǎn)介和QPI —樣,PCIe支持點(diǎn)對(duì)點(diǎn)互連,該點(diǎn)對(duì)點(diǎn)互連使用由用于發(fā)送和接收中的每一個(gè)的一個(gè)或多個(gè)快線構(gòu)成的串行鏈路。PCIe鏈路具有至少一個(gè)快線——每個(gè)快線代表一組差分信號(hào)對(duì)(一個(gè)對(duì)用于傳輸,一個(gè)對(duì)用于接收)。為了縮放帶寬,鏈路可集合多個(gè)快線,這由xN表示,其中N可以是所支持的鏈路寬度中的任何一個(gè)。例如,在PCIe3.0規(guī)范上,PCIe鏈路包括對(duì)xl、x2、x4、x8、xl2、xl6和x32快線寬度的操作。在硬件初始化過程中,在快線寬度與鏈路每端的兩個(gè)代理的工作頻率的協(xié)商之后建立每個(gè)PCI Express鏈路。如圖3所示,PCI Express使用分層的協(xié)議,包括物理層、數(shù)據(jù)鏈路層和事務(wù)層。物理層進(jìn)一步包括邏輯子塊和電氣子塊。PCI Express使用分組在各組件之間傳達(dá)信息。分組被形成在事務(wù)層和數(shù)據(jù)鏈路層中以將信息從發(fā)送組件攜帶至接收組件。隨著發(fā)送的分組流過其它層,它們被擴(kuò)充以具有在那些層處理分組所需的附加信息。在接收側(cè),逆過程發(fā)生并且分組從其物理層表現(xiàn)轉(zhuǎn)變?yōu)閿?shù)據(jù)鏈路層表現(xiàn),并最終(對(duì)于事務(wù)層分組)轉(zhuǎn)變?yōu)榭捎山邮赵O(shè)備的事務(wù)層處理的形式。圖3示出事務(wù)層分組信息通過各個(gè)層的概念流。盡管QPI PHY和PCIe PHY之間具有某些相似,但也存在區(qū)別。這些區(qū)別的其中一些是鏈路配置和數(shù)據(jù)編碼。圖4示出PCIe xl6鏈路的物理連通性。如通過“xl6”標(biāo)識(shí)的那樣,該鏈路采用16個(gè)快線,每個(gè)快線包括一差分信號(hào)對(duì)。與其采用獨(dú)立的時(shí)鐘信號(hào),PCIe下的時(shí)鐘數(shù)據(jù)卻是被嵌入到數(shù)據(jù)傳輸中并經(jīng)由鏈路末端點(diǎn)處的物理層恢復(fù)。具有支持xl6鏈路的電路的PCIe互連也可被配置成兩個(gè)x8鏈路。另外,響應(yīng)于檢測(cè)到錯(cuò)誤,xl6鏈路的寬度可自動(dòng)地減小至x8鏈路,或甚至減小至x4鏈路。圖5示出采用快線0-7的PCIe x8鏈路的一個(gè)例子,而圖6示出采用快線0_3的PCIe x4鏈路的一個(gè)例子。PCIe h的 QPI根據(jù)本發(fā)明的某些方面,披露了在PCIe接口上實(shí)現(xiàn)QPI協(xié)議的技術(shù)。如圖7所示,QPI協(xié)議的協(xié)議層、路由層和鏈路層被實(shí)現(xiàn)在PCIe物理層(PHY)上,這里對(duì)PCIe邏輯PHY作了一些修改以支持QPI鏈路層接口。這允許在PCIe接口(和相應(yīng)的硬件電路)上使用QPI而不需要對(duì)電氣架構(gòu)作任何修改。結(jié)果,可使用已有的PCIe設(shè)計(jì)(包括已有的PCI片)實(shí)現(xiàn)QPI。PCIe上的QPI實(shí)現(xiàn)支持鏈路分叉和鏈路降級(jí),還有快線逆反。在一個(gè)實(shí)施例中,X16鏈路可分叉成兩個(gè)獨(dú)立的X8鏈路。另外,存在錯(cuò)誤時(shí)Χ16鏈路可降級(jí)成Χ8或Χ4鏈路。降級(jí)的x8可以是物理快線O……7或8……15,而降級(jí)的x4可以是物理快線O……3、4……
7、8……11、12……15。x8鏈路可或者在快線O……3或者在4……7降級(jí)成x4的。在降級(jí)模式下,快線可以是逆反的。在一個(gè)實(shí)施例中,當(dāng)針對(duì)QPI協(xié)議配置時(shí),PCIe PHY根據(jù)遵循PCIe3.0的物理層,該物理層使用128b/130b編碼而沒有物理層組幀(例如STP、END)。PCIe上的QPI鏈路可工作在遵循PCIe的速率(例如8GT/s)以`及其它能由鏈路兩端的設(shè)備支持的速率下。QPI協(xié)議棧保持其鏈路層,包括流控制單元、分組格式、CRC和重試機(jī)制。如前所述,在鏈路層的轉(zhuǎn)移單元是80位流控制單元。因此,為了維持在PCIe PHY上使用QPI鏈路層,執(zhí)行傳輸?shù)臄?shù)據(jù)位格式的映射。當(dāng)使用QPI鏈路的全寬度時(shí),80位流控制單元由四個(gè)20位物理單元構(gòu)成,這些物理單元依次在四個(gè)UI上被接收。這示出于圖8,其中標(biāo)注為CO……C7的數(shù)據(jù)對(duì)應(yīng)于8個(gè)CRC位,而標(biāo)注為IO……171的數(shù)據(jù)對(duì)應(yīng)于負(fù)載數(shù)據(jù)的72個(gè)位(信息位)。另外,CRC和負(fù)載數(shù)據(jù)被圖示為編組成若干個(gè)8位字節(jié)。在各實(shí)施例中,80位流控制單元數(shù)據(jù)從4個(gè)20位物理單元被重新映射到xl6、x8和x4PCIe鏈路上。例如,在一個(gè)實(shí)施例中,在使用4個(gè)Π的20位物理單元中的80位流控制單元數(shù)據(jù)從20個(gè)快線被重映射到使用5個(gè)Π的PCIe xl6PHY的PCIe的16個(gè)快線上。這示出于圖9,圖9示出在每個(gè)Π期間傳遞的數(shù)據(jù)位以及根據(jù)圖7的最初80位流控制單元的8位字節(jié)的編組。在圖10的實(shí)施例中,80位流控制單元數(shù)據(jù)被映射到使用10個(gè)UI的PCIe x8配置的8個(gè)快線上。在圖11的實(shí)施例中,80位流控制單元數(shù)據(jù)被映射到使用20個(gè)UI的PCIe x4配置的4個(gè)快線上。在前面的實(shí)施例中,選擇CRC位和信息位的位置以確保脈沖串長(zhǎng)度錯(cuò)誤被檢測(cè)至IJ。下面的錯(cuò)誤檢測(cè)特性被確保:(i)隨機(jī)的單倍、雙倍和三倍位錯(cuò)誤,( )長(zhǎng)度達(dá)到8的脈沖串錯(cuò)誤以及(iii)對(duì)于xl6鏈路的線錯(cuò)誤檢測(cè)。在一個(gè)實(shí)施例中,當(dāng)傳輸QPI流控制單元時(shí)采用相同的QPI CRC多項(xiàng)式。由于該鏈路是xl6(或x8或x4)PCIe鏈路,因此位的布局與QPI不同。用于CRC計(jì)算的QPI流控制單元級(jí)多項(xiàng)式可表示如下:
I71x79+I70x78+I69x77++10x8+C7x7+C0x°在初始化后,在一個(gè)實(shí)施例中當(dāng)發(fā)送QPI流控制單元時(shí),PXIe PHY工作在128b/130b編碼之下,128b/130b編碼具有如PCIe3.0規(guī)范定義的相同擾碼規(guī)則和塊對(duì)準(zhǔn)規(guī)貝丨J。在初始化期間,PXIe PHY將從8b/10b編碼開始,8b/10b編碼在2.5GT/s數(shù)據(jù)率下以進(jìn)行最初鏈路訓(xùn)練,并在發(fā)送任何QPI流控制單元前通過速度改變操作切換至128b/130b編碼。圖12中示出根據(jù)一個(gè)實(shí)施例的128/130b編碼的一個(gè)例子。在128/130b編碼中,攜帶QPI流控制單元的數(shù)據(jù)塊略為不同于PCIe數(shù)據(jù)塊。與同步報(bào)頭一直為IOb的PCIe數(shù)據(jù)塊不同,QPI數(shù)據(jù)塊分別在奇數(shù)和偶數(shù)快線中使用Olb和IOb的同步報(bào)頭位,如圖12所示。QPI數(shù)據(jù)流開始于第一 QPI數(shù)據(jù)塊并在接收到除SKP有序集以外的有序集時(shí)或者在由接收機(jī)檢測(cè)到組幀錯(cuò)誤時(shí)結(jié)束。如果同步報(bào)頭位在奇數(shù)和偶數(shù)快線中分別為Olb和IOb,則塊是QPI數(shù)據(jù)塊,并且它也遵從另一 QPI數(shù)據(jù)塊或僅具有邏輯IDL或有效的有序集的PCIe數(shù)據(jù)塊。對(duì)于QPI數(shù)據(jù)流,沒有其它任何一種PCIe3.0發(fā)射機(jī)組幀規(guī)則需要被遵守。由于每個(gè)流控制單元是80位,具有QPI流控制單元的數(shù)據(jù)塊不攜帶128b/130b編碼的任一組幀令牌。組幀邏輯由于其固定的大小可望勾畫出流控制單元邊界。流控制單元可跨騎在兩數(shù)據(jù)塊之間,如圖12所示。如前所述,在PCIe上的QPI協(xié)議下,QPI協(xié)議的上層保持相同。這些層的最低層是QPI鏈路層。因此,利用QPI鏈路層和PCIe物理層之間的接口。用于促成這種接口的信號(hào)的一個(gè)實(shí)施例示出于圖13。16位-20位轉(zhuǎn)換當(dāng)使用工作在正常全寬度模式的PCIxl6鏈路時(shí),來自16個(gè)快線的數(shù)據(jù)被映射到20位的物理單元。PCIe邏輯物理層每個(gè)時(shí)鐘對(duì)xl6鏈路傳遞8UI價(jià)值的數(shù)據(jù)(8x16=128)。QPI鏈路層工作在8UI時(shí)鐘,但在2流控制單元(160b)接口之上。每個(gè)流控制單元具有其本身的流控制單元有效信號(hào)(即它可能在一個(gè)時(shí)鐘上傳輸單個(gè)流控制單元)。X16至x20轉(zhuǎn)換邏輯本質(zhì)上是128b-160b轉(zhuǎn)換。在一個(gè)實(shí)施例中,流控制單元被盡可能快地傳遞至QPI鏈路層(即在傳遞流控制單元前不等待累加160b)。該邏輯部分也提供在PCIe物理層的8UI時(shí)鐘和PCIe數(shù)據(jù)鏈路層的16W時(shí)鐘之間進(jìn)行轉(zhuǎn)換的接口。圖14示出一方框圖,該方框圖示出用于執(zhí)行這種轉(zhuǎn)換的接口的一個(gè)實(shí)施例。圖15示出根據(jù)一個(gè)實(shí)施例在160b和128b之間的位映射。左側(cè)的數(shù)據(jù)位方框示出通過PCIe邏輯物理層(128b接口)傳遞的8UI時(shí)鐘域(PCIe)的數(shù)據(jù)。它示出40M時(shí)鐘周期(時(shí)間向下遞增;408nx5n/流控制單元)。右側(cè)的數(shù)據(jù)位方框示出對(duì)于QPI鏈路層對(duì)各個(gè)流控制單元的映射。實(shí)線表示流控制單元邊界,而虛線表示Sn時(shí)鐘邊界。除了將QPI流控制單元映射到PCIe xl6、x8和x4鏈路外,該理念可延伸至使用本文公開的類似原理到PCIe x2和xl鏈路的映射。通常,利用較高寬度的鏈路是優(yōu)選的,因?yàn)檫@減少了每個(gè)事務(wù)的循環(huán)次數(shù)(并因此減少了等待時(shí)間),但也可利用較窄寬度的鏈路。還要注意,傳統(tǒng)PCIe鏈路(即利用PCIe協(xié)議的PCIe鏈路)和在其上實(shí)現(xiàn)QPI鏈路的PCIe鏈路兩者可存在于同一系統(tǒng)中。PCIe鏈路不需要具有相同的寬度,或利用相同的時(shí)鐘速率(即速度)。此外,在同一系統(tǒng)中,在PCIe上的QPI鏈路可采用不同的鏈路寬度和時(shí)鐘速率。
在PCIe上維持高速緩存一致性的示例性實(shí)現(xiàn)QPI的固有特征之一是支持一致性內(nèi)存事務(wù)。這是經(jīng)由與存儲(chǔ)器事務(wù)相關(guān)的相應(yīng)消息實(shí)現(xiàn)的,這些消息由QPI協(xié)議的高層處理。如由QPI協(xié)議層定義的那樣,使用分組將消息傳達(dá)至可應(yīng)用代理。下面的消息類由QPI協(xié)議利用。
權(quán)利要求
1.一種方法,包括: 在具有共享存儲(chǔ)器資源并包括可訪問所述共享存儲(chǔ)器資源的多個(gè)設(shè)備的計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)高速緩存一致性協(xié)議,所述多個(gè)設(shè)備包括具有本地高速緩存的至少一個(gè)處理器,其中所述計(jì)算機(jī)系統(tǒng)包括外圍組件互連快速(PCIe)接口電路,在所述PCIe接口電路上允許通過使用所述高速緩存一致性協(xié)議來實(shí)現(xiàn)一致性存儲(chǔ)器事務(wù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述高速緩存一致性協(xié)議是快速通路互連(QPI)協(xié)議,所述方法還包括使用在所述PCIe接口電路上傳送的QPI消息來實(shí)現(xiàn)一致性存儲(chǔ)器事務(wù)。
3.如權(quán)利要求2所述的方法,其特征在于,還包括: 將QPI flit(流控制單元)映射到工作在采用16個(gè)快線的全寬度下的PCIe xl6接口。
4.如權(quán)利要求2所述的方法,其特征在于,還包括: 將QPI flit (流控制單元)映射到采用8個(gè)快線或工作在采用4個(gè)快線的四分之一寬度下的PCIe xl6接口上。
5.如權(quán)利要求2所述的方法,其特征在于,還包括: 將QPI flit (流控制單元)映射到采用8個(gè)快線的PCIe x8接口上。
6.如權(quán)利要求2所述的方法,其特征在于,還包括: 將QPI flit(流控制單元)映射到工作在采用4個(gè)快線的半寬度下的PCIe x8接口。
7.如權(quán)利要求2所述的方法,其特征在于,還包括在PCIe物理層采用128b/130b編碼。
8.如權(quán)利要求2所述的方法,其特征在于,還包括在PCIe物理層上實(shí)現(xiàn)QPI鏈路層、路由層和協(xié)議層。
9.如權(quán)利要求1所述的方法,其特征在于,所述系統(tǒng)利用經(jīng)由所述PCIe接口電路通信地耦合的多個(gè)處理器,其中每個(gè)處理器通信地耦合至至少一個(gè)共享存儲(chǔ)器資源并包括本地高速緩存,此外每個(gè)處理器被允許訪問與另一處理器通信耦合的存儲(chǔ)器資源并同時(shí)保持存儲(chǔ)器一致性。
10.一種方法,包括: 在外圍組件互連快速(PCIe)接口電路上實(shí)現(xiàn)快速通路互連(QPI)協(xié)議。
11.如權(quán)利要求10所述的方法,其特征在于,所述QPI協(xié)議是通過將QPIflit(流控制單元)映射到16個(gè)快線上在利用所述16個(gè)快線的PCIe xl6接口上實(shí)現(xiàn)的。
12.如權(quán)利要求10所述的方法,其特征在于,所述QPI協(xié)議是通過將QPIflit (流控制單元)映射到8個(gè)快線上在利用所述8個(gè)快線的PCIe xl6接口上實(shí)現(xiàn)的。
13.如權(quán)利要求10所述的方法,其特征在于,所述QPI協(xié)議是通過將QPIflit (流控制單元)映射到4個(gè)快線上在利用所述4個(gè)快線的PCIe xl6或PCIe x8接口之一上實(shí)現(xiàn)的。
14.如權(quán)利要求10所述的方法,其特征在于,還包括在所述PCIe接口的物理層采用128b/130b 編碼。
15.—種系統(tǒng),包括: 多個(gè)處理器,所述多個(gè)處理器中的每一個(gè)具有本地高速緩存并可操作地耦合至具有針對(duì)所述系統(tǒng)的一部分共享存儲(chǔ)器的相應(yīng)存儲(chǔ)器存儲(chǔ);以及 可操作地耦合至少兩個(gè)處理器的外圍組件互連快速(PCIe)接口電路, 其中所述至少兩個(gè)處理器被配置成使用在PCIe接口電路上傳送的相應(yīng)QPI消息實(shí)現(xiàn)快速通路互連(QPI)協(xié)議以支持所述系統(tǒng)中的一致性存儲(chǔ)器事務(wù)。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述系統(tǒng)包括具有多個(gè)刀片的刀片服務(wù)器,所述刀片包括被配置成經(jīng)由相應(yīng)的底板或邊緣連接器通信地耦合刀片組件的PCIe接口電路。
17.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述處理器被配置成與經(jīng)由使用在PCIe接口電路上傳送的QPI消息執(zhí)行一致性存儲(chǔ)器事務(wù)相結(jié)合地實(shí)現(xiàn)本地監(jiān)聽和源監(jiān)聽中的至少一個(gè)。
18.如權(quán)利要求15所述的系統(tǒng),其特征在于,在其上傳送QPI消息的PCIe接口電路包括PCIe xl6接口、PCIe x8或PCIe x4接口中的至少一個(gè)。
19.如權(quán)利要求15所述的系統(tǒng),其特征在于,在其上傳送QPI消息的PCIe接口電路包括從PCIe xl6鏈路、PCIe x8和PCIe x4鏈路構(gòu)成的組中選取的兩個(gè)或更多個(gè)PCIe鏈路。
20.如權(quán)利要求15所述的系統(tǒng),其特征在于,在其上QPI發(fā)消息的PCIe接口電路利用至少兩個(gè)獨(dú)立的PCIe鏈路,所述PCIe鏈路利用不同鏈路寬度或不同時(shí)鐘速率中的至少一個(gè)。
全文摘要
用于在PCIe接口上實(shí)現(xiàn)英特爾快速通路互連(QPI)的方法和裝置。QPI協(xié)議的高層通過使用在相應(yīng)PCIe x16、x8和x4快線配置上的QPI數(shù)據(jù)位映射在PCIe接口的物理層上實(shí)現(xiàn)。利用QPI鏈路層-PCIe物理層接口以從下層的PCIe物理層(和相應(yīng)的PCIe接口電路)中提取QPI鏈路層、路由層和協(xié)議層,這允許在PCIe硬件上利用QPI協(xié)議消息。因此,可在PCIe接口電路上實(shí)現(xiàn)QPI功能,例如對(duì)一致性存儲(chǔ)器事務(wù)的支持。
文檔編號(hào)H04L29/06GK103119908SQ201180045925
公開日2013年5月22日 申請(qǐng)日期2011年9月23日 優(yōu)先權(quán)日2010年9月24日
發(fā)明者R·J·薩弗蘭克, D·達(dá)斯莎瑪, G·N·斯里尼瓦薩 申請(qǐng)人:英特爾公司