靈活的互連設(shè)計
最近出現(xiàn)的幾種互不兼容的通用系統(tǒng)互連方式為芯片供應(yīng)商創(chuàng)造了機會,同時也帶來了困難。本文將對幾種系統(tǒng)互連方式的屬性進(jìn)行分析,通過認(rèn)識這些互連方式之間所共有的邏輯和物理屬性,可以制定具有簡單設(shè)計和互配性能的實施方案。
新興的系統(tǒng)互連方式包括PCI-Express(PCI-Ex)、HyperTransport (HT)和RapidIO(RIO)。它們在很大程度上提供了類似的能力,但是由于在邏輯層、數(shù)據(jù)鏈路層和物理層上均有所不同,因此互不直接兼容。由于這些互連方式和總線的應(yīng)用領(lǐng)域并未清晰地劃分,因此可能會根據(jù)客戶的體系結(jié)構(gòu)和設(shè)計選擇,要求電信和數(shù)據(jù)通信芯片對任一方式提供支持。對于既需要訪問控制層,也需要訪問數(shù)據(jù)層的通信,以及廣泛部署于各種體系結(jié)構(gòu)中的微處理器來說,這一點尤為明顯。
芯片設(shè)計師們必須時刻將這些要點牢記在心,以應(yīng)對在互操作性方面的要求。為此,可以采用的策略包括:
?橋接:用一個外部器件執(zhí)行通信協(xié)議和物理轉(zhuǎn)換;
?可靈活配置的接口:用一個能夠進(jìn)行配置的器件來支持一種以上的互連方式或總線;
?一個器件擁有多種型號:芯片制造商根據(jù)需要發(fā)布芯片來支持不同的接口。
互配的范例如圖1所示。在這一示例中,一個高速內(nèi)置微處理器采用并行HT互連,經(jīng)過優(yōu)化后,具有低延遲現(xiàn)象和高帶寬的特點。通過PCI-Ex或RIO通信協(xié)議,采用一個并行轉(zhuǎn)串行的橋接將該處理器連接至一個串行背板。
橋接和其它互配策略可以通過明確這些互連和總線間的核心功能來進(jìn)行簡化。在有些情況下,接口參數(shù)可以選擇,以便將邏輯和物理層的差異降至最低,以此簡化和降低不同互連之間達(dá)到互操作的成本。
圖2所示為這些互連中的一種端點實現(xiàn)方式。PCI-Ex、HT和RIO的分層十分清晰,在很大程度上遵循了類似的結(jié)構(gòu);并根據(jù)相應(yīng)的交易層、數(shù)據(jù)鏈路層和物理層來制訂結(jié)構(gòu)的實現(xiàn)方式。在圖2中,通向應(yīng)用層的FIFO接口使交易層分組數(shù)據(jù)包在終點應(yīng)用層與互連塊之間進(jìn)行傳輸。在互連塊內(nèi),采用了交易層信息,如報頭CRC糾錯和序列編號,以及數(shù)據(jù)鏈路流的控制。在物理層,分組數(shù)據(jù)包被轉(zhuǎn)換成一個字節(jié)或位序列 ,然后進(jìn)行編碼和其它操作。
通常這些互連之間的交易層語義相當(dāng)簡單,可以通過將其與系統(tǒng)互連接口的邏輯參數(shù)進(jìn)行限制,對應(yīng)用客戶提供的接口細(xì)節(jié)進(jìn)行隱藏。在物理層, PCI-Ex總線和串行RIO總線均使用了基于SERDES的接口。HT和并行RIO采用了一種類似的并行數(shù)據(jù)總線、分離的時鐘信號和不同的電氣信號。
交易層與數(shù)據(jù)鏈路層的比較
下面將對這些總線的交易層和數(shù)據(jù)鏈路層進(jìn)行比較。它們之間有著顯著的不同,也存在可實現(xiàn)靈活配置接口的相似性。
未完成交易的數(shù)量
任何接口的一項重要特性就是其所支持的未完成交易的數(shù)量。這一數(shù)值越高,對于編程者可供采用的系統(tǒng)并發(fā)性就越高(其代價是緩沖的增加)。未完成交易的數(shù)量依不同的通信協(xié)議而不同。較為合理的設(shè)計方案是可以支持16至32個未完成的請求。這一數(shù)值可以適用于所有這些總線和互連,并可在相對合理的緩沖開銷下為編程者提供較好的靈活性。
排序模式
加載-存儲總線所支持的排序模式對于總線的應(yīng)用來說非常重要。在PCI 2.3版附錄E中所描述的“生產(chǎn)者-消費者”模式是最被廣泛接受的模式。它提供的模式使處于系統(tǒng)任何位置的“生產(chǎn)者”和“消費者”均可以在相互之間進(jìn)行通信,而且在遵循特定規(guī)則的條件下,該通信的結(jié)果是切實可靠的。PCI-Ex和HT總線支持完整的“生產(chǎn)者-消費者”模式。對于RIO總線,在PCI技術(shù)規(guī)格中所描述的“標(biāo)志位”和“數(shù)據(jù)”可能需要在橋接的同一側(cè)處于同一位置,從而可能限制系統(tǒng)設(shè)計的靈活性。
與此相關(guān)的問題是總線的技術(shù)規(guī)格是否支持專用的后置請求通道。在PCI 2.3版的附錄E中,第5條和第7條中確實存在可導(dǎo)致死鎖的情況,而且這種情況僅在最少3個已經(jīng)連接的橋接條件下才會發(fā)生。HT1.05附錄C.5.1和C.5.3中提供了一項替代性的描述。對于本文中所考慮的5種總線,只有RIO不支持后置請求通道。因此,RIO的應(yīng)用可能在橋接復(fù)雜度較低的條件下受到限制。
本文建議內(nèi)部總線接口的設(shè)計支持PCI-X的排序模式。這樣,在不同的接口間進(jìn)行連接和橋接時,就具備了相當(dāng)大的靈活性。
數(shù)據(jù)鏈路層特性
雖然在數(shù)據(jù)鏈路層存在許多相同性,但PCI-Ex、HT和RIO之間的數(shù)據(jù)鏈路層還是有著顯著的不同。雖然靈活互連的分層結(jié)構(gòu)隱含了許多細(xì)節(jié),但是數(shù)據(jù)鏈路層的某些方面會影響在交易層和應(yīng)用層之間可配置內(nèi)部接口的設(shè)計。
例如,數(shù)據(jù)鏈路層中最大數(shù)據(jù)包的大小會影響到交易層??膳渲媒涌诘脑O(shè)計師必須考慮到最大數(shù)據(jù)包的尺寸可以變化,而且這一數(shù)值在每種技術(shù)規(guī)格中各有不同。但是,64~512字節(jié)是一個較為合理的支持范圍,這樣可以降低緩沖開銷,并能表現(xiàn)出良好的性能。
防止出錯和鏈路控制機制也根據(jù)技術(shù)規(guī)格的差異而有所不同,但是在實現(xiàn)可配置內(nèi)部接口的結(jié)果中,必須有一個陣列能夠應(yīng)付一系列嚴(yán)重或非嚴(yán)重性錯誤。這個陣列包括一個無錯誤回應(yīng)和一個表明鏈接斷開的指示。
流量控制機制在這些總線之間也有所差異,但是通常不會影響到內(nèi)部總線接口。特別是對RIO總線,建議不要使用控制RIO流效率較低的Rx控制版本,而應(yīng)采用Tx控流選項。這一選項與PCI-Ex和HT總線的機制相同。
物理接口對比
在物理層,2種串行互連(PCI-Ex和串行RIO)以及2種并行互連(HT 和并行RIO)之間均存在很大的相同性。在每種情況下,共享的物理層設(shè)計都是可行的,只需對互連提出某些特定的要求。
可配置的串行物理接口
PCI-Ex 和RIO總線的每種物理層屬性都提出了特定值或范圍。 PCI-Ex的物理層引入了例如電源管理和即插即用等性能。
連接速率和帶寬
PCI-Ex在當(dāng)前版本中使用了2.6G波特的信號速率。以后的版本可能支持更高的速率。
RIO目前支持1.25、2.5和3.125 G波特的信號速率,有可能支持更高速率的SERDES。RIO在3.125G波特下的主要電氣參數(shù)與XAUI(3.125G波特)相近,而更低的RIO速率實際上屬于XAUI可擴展波特率的版本。
在PCI-Ex下可采用多種通道,RIO將通道的寬度限制在x1和x4。而具備x1和x4 能力的物理結(jié)構(gòu)有可能在這些互連的電信/數(shù)據(jù)通信領(lǐng)域內(nèi)得到廣泛的應(yīng)用。
信號擺幅和預(yù)加重
PCI-Ex和串行RIO的信號擺幅在一定程度上有所不同。但是,兩者的范圍可以通過可編程進(jìn)行完善(主要是在CML中進(jìn)行)。
在當(dāng)前的PCI-Ex版本中采用了稱為去加重的預(yù)加重方法,其轉(zhuǎn)換位的幅度比后續(xù)位更大。而預(yù)加重屬于RIO總線的一個選項。但是,在這兩種接口的背板應(yīng)用中,預(yù)加重功能具有明顯的益處,因此推薦采用對其支持的功能。在芯片至芯片的應(yīng)用中,預(yù)加重可能體現(xiàn)不出自己的優(yōu)勢。因此,推薦在可配置的物理解決方案中,對預(yù)加重的使用及程度進(jìn)行配置。
時鐘和抖動
傳輸抖動和接收抖動允許的誤差在PCI-Ex和RIO總線之間是相當(dāng)一致的。0.3UI(Tx)和.65UI(Rx)的重疊范圍屬于物理層的互操作屬性。
PCI-Ex規(guī)定的時鐘允許誤差為
評論