高性能光中繼器的制造方法
【技術領域】
[0001]本公開一般涉及計算機發展的領域,并且更具體地涉及中繼器。
【背景技術】
[0002]半導體處理和邏輯設計的發展允許可在集成電路設備上存在的邏輯的數量增加。作為必然結果,計算機系統配置從系統中的單個或多個集成電路演變成在個體集成電路上存在的多個核、多個硬件線程和多個邏輯處理器,以及與這樣的處理器集成的其他接口。處理器或集成電路典型地包括單個物理處理器芯片,其中該處理器芯片可包括任意數量的核、硬件線程、邏輯處理器、接口、存儲器、控制器中樞等。
[0003]由于在較小封裝件裝入更多處理能力的較大能力,較小計算設備越來越流行。智能電話、平板電腦、超薄筆記本和其他用戶設備呈指數增長。然而,這些較小設備依賴既用于數據存儲又用于超越形狀因子的復雜處理的服務器。因此,高性能計算市場(即,服務器空間)的需求也增加。例如,在現代服務器中,典型地不僅存在具有多個核的單個處理器,而且還存在多個物理處理器(也稱為多個插座)用于提高計算能力。但隨著處理能力連同計算系統中設備的數量增加,插座與其他設備之間的通信變得更加關鍵。
[0004]信號中繼器和再驅動器電路可以在一些系統中實現來補償對物理通道長度的限制。例如,設備可具有有限的驅動能力,從而限制可安全驅動信號的距離。此外,一些互連標準可以規定對于信號線的物理長度的限制。長距離線可分成兩個或以上段,在段與段之間具有緩沖器或中繼器。中繼器可以包括重定時器和再驅動器。
【附圖說明】
[0005]圖1圖示根據一個實施例的系統的簡化框圖,該系統包括串行點到點互連用于連接計算機系統中的I/O設備。
[0006]圖2圖示根據一個實施例的分層協議棧的簡化框圖。
[0007]圖3圖示事務描述符的實施例。
[0008]圖4圖示串行點到點鏈路的實施例。
[0009]圖5圖示潛在高性能互連(HPI)系統配置的實施例。
[0010]圖6圖示與HPI關聯的分層協議棧的實施例。
[0011]圖7圖示示例狀態機的表示。
[0012]圖8圖示示例電氣有序集的表示。
[0013]圖9圖示示例控制超序列。
[0014]圖10圖示具有嵌入式控制窗口的鏈路層數據流。
[0015]圖11圖示代表系統(其包括用于連接兩個裝置的光學鏈路)的簡化框圖。
[0016]圖12圖不代表電氣鏈路上的下拉的簡化框圖。
[0017]圖13圖示代表系統(其包括用于連接兩個裝置的光學鏈路)的簡化框圖。
[0018]圖14圖示代表系統(其包括用于連接兩個設備的光學鏈路)中的復用和解復用塊的簡化框。
[0019]圖15圖示代表示例時鐘控制器的簡化框。
[0020]圖16圖示對于計算系統(其包括多核處理器)的框圖的實施例。
[0021]圖17圖示對于計算系統(其包括多核處理器)的框圖的另一個實施例。
[0022]圖18圖示對于計算系統(其包括多個處理器插座)的方框的實施例。
[0023]各種圖中的類似標號和名稱指示類似元件。
【具體實施方式】
[0024]在下列描述中,闡述許多特定細節,例如特定類型的處理器和系統配置、特定硬件結構、特定架構和微架構細節、特定寄存器配置、特定指令類型、特定系統部件、特定處理器流水線階段、特定互連層、特定包/事務配置、特定事務名稱、特定協議交換、特定鏈路寬度、特定實現和操作等的示例,以便提供本發明的全面理解。然而,不必采用這些特定細節來實踐本公開的主旨,這對于本領域內技術人員可是明顯的。在其他實例中,避免已知部件或方法的很詳細描述,例如特定和備選處理器架構、對于描述的算法的特定邏輯電路/代碼、特定固件代碼、低級互連操作、特定邏輯配置、特定制造技術和材料、特定編譯器實現、采用代碼的算法的特定表達、特定掉電和選通技術/邏輯和計算機系統的其他特定操作細節以便避免不必要地混淆本發明。
[0025]盡管下列實施例可參考特定集成電路中(例如計算平臺或微處理器)的能量節約、能量效率、處理效率等描述,其他實施例能適用于其他類型的集成電路和邏輯設備。本文描述的實施例的相似技術和教導可適用于其他類型的電路或半導體器件,其也可從這樣的特征獲益。例如,公開的實施例不限于服務器計算機系統、臺式計算機系統、便攜式電腦、Ultrabooks?,而還可在例如手持設備、智能電話、平板電腦、其他薄筆記本、片上系統(SOC)設備和嵌入式應用等其他設備中使用。手持設備的一些示例包括蜂窩電話、互聯網協議設備、數字拍攝裝置、個人數字助理(PDA)和手持PC。在這里,對于高性能互連的相似技術可應用于在低功率互連中提高性能(或甚至節省電力)。嵌入式應用典型地包括微控制器、數字信號處理器(DSP)、片上系統、網絡計算機(NetPC)、機頂盒、網絡集線器、廣域網(WAN)交換機或可以執行下文教導的功能和操作的任何其他系統。此外,本文描述的裝置、方法和系統不限于物理計算設備,而還可涉及對于能量節約和效率的軟件優化。如將在下文的描述中變得很明顯的,本文描述的方法、裝置和系統的實施例(無論是關于硬件、固件、軟件還是其組合)對于進一步與性能考慮平衡的‘綠色技術’是必不可少的。
[0026]隨著計算系統的發展,其中的部件正變得更復雜。用于在部件之間耦合和通信的互連架構在復雜性上也增加來確保對于最佳部件操作滿足帶寬要求。此外,不同的市場細分需要互連架構的不同方面來適應對應市場的需求。例如,服務器需要更高的性能,而移動生態系統有時能夠為了功率節省而犧牲整體性能。甚至,大部分構造的廣義目的是以最大功率節省提供最高可能性能。此外,多種不同互連可以潛在地從本文描述的主旨獲益。
[0027]除其他示例外,外圍部件互連(PCI)高速(PCIe)互連構造架構和QuickPath互連(QPI)構造架構可以潛在地根據除其他示例外的本文描述的一個或多個原理來改進。例如,PCIe的主要目標是使來自不同供應商的部件和設備能夠在開放架構中互操作,從而跨越多個市場細分:客戶端(臺式機和手機)、服務器(標準和企業)以及嵌入式和通信設備。PCI高速是對很多種未來計算和通信平臺限定的高性能、通用I/o互連。一些PCI屬性(例如它的使用模型、負載-貯存架構和軟件接口)已經通過它的修訂來維持,而先前的并行總線實現已經被高度能縮放的完全串行接口所取代。PCI高速的更近版本利用點到點互連、基于交換機的技術和封包化協議中的進展來交付新級別的性能和特征。功率管理、服務質量(QoS)、熱插拔/熱交換支持、數據完整性和錯誤處理屬于PCI高速所支持的一些高級特征之中。盡管本文的主要論述參考新的高性能互連(HPI)架構,本文描述的本發明的方面可適用于其他互連架構,例如PCIe兼容架構、QPI兼容架構、MIPI兼容架構、高性能架構或其他已知互連架構。
[0028]參考圖1,圖示構造的實施例,其由互連一組部件的點到點鏈路組成。系統100包括處理器105和耦合于控制器中樞115的系統存儲器110。處理器105可以包括任何處理元件,例如微處理器、主處理器、嵌入式處理器、協處理器或其他處理器。處理器105通過前端總線(FSB) 106耦合于控制器中樞115。在一個實施例中,FSB 106是如上文描述的串行點到點互連。在另一個實施例中,鏈路106包括串行差分互連架構,其與不同互連標準兼容。
[0029]系統存儲器110包括任何存儲器設備,例如隨機存取存儲器(RAM)、非易失性(NV)存儲器或可被系統100中的設備訪問的其他存儲器。系統存儲器110通過存儲器接口 116耦合于控制器中樞115。存儲器接口的示例包括雙數據速率(DDR)存儲器接口、雙通道DDR存儲器接口和動態RAM (DRAM)存儲器接口。
[0030]在一個實施例中,控制器中樞115可以包括根中樞、根復合體或根控制器,例如在PCIe互連等級中。控制器中樞115的示例包括芯片集、存儲器控制器中樞(MCH)、北橋、互連控制器中樞(ICH)、南橋和根控制器/中樞。術語芯片集通常指兩個物理獨立控制器中樞,例如耦合于互連控制器中樞(ICH)的存儲器控制器中樞(MCH)。注意當前系統通常包括與處理器105集成的MCH,而控制器115采用如下文描述的相似的方式與I/O設備通信。在一些實施例中,對等路由可選地通過根復合體115來支持。
[0031]在這里,控制器中樞115通過串行鏈路119耦合于交換機/橋120。輸入/輸出模塊117和121 (其也可稱為接口 /端口 117和121)可以包括/實現分層協議棧以在控制器中樞115與交換機120之間提供通信。在一個實施例中,多個設備能夠耦合于交換機120。
[0032]交換機/橋120將包/消息從設備125上游(朝著根復合體沿層級向上)路由到控制器中樞115和下游(即遠離根控制器沿層級向下)、從處理器105或系統存儲器110路由到設備125。在一個實施例中,交換機120稱為多個虛擬PCI到PCI橋設備的邏輯組件。設備125包括要耦合于例如I/O設備、網絡接□控制器(NIC)、插卡、音頻處理器、網絡處理器、硬驅動器、存儲設備、⑶/DVD R0M、監視器、打印機、鼠標、鍵盤、路由器、便攜式存儲設備、Firewire設備、通用串行總線(USB)設備、掃描儀和其他輸入/輸出設備等電子系統的任何內部或外部設備或部件。通常在PCIe通俗語中,例如設備稱為端點。盡管未具體示出,設備125可包括橋(例如,PCIe到PCI/PC1-X橋),用于支持設備的遺留或其他版本或這樣的設備所支持的互連構造。
[0033]圖形加速器130還可以通過串行鏈路132耦合于控制器中樞115。在一個實施例中,圖形加速器130耦合于MCH,其耦合于ICH。交換機120以及相應地I/O設備125然后耦合于ICH。I/O模塊131和118也用于實現分層協議棧以在圖形加速器130與控制器中樞115之間通信。與上文的MCH論述相似,圖形控制器或圖形加速器130自身可在處理器105中集成。
[0034]轉向圖2,圖示分層協議棧的實施例。分層協議棧200可以包括任何形式的分層通信棧,例如QPI棧、PCIe棧、下一代高性能計算互連(HPI)棧或其他分層棧。在一個實施例中,協議棧200可以包括事務層205、鏈路層210和物理層220。接口(例如圖1中的接口117、118、121、122、126和131)可表示為通信協議棧200。作為通信協議棧的表示也可稱為實現/包括協議棧的模塊或接口。
[0035]包可以用于在部件之間傳遞信息。包可以在事務層205和數據鏈路層210中形成以將信息從傳輸部件運送到接收部件。當傳輸包流過其他層時,它們被擴展有額外信息,用于在那些層處理包。在接收側,出現逆過程并且包從它們的物理層220表示變換成數據鏈路層210表示并且最后(對于事務層包)變換成可以由接收設備的事務層205處理的形式。
[0036]在一個實施例中,事務層205可以在設備的處理核與互連架構(例如數據鏈路層210與物理層220)之間提供接口。在該方面,事務層205的主要責任可以包括組裝和拆卸包(即,事務層包或TLP)。轉化層205還可以管理對于TLP的基于信用的流控。在一些實現中,除其他示例外,還可以使用分離事務(即,具有通過時間分離的請求和響應的事務),從而允許鏈路在目標設備聚集對于響應的數據時運送其他業務。
[0037]基于信用的流控可以用于利用互連構造來實現虛擬通道和網絡。在一個示例中,設備可以對于事務層205中的接收緩沖器中的每個公告初始信用量。鏈路的相對端處的外部設備(例如圖1中的控制器中樞115)可以對每個TLP所消耗的信用數量計數。如果事務未超出信用極限,可以傳送事務。在接收響應時恢復一定信用量。除其他潛在優勢外,這樣的信用方案的優勢的一個示例是信用回歸的延時不影響性能(假定未遇到信用極限)。
[0038]在一個實施例中,四個事務地址空間可以包括配置地址空間、存儲器地址空間、輸入/輸出地址空間和消息地址空間。存儲器空間事務包括讀請求和寫請求中的一個或多個以將數據傳輸到存儲器映射位點/從存儲器映射位點傳輸數據。在一個實施例中,存儲器空間事務能夠使用兩個不同的地址格式,例如短地址格式(例如32位地址)或長地址格式(例如64位地址)。配置空間事務可以用于訪問連接到互連的各種設備的配置空間。對于配置空間的事務可以包括讀請求和寫請求。消息空間事務(或簡單地,消息)還可以定義成支持互連代理之間的帶內通信。因此,在一個示例實施例中,事務層205可以組裝包標頭/有效載荷206。
[0039]快速參考圖3,圖示事務層包描述符的示例實施例。在一個實施例中,事務描述符300可以是用于運送事務信息的機構。在該方面,事務描述符300支持系統中事務的識別。其他潛在使用包括跟蹤默認事務排序的修改和事務與通道關聯。例如,事務描述符300可以包括全局標識符字段302、屬性字段304和通道標識符字段306。在圖示的示例中,描繪全局標識符字段302,其包括局部事務描述符字段308和源標識符字段310。在一個實施例中,全局事務描述符302對于所有未決請求是唯一的。
[0040]根據一個實現,局部事務標識符字段308是由請求代理生成的字段,并且對于該請求代理需要完成的所有未決請求可以是唯一的。此外,在該示例中,源標識符310在互連層級內唯一地標識請求者代理。因此,連同源ID 310,局部事務標識符308字段提供在層級域內事務的全局識別。[0041 ] 屬性字段304規定事務的特性和關系。在該方面,屬性字段304潛在地用于提供額外信息,其允許事務默認處理的修改。在一個實施例中,屬性字段304包括優先級字段312、保留字段314、排序字段316和非窺探字段318。在這里,優先級子字段312可由啟動程序(initiator)修改來對事務指派優先級。保留屬性字段314被保留以用于未來或供應商定義使用。使用優先級或安全屬性的可能使用模型可使用保留屬性字段來實現。
[0042]在該示例中,排序屬性字段316用于供應可選信息,其傳遞可修改默認排序規則的排序類型。根據一個示例實現,排序屬性“O”指示默認排序規則適用,其中排序屬性“ I ”指示放寬排序,其中寫可以超過在相同方向上的寫,并且讀完成可以超過在相同方向上的寫。窺探屬性字段318用于確定事務是否被窺探。如示出的,通道ID字段306識別事務與之關聯的通道。
[0043]返回圖2的論述,鏈路層210 (也稱為數據鏈路層210)可以充當事務層205與物理層220之間的中間階段。在一個實施例中,數據鏈路層210的責任是提供可靠機制用于在鏈路上的兩個部件之間交換事務層包(TLP)。數據鏈路層210的一側接受事務層205所組裝的TLP、應用包序列標識符211 (S卩,識別號或包編號)、計算并且應用檢錯碼(S卩,CRC212)并且將修改的TLP提交給物理層220用于跨物理到外部設備的傳送。
[0044]在一個示例中,物理層220包括邏輯子塊221和電氣子塊222,用于將包物理傳送到外部設備。在這里,邏輯子塊221負責物理層221的“數字”功能。在該方面,邏輯子塊可以包括:傳送段,用于準備出站信息以供物理子塊222傳送;和接收器段,用于在將接收信息傳遞到鏈路層210之前識別并且準備它。
[0045]物理塊222包括傳送器和接收器。傳送器由邏輯子塊221供應符號,傳送器使這些符號串行化并且傳送到外部設備上。接收器被供應有來自外部設備的串行化符號并且將接收信號變換成位流。該位流被去串行化(de-serialized)并且供應給邏輯子塊221。在一個示例實施例中,采用8b/10b傳送代碼,其中傳送/接收十位符號。在這里,特殊符號用于用幀223來使包成幀。另外,在一個示例中,接收器還提供從進入串行流恢復的符號時鐘。
[0046]如上文規定的,盡管事務層205、鏈路層210和物理層220參考協議棧(例如PCIe協議棧)的特定實施例論述,分層協議棧未這樣受限制。事實上,可包括/實現任何分層協議并且采用本文論述的特征。作為示例,表示為分層協議的端口 /接口可以包括:(1)用于組裝包的第一層,即事務層;使包序列化的第二層,即鏈路層;和用于傳送包的第三層,即物理層。作為特定示例,使用如本文描述的高性能互連分層協議。
[0047]接著參考圖4,圖示串行點到點構造的示例實施例。串行點到點鏈路可以包括用于傳送串行數據的任何傳送路徑。在示出的實施例中,鏈路可以包括兩個低壓差分驅動信號對:傳送對406/411和接收對412/407。因此,設備405包括用于將數據傳送到設備410的傳送邏輯406,和用于從設備410接收數據的接收邏輯407。也就是說,兩個傳送路徑(即路徑416和417)和兩個接收路徑(即路徑418和419)被包括在鏈路的一些實現中。
[0048]傳送路徑指用于傳送數據的任何路徑,例如傳送線、銅線、光學線、無線通信通道、紅外通信鏈路或其他通信路徑。兩個設備(例如設備405和設備410)之間的連接稱為鏈路,例如鏈路415。鏈路可支持一個通路-每個通路代表一組差分信號對(一對用于傳送,一對用于接收)。為了對帶寬定標,鏈路可聚集由xN指示的多個通路,其中N是任何支持的鏈路寬度,例如1、2、4、8、12、16、32、64或更寬。
[0049]差分對可以指用于傳送差分信號的兩個傳送路徑(例如線路416和417)。作為示例,當線路416從低電壓水平切換到高電壓水平(S卩,上升沿)時,線路417從高邏輯水平驅動到低邏輯水平(即,下降沿)。除其他示例優勢外,差分信號潛在地證明更好的電氣特性,例如更好的信號完整性,即,交叉耦合、電壓過沖/下沖、成環(ringing)。這允許更好的定時窗口,其實現更快傳送頻率。
[0050]在一個實施例中,提供新的高性能互連(HPI)。HPI可以包括下一代高速緩存一致、基于鏈路的互連。作為一個示例,HPI可在包括在系統中的高性能計算平臺(例如工作站或服務器)中使用,其中PCIe或另一個互連協議典型地用于連接處理器、加速器、I/O設備及類似物。然而,HPI不這樣受限制。相反,HPI可在本文描述的系統或平臺中的任何之中使用。此外,開發的個體思想可適用于其他互連和平臺,例如PCIe、MIP1、QPI等。
[0051]為了支持多個設備,在一個示例實現中,HPI可以包括指令集架構(ISA),混合的(即,HPI能夠在多個不同設備中實現)。在另一個情景中,HPI也可用于連接高性能I/O設備,而只是處理器或加速器。例如,高性能PCIe設備可通過合適的轉化橋(即HPI到PCIe)而耦合于HPI。此外,HPI鏈路可由若干基于HPI的設備(例如處理器)采用各種方式(例如,星型、環型、網格,等)使用。圖5圖示多個潛在多插座配置的示例實現。雙插座配置505如描述的那樣可以包括兩個HPI鏈路;然而,在其他實現中,可使用一個HPI鏈路。對于較大拓撲,可以使用任何配置,只要標識符(ID)可指派并且除其他額外或替代特征外還存在某一形式的虛擬路徑即可。如示出的,在一個示例中,四插座配置510具有從每個處理器到另一個的HPI鏈路。但在配置515中示出的八插座實現中,不是每個插座都通過HPI鏈路直接連接到彼此。然而,如果在處理器之間存在虛擬路徑或通道,配置受到支持。一系列受支持的處理器在本地域中包括2-32個。除其他示例外,通過使用多個域或節點控制器之間的其他互連來達到更高數量的處理器。
[0052]HPI架構包括分層協議架構的定義,其在一些示例中包括協議層(一致、不一致以及可選地,其他基于存儲器的協議)、路由層、鏈路層和物理層。此外,除其他示例外,HPI可以進一步包括與功率管理器(例如功率控制單元(P⑶))、測試和調試(DFT)設計、故障處理、寄存器、安全性相關的增強。圖5圖示示例HPI分層協議棧的實施例。在一些實現中,在圖5中圖示的層中的至少一些可以是可選的。每個層應對它自己的粒度級或量子級的信息(具有包630的協議層605a、b,具有flit 635的鏈路層610a、b,和具有phit 640的物理層605a、b)。注意包在一些實施例中可基于實現包括部分flit、單個flit或