本申請是申請日為2013年3月15日并且申請?zhí)枮?01380049066.3的中國專利申請的分案申請。
本公開通常涉及計算機開發(fā)的領域,且更具體地涉及牽涉相互依賴的約束系統(tǒng)的協(xié)調(diào)的軟件開發(fā)。
背景技術:
在半導體處理和邏輯設計中的進步允許可存在于集成電路設備上的邏輯的數(shù)量的增加。作為必然結(jié)果,計算機系統(tǒng)配置從系統(tǒng)中的單個或多個集成電路發(fā)展到存在于單獨集成電路上的多個核心、多個硬件線程、以及多個邏輯處理器,以及集成在這樣的處理器中的其它接口。處理器或集成電路一般包括單個物理處理器管芯,其中處理器管芯可包括任何數(shù)量的核心、硬件線程、邏輯處理器、接口、存儲器、控制器中心等。
作為具有更大的能力來在較小封裝中安置較大處理能力的結(jié)果,較小的計算設備在普及性上提高了。智能電話、平板計算機、超薄筆記本計算機、以及其它用戶設備指數(shù)地增長。然而,這些較小的設備依賴于數(shù)據(jù)存儲和超過形狀因子的復雜處理的服務器。因此,在高性能計算市場(即,服務器空間)中的需求也增加了。例如,在現(xiàn)代服務器中,一般不僅有具有多個核心的單個處理器,而且有多個物理處理器(也被稱為多個插槽)以增加計算能力。但當處理能力連同計算系統(tǒng)中的設備的數(shù)量一起增長時,在插槽和其它設備之間的通信變得更關鍵。
事實上,互連從主要處理電通信的多個傳統(tǒng)多點分支總線增長到便于快速通信的充分發(fā)展的互連架構(gòu)。不幸的是,隨著對未來的處理器以甚至更高的速率消耗的要求,產(chǎn)生對現(xiàn)有的互連架構(gòu)的能力的對應的要求。
附圖說明
圖1示出根據(jù)一個實施例的包括串聯(lián)點對點互連以連接在計算機系統(tǒng)中的i/o設備的系統(tǒng)的簡化方框圖。
圖2示出根據(jù)一個實施例的分層協(xié)議棧的簡化方框圖。
圖3示出事務描述符的實施例。
圖4示出串聯(lián)點對點鏈接的實施例。
圖5示出潛在的高性能互連(hpi)系統(tǒng)配置的實施例。
圖6示出與hpi相關聯(lián)的分層協(xié)議棧的實施例。
圖7示出示例狀態(tài)機的表示。
圖8示出示例控制超序列。
圖9示出表示示例性進入部分寬度傳輸狀態(tài)的流程圖。
圖10示出示例訓練序列。
圖11示出包括多核處理器的計算系統(tǒng)的方框圖的實施例。
圖12示出包括多核處理器的計算系統(tǒng)的方框圖的另一實施例。
圖13示出處理器的方框圖的實施例。
圖14示出包括處理器的計算系統(tǒng)的方框圖的另一實施例。
圖15示出包括多個處理器插槽的計算系統(tǒng)的塊的實施例。
圖16示出計算系統(tǒng)的方框圖的另一實施例。
在各種附圖中的相似的參考數(shù)字和標記指示相似的元件。
具體實施方式
在下面的描述中,闡述了很多特定的細節(jié),例如特定類型的處理器和系統(tǒng)配置、特定的硬件結(jié)構(gòu)、特定的架構(gòu)和微架構(gòu)細節(jié)、特定的寄存器配置、特定的指令類型、特定的系統(tǒng)部件、特定的處理器管線階段、特定的互連層、特定的分組/事務配置、特定的事務名稱、特定的協(xié)議交換、特定的鏈路寬度、特定的實現(xiàn)、以及操作等的示例,以提供對本發(fā)明的徹底理解。然而對本領域中的技術人員可能明顯,不需要一定采用這些特定的細節(jié)來實施本公開的主題。在其它實例中,避免了已知部件或方法的非常詳細的描述,例如特定和可選的處理器架構(gòu)、所述算法的特定的邏輯電路/代碼、特定的固件代碼、低級互連操作、特定的邏輯配置、特定的制造技術和材料、特定的編譯器實現(xiàn)、以代碼形式的算法的特定表達式、特定的斷電和選通技術/邏輯和計算機系統(tǒng)的其它特定的操作細節(jié),以便避免不必要地使本公開難理解。
雖然可關于能量節(jié)約、能量效率、處理效率等在特定的集成電路中(例如在計算平臺或微處理器中)描述下面的實施例,其它實施例可應用于其它類型的集成電路和邏輯設備。本文描述的實施例的類似的技術和教導可應用于(也可受益于這樣的特征的)其它類型的電路或半導體設備。例如,所公開的實施例不限于服務器計算機系統(tǒng)、桌上型計算機系統(tǒng)、膝上型計算機、ultrabookstm,而且也可用在其它設備(例如手持設備、智能電話、平板計算機、其它薄筆記本計算機、片上系統(tǒng)(soc)設備和嵌入式應用)中。手持設備的一些示例包括蜂窩電話、互聯(lián)網(wǎng)協(xié)議設備、數(shù)字照相機、個人數(shù)字助理(pda)、以及手持pc。在這里,用于高性能互連的類似技術可應用于增加在低功率互連中的性能(或甚至節(jié)省功率)。嵌入式應用一般包括微控制器、數(shù)字信號處理器(dsp)、片上系統(tǒng)、網(wǎng)絡計算機(netpc)、機頂盒、網(wǎng)絡集線器、廣域網(wǎng)(wan)交換機、或可執(zhí)行下面教導的功能和操作的任何其它系統(tǒng)。而且,本文描述的裝置、方法、以及系統(tǒng)不限于物理計算設備,而且也可涉及對能量節(jié)約和效率的軟件優(yōu)化。如可在下面的描述中變得容易地明顯的,本文描述的方法、裝置、以及系統(tǒng)的實施例(不管是關于硬件、固件、軟件、或其組合)可被認為是對與性能考慮因素平衡的“綠色技術”未來是極其重要的。
當計算系統(tǒng)進步時,其中的部件變得更復雜。在部件之間耦合和通信的互連架構(gòu)也在復雜性上增加以確保對于最佳部件操作滿足帶寬要求。此外,不同的市場區(qū)塊要求互連架構(gòu)的不同方面來適合相應的市場。例如,服務器需要較高的性能,而移動生態(tài)系統(tǒng)有時能夠為了功率節(jié)省而犧牲總性能。然而,大部分結(jié)構(gòu)的單一目的是以最大的功率節(jié)省提供最高可能的性能。此外,各種不同的互連可潛在地受益于本文描述的主題。
外圍部件互連(pci)express(pcie)互連結(jié)構(gòu)架構(gòu)和快速通道互連(qpi)結(jié)構(gòu)架構(gòu)連同其它示例,可潛在地根據(jù)本文描述的一個或多個原理連同其它示例而被改進。例如,pcie的主要目標是使來自不同供應商的部件和設備能夠跨越多個市場區(qū)塊、客戶端(桌上型計算機和移動設備)、服務器(標準和企業(yè))、以及嵌入式和通信設備,在開放式架構(gòu)中交互操作。pciexpress是為各種各樣的未來計算和通信平臺定義的高性能通用i/o互連。一些pci屬性(例如其使用模型、裝入-存儲架構(gòu)、以及軟件接口)通過其修訂版被維持,而以前的并行總線實現(xiàn)被高度可擴展的完全串行接口代替。pciexpress的最近版本利用在點對點互連、基于交換機的技術、以及分組化協(xié)議中的進步,來給予新水平的性能和特征。功率管理、服務質(zhì)量(qos)、熱插拔/熱抽換支持、數(shù)據(jù)完整性、以及錯誤處理是在pciexpress所支持的一些先進特征當中的。雖然在本文中的主要討論是關于新的高性能互連(hpi)架構(gòu),本文描述的本發(fā)明的方面可應用于其它互連架構(gòu),例如符合pcie的架構(gòu)、符合qpi的架構(gòu)、符合mipi的架構(gòu)、高性能架構(gòu)、或其它已知的互連架構(gòu)。
參考圖1,示出了由使一組部件互連的點對點鏈路組成的結(jié)構(gòu)的實施例。系統(tǒng)100包括耦合到控制器中心115的處理器105和系統(tǒng)存儲器110。處理器105可包括任何處理元件,例如微處理器、主機處理器、嵌入式處理器、協(xié)處理器、或其它處理器。處理器105通過前側(cè)總線(fsb)106耦合到控制器中心115。在一個實施例中,fsb106是如下所述的串行點對點互連。在另一實施例中,鏈路106包括符合不同的互連標準的串行差分互連架構(gòu)。
系統(tǒng)存儲器110包括任何存儲器設備,例如隨機存取存儲器(ram)、非易失性(nv)存儲器、或由系統(tǒng)100中的設備可訪問的其它存儲器。系統(tǒng)存儲器110通過存儲器接口116耦合到控制器中心115。存儲器接口的示例包括雙數(shù)據(jù)率(ddr)存儲器接口、雙通道ddr存儲器接口、以及動態(tài)ram(dram)存儲器接口。
在一個實施例中,控制器中心115可包括例如在pcie互連分級結(jié)構(gòu)中的根中心、根復合體、或根控制器??刂破髦行?15的示例包括芯片組、存儲器控制器中心(mch)、北橋、互連控制器中心(ich)、南橋、以及根控制器/中心。術語“芯片組”常常指兩個物理地分離的控制器中心,例如耦合到互連控制器中心(ich)的存儲器控制器中心(mch)。注意,當前系統(tǒng)常常包括與處理器105集成的mch,而控制器115以與下面描述的類似的方式與i/o設備通信。在一些實施例中,可選地通過根復合體115來支持對等路由。
在這里,控制器中心115通過串行鏈路119耦合到交換機/橋120。也可被稱為接口/端口117和121的輸入/輸出模塊117和121可包括/實現(xiàn)分層協(xié)議棧以提供在控制器中心115和交換機120之間的通信。在一個實施例中,多個設備能夠耦合到交換機120。
交換機/橋120將分組/消息從設備125向上游進行路由,即,沿著分級結(jié)構(gòu)向上朝著根復合體,到控制器中心115,并向下游進行路由,即,沿著分級結(jié)構(gòu)向下遠離根控制器、遠離處理器105或系統(tǒng)存儲器110,到設備125。交換機120在一個實施例中被稱為多個虛擬pci到pci橋設備的邏輯組件。設備125包括耦合到電子系統(tǒng)的任何內(nèi)部或外部設備或部件,例如i/o設備、網(wǎng)絡接口控制器(nic)、插入卡、音頻處理器、網(wǎng)絡處理器、硬盤驅(qū)動器、存儲設備、cd/dvdrom、監(jiān)視器、打印機、鼠標、鍵盤、路由器、便攜式存儲設備、firewire設備、通用串行總線(usb)設備、掃描儀、以及其它輸入/輸出設備。在pcie術語中,例如設備常常被稱為端點。雖然沒有特別示出,設備125可包括橋(例如pcie到pci/pci-x橋)以支持設備或由這樣的設備支持的互連結(jié)構(gòu)的舊有或其它版本。
圖形加速器130也可通過串行鏈路132耦合到控制器中心115。在一個實施例中,圖形加速器130耦合到mch,其耦合到ich。交換機120以及相應地i/o設備125然后耦合到ich。i/o模塊131和118也實現(xiàn)分層協(xié)議棧以在圖形加速器130和控制器中心115之間通信。類似于上面討論的mch,圖形控制器或圖形加速器130本身可集成在處理器105中。
轉(zhuǎn)到圖2,示出了分層協(xié)議棧的實施例。分層協(xié)議棧200可包括任何形式的分層通信棧,例如qpi堆棧、pcie堆棧、下一代高性能計算互連(hpi)堆棧、或其它分層堆棧。在一個實施例中,協(xié)議棧200可包括事務層205、鏈路層210、以及物理層220。接口例如圖1中的接口117、118、121、122、126、以及131可被表示為通信協(xié)議棧200。作為通信協(xié)議棧的表示也可被稱為實現(xiàn)/包括協(xié)議棧的模塊或接口。
分組可用于在部件之間傳遞信息。分組可在事務層205和數(shù)據(jù)鏈路層210中形成以將信息從傳輸部件傳送到接收部件。當所傳輸?shù)姆纸M通過其它層流動時,使用用于在那些層處理分組的額外信息來擴展它們。在接收側(cè)處,反轉(zhuǎn)過程出現(xiàn)且分組從其物理層220表示轉(zhuǎn)換成數(shù)據(jù)鏈路層210表示,且最后(對于事務層分組)轉(zhuǎn)換成可由接收設備的事務層205處理的形式。
在一個實施例中,事務層205可提供在設備的處理核心和互連架構(gòu)(例如數(shù)據(jù)鏈路層210和物理層220)之間的接口。在這個方面中,事務層205的主要職責可包括分組的組裝和拆卸(即,事務層分組,或tlp)。事務層205也可管理對tlp的基于信用的流控制。在一些實現(xiàn)中,可利用分開的事務,即,具有被時間分離的請求和響應的事務,允許鏈路攜帶其它業(yè)務,同時目標設備收集用于響應的數(shù)據(jù),連同其它示例。
基于信用的流控制可用于利用互連結(jié)構(gòu)來實現(xiàn)虛擬通道和網(wǎng)絡。在一個示例中,設備可通告在事務層205中的每一個接收緩沖器的信用的初始數(shù)量。在鏈路的相對端處的外部設備(例如圖1中的控制器中心115)可對每一個tlp所消耗的信用的數(shù)量計數(shù)。事務可被傳輸,如果事務不超過信用限制。當接收到響應時,信用的數(shù)量被恢復。這樣的信用方案的優(yōu)點的一個示例是信用返回的時延不影響性能(假定信用限制未被遇到),連同其它潛在的優(yōu)點。
在一個實施例中,四個事務地址空間可包括配置地址空間、存儲器地址空間、輸入/輸出地址空間、以及消息地址空間。存儲器地址事務包括一個或多個讀請求和寫請求以將數(shù)據(jù)傳送到/自存儲器映射的位置。在一個實施例中,存儲器空間事務能夠使用兩個不同的地址格式,例如短地址格式,例如32位地址,或長地址格式,例如64位地址。配置空間事務可用于訪問連接到互連的各種設備的配置空間。針對配置空間的事務可包括讀請求和寫請求。消息空間事務(或僅僅消息)也可被定義以支持在互連代理之間的帶內(nèi)通信。因此,在一個示例實施例中,事務層205可組裝分組頭部/有效載荷206。
快速參考圖3,示出事務層分組描述符的示例實施例。在一個實施例中,事務描述符300可以是用于承載事務信息的機制。在這個方面中,事務描述符300支持系統(tǒng)中的事務的識別。其它可能的使用包括默認事務排序的跟蹤修改和事務與通道的關聯(lián)。例如,事務描述符300可包括全局標識符字段302、屬性字段304和通道標識符字段306。在所示示例中,描繪了包括局部事務標識符字段308和源標識符字段310的全局標識符字段302。在一個實施例中,全局事務標識符302對所有未完成的(outstanding)請求是唯一的。
根據(jù)一個實現(xiàn),局部事務標識符字段308是由請求代理產(chǎn)生的字段,且可能對需要對該請求代理的完成的所有未完成的請求是唯一的。此外,在本例中,源標識符310唯一地識別在互連分級結(jié)構(gòu)內(nèi)的請求者代理。因此,連同源id310一起,局部事務標識符308字段提供在分級結(jié)構(gòu)域內(nèi)的事務的全局標識。
屬性字段304規(guī)定事務的特性和關系。在這個方面中,屬性字段304潛在地用于提供允許事務的默認處理的修改的額外信息。在一個實施例中,屬性字段304包括優(yōu)先級字段312、預留字段314、排序字段316、以及非窺探字段318。在這里,優(yōu)先級子字段312可由啟動器修改以將優(yōu)先級分配給事務。預留屬性字段314保持被預留用于未來、或供應商定義的用途??墒褂妙A留屬性字段來實現(xiàn)使用優(yōu)先級或安全屬性的可能的用途模型。
在本例中,排序?qū)傩宰侄?16用于提供可選信息,傳達可修改默認排序規(guī)則的排序的類型。根據(jù)一個示例實現(xiàn),“0”的排序?qū)傩员硎疽獞玫哪J排序規(guī)則,其中“1”的排序?qū)傩员硎痉艑挼呐判?,其中寫可通過在同一方向上的寫,且讀完成可通過在同一方向上的寫。窺探屬性字段318用來確定事務是否被窺探。如所示,通道id字段306識別事務所關聯(lián)的通道。
返回到圖2的討論,也被稱為數(shù)據(jù)鏈路層210的鏈路層210可充當在事務層205和物理層220之間的中間級。在一個實施例中,數(shù)據(jù)鏈路層210的職責是提供用于在鏈路上的兩個部件之間交換事務層分組(tlp)的可靠機制。數(shù)據(jù)鏈路層210的一側(cè)接受由事務層205組裝的tlp,應用分組序列標識符211(即,標識號或分組號),計算并應用錯誤檢測碼(即,crc212),并將所修改的tlp提交到物理層220用于跨物理設備傳輸?shù)酵獠吭O備。
在一個示例中,物理層220包括邏輯子塊221和電氣子塊222以將分組物理地傳輸?shù)酵獠吭O備。在這里,邏輯子塊221負責物理層221的“數(shù)字”功能。在這個方面中,邏輯子塊可包括傳輸部分,用來準備外發(fā)信息以由物理子塊222傳輸,以及接收器部分,用來在將接收的信息傳遞到鏈路層210之前識別并準備接收的信息。
物理塊222包括發(fā)射器和接收器。發(fā)射器由具有符號的邏輯子塊221提供,發(fā)射器將符號串行化并傳輸?shù)酵獠吭O備上。給接收器提供來自外部設備的串行化符號并將接收的信號轉(zhuǎn)換成位流。位流被解串行化并提供到邏輯子塊221。在一個示例實施例中,使用8b/10b傳輸代碼,其中十位符號被傳輸/接收。在這里,特殊符號用于使用幀223構(gòu)造分組。此外,在一個示例中,接收器還提供從進入的串行流恢復的符號時鐘。
如上面陳述的,雖然關于協(xié)議棧(例如pcie協(xié)議棧)的特定實施例討論了事務層205、鏈路層210、以及物理層220,分層協(xié)議棧并不被這樣限制。事實上,任何分層協(xié)議可被包括/實現(xiàn)并采納本文討論的特征。作為示例,被表示為分層協(xié)議的端口/接口可包括:(1)組裝分組的第一層,即,事務層;按順序排列分組的第二層,即,鏈路層;以及傳輸分組的第三層,即,物理層。作為特定的示例,利用如在本文描述的高性能互連分層協(xié)議。
接著參考圖4,示出串行點對點結(jié)構(gòu)的示例實施例。串行點對點鏈路可包括用于傳輸串行數(shù)據(jù)的任何傳輸路徑。在所示實施例中,鏈路可包括兩個低電壓差分驅(qū)動信號對:傳輸對406/411和接收對412/407。因此,設備405包括將數(shù)據(jù)傳輸?shù)皆O備410的傳輸邏輯406和從設備410接收數(shù)據(jù)的接收邏輯407。換句話說,兩個傳輸路徑,即,路徑416和417,以及兩個接收路徑,即,路徑418和419,被包括在鏈路的一些實現(xiàn)中。
傳輸路徑指用于傳輸數(shù)據(jù)的任何路徑,例如傳輸線、銅線、光學線、無線通信信道、紅外通信鏈路、或其它通信路徑。在兩個設備例如設備405和設備410之間的連接被稱為鏈路,例如鏈路415。鏈路可支持一個通路(lane),每一個通路代表一組差分信號對(一對用于傳輸,一對用于接收)。為了按比例調(diào)整帶寬,鏈路可聚合由xn表示的多個通路,其中n是任何支持的鏈路寬度,例如1、2、4、8、12、16、32、64、或更寬。
差分對可以指兩個傳輸路徑,例如線416和417,以傳輸差分信號。作為示例,當線416從低電壓電平切換到高電壓電平時,即,上升沿,線417從高邏輯電平驅(qū)動到低邏輯電平,即,下降沿。差分信號可能展示更好的電特性,例如更好的信號完整性,即,交叉耦合、電壓過沖/欠沖、振蕩(ringing),連同其它示例優(yōu)點。這允許更好的定時窗口,其實現(xiàn)更快的傳輸頻率。
在一個實施例中,提供了新的高性能互連(hpi)。hpi可包括下一代緩存相干的、基于鏈路的互連。作為一個示例,可在高性能計算平臺(例如工作站或服務器(包括在pcie或另一互連協(xié)議一般用于連接處理器、加速器、i/o設備等的系統(tǒng)中))中利用hpi。然而,hpi并不被這樣限制。替代地,可在本文描述的任一系統(tǒng)或平臺中利用hpi。此外,開發(fā)的單獨想法可應用于其它互連和平臺,例如pcie、mipi、qpi等。
為了支持多個設備,在一個示例實現(xiàn)中,hpi可包括指令集架構(gòu)(isa)不可知(即,hpi能夠在多個不同的設備中實現(xiàn))。在另一情形中,hpi也可用來連接高性能i/o設備,不僅僅是處理器或加速器。例如,高性能pcie設備可通過適當?shù)霓D(zhuǎn)換橋(即,hpi到pcie)耦合到hpi。而且,很多基于hpi的設備(例如處理器)可以用各種方式(例如星形、環(huán)形、網(wǎng)等)利用hpi鏈路。圖5示出多個可能的多插槽配置的示例實現(xiàn)。如所描繪的,兩插槽配置505可包括兩個hpi鏈路;然而在其它實現(xiàn)中,可利用一個hpi鏈路。對于較大的拓撲,可利用任何配置,只要標識符(id)是可指定的,且存在某種形式的虛擬路徑,連同其它額外或替代的特征。如所示,在一個示例中,四插槽配置510具有從每一個處理器到另一處理器的hpi鏈路。但在配置515中所示的八插槽實現(xiàn)中,不是每一個插槽都通過hpi鏈路直接連接到彼此。然而,如果虛擬路徑或通道存在于處理器之間,則配置被支持。支持的處理器的范圍包括在本地域中的2-32??赏ㄟ^多個域的使用或在節(jié)點控制器之間的其他互連,連同其它示例,來達到較高數(shù)量的處理器。
hpi架構(gòu)包括分層協(xié)議架構(gòu)的定義,在一些示例中包括協(xié)議層(相干性、非相干性、以及可選地其它基于存儲器的協(xié)議)、路由層、鏈路層、以及物理層。此外,hpi還可包括與功率管理器(例如功率控制單元(pcu))、測試和調(diào)試設計(dft)、故障處理、寄存器、安全性、連同其它示例有關的增強。圖5示出示例hpi分層協(xié)議棧的實施例。在一些實現(xiàn)中,圖5所示的至少一些層可以是可選的。每層處理其自己級別的粒度或信息總量(具有分組630的協(xié)議層605a、b,具有微片(flit)635的鏈路層610a、b,以及具有phit640的物理層605a、b)。注意,分組在一些實施例中基于實現(xiàn)可包括部分微片、單個微片、或多個微片。
作為第一示例,phit640的寬度包括鏈路寬度到位的1對1映射(例如20位鏈路寬度包括20位的phit等)。微片可具有較大的尺寸,例如184、192、或200位。注意,如果phit640是20位寬且微片635的尺寸是184位,則它占據(jù)分數(shù)的phit640以傳輸一個微片635(例如以9.2個20位的phit傳輸184位微片635或以9.6個20位的傳輸192位微片,連同其它示例)。注意,在物理層處的基本鏈路的寬度可改變。例如,每方向通路的數(shù)量可包括2、4、6、8、10、12、14、16、18、20、22、24等。在一個實施例中,鏈路層610a、b能夠?qū)⒍鄺l不同事務嵌入在單個微片中,一個多個頭部(例如1、2、3、4)可嵌入微片內(nèi)。在一個示例中,hpi將頭部分成對應的槽以實現(xiàn)目的地為不同的節(jié)點的在微片中的多個消息。
物理層605a、b在一個實施例中可負責在物理介質(zhì)(電或光等)上的信息的快速傳送。物理鏈路可以是在兩個鏈路層實體(例如層605a和605b)之間的點對點。鏈路層610a、b可從上層提取物理層605a、b,并提供可靠地傳送數(shù)據(jù)(以及請求)并管理在兩個直接連接的實體之間的流控制的能力。鏈路層也可負責將物理通道虛擬化成多個虛擬通道和消息類。協(xié)議層620a、b依賴于鏈路層610a、b,以在將協(xié)議消息遞交到物理層605a、b用于跨物理鏈路傳送之前,將協(xié)議消息映射到適當?shù)南㈩惡吞摂M通道中。鏈路層610a、b可支持多個消息,例如請求、窺探、響應、寫回、非相干性數(shù)據(jù),連同其它示例。
hpi的物理層605a、b(或phy)可在電氣層(即,連接兩個部件的電導體)之上和鏈路層610a、b之下實現(xiàn),如圖6所示。物理層和對應的邏輯可存在于每一個代理上,并連接彼此分離的兩個代理(a和b)上(例如在鏈路的任一側(cè)上的設備上)的鏈路層。本地和遠程電氣層由物理介質(zhì)(例如電線、導體、光學的等)連接。物理層605a、b在一個實施例中具有兩個主要階段:初始化和操作。在初始化期間,連接對鏈路層是不透明的,并且發(fā)信號(signaling)可涉及計時狀態(tài)和握手事件的組合。在操作期間,連接對鏈路層是透明的,且發(fā)信號具有某個速度,所有通路一起作為單個鏈路來操作。在操作階段期間,物理層將微片從代理a運送到代理b并從代理b運送到代理a。連接也被稱為鏈路并從鏈路層提取包括媒體、寬度和速度的一些物理方面,同時與鏈路層交換微片和當前配置(例如寬度)的控制/狀態(tài)。初始化階段包括次要階段,例如輪詢、配置。操作階段也包括次要階段(例如鏈路功率管理狀態(tài))。
在一個實施例中,鏈路層610a、b可被實現(xiàn),以便提供在兩個協(xié)議或路由實體之間的可靠數(shù)據(jù)傳送。鏈路層可從協(xié)議層620a、b提取物理層605a、b,并可負責在兩個協(xié)議代理(a、b)之間的流控制,且向協(xié)議層(消息類)和路由層(虛擬網(wǎng)絡)提供虛擬通道服務。在協(xié)議層620a、b和鏈路層610a、b之間的接口一般可以是分組級別的。在一個實施例中,在鏈路層處的最小傳送單元被稱為微片,其為規(guī)定數(shù)量的位,例如192位或某個其它額度。鏈路層610a、b依賴于物理層605a、b來將物理層605a、b的傳送單元(phit)構(gòu)造成鏈路層610a、b的傳輸單元(微片)。此外,鏈路層610a、b可在邏輯上分成兩個部分:發(fā)送器和接收器。在一個實體上的發(fā)送器/接收器對可連接到在另一實體上的接收器/發(fā)送器對。常常在微片和分組基礎上執(zhí)行流控制。也可能在微片級基礎上執(zhí)行錯誤檢測和校正。
在一個實施例中,路由層615a、b可提供靈活和分布式方法來將hpi事務從源路由到目的地。方案是靈活的,因為可以通過可編程路由表在每一個路由器處規(guī)定多個拓撲的路由算法(編程在一個實施例中由固件、軟件、或其組合執(zhí)行)??煞植悸酚晒δ?;可通過一系列路由步驟來完成路由,每一個路由步驟通過表的查找在源、中間、或目的地路由器處被定義。在源處的查找可用于將hpi分組引入到hpi結(jié)構(gòu)中。在中間路由器處的查找可用于將hpi分組從輸入端口路由到輸出端口。在目的地端口處的查找可用于將目的地hpi協(xié)議代理作為目標。注意,路由層在一些實現(xiàn)中可以是薄的,因為路由表以及因而的路由算法沒有由說明書特別定義。這允許了靈活性和各種用途模型,包括由系統(tǒng)實現(xiàn)定義的靈活平臺架構(gòu)拓撲。路由層615a、b依賴于鏈路層610a、b用于提供多達三個(或更多)虛擬網(wǎng)絡(vn)的使用——在一個示例中,具有在每一個虛擬網(wǎng)絡中定義的幾個消息類的兩個無死鎖vn:vn0和vn1??稍阪溌穼又卸x共享適應虛擬網(wǎng)絡(vna),但這個適應網(wǎng)絡可以不直接暴露在路由概念中,因為每一個消息類和虛擬網(wǎng)絡可具有專用資源和保證的轉(zhuǎn)發(fā)進展,連同其它特征和示例。
在一些實現(xiàn)中,hpi可利用嵌入式時鐘。時鐘信號可嵌入使用互連而傳輸?shù)臄?shù)據(jù)中。使用嵌入數(shù)據(jù)中的時鐘信號,可省略不同的和專用時鐘通路。這可能是有用的,例如因為它可允許設備的更多管腳專用于數(shù)據(jù)傳送,特別是在管腳的空間奇缺的系統(tǒng)中。
可在互連的任一側(cè)上的兩個代理之間建立鏈路。發(fā)送數(shù)據(jù)的代理可以是本地代理,且接收數(shù)據(jù)的代理可以是遠程代理。狀態(tài)機可由這兩個代理使用以管理鏈路的各個方面。在一個實施例中,物理層數(shù)據(jù)路徑可將微片從鏈路層傳輸?shù)诫姎馇岸???刂坡窂皆谝粋€實現(xiàn)中包括狀態(tài)機(也被稱為鏈路訓練狀態(tài)機或類似物)。狀態(tài)機的行動和從狀態(tài)的退出可取決于內(nèi)部信號、定時器、外部信號或其它信息。事實上,一些狀態(tài)例如幾個初始化狀態(tài)可具有定時器以提供超時值來退出狀態(tài)。注意,檢測在一些實施例中指檢測在通路的兩個腿上的事件;但不一定同時。然而在其它實施例中,檢測指由所提及的代理進行事件的檢測。作為一個示例,防反跳是指信號的持續(xù)斷定。在一個實施例中,hpi在非功能通路的情況下支持操作。在這里,通路可在特定的狀態(tài)處終止。
在狀態(tài)機中定義的狀態(tài)可包括復位狀態(tài)、初始化狀態(tài)、以及操作狀態(tài),連同其它類別和子類別。在一個示例中,一些初始化狀態(tài)可具有次級定時器,其用于在超時時退出狀態(tài)(本質(zhì)上,由于在狀態(tài)中取得進展失敗而引起的中止)。中止可包括寄存器(例如狀態(tài)寄存器)的更新。一些狀態(tài)也可具有用于對狀態(tài)中的主要功能進行定時的主定時器??啥x其它狀態(tài),使得內(nèi)部或外部信號(例如握手協(xié)議)驅(qū)動從一種狀態(tài)到另一狀態(tài)的轉(zhuǎn)變,連同其它示例。
狀態(tài)機也可通過單個步驟支持調(diào)試,凍結(jié)初始化中止和測試器的使用。在這里,可推遲/保持狀態(tài)退出,直到調(diào)試軟件準備好為止。在一些實例中,可推遲/保持退出,直到次級超時為止。行動和退出在一個實施例中可基于訓練序列的交換。在一個實施例中,鏈路狀態(tài)機在本地代理時鐘域中運行,且從一個狀態(tài)到下一狀態(tài)的轉(zhuǎn)變與發(fā)射器訓練序列邊界重合。狀態(tài)寄存器可用來反映當前狀態(tài)。
圖7示出在hpi的一個示例實現(xiàn)中由代理使用的狀態(tài)機的至少一部分的表示。應認識到,被包括在圖7的狀態(tài)表中的狀態(tài)包括可能狀態(tài)的非詳盡列表。例如,一些轉(zhuǎn)變被省略以簡化圖。此外,一些狀態(tài)可組合、分開、或省略,而其它狀態(tài)可被添加。這樣的狀態(tài)可包括:
事件復位狀態(tài):在熱或冷復位事件時進入?;謴湍J值。初始化計數(shù)器(例如同步計數(shù)器)??赏顺龅搅硪粻顟B(tài),例如另一復位狀態(tài)。
定時復位狀態(tài):針對帶內(nèi)復位的定時狀態(tài)??梢则?qū)動預定的電氣有序集(eos),所以遠程接收器能夠檢測eos并且也進入定時復位。接收器具有保持電氣設置的通路??赏顺龅酱硪孕蕪臀粻顟B(tài)。
校準復位狀態(tài):校準而沒有在通路上發(fā)信號(例如接收器校準狀態(tài))或關閉驅(qū)動器。可以是在基于定時器的狀態(tài)中的預定數(shù)量的時間??稍O置操作速度。當端口未被啟用時可充當?shù)却隣顟B(tài)??砂ㄗ钚●v留時間。接收器調(diào)節(jié)或交錯(staggeringoff)可基于設計來出現(xiàn)??稍诔瑫r之后和/或校準完成之后退出到接收器檢測狀態(tài)。
接收器檢測狀態(tài):檢測在通路上的接收器的存在??蓪ふ医邮掌鹘K止(例如接收器下拉插入)。當規(guī)定值被設置時或當另一規(guī)定值未被設置時,可退出到校準復位狀態(tài)。如果接收器被檢測到或達到超時,則可退出到發(fā)射器校準狀態(tài)。
發(fā)射器校準狀態(tài):用于發(fā)射器校準。可以是為發(fā)射器校準分配的定時狀態(tài)。可包括在通路上發(fā)信號。可連續(xù)驅(qū)動eos,例如電空閑退出有序集(eieos)。在完成校準時或在定時器終止時可退出到順應性狀態(tài)。如果計數(shù)器終止或次級超時出現(xiàn),則可退出到發(fā)射器檢測狀態(tài)。
發(fā)射器檢測狀態(tài):證明有效的發(fā)信號合格??梢允俏帐譅顟B(tài),其中代理完成行動并基于遠程代理發(fā)信號退出到下一狀態(tài)。接收器可證明來自發(fā)射器的有效的發(fā)信號合格。接收器在一個實施例中尋找喚醒檢測,且如果在一個或多個通路上被防反跳,則在其它通路上尋找它。發(fā)射器驅(qū)動檢測信號。響應于對所有通路完成防反跳和/或超時或如果在所有通路上的防反跳未完成且存在超時,可退出到輪詢狀態(tài)。在這里,一個或多個監(jiān)控器通路可保持醒著以使喚醒信號防反跳。以及如果被防反跳則其它通路可能被防反跳。這可在低功率狀態(tài)中實現(xiàn)功率節(jié)省。
輪詢狀態(tài):接收器適應、初始化漂移緩沖器并鎖住位/字節(jié)(例如識別符號邊界)。通路可被抗扭斜(deskew)。遠程代理可響應于確認消息而引起到下一狀態(tài)(例如鏈路寬度狀態(tài))的退出。輪詢可此外包括通過鎖定到eos的訓練序列鎖定和訓練序列頭部。在遠程發(fā)射器處的通路間扭斜(skew)可針對最高速度被定界(cap)在第一長度處而對慢速度被定界在第二長度處。可在慢模式以及操作模式中執(zhí)行抗扭斜。接收器可具有特定的最大值以對通路間扭斜(例如8、16、或32個扭斜間隔)進行抗扭斜。接收器行動可包括時延修復。接收器行動在一個實施例中可在有效通路圖的成功抗扭斜時完成。在一個示例中,當若干連續(xù)訓練序列頭部被接收到(具有確認)且具有確認的若干訓練序列在接收器完成其行動之后被傳輸時,可實現(xiàn)成功的握手。
鏈路寬度狀態(tài):代理與針對遠程發(fā)射器的最終通路圖進行通信。接收器接收信息并解碼。接收器可在第二結(jié)構(gòu)中的前面的通路圖值的檢查點之后的結(jié)構(gòu)中記錄所配置的通路圖。接收器也可使用確認(“ack”)做出響應??砂l(fā)起帶內(nèi)復位。作為一個示例,第一狀態(tài)發(fā)起帶內(nèi)復位。在一個實施例中,響應于ack而執(zhí)行到下一狀態(tài)(例如微片配置狀態(tài))的退出。此外,在進入低功率狀態(tài)之前,如果喚醒檢測信號出現(xiàn)的頻率下降到規(guī)定值之下(例如每單位間隔(ui)數(shù)為1,例如4kui),則復位信號也可產(chǎn)生。接收器可保持當前和以前的通路圖。發(fā)射器可基于具有不同值的訓練序列使用不同組的通路。在一些實施例中,通路圖可以不修改一些狀態(tài)寄存器。
微片鎖定配置狀態(tài):由發(fā)射器進入,但當發(fā)射器和接收器都退出到阻斷鏈路狀態(tài)或其它鏈路狀態(tài)時,狀態(tài)被考慮為退出(即,次級超時案例)。發(fā)射器退出到鏈路狀態(tài),在一個實施例中包括在接收到行星對齊信號之后的數(shù)據(jù)序列的開始(sds)和和訓練序列(ts)邊界。在這里,接收器退出可基于從遠程發(fā)射器接收到sds。這個狀態(tài)可以是從代理到鏈路狀態(tài)的橋。接收器識別sds。如果在解擾器初始化之后接收到sds,則接收器可退出到阻斷鏈路狀態(tài)(bls)(或控制窗口)。如果超時出現(xiàn),則退出可以到復位狀態(tài)。發(fā)射器使用配置信號驅(qū)動通路。發(fā)射器退出可以到復位、bls、或基于條件或超時的其它狀態(tài)。
傳輸鏈路狀態(tài):鏈路狀態(tài)。微片被發(fā)送到遠程代理??蓮淖钄噫溌窢顟B(tài)進入并在事件(例如超時)時返回到阻斷鏈路狀態(tài)。發(fā)射器傳輸微片。接收器接收微片。也可退出到低功率鏈路狀態(tài)。在一些實現(xiàn)中,傳輸鏈路狀態(tài)(tls)可被稱為l0狀態(tài)。
阻斷鏈路狀態(tài):鏈路狀態(tài)。發(fā)射器和接收器以統(tǒng)一的方式操作??梢允嵌〞r狀態(tài),在其期間,鏈路層微片被隔開,而物理層信息被傳遞到遠程代理??赏顺龅降凸β舒溌窢顟B(tài)(或基于設計的其它鏈路狀態(tài))。阻斷鏈路狀態(tài)(bls)在一個實施例中周期性地出現(xiàn)。周期被稱為bls間隔并可被定時,以及可在低速和操作速度之間不同。注意,鏈路層可被周期性地阻止發(fā)送微片,使得一定長度的物理層控制序列可例如在傳輸鏈路狀態(tài)或部分寬度傳輸鏈路狀態(tài)期間被發(fā)送。在一些實現(xiàn)中,阻斷鏈路狀態(tài)(bls)可被稱為l0控制或l0c狀態(tài)。
部分寬度傳輸鏈路狀態(tài):鏈路狀態(tài)。可通過進入部分寬度狀態(tài)來節(jié)省功率。在一個實施例中,非對稱部分寬度指具有不同寬度的雙向鏈路的每一個方向,其可在一些設計中被支持。在圖9的示例中示出發(fā)送部分寬度指示以進入部分寬度傳輸鏈路狀態(tài)的啟動器(例如發(fā)射器)的示例。在這里,部分寬度指示被發(fā)送,同時在具有第一寬度的鏈路上傳輸以將鏈路轉(zhuǎn)變到以第二、新寬度傳輸。失配可導致復位。注意,速度可以不改變,但寬度可改變。因此,微片可能以不同的寬度發(fā)送??梢栽谶壿嬌项愃朴趥鬏旀溌窢顟B(tài);然而因為有較小的寬度,傳輸微片可能花費更長時間??赏顺龅狡渌溌窢顟B(tài),例如基于某些接收和發(fā)送的消息的低功率鏈路狀態(tài)或基于其它事件的部分寬度傳輸鏈路狀態(tài)或鏈路阻斷狀態(tài)的退出。在一個實施例中,發(fā)射器端口可以用交錯的方式關閉空閑通路以提供更好的信號完整性(即,噪聲遷移)。在這里,可在鏈路寬度改變的周期期間利用沒有重試能力的微片,例如空(null)微片。對應的接收器可丟棄這些空微片,并以交錯的方式關閉空閑通路,以及在一個或多個結(jié)構(gòu)中記錄當前和以前的通路圖。注意,狀態(tài)和相關的狀態(tài)寄存器可保持不變。在一些實現(xiàn)中,部分寬度傳輸鏈路狀態(tài)可被稱為部分l0或l0p狀態(tài)。
退出部分寬度傳輸鏈路狀態(tài):退出部分寬度狀態(tài)。在一些實現(xiàn)中可以或可以不使用阻斷鏈路狀態(tài)。在一個實施例中,發(fā)射器通過在空閑通路上發(fā)送部分寬度退出模式以訓練它們和使它們抗扭斜,來發(fā)起退出。作為一個示例,退出模式以eieos(其被檢測并防反跳以發(fā)信號:通路準備開始進入到全傳輸鏈路狀態(tài)的信號)開始,并可以以sds或在空閑通路上的快速訓練序列(fts)結(jié)束。在退出序列(接收器行動,例如抗扭斜,不在超時之前完成)期間的任何故障停止到鏈路層的微片傳送并斷定復位,這通過在下一阻斷鏈路狀態(tài)出現(xiàn)時使鏈路復位來被處理。sds也可將在通路上的加擾器/解擾器初始化到適當?shù)闹怠?/p>
低功率鏈路狀態(tài):是較低功率狀態(tài)。在一個實施例中,它是比部分寬度鏈路狀態(tài)低的功率,因為在這個實施例中在所有通路上和在兩個方向上停止發(fā)信號。發(fā)射器可使用用于請求低功率鏈路狀態(tài)的阻斷鏈路狀態(tài)。在這里,接收器可對請求解碼并使用ack或nak做出響應;否則復位可被觸發(fā)。在一些實現(xiàn)中,低功率鏈路狀態(tài)可被稱為l1狀態(tài)。
在一些實現(xiàn)中,例如當已經(jīng)完成狀態(tài)的狀態(tài)行動(例如某些校準和配置)時,可促進狀態(tài)轉(zhuǎn)變以允許狀態(tài)被繞過。鏈路的以前的狀態(tài)結(jié)果和配置可被存儲并在鏈路的隨后的初始化和配置中被重新使用。不是重復這樣的配置和狀態(tài)行動,而是對應的狀態(tài)可被繞過。然而實現(xiàn)狀態(tài)繞過的傳統(tǒng)系統(tǒng)常常實現(xiàn)復雜的設計和昂貴的驗證換碼。不是使用傳統(tǒng)繞過,在一個示例中,而是hpi可在例如狀態(tài)行動不需要被重復的某些狀態(tài)中利用短定時器。這可潛在地允許更均勻和同步的狀態(tài)機轉(zhuǎn)變,連同其它潛在的優(yōu)點。
在一個示例中,基于軟件的控制器(例如通過物理層的外部控制點)可為一個或多個特定的狀態(tài)實現(xiàn)短定時器。例如,對于一種狀態(tài)(對其的行動已經(jīng)被執(zhí)行并存儲),該狀態(tài)可以是短定時的,以便于從該狀態(tài)快速退出到下一狀態(tài)。然而如果以前的狀態(tài)行動失敗或不能在短定時器持續(xù)時間內(nèi)應用,則狀態(tài)退出可被執(zhí)行。此外,控制器可禁用短定時器,例如當狀態(tài)行動應被重新執(zhí)行時??蔀槊恳粋€相應的狀態(tài)設置長或默認定時器。如果在該狀態(tài)下的配置行動不能在長定時器內(nèi)完成,則狀態(tài)退出可出現(xiàn)。長定時器可被設置到合理的持續(xù)時間以便允許狀態(tài)行動的完成。短定時器相反可能明顯更短,使在一些情況下執(zhí)行狀態(tài)行動而不回來參考以前執(zhí)行的狀態(tài)行動變得不可能,連同其它示例。
在hpi的一些實現(xiàn)中,可定義超序列,每一個超序列對應于相應的狀態(tài)或進入相應的狀態(tài)/從相應的狀態(tài)退出。超序列可包括數(shù)據(jù)集和符號的重復序列。在一些實例中,序列可重復,直到狀態(tài)或狀態(tài)轉(zhuǎn)變的完成或?qū)录膫鬟f為止,連同其它示例。在一些實例中,可根據(jù)定義的頻率(例如定義的數(shù)量的單位間隔(ui))來重復超序列的重復序列。單位間隔(ui)可對應于用于在鏈路或系統(tǒng)的通路上傳輸單個位的時間間隔。在一些實現(xiàn)中,重復序列可以以電氣有序集(eos)開始。因此,eos的實例可被預期根據(jù)預定的頻率重復。這樣的有序集可被實現(xiàn)為以十六進制格式表示的定義的16字節(jié)代碼,連同其它示例。在一個示例中,超序列的eos可以是電空閑有序集(或eieos)。在一個示例中,eieos可類似于低頻時鐘信號(例如預定數(shù)量的重復ff00或fff000十六進制符號等)。數(shù)據(jù)的預定集合可遵循eos,例如預定的數(shù)量的訓練序列或其它數(shù)據(jù)??稍诎ㄦ溌窢顟B(tài)轉(zhuǎn)變以及初始化的狀態(tài)轉(zhuǎn)變連同其它示例中利用這樣的超序列。
如上面介紹的,在一個實施例中,初始化可最初以慢速度進行,后面是以快速度的初始化。以慢速度的初始化使用寄存器和定時器的默認值。軟件然后使用慢速鏈路來建立寄存器、定時器和電氣參數(shù),并清除校準信號量(semaphores)來為快速初始化鋪路。作為示例,初始化可由如下的狀態(tài)或任務組成:例如復位、檢測、輪詢、以及配置,連同可能的其它示例。
在一個示例中,鏈路層阻斷控制序列(即,阻斷鏈路狀態(tài)(bls)或l0c狀態(tài))可包括定時狀態(tài),在其期間,鏈路層微片被隔開,而phy信息被傳遞到遠程代理。在這里,發(fā)射器和接收器可開始時鐘控制序列定時器。而且當定時器終止時,發(fā)射器和接收器可退出阻斷狀態(tài)并可采取其它行動,例如退出到復位、退出到不同的鏈路狀態(tài)(或其它狀態(tài)),包括允許跨鏈路發(fā)送微片的狀態(tài)。
在一個實施例中,鏈路訓練可被提供并包括加擾訓練序列、有序集、以及例如結(jié)合定義的超序列的控制序列中的一個或多個的發(fā)送。訓練序列符號可包括頭部、預留部分、目標時延、對號碼、物理通路圖代碼參考通路或一組通路、以及初始化狀態(tài)中的一個或多個。在一個實施例中,頭部可以帶有ack或nak連同其它示例被發(fā)送。作為示例,訓練序列可作為超序列的部分被發(fā)送并可被加擾。
在一個實施例中,有序集和控制序列不是加擾或交錯的,且在所有通路上同樣地、同時和完全被傳輸。有序集的有效接收可包括有序集(或部分有序集的整個有序集)的至少一部分的檢查。有序集可包括電氣有序集(eos),例如電空閑有序集(eios)或eieos。超序列可包括數(shù)據(jù)序列的開始(sds)或快速訓練序列(fts)。這樣的集合和控制超序列可被預先定義并可具有任何模式或十六進制表示以及任何長度。例如,有序集和超序列可以是8字節(jié)、16字節(jié)或32字節(jié)等的長度。作為示例,fts可此外在部分寬度傳輸鏈路狀態(tài)的退出期間用于快速位鎖定。注意,fts定義可以按照通路并可利用fts的旋轉(zhuǎn)版本。
在一個實施例中,超序列可包括在訓練序列流中的eos(例如eieos)的插入。當發(fā)信號開始時,在一個實現(xiàn)中,通路以交錯的方式通電。然而,這可導致初始超序列在一些通路上在接收器處被截短。然而,超序列可在短間隔(例如大約一千單位間隔(或~1kui))上重復。訓練超序列可此外用于抗扭斜、配置和傳遞初始化目標、通路圖等中的一個或多個。eieos可用于下列操作中的一個或多個:將通路從不活動轉(zhuǎn)變到活動狀態(tài)、篩選良好通路、識別符號和ts邊界,連同其它示例。
轉(zhuǎn)到圖8,示出了示例超序列的表示。例如,可定義示例性檢測超序列805。檢測超序列805可包括單個eieos(或其它eos)的重復序列,后面是特定訓練序列(ts)的預定數(shù)量的實例。在一個示例中,eieos可被傳輸,緊接著后面是ts的七個重復實例。當七個ts的最后一個被發(fā)送時,eieos可被再次發(fā)送,后面是ts的七個額外的實例,依此類推。這個序列可根據(jù)特定的預定頻率重復。在圖8的示例中,eieos可重新出現(xiàn)在通路上大約每一千ui一次(~1kui),后面是檢測超序列805的剩余部分。接收器可針對重復檢測超序列805的存在而監(jiān)控通路,且當使得超序列705有效時可得出遠程代理存在、在通路上被添加(例如熱插撥)、喚醒、或重新初始化等的結(jié)論。
在另一個示例中,另一超序列810可被定義為指示輪詢、配置、或環(huán)回(loopback)條件或狀態(tài)。如同示例檢測超序列805一樣,鏈路的通路可針對這樣的poll/config/loop超序列810由接收器監(jiān)控以識別輪詢狀態(tài)、配置狀態(tài)、或環(huán)回狀態(tài)或條件。在一個示例中,poll/config/loop超序列810可以以eieos開始,后面是ts的預定數(shù)量的重復實例。例如,在一個示例中,eieos可以后面有ts的三十一(31)個實例,eieos大約每四千ui(例如~4kui)重復一次。
此外,在另一示例中,可定義部分寬度傳輸狀態(tài)(pwts)退出超序列815。在一個示例中,pwts退出超序列可包括初始eieos以在超序列中的第一完全序列的發(fā)送之前重復到先決條件通路。例如,在超序列815中重復的序列可以以eieos開始(以每1kui重復大約一次)。此外,可利用快速訓練序列(fts)來代替其它訓練序列(ts),fts配置成幫助更快的位鎖定、字節(jié)鎖定、以及抗扭斜。在一些實現(xiàn)中,fts可被解擾以進一步幫助盡可能快地和非破壞性地將空閑通路帶回成活動的。如同在進入鏈路傳輸狀態(tài)之前的其它超序列一樣,超序列815可被中斷并通過數(shù)據(jù)序列的開始(sds)的發(fā)送而結(jié)束。此外,部分fts(ftsp)可被發(fā)送以例如通過允許位被減(或加)至ftsp連同其它示例,來幫助使新通路同步到活動通路。
超序列(例如檢測超序列705和poll/config/loop超序列710等)可在鏈路的實質(zhì)上整個初始化或重新初始化中潛在地被發(fā)送。接收器在接收并檢測到特定的超序列時可在一些實例中通過在通路上將相同的超序列回送(echo)到發(fā)射器來做出響應。通過發(fā)射器和接收器對特定超序列的接收和驗證可用作握手,以確認通過超序列傳遞的狀態(tài)或條件。例如,這樣的握手(例如利用檢測超序列705)可用于識別鏈路的重新初始化。在另一示例中,這樣的握手可用來指示電氣復位或低功率狀態(tài)的結(jié)束,導致對應的通路被帶回,連同其它示例。可例如從在發(fā)射器和接收器(每一個傳輸檢測超序列705)之間的握手識別電氣復位的結(jié)束。
在另一示例中,通路可針對超序列被監(jiān)控并結(jié)合通路的篩選來使用超序列用于檢測、喚醒、狀態(tài)退出和進入,連同其它示例。超序列的預定的和可預測的性質(zhì)和形式可進一步用于執(zhí)行這樣的初始化任務作為位鎖定、字節(jié)鎖定、防反跳、解擾、抗扭斜、適應、時延修復、協(xié)商的延遲、以及其它可能的使用。實際上,可針對這樣的事件實質(zhì)上連續(xù)地監(jiān)控通路以加快系統(tǒng)對這樣的條件做出反應和進行處理的能力。
圖10表示根據(jù)一個示例的示例訓練序列(ts)。在圖10中,訓練序列1005可包括頭部1010和可用于傳遞關于鏈路的初始化的信息的各種字段。例如,在一個示例中,可包括目標時延1015、狀態(tài)1020、通路對號碼1025、通路映射1028的字段連同其它字段。例如,可額外提供加擾同步字段1030來幫助同步在設備處的線性反饋移位寄存器(lfsr)以允許ts字段的解擾連同其它功能。其它預留字段(例如1055、1060)也可被包括在訓練序列(例如1005)中。
ts頭部1010可包括可用于傳遞訓練序列類型(例如從其可確定或推斷初始化狀態(tài))1035的額外字段、ack/nak字段1040(例如在握手中使用)、通路標識符字段(例如通過其最低有效位、通過通路反轉(zhuǎn)等識別通路)1045、以及其它字段,包括預留字段。在一些實現(xiàn)中,ts的部分可例如通過隨機或偽隨機二進制序列(prbs)被加擾。在一個示例中,ts頭部1010可被保持清楚,而ts的剩余部分(或主體(例如1050))例如通過使用prbs連同其它示例對ts的那些部分進行異或運算而被加擾。
在一個實現(xiàn)中,ts可以在長度上是十六(16)字節(jié),且ts頭部可占據(jù)ts的第一字節(jié)(即,字節(jié)0)。ts有效載荷可被加擾并占據(jù)剩余十五個字節(jié)。在一個示例實現(xiàn)中,ts尾部或后綴可包括ts的最后幾個字節(jié)。例如,在一個示例中,加擾同步字段1030可占據(jù)ts的至少三個字節(jié),例如ts的字節(jié)6-8。在這個特定的實現(xiàn)中,ts的尾部字節(jié)(例如字節(jié)9-15)可被維持為預留位(例如1055)。在字節(jié)6-15中的位可都被設置到0。
在一些實現(xiàn)中,hpi可支持ts頭部(例如1010)的使用,可代替或除了關鍵初始化參數(shù)的ts有效載荷以外而被利用。在一些實現(xiàn)中,ts有效載荷可用于交換初始化參數(shù),像ack和通路數(shù)。用于傳遞通路極性的dc水平也可被使用。然而在一些實現(xiàn)中,hpi可為關鍵參數(shù)實現(xiàn)在ts頭部(例如1010)中的dc平衡的代碼。例如,在ts頭部被解擾的實例中,可定義可用ts頭部代碼,使得“1”的數(shù)量實質(zhì)上等于出現(xiàn)在ts頭部字段(例如1035、1040、1045)中的“0”的數(shù)量??赏ㄟ^借助于對照隨機或偽隨機二進制序列對位進行異或運算而對ts有效載荷的位進行加擾,在ts(例如ts有效載荷)的全部剩余部分中實現(xiàn)dc平衡。
在一個示例實現(xiàn)中,可利用具有至少23位的prbs序列(prbs23)。可根據(jù)特定的選擇的多項式產(chǎn)生prbs。在一個示例中,可通過類似的位尺寸、自播種的(self-seeded)存儲元件(例如線性反饋移位寄存器(lfsr))來產(chǎn)生prbs。lfsr可以是能夠產(chǎn)生在長度上高達8mb的prbs序列的23位fibonaccilfsr。prbs可在序列結(jié)束之后重復。在一些實現(xiàn)中,可在被包括在例如在hpi中的鏈路的初始化中使用的超序列中的訓練序列的加擾中使用prbs23序列的全部。
雖然可使用prbs序列的全長度,在一些實現(xiàn)中,hpi可支持允許可用prbs序列的變化的長度的使用(例如prbs23序列的僅僅一部分的使用)。在一些示例中,設備的控制器可規(guī)定prbs序列的全長度的僅僅一部分被利用。這可能例如在測試應用中是滿足需要的,其中位序列的重復性是被需要的,可能連同其它應用?;谲浖目刂破骺梢?guī)定待應用的prbs的變化的長度。例如,設備的bios可規(guī)定在鏈路上被應用的prbs長度。在一些實現(xiàn)中,prbs序列的全長度的使用可以是默認設置,例如以便最大化很長的prbs序列的益處。
可使用特定的最小長度(例如23位)的prbs加擾傳輸鏈路狀態(tài)(tls)的通路業(yè)務和訓練序列。應用于流的開始種子可在通路之間變化以增強在鏈路上的prbs的電氣益處。在一個示例實現(xiàn)中,prbs可由實現(xiàn)6分支生成多項式(例如(x23+x21+x16+x8+x5+x2+1))的23位fibonaccilfsr產(chǎn)生。
通路號模數(shù)8的開始(在加擾器/解擾器初始化時)種子值可以是任何值,例如8個十六進制值,其中每一個十六進制值與鏈路中的通路的2或3個相關聯(lián)。這樣的種子的使用可導致在通路之間的prbs的旋轉(zhuǎn)(或交錯)??赏ㄟ^使用如下的特性來減小lfsr的數(shù)量:偶數(shù)通路prbs可從奇數(shù)通路的prbs的異或得到。訓練序列的eieos和頭部未被加擾。可在每一個通路上的不同點處發(fā)起在每一個通路上的超序列的進入點(例如其中發(fā)射器開始驅(qū)動)。這可使通路能夠以交錯的方式打開,以便減小功率輸送系統(tǒng)中的噪聲。實際上,每一個通路可具有l(wèi)fsr的其自己的實例。交錯的時間可通過被打開的通路的數(shù)量而改變,并可在初始化期間是實現(xiàn)相關的。這些可在時序圖和部分傳輸寬度狀態(tài)退出的定時器配置文件中被規(guī)定。此外,快速訓練序列(fts)(也在下面被討論)也可由通路旋轉(zhuǎn)。
在一些實例中,加擾可減小在發(fā)射器處的電源噪聲并提供在接收器處的較豐富的頻譜。加擾器可由所傳輸?shù)牡谝籩ieos初始化。解擾器可例如通過自播種被同步到加擾器。例如,所接收的23位模式可嵌入ts的字段中作為種子。在一個示例中,可從加擾同步字段(例如1050)的位的加擾中識別出23位種子。接收器可利用種子值來識別用于加擾所接收的ts的prbs的特定位置。例如,接收器可識別種子并將種子裝入它自己的lfsr中以同步到由發(fā)射器使用的prbs。在一些實例中,接收器可讀取在超序列中的多個加擾同步字段或多個tse,以便播種其自己的lfsr。然而當檢測和同步到發(fā)射器的prbs時,接收器可在鏈路的初始化期間連同其它示例對tse的剩余部分以及在超序列中發(fā)送的所有隨后的ts進行解擾。
超序列可用于便于在通路上的位鎖定和同步。如上面討論的,超序列的至少一部分可被加擾。返回到圖8的討論,檢測超序列可由接收器使用來檢測或鎖定所接收的位流的位和字節(jié)邊緣,并識別哪些字節(jié)在超序列中被發(fā)送。例如,eieos和ts頭部可保持解擾以幫助接收器更快速地鎖定到超序列。此外,超序列可被定義為允許eieos(以及超序列的起始部分)以相對短的頻率重復(例如更快速地允許給接收器在第一eieos未被準確地檢測到的情況下檢測eieos的另一機會)。例如,在一個示例中,超序列可被定義為每1kui或更短時間重復。這樣的超序列可進一步允許在初始化期間更隨機化的轉(zhuǎn)變以及簡化ts鎖定、時延修復、以及其它行動。
此外,保持eieos和ts頭部被解擾可允許字節(jié)鎖定出現(xiàn)并允許接收器能夠識別隨后的字節(jié)和符號(包括加擾的ts符號)的位置。例如,解擾的ts頭部的邊緣可被識別且從而加擾同步字段(例如1050)的開始(例如通過簡單地對從ts頭部的邊緣到符號的字節(jié)的數(shù)量進行計數(shù))也被識別。當檢測到在加擾同步字段中的prbs種子時,接收器將知道后面的prbs模式值并且也將能夠預測隨后的加擾同步字段(例如1050)值的值。因此,接收器在鎖定到prbs時可進一步利用加擾同步字段(例如1050)值來便于其它配置任務,例如適應、抗扭斜、以及其它任務。
在多通路鏈路上,符號可在所有通路上由發(fā)射器同時發(fā)送,然而鏈路間扭斜可表現(xiàn)為未同時到達接收器的一些符號。扭斜的源可包括例如芯片差分驅(qū)動器和接收器、印刷線路板阻抗變化、通路電線長度失配,連同其它示例。在一個實施例中,hpi提供高級邏輯以使通路抗扭斜。作為示例,在ts鎖定之后的ts邊界可用于使通路抗扭斜。例如,ts鎖定可用于檢測扭斜(例如,ts到達一個通路,比在鏈路的通路中的另一個上的另一ts更晚)。eieos也可用于檢測扭斜。此外,使用同步prbs模式的可預測性,hpi的一些實現(xiàn)可通過在有效載荷中的特定點期間比較在lfsr中的通路prbs模式來抗扭斜。此外,在一些實例中,可重新初始化訓練序列的加擾,且可通過在訓練序列的重播種期間進行prbs值的表查找來執(zhí)行抗扭斜,連同其它示例。這樣的抗扭斜可能在測試芯片中是有用的,例如測試芯片可能缺乏檢測ts的能力或缺乏狀態(tài)機以管理抗扭斜,連同其它示例。
當檢測到扭斜時,hpi邏輯(例如通過軟件支持的控制器提供)可識別在每一個通路上相對于在鏈路中的其它通路的扭斜,并調(diào)節(jié)通路以試圖消除扭斜。例如,“較快的”通路可基于在通路間扭斜中檢測的延遲,被人為地減慢(或可選地,較慢的通路可被加速(例如通過減小在數(shù)據(jù)路徑中的時延))以適應與延遲器“較快的”通路實質(zhì)上同時到達的“較慢的”通路的符號,連同其它示例。
在適應的情況中,可基于例如在發(fā)射器和接收器之間傳輸?shù)牟蓸訑?shù)據(jù)來在發(fā)射器和接收器之間調(diào)節(jié)通路的電特性。例如,接收器適應可包括發(fā)射器將數(shù)據(jù)模式發(fā)送到接收器,在接收器處的邏輯調(diào)節(jié)在接收器處的電氣特性以使通路適應鏈路。發(fā)射器適應可涉及發(fā)射器將采樣數(shù)據(jù)發(fā)送到接收器以及接收器將可由發(fā)射器使用的反饋發(fā)送到發(fā)射器以在發(fā)射器處進行調(diào)節(jié)以適應通路。接收器可繼續(xù)基于在發(fā)射器處進行的調(diào)節(jié)來將反饋發(fā)送到發(fā)射器。
在一個示例中,可通過加擾的ts數(shù)據(jù)來體現(xiàn)適應采樣數(shù)據(jù)。作為一個示例,固定ui模式可用于借助到適應狀態(tài)的旁路進行加擾。但是通過用prbs23加擾ts,接收器適應可被執(zhí)行而沒有旁路。此外,可在時鐘恢復和采樣期間減小偏移和其它誤差。通過長prbs序列(例如prbs23)提供的隨機性可證明用于適應的有效采樣流。此外在一些實現(xiàn)中,通路可被設置為在慢模式中操作以幫助邏輯分析并適應于在通路上接收的采樣數(shù)據(jù)。當通過適應證實通路的特性時,所適應的特性可被設置并應用于鏈路的初始化。
一旦鏈路被成功地校準并配置,初始化可結(jié)束并轉(zhuǎn)變到傳輸鏈路狀態(tài)(tls),其中微片開始被傳輸。在hpi的一些實現(xiàn)中,到tls的轉(zhuǎn)變可基于在系統(tǒng)上的行星對齊。例如,行星對齊信號可指示轉(zhuǎn)變到tls的機會。不是在超序列、eieos、或tls的邊緣處轉(zhuǎn)變,hpi的一些實現(xiàn)可利用根據(jù)行星對齊發(fā)送的數(shù)據(jù)序列的開始(sds)符號以結(jié)束初始化和到tls的轉(zhuǎn)變。在一個示例中,sds可在初始化位流中的任何地方被發(fā)送。因此,接收器可持續(xù)掃描接收的位來尋找sds,以根據(jù)行星對齊來加速初始化的結(jié)束。
在一個示例中,示例eieos可仿真低頻時鐘信號,例如重復的ff00信號。在一些實現(xiàn)中,示例sds可包括重復的f0信號。因此,在這樣的實例中,檢測在eieos的中間發(fā)送的sds可能識別起來相對簡單,因為在eieos內(nèi)混疊(aliasing)的風險可以是最小的。然而ts有效載荷的加擾和ts數(shù)據(jù)的因而產(chǎn)生的隨機性可引入sds的一些形式的混疊的風險。在一些實現(xiàn)中,可產(chǎn)生prbs,其在若干位的任何特定跨度上永不混疊sds。此外,可例如使用ts的最后的字節(jié)在ts上提供尾部或后綴,以使prbs與在后綴中的0值進行異或運算并有效地呈現(xiàn)ts末尾處解擾的prbs。如果后綴足夠長,則在加擾的后綴中反映的prbs值可使sds在ts的加擾的有效載荷中混疊變得不可能。例如在一個示例中,sds可被定義為值f0的十個連續(xù)字節(jié)(即,1111000011110000…)。此外,可在緊接著在加擾同步字段(例如1050)的三個字節(jié)后面的ts中提供七個預留字節(jié)的后綴,如例如在圖10的示例中所示的。作為結(jié)果,歸零ts后綴的長度(例如總共10個字節(jié))可對應于被選擇為不出現(xiàn)在選擇的加擾prbs(例如prbs23)中的選擇的sds值(例如f0的十個字節(jié)),連同其它示例。例如,基于在prbs23(或另一prbs)的實現(xiàn)中利用的多項式,不會在prbs23中有十字節(jié)序列等于選擇的sds值,連同其它示例。
在一些實現(xiàn)中,當從配置狀態(tài)退出到tls時,傳輸和接收lfsr可由在發(fā)射器和接收器之間交換的sds重新初始化。例如,在八個開始prbs中,種子可分別應用于通路0…7、12…19、以及8…11(例如只有前四個)。此外,也可例如通過將eieos之后的ts(例如ts頭部)的解擾的第一字節(jié)與一組可能的值進行比較,連同其它示例,來確定鏈路的通路反轉(zhuǎn)和通路的極性倒置。
在一個實施例中,時鐘可嵌入數(shù)據(jù)中,所以沒有單獨的時鐘通路??筛鶕?jù)嵌入的時鐘來發(fā)送微片。此外,在通路上發(fā)送的微片可被加擾以便于時鐘恢復。作為一個示例,接收器時鐘恢復單元可將采樣時鐘傳送到接收器(即,接收器從數(shù)據(jù)恢復時鐘并使用它來對進入的數(shù)據(jù)進行采樣)。在一些實現(xiàn)中,接收器持續(xù)地適應于進入的位流。通過嵌入時鐘,管腳引出線可潛在地減少。然而,將時鐘嵌入帶內(nèi)數(shù)據(jù)中可改變帶內(nèi)復位被接近的方式。在一個實施例中,可在初始化之后利用阻斷鏈路狀態(tài)(bls)。此外,可在初始化期間利用電氣有序集超序列以便于復位,連同其它考慮因素。嵌入式時鐘在鏈路上的設備之間可以是公共的,且公共操作時鐘可在鏈路的校準和配置期間被設置。例如,hpi鏈路可參考具有漂移緩沖器的公共時鐘。這樣的實現(xiàn)可實現(xiàn)比在非公共參考時鐘中使用的彈性緩沖器更低的時延,連同其它可能的優(yōu)點。此外,參考時鐘分布段可被匹配到規(guī)定限制內(nèi)。
如上面提到的,hpi鏈路可能能夠在多個速度下操作,包括默認通電的“慢模式”、初始化等。每一個設備的操作(或“快速”)速度或模式可由bios靜態(tài)地設置。可基于在鏈路的任一側(cè)上的每一個設備的相應操作速度來配置在鏈路上的公共時鐘。例如,鏈路速度可基于這兩個設備操作速度中的較慢者,連同其它示例。任何操作速度變化可伴隨有熱或冷復位。
在一些示例中,在通電時,鏈路初始化到具有例如100mt/s的傳送速率的慢模式。軟件接著建立鏈路的操作速度的兩側(cè)并開始初始化。在其它實例中,邊帶機制可用于例如在慢模式缺乏或不可用時建立鏈路,其包括在鏈路上的公共時鐘。
慢模式初始化階段在一個實施例中可使用相同的編碼、加擾、訓練序列(ts)、狀態(tài)等作為操作速度,但具有可能更少的特征(例如沒有電氣參數(shù)建立、沒有適應等)。慢模式操作階段也可潛在地使用相同的編碼、加擾等(雖然其它實現(xiàn)可以不),但與操作速度相比可具有更少的狀態(tài)和特征(例如沒有低功率狀態(tài))。
此外,可使用設備的本地鎖相環(huán)(pll)時鐘頻率來實現(xiàn)慢模式。例如,hpi可支持仿真慢模式而不改變pll時鐘頻率。雖然一些設計對于慢和快速度可使用單獨的pll,在仿真的hpi的一些實現(xiàn)中,可通過允許pll時鐘在慢模式期間以相同的快操作速度運行來實現(xiàn)慢模式。例如,發(fā)射器可通過多次重復位來仿真較慢的時鐘信號,以便仿真慢高時鐘信號和然后慢低時鐘信號。接收器可接著對所接收的信號過采樣,以定位由重復的位仿真的邊緣,并識別位。在這樣的實現(xiàn)中,共享pll的端口可以在慢和快速度下共存。
在hpi的一些實現(xiàn)中,可支持在鏈路上的通路的適應。物理層可支持接收器適應和發(fā)射器(或發(fā)送器)適應。使用接收器適應,在通路上的發(fā)射器可將采樣數(shù)據(jù)發(fā)送到接收器,接收器邏輯可處理該采樣數(shù)據(jù)以識別在通路的電氣特性和信號的質(zhì)量中的缺點。接收器可接著基于所接收的采樣數(shù)據(jù)的分析對通路的校準進行調(diào)節(jié)以優(yōu)化通路。在發(fā)射器適應的情況下,接收器可再次接收采樣數(shù)據(jù)并開發(fā)描述通路的質(zhì)量的度量,但在這種情況下,將度量傳遞到發(fā)射器(例如使用后向通道,例如軟件、硬件、嵌入式、邊帶或其它通道)以允許發(fā)射器基于反饋對通路進行調(diào)節(jié)。
由于在鏈路上的這兩個設備都可完成相同的參考時鐘(例如refclk),彈性緩沖器可被省略(任何彈性緩沖器可被繞過或用作具有最低可能時延的漂移緩沖器)。然而,相位調(diào)節(jié)或漂移緩沖器可在每一個通路上被利用以將相應的接收器位流從遠程時鐘域傳送到本地時鐘域。漂移緩沖器的時延可足以處理來自電氣規(guī)范中的所有源(例如電壓、溫度、由參考時鐘路由失配引入的殘余ssc等)的漂移的和,但盡可能小以減小傳送延遲。如果漂移緩沖器太淺,則漂移誤差可產(chǎn)生并表現(xiàn)為crc誤差的系列。因此在一些實現(xiàn)中,可提供漂移警告,其可在實際漂移誤差出現(xiàn)之前發(fā)起物理層復位,連同其它示例。
hpi的一些實現(xiàn)可支持以相同的標稱參考時鐘頻率運行但具有ppm差異的兩側(cè)。在這種情況下,頻率調(diào)節(jié)(或彈性)緩沖器可能是需要的,并可在延長的bls窗口期間或在周期性出現(xiàn)的特殊序列期間被重新調(diào)節(jié),連同其它示例。
hpiphy邏輯層的操作可獨立于下層傳輸介質(zhì),假定時延不導致在鏈路層處的時延修復錯誤或超時,連同其它考慮因素。
外部接口可設置在hpi中以幫助物理層的管理。例如,可提供外部信號(來自管腳、熔絲、其它層)、定時器、控制和狀態(tài)寄存器。輸入信號可相對于phy狀態(tài)在任何時間改變,但在相應的狀態(tài)中在特定的點處由物理層觀察。例如,正改變的對齊信號(如下面介紹的)可被接收但在鏈路進入傳輸鏈路狀態(tài)之后沒有影響,連同其它示例。類似地,命令寄存器值可只在特定的時間點由物理層實體觀察到。例如,物理層邏輯可獲取值的快照并且在隨后的操作中使用它。因此,在一些實現(xiàn)中,對命令寄存器的更新可與特定時期(例如在傳輸鏈路狀態(tài)中或當保持在復位校準中時在慢模式傳輸鏈路狀態(tài)中)的有限子集相關聯(lián)以避免反常行為。
因為狀態(tài)值跟蹤硬件變化,所讀取的值可取決于它們何時被讀取。然而,一些狀態(tài)值例如鏈路圖、時延、速度等在初始化之后可以不改變。例如,重新初始化(或低功率鏈路狀態(tài)(lpls),或l1狀態(tài),退出)是可使這些改變的唯一事情(例如,在tls中的硬通路故障可以不導致鏈路的重新配置,直到重新初始化被觸發(fā)為止,連同其它示例)。
接口信號可包括在物理層行為外部但影響物理層行為的信號。作為示例,這樣的接口信號可包括編碼和定時信號。接口信號可以是設計特定的。這些信號可以是輸入或輸出。一些接口信號例如所謂的信號量和帶前綴的eo連同其它示例,可以每斷定邊緣活動一次,即,它們可被解除斷定并接著重新斷定以再次生效,連同其它示例。例如,表1包括示例功能的示例列表:
表1
功能
輸入管腳復位(也叫熱復位)
輸入管腳復位(也叫冷復位)
輸入帶內(nèi)復位脈沖;使信號量被設置;當帶內(nèi)復位出現(xiàn)時信號量被清除
輸入啟用低功率狀態(tài)
輸入環(huán)回參數(shù);應用于環(huán)回模式
輸入以進入pwlts
輸入以退出pwlts
輸入以進入lpls
輸入以退出lpls
輸入自空閑退出檢測(也叫噪聲控制中斷)
輸入實現(xiàn)cphyinitbegin的使用
輸入自針對發(fā)射器的本地或行星對齊以退出初始化
當遠程代理naklpls請求時輸出
當代理進入lpls時輸出
輸出到鏈路層以迫使(force)不可重試的微片
輸出到鏈路層以迫使空微片
當發(fā)射器在部分寬度鏈路傳輸狀態(tài)(pwlts)時輸出
當接收器在pwlts時輸出
可成對地提供csr定時器默認值——一個用于慢模式,而一個用于操作速度。在一些實例中,值0禁用定時器(即,超時從不出現(xiàn))。定時器可包括下面在表2中示出的定時器。主定時器可用于對一狀態(tài)中的預期行動進行定時。次級定時器用于中止不是正在進展的初始化,或用于在自動測試設備(或ate)模式中在精確的時間進行正向狀態(tài)轉(zhuǎn)變。在一些情況下,在一種狀態(tài)中次級定時器可以比主定時器大得多。指數(shù)定時器集合可附加有后綴exp,且定時器值對字段值是升高2的。對于線性定時器,定時器值是字段值。任一定時器可使用不同的粒度。此外,在功率管理部分中的一些定時器可以在被稱為定時配置文件的集合中。這些可與相同名稱的時序圖相關聯(lián)。
表2
定時器
表tpriexp集合
用于驅(qū)動eieos的復位住區(qū)(residency)
接收器校準最小時間;用于使發(fā)射器交錯地斷開
發(fā)射器校準最小時間;用于交錯地接通
tsecexp集合
定時的接收器校準
定時的發(fā)射器校準
噪聲控制退出檢測/防反跳
用于握手的detectatrx突出量(overhang)
適應+位鎖定/字節(jié)鎖定/抗扭斜
配置鏈路寬度
等待行星對齊的干凈微片邊界
重新字節(jié)鎖定/抗扭斜
tdebugexp集合
對于熱插撥;針對調(diào)試懸掛的非0值
tblsentry集合
bls進入延遲-精細
bls進入延遲-粗略
tbls集合
發(fā)射器的bls持續(xù)時間
接收器的bls持續(xù)時間
發(fā)射器的bls干凈微片間隔
接收器的tbls干凈微片間隔
可提供命令和控制寄存器??刂萍拇嫫骺梢允呛笮袆硬⒃谝恍嵗锌捎绍浖x取或?qū)懭?。后行動值可在復位中連續(xù)地生效(例如通過從面向軟件階段到面向硬件階段)。控制信號量(帶前綴的cp)是rw1s并可由硬件清除。控制寄存器可用來執(zhí)行本文描述的任何項目。它們可以是可修改的并可由硬件、軟件、固件、或其組合訪問。
狀態(tài)寄存器可被提供以跟蹤硬件變化(由硬件寫入和使用)且可以是只讀的(但調(diào)試軟件也可能能夠?qū)懙剿鼈?。這樣的寄存器可能不影響互操作性,并可一般用很多專用狀態(tài)寄存器補充。狀態(tài)信號量(帶前綴的sp)可被托管(mandate),因為它們可由軟件清除以重做設置狀態(tài)的行動。默認意味著初始(在復位時)值可被提供為與初始化有關的這些狀態(tài)位的子集。在初始化中止時,這個寄存器可被拷貝到存儲結(jié)構(gòu)中。
可提供工具箱寄存器。例如,在物理層中的可測試性工具箱寄存器可提供模式產(chǎn)生、模式檢查和環(huán)回控制機制。較高級應用可利用這些寄存器連同電氣參數(shù)來確定余量。例如,內(nèi)置在測試中的互連可利用這個工具箱來確定余量。對于發(fā)射器適應,可結(jié)合在前面的章節(jié)中描述的特定寄存器連同其它示例來使用這些寄存器。
在一些實現(xiàn)中,hpi支持利用物理層的可靠性、可用性、以及可服務性(ras)能力。在一個實施例中,hpi以可包括軟件的一層或多層來支持熱插撥和移除。熱移除可包括使鏈路靜默,且可對待移除的代理清除初始化開始狀態(tài)/信號。遠程代理(即,未被移除的代理(例如主機代理))可被設置到慢速度,且它的初始化信號也可被清除。帶內(nèi)復位(例如通過bls)可使這兩個代理在復位狀態(tài)例如校準復位狀態(tài)(crs)中等待;以及待移除的代理可被移除(或可保持在目標的管腳復位中,斷電),連同其它示例和特征。實際上,可省略上述事件中的一些,且可添加額外的事件。
熱添加可包括可默認為慢的初始化速度,且初始化信號可設置在待添加的代理上。軟件可將速度設置到慢,并可清除在遠程代理上的初始化信號。鏈路可在慢模式中出現(xiàn),且軟件可確定操作速度。在一些情況下,此時沒有遠程的pll重新鎖定被執(zhí)行??稍谶@兩個代理上設置操作速度,且可為適應設置啟用(如果以前沒有做)。初始化開始指示器可在這兩個代理上被清除,且?guī)?nèi)bls復位可使這兩個代理在crs中等待。軟件可斷定(待添加的)代理的熱復位(例如目標的或自復位),該代理可使pll重新鎖定。軟件也可通過任何已知的邏輯設置初始化開始信號,并進一步在遠程上設置(因而使它前進到接收器檢測狀態(tài)(rds))。軟件可使添加代理的熱復位解除斷定(因而使它前進到rds)。鏈路可接著以操作速度初始化至傳輸鏈路狀態(tài)(tls)(或至環(huán)回,如果適應信號被設置),連同其它示例。實際上,可省略上述事件中的一些并可添加額外的事件。
可支持數(shù)據(jù)通路故障恢復。在hpi中的鏈路在一個實施例中可通過將本身配置到小于全寬度(例如小于全寬度的一半)對單個通路上的硬錯誤有彈性,其因而可排除有錯誤的通路。作為示例,配置可通過鏈路狀態(tài)機來完成,且未使用的通路可在配置狀態(tài)中關閉。作為結(jié)果,微片可以以較窄的寬度被發(fā)送通過,連同其它示例。
在hpi的一些實現(xiàn)中,可在一些鏈路上支持通路反轉(zhuǎn)。通路反轉(zhuǎn)可以例如指連接到接收器的通路n/n-1/n-2…(例如n可等于19或7等)的發(fā)射器的通路0/1/2。通路反轉(zhuǎn)可在接收器處被檢測到,如在ts頭部的字段中識別的。接收器可通過在輪詢狀態(tài)中開始(通過對于邏輯通路0…n使用物理通路n…0),來處理通路反轉(zhuǎn)。因此,對通路的提及可以指邏輯通路號。因此,電路板設計者可更有效地制定物理或電氣設計,且hpi可與虛擬通路分配一起工作,如本文描述的。而且在一個實施例中,極性可倒置(即,當微分發(fā)射器+/-連接到接收器-/+時)。極性也可在接收器處從一個或多個ts頭部字段被檢測到,且在一個實施例中在輪詢狀態(tài)中被處理。
參考圖11,描繪了包括多核處理器的計算系統(tǒng)的方框圖的實施例。處理器1100包括任何處理器或處理設備,例如微處理器、嵌入式處理器、數(shù)字信號處理器(dsp)、網(wǎng)絡處理器、手持處理器、應用處理器、協(xié)處理器、片上系統(tǒng)(soc)、或其它設備以執(zhí)行代碼。處理器1100在一個實施例中包括至少兩個核心——核心1101和1102,其可包括不對稱核心或?qū)ΨQ核心(所示實施例)。然而,處理器1100可包括可以是對稱或非對稱的任何數(shù)量的處理元件。
在一個實施例中,處理元件指支持軟件線程的硬件或邏輯。硬件處理元件的示例包括線程單元、線程槽、線程、過程單元、上下文、上下文單元、邏輯處理器、硬件線程、核心、和/或能夠保持處理器的狀態(tài)(例如執(zhí)行狀態(tài)或架構(gòu)狀態(tài))的任何其它元件。換句話說,處理元件在一個實施例中指能夠獨立地與代碼(例如軟件線程、操作系統(tǒng)、應用、或其它代碼)相關聯(lián)的任何硬件。物理處理器(或處理器插槽)一般指集成電路,其可能包括任何數(shù)量的其它處理元件,例如核心或硬件線程。
核心常常指位于能夠維持獨立架構(gòu)狀態(tài)的集成電路上的邏輯,其中每一個獨立維持的架構(gòu)狀態(tài)與至少一些專用執(zhí)行資源相關聯(lián)。與核心相反,硬件線程一般指位于能夠維持獨立架構(gòu)狀態(tài)的集成電路上的任何邏輯,其中獨立維持的架構(gòu)狀態(tài)共享對執(zhí)行資源的訪問。如可看到的,當某些資源被共享且其它資源專用于架構(gòu)狀態(tài)時,在硬件線程和核心的術語之間的線重疊。核心和硬件線程然而常常由操作系統(tǒng)視為單獨的邏輯處理器,其中操作系統(tǒng)能夠在每一個邏輯處理器上單獨地調(diào)度操作。
如圖11所示的物理處理器1100包括兩個核心——核心1101和1102。在這里,核心1101和1102被認為是對稱核心,即,具有相同的配置、功能單元、和/或邏輯的核心。在另一實施例中,核心1101包括亂序處理器核心,而核心1102包括有序處理器核心。然而,核心1101和1102可獨立地選自任何類型的核心,例如本地核心、軟件管理的核心、適合于執(zhí)行本地指令集架構(gòu)(isa)的核心、適合于執(zhí)行已轉(zhuǎn)換指令集架構(gòu)(isa)的核心、共同設計的核心、或其它已知的核心。在異構(gòu)核心環(huán)境(即,不對稱核心)中,某種形式的轉(zhuǎn)換例如二進制轉(zhuǎn)換可用來調(diào)度或執(zhí)行在一個或兩個核心上的代碼。然而為了促進討論,在下面更詳細描述在核心1101中所示的功能單元,因為在核心1102中的單元在所繪實施例中以類似的方式操作。
如所描繪的,核心1101包括兩個硬件線程1101a和1101b,其也可被稱為硬件線程槽1101a和1101b。因此,軟件實體例如操作系統(tǒng)在一個實施例中可能將處理器1100視為四個單獨的處理器,即,四個邏輯處理器或能夠同時執(zhí)行四個軟件線程的處理元件。如上面暗指的,第一線程與架構(gòu)狀態(tài)寄存器1101a相關聯(lián),第二線程與架構(gòu)狀態(tài)寄存器1101b相關聯(lián),第三線程可與架構(gòu)狀態(tài)寄存器1102a相關聯(lián),以及第四線程可與架構(gòu)狀態(tài)寄存器1102b相關聯(lián)。在這里,每一個架構(gòu)狀態(tài)寄存器(1101a、1101b、1102a、以及1102b)可被稱為處理元件、線程槽、或線程單元,如上所述。如所示,架構(gòu)狀態(tài)寄存器1101a在架構(gòu)狀態(tài)寄存器1101b中被復制,所以單獨的架構(gòu)狀態(tài)/上下文能夠針對邏輯處理器1101a和邏輯處理器1101b被存儲。在核心1101中,也可針對線程1101a和1101b復制其它較小的資源,例如在分配器(allocator)和重命名器塊1130中的指令指針和重命名邏輯??赏ㄟ^分區(qū)來共享一些資源,例如在重排序/退出單元1135中的重排序緩沖器、iltb1120、裝載/存儲緩沖器、以及隊列。可能完全共享其它資源,例如通用內(nèi)部寄存器、頁表基址寄存器、低級數(shù)據(jù)緩存和數(shù)據(jù)tlb1115、執(zhí)行單元1140、以及亂序單元1135的部分。
處理器1100常常包括可被完全共享、通過分區(qū)來共享、或由處理元件專用/專用于處理元件的其它資源。在圖11中,示出具有處理器的說明性邏輯單元/資源的純粹示例性的處理器的實施例。注意,處理器可包括或省略這些功能單元中的任一個,以及包括未描繪的任何其它已知的功能單元、邏輯或固件。如所示,核心1101包括簡化的代表性亂序(ooo)處理器核心。但在不同的實施例中可利用有序處理器。ooo核心包括預測待執(zhí)行/采用的分支的分支目標緩沖器1120和存儲指令的地址轉(zhuǎn)換條目的指令轉(zhuǎn)換緩沖器(i-tlb)1120。
核心1101還包括耦合到取出單元1120的解碼模塊1125以將取出的元件解碼。取出邏輯在一個實施例中包括分別與線程槽1101a、1101b相關聯(lián)的單獨序列。通常核心1101與第一isa相關聯(lián),第一isa定義/規(guī)定在處理器1100上可執(zhí)行的指令。作為第一isa的部分的機器代碼指令常常包括指令的一部分(被稱為操作碼),其參考/規(guī)定待執(zhí)行的指令或操作。解碼邏輯1125包括電路,其識別來自其操作碼的這些指令并在管線中繼續(xù)傳遞解碼的指令用于如在第一isa中定義的處理。例如,如在下面更詳細討論的,解碼器1125在一個實施例中包括設計成或適合于識別特定的指令(例如事務指令)的邏輯。作為通過解碼器1125的識別的結(jié)果,架構(gòu)或核心1101采取特定的預定行動來執(zhí)行與適當?shù)闹噶钕嚓P聯(lián)的任務。重要地注意到,可響應于單個或多個指令來執(zhí)行本文描述的任何任務、塊、操作、以及方法;其中一些指令可以是新或舊的指令。注意,解碼器1126在一個實施例中識別相同的isa(或其子集)??蛇x地,在異構(gòu)核心環(huán)境中,解碼器1126識別第二isa(第一isa或不同的isa的子集)。
在一個示例中,分配器和重命名器塊1130包括分配器以預留資源,例如存儲指令處理結(jié)果的寄存器文件。然而,線程1101a和1101b可能能夠亂序執(zhí)行,其中分配器和重命名器塊1130也預留其它資源,例如重排序緩沖器以跟蹤指令結(jié)果。單元1130也可包括寄存器重命名器以將程序/指令參考寄存器重命名到在處理器1100內(nèi)部的其它寄存器。重排序/退出單元1135包括部件,例如上面提到的重排序緩沖器、裝載緩沖器、以及存儲緩沖器,以支持亂序執(zhí)行和亂序執(zhí)行的指令的稍后有序退出。
調(diào)度器和執(zhí)行單元塊1140在一個實施例中包括調(diào)度器單元以在執(zhí)行單元上調(diào)度指令/操作。例如,在具有可用浮點執(zhí)行單元的執(zhí)行單元的端口上調(diào)度浮點指令。還包括與執(zhí)行單元相關聯(lián)的寄存器文件以存儲信息指令處理結(jié)果。示例性執(zhí)行單元包括浮點執(zhí)行單元、整數(shù)執(zhí)行單元、跳躍執(zhí)行單元、負載執(zhí)行單元、存儲執(zhí)行單元、以及其它已知的執(zhí)行單元。
較低級數(shù)據(jù)緩存和數(shù)據(jù)轉(zhuǎn)換緩沖器(d-tlb)1150耦合到執(zhí)行單元1140。數(shù)據(jù)緩存存儲可能保持在存儲器相干性狀態(tài)中的最近使用/操作的元件,例如數(shù)據(jù)操作數(shù)。d-tlb存儲最近的虛擬/線性到物理地址轉(zhuǎn)換。作為特定的示例,處理器可包括頁表結(jié)構(gòu)以將物理存儲器分成多個虛擬頁。
在這里,核心1101和1102共享對較高級或進一步開發(fā)的緩存(例如與片上接口1110相關聯(lián)的第二級緩存)的訪問。注意,較高級或進一步開發(fā)指從執(zhí)行單元增加或變得更進一步的緩存級別。在一個實施例中,較高級緩存是最后一級數(shù)據(jù)緩存(在處理器1100上的存儲器分級結(jié)構(gòu)中的最后一級緩存),例如第二或第三級數(shù)據(jù)緩存。然而,較高級緩存并不被如此限制,因為它可與指令緩存相關聯(lián)或包括指令緩存。追蹤緩存(一種類型的指令緩存)替代地可耦合在解碼器1125之后以存儲最近解碼的軌跡。在這里,指令可能指宏指令(即,由解碼器識別的一般指令),其可解碼成若干微指令(微操作)。
在所描繪的配置中,處理器1100還包括片上接口模塊1110。從歷史角度看,在下面更詳細描述的存儲器控制器被包括在處理器1100外部的計算系統(tǒng)中。在這個情形中,片上接口1110與在處理器1100外部的設備(例如系統(tǒng)存儲器1175、芯片組(常常包括連接到存儲器1175的存儲器控制器中心和連接外圍設備的i/o控制器中心)、存儲器控制器中心、北橋、或其它集成電路)進行通信。而且在這個情形中,總線1105可包括任何已知的互連,例如多點分支總線、點對點互連、串行互連、并行總線、相干(例如緩存相干)總線、分層協(xié)議架構(gòu)、差分總線、以及gtl總線。
存儲器1175可專用于處理器1100或與系統(tǒng)中的其它設備共享。存儲器1175的類型的一般示例包括dram、sram、非易失性存儲器(nv存儲器)、以及其它已知的存儲設備。注意,設備1180可包括圖形加速器、耦合到存儲器控制器中心的處理器或卡、耦合到i/o控制器中心的數(shù)據(jù)存儲設備、無線收發(fā)機、閃存設備、音頻控制器、網(wǎng)絡控制器、或其它已知設備。
然而最近,因為更多的邏輯和設備集成在單個管芯上,例如soc,這些設備中的每一個可合并在處理器1100上。例如在一個實施例中,存儲器控制器中心與處理器1100在相同的封裝和/或管芯上。在這里,核心(核心上部分)1110的一部分包括用于與其它設備(例如存儲器1175或圖形設備1180)通過接口連接的一個或多個控制器。包括互連和用于與這樣的設備通過接口連接的控制器的配置常常被稱為核心上(或非核心配置)。作為示例,片上接口1110包括用于芯片上通信的環(huán)形互連和用于芯片外通信的高速串行點對點鏈路1105。然而在soc環(huán)境中,更多的設備例如網(wǎng)絡接口、協(xié)處理器、存儲器1175、圖形處理器1180、以及任何其它已知的計算機設備/接口可集成在單個管芯或集成電路上以提供具有高功能和低功率消耗的小性狀因子。
在一個實施例中,處理器1100能夠執(zhí)行編譯器、優(yōu)化、和/或轉(zhuǎn)換器代碼1177以編譯、轉(zhuǎn)換、和/或優(yōu)化應用代碼1176以支持本文描述的裝置和方法或與其通過接口連接。編譯器常常包括程序或一組程序以將源文本/代碼轉(zhuǎn)換成目標文本/代碼。通常,使用編譯器對程序/應用代碼的編譯在多個階段中完成并傳遞以將高級編程語言代碼轉(zhuǎn)換成低級機器或匯編語言代碼。然而,單程編譯器仍可用于簡單的編譯。編譯器可利用任何已知的編譯技術并執(zhí)行任何已知的編譯器操作,例如詞匯分析、預處理、解析、語義分析、代碼產(chǎn)生、代碼轉(zhuǎn)換、以及代碼優(yōu)化。
較大的編譯器常常包括多個階段,但最經(jīng)常地這些階段被包括在兩個一般階段內(nèi):(1)前端,即,通常其中可發(fā)生語法處理、語義處理、以及一些轉(zhuǎn)換/優(yōu)化,以及(2)后端,即,通常其中發(fā)生分析、轉(zhuǎn)換、優(yōu)化、以及代碼產(chǎn)生。一些編譯器指中間,其示出在編譯器的前端和后端之間的描述的模糊。作為結(jié)果,對插入、關聯(lián)、產(chǎn)生、或編譯器的其它操作的提及可發(fā)生在任何前述階段或過程,以及編譯器的任何其它已知的階段或過程中。作為說明性示例,編譯器可能將操作、調(diào)用、功能等插入編譯的一個或多個階段中,例如插入在編譯的前端階段中的調(diào)用/操作,以及然后在轉(zhuǎn)換階段期間轉(zhuǎn)換調(diào)用/操作至低級代碼。注意,在動態(tài)編譯期間,編譯器代碼或動態(tài)優(yōu)化代碼可插入這樣的操作/調(diào)用,以及優(yōu)化代碼用于在運行時期間執(zhí)行。作為特定的說明性示例,二進制代碼(已經(jīng)編譯的代碼)可在運行時期間動態(tài)地被優(yōu)化。在這里,程序代碼可包括動態(tài)優(yōu)化代碼、二進制代碼、或其組合。
類似于編譯器,轉(zhuǎn)換器(例如二進制轉(zhuǎn)換器)靜態(tài)或動態(tài)地轉(zhuǎn)換代碼以優(yōu)化和/或轉(zhuǎn)換代碼。因此,對代碼、應用代碼、程序代碼、或其它軟件環(huán)境的執(zhí)行的提及可以指:(1)動態(tài)或靜態(tài)地執(zhí)行編譯器程序、優(yōu)化代碼優(yōu)化器、或轉(zhuǎn)換器,以編譯程序代碼、維持軟件結(jié)構(gòu)、執(zhí)行其它操作、優(yōu)化代碼、或轉(zhuǎn)換代碼;(2)執(zhí)行包括操作/調(diào)用的主程序代碼,例如被優(yōu)化/編譯的應用代碼;(3)執(zhí)行與主程序代碼相關聯(lián)的其它程序代碼(例如庫),以維持軟件結(jié)構(gòu)、執(zhí)行其它軟件相關操作、或優(yōu)化代碼;或(4)其組合。
現(xiàn)在參考圖12,示出了多核處理器的實施例的方框圖。如在圖12的實施例中所示的,處理器1200包括多個域。具體地,核心域1230包括多個核心1230a-1230n,圖形域1260包括具有媒體引擎1265的一個或多個圖形引擎,以及系統(tǒng)代理域1210。
在各種實施例中,系統(tǒng)代理域1210處理功率控制事件和功率管理,使得域1230和1260的單獨單元(例如核心和/或圖形引擎)獨立地可控制來根據(jù)在給定單元中出現(xiàn)的活動(或不活動)在適當?shù)墓β誓J?級別(例如活動、渦輪、睡眠、休眠、深睡眠、或其它高級配置功率接口般狀態(tài))下動態(tài)地操作。每一個域1230和1260可在不同的電壓和/或功率下操作,且此外在域內(nèi)的單獨單元每一個可能在獨立的頻率和電壓下操作。注意,雖然只示出三個域,應理解本發(fā)明的范圍并不被限制在這個方面,且在其它實施例中額外的域可存在。
如所示,除了各種執(zhí)行單元和額外的處理元件以外,每一個核心1230還包括低級緩存。在這里,各種核心耦合到彼此和由最后一級緩存(llc)1240a-1240n的多個單元或切片形成的共享緩存存儲器;這些llc常常包括存儲器和緩存控制器功能并在核心當中以及可能也在圖形引擎當中被共享。
如看到的,環(huán)形互連1250將核心耦合在一起,并經(jīng)由多個環(huán)形中止(ringstop)1252a-1252n提供在核心域1230、圖形域1260和系統(tǒng)代理電路1210之間的互連,每一個環(huán)形中止在核心和llc切片之間的耦合處。如在圖12中看到的,互連1250用于傳送各種信息,包括地址信息、數(shù)據(jù)信息、確認信息、以及窺探/無效信息。雖然示出環(huán)互連,可利用任何已知的管芯上互連或結(jié)構(gòu)。作為說明性示例,可以用類似的方式利用上面討論的一些結(jié)構(gòu)(例如另一管芯上互連、片上系統(tǒng)結(jié)構(gòu)(osf)、高級微控制器總線架構(gòu)(amba)互連、多維網(wǎng)狀結(jié)構(gòu)、或其它已知的互連架構(gòu))。
如進一步描繪的,系統(tǒng)代理域1210包括顯示引擎1212,其提供到相關聯(lián)的顯示器的控制和接口。系統(tǒng)代理域1210可包括其它單元,例如:提供到系統(tǒng)存儲器(例如使用多個dimm實現(xiàn)的dram)的接口的集成存儲器控制器1220;執(zhí)行存儲器相干操作的相干邏輯1222。多個接口可存在以實現(xiàn)在處理器和其它電路之間的互連。例如在一個實施例中,提供至少一個直接媒體接口(dmi)1216接口以及一個或多個pcietm接口1214。顯示引擎和這些接口一般經(jīng)由pcietm橋1218耦合到存儲器。仍然進一步地,為了提供在其它代理(例如額外的處理器或其它電路)之間的通信,可提供一個或多個其它接口。
現(xiàn)在參考圖13,示出了代表性核心的方框圖;具體地,核心(例如來自圖12的核心1230)的后端的邏輯塊。通常,圖13所示的結(jié)構(gòu)包括具有用于取出進入的指令、執(zhí)行各種處理(例如緩存、解碼、分支預測等)并將指令/操作傳遞到亂序(ooo)引擎1380的前端單元1370的亂序處理器。ooo引擎1380對解碼的指令執(zhí)行進一步的處理。
具體地在圖13的實施例中,亂序引擎1380包括分配單元1382以從前端單元1370接收解碼的指令(指令可以以一個或多個微指令或uop的形式),并將它們分配到適當?shù)馁Y源例如寄存器等。接著,指令被提供到預留站1384,其預留資源并調(diào)度它們,用于在多個執(zhí)行單元1386a-1386n之一上執(zhí)行。各種類型的執(zhí)行單元可存在,包括例如算術邏輯單元(alu)、裝載和存儲單元、矢量處理單元(vpu)、浮點執(zhí)行單元等。來自這些不同的執(zhí)行單元的結(jié)果被提供到重排序緩沖器(rob)1388,其獲取未排序的結(jié)果并將它們返回到正確的程序順序。
仍然參考圖13,注意,前端單元1370和亂序引擎1380都耦合到存儲器分級結(jié)構(gòu)的不同級別。具體地示出指令級緩存1372,其又耦合到中級緩存1376,其又耦合到最后一級緩存1395。在一個實施例中,最后一級緩存1395在片上(有時被稱為非核心)單元1390中實現(xiàn)。作為示例,單元1390類似于圖12的系統(tǒng)代理1210。如上面討論的,非核心1390與系統(tǒng)存儲器1399通信,系統(tǒng)存儲器1399在所示實施例中經(jīng)由edram實現(xiàn)。也注意,在亂序引擎1380內(nèi)的各種執(zhí)行單元1386與第一級緩存1374通信,第一緩存1374也與中級緩存1376通信。也注意,額外的核心1330n-2—1330n可耦合到llc1395。雖然在圖13的實施例中示出在這個高級別處,應理解,可存在各種變化和額外的部件。
轉(zhuǎn)到圖14,示出形成有處理器的示例計算機系統(tǒng)的方框圖,處理器包括執(zhí)行指令的執(zhí)行單元,其中一個或多個互連根據(jù)本發(fā)明的一個實施例實現(xiàn)一個或多個特征。系統(tǒng)1400包括根據(jù)本發(fā)明例如在本文描述的實施例中的部件,例如使用包括執(zhí)行過程數(shù)據(jù)的算法的邏輯的執(zhí)行單元的處理器1402。系統(tǒng)1400代表基于pentiumiiitm、pentium4tm、xeontm、itanium、xscaletm和/或strongarmtm微處理器的處理系統(tǒng),雖然也可使用其它系統(tǒng)(包括具有其它微處理器的pc、工程設計工作站、機頂盒等)。在一個實施例中,樣本系統(tǒng)1400執(zhí)行從華盛頓州雷蒙德的微軟公司可得到的windowstm操作系統(tǒng)的一個版本,雖然也可使用其它操作系統(tǒng)(例如unix和linux)、嵌入式軟件、和/或圖形用戶界面。因此,本發(fā)明的實施例并不限于硬件電路和軟件的任何特定的組合。
實施例不限于計算機系統(tǒng)。可在其它系統(tǒng)(例如手持設備和嵌入式應用)中使用本發(fā)明的可選實施例。手持設備的一些示例包括蜂窩電話、互聯(lián)網(wǎng)協(xié)議設備、數(shù)字照相機、個人數(shù)字助理(pda)和手持pc。嵌入式應用可包括微控制器、數(shù)字信號處理器(dsp)、片上系統(tǒng)、網(wǎng)絡計算機(netpc)、機頂盒、網(wǎng)絡中心、廣域網(wǎng)(wan)交換機、或可執(zhí)行根據(jù)至少一個實施例的一個或多個指令的任何其它系統(tǒng)。
在這個所示實施例中,處理器1402包括一個或多個執(zhí)行單元1408以實現(xiàn)執(zhí)行至少一個指令的算法。可在單個處理器桌面或服務器系統(tǒng)的上下文中描述一個實施例,但在多處理器系統(tǒng)中可包括可選的實施例。系統(tǒng)1400是“中心”系統(tǒng)架構(gòu)的示例。計算機系統(tǒng)1400包括處理器1402以處理數(shù)據(jù)信號。作為一個說明性示例,處理器1402例如包括復雜指令集計算機(cisc)微處理器、精簡指令集計算(risc)微處理器、超長指令字(vliw)微處理器、實現(xiàn)指令集的組合的處理器、或任何其它處理器設備,例如數(shù)字信號處理器。處理器1402耦合到在處理器1402和系統(tǒng)1400中的其它部件之間傳輸數(shù)據(jù)信號的處理器總線1410。系統(tǒng)1400的元件(例如圖形加速器1412、存儲器控制器中心1416、存儲器1420、i/o控制器中心1424、無線收發(fā)機1426、閃存bios1428、網(wǎng)絡控制器1434、音頻控制器1436、串行擴展端口1438、i/o控制器1440等)執(zhí)行熟悉本領域的人員公知的常規(guī)功能。
在一個實施例中,處理器1402包括第1級(l1)內(nèi)部緩存存儲器1404。根據(jù)架構(gòu),處理器1402可具有單個內(nèi)部緩存或內(nèi)部緩存的多個級別。根據(jù)特定的實現(xiàn)和需要,其它實施例包括內(nèi)部和外部緩存的組合。寄存器文件1406將不同類型的數(shù)據(jù)存儲在各種寄存器(包括整數(shù)寄存器、浮點寄存器、矢量寄存器、分組寄存器、影子寄存器、檢查點寄存器、狀態(tài)寄存器、以及指令指針寄存器)中。
執(zhí)行單元1408(包括執(zhí)行整數(shù)和浮點操作的邏輯)也存在于處理器1402中。處理器1402在一個實施例中包括微代碼(ucode)rom以存儲微代碼,微代碼在被執(zhí)行時執(zhí)行某些宏指令的算法或處理復雜的場景。在這里,微代碼可能是可更新的,以處理處理器1402的邏輯故障/修復。對于一個實施例,執(zhí)行單元1408包括處理打包的指令集1409的邏輯。通過將打包的指令集1409包括在通用處理器1402的指令集(連同執(zhí)行指令的相關聯(lián)的電路)中,可使用在通用處理器1402中打包的數(shù)據(jù)執(zhí)行由很多多媒體應用使用的操作。因此,通過使用用于對打包的數(shù)據(jù)執(zhí)行操作的處理器的數(shù)據(jù)總線的全寬度,來加速并更有效地執(zhí)行很多多媒體應用。這可能消除了跨處理器的數(shù)據(jù)總線傳輸數(shù)據(jù)的較小單位以執(zhí)行一個或多個操作的需要(一次一個數(shù)據(jù)元素)。
也可在微控制器、嵌入式處理器、圖形設備、dsp、以及其它類型的邏輯電路中使用執(zhí)行單元1408的可選實施例。系統(tǒng)1400包括存儲器1420。存儲器1420包括動態(tài)隨機存取存儲器(dram)設備、靜態(tài)隨機存取存儲器(sram)設備、閃存設備、或其它存儲器設備。存儲器1420存儲由數(shù)據(jù)信號表示的指令和/或數(shù)據(jù),數(shù)據(jù)信號由處理器1402執(zhí)行。
注意,在圖14中示出的一個或多個互連上可利用本發(fā)明的任何前述特征或方面。例如,用于耦合處理器1402的內(nèi)部單元的管芯上互連(odi)(未示出)實現(xiàn)上面描述的本發(fā)明的一個或多個方面。或者本發(fā)明關聯(lián)于:處理器總線1410(例如其它已知的高性能計算互連)、到存儲器1420的高帶寬存儲器路徑1418、到圖形加速器1412的點對點鏈路(例如符合外圍部件快速互連(pcie)的結(jié)構(gòu))、控制器中心互連1422、i/o或用于耦合其它所示部件的其它互連(例如usb、pci、pcie)。這樣的部件的一些示例包括音頻控制器1436、固件中心(閃存bios)1428、無線收發(fā)機1426、數(shù)據(jù)存儲設備1424、包含用戶輸入和鍵盤接口1442的舊有i/o控制器1410、串行擴展端口1438(例如通用串行總線(usb))、以及網(wǎng)絡控制器1434。數(shù)據(jù)存儲設備1424可包括硬盤驅(qū)動器、軟盤驅(qū)動器、cd-rom設備、閃存設備、或其它大容量存儲設備。
現(xiàn)在參考圖15,示出了根據(jù)本發(fā)明的實施例的第二系統(tǒng)1500的方框圖。如圖15所示,微處理器系統(tǒng)1500是點對點互連系統(tǒng),并包括經(jīng)由點對點互連1550耦合的第一處理器1570和第二處理器1580。每一個處理器1570和1580可以是處理器的某個版本。在一個實施例中,1552和1554是串行、點對點相干互連結(jié)構(gòu)(例如高性能架構(gòu))的部分。作為結(jié)果,本發(fā)明可在qpi架構(gòu)內(nèi)實現(xiàn)。
雖然只示出兩個處理器1570、1580,應理解,本發(fā)明的范圍并不被如此限制。在其它實施例中,一個或多個額外的處理器可存在于給定處理器中。
處理器1570和1580被示為分別包括集成的存儲器控制器單元1572和1582。處理器1570還包括點對點(p-p)接口1576和1578作為其總線控制器單元的部分;類似地,第二處理器1580包括p-p接口1586和1588。處理器1570、1580可使用p-p接口電路1578、1588經(jīng)由點對點(p-p)接口1550交換信息。如圖15所示,imc1572和1582將處理器耦合到可以是在本地連接到相應的處理器的主存儲器的部分的相應的存儲器,即,存儲器1532和存儲器1534。
處理器1570、1580每一個經(jīng)由單獨的p-p接口1552、1554使用點對點接口電路1576、1594、1586、1598與芯片組1590交換信息。芯片組1590還經(jīng)由接口電路1592沿著高性能圖形互連1539與高性能圖形電路1538交換信息。
共享緩存(未示出)可被包括在任一處理器中或在兩個處理器的外部;然而經(jīng)由p-p互連與處理器連接,使得任一或兩個處理器的本地緩存信息可存儲在共享緩存中(如果處理器被置于低功率模式中)。
芯片組1590可經(jīng)由接口1596耦合到第一總線1516。在一個實施例中,第一總線1516可以是外圍部件互連(pci)總線,或諸如pciexpress總線的總線或另一第三代i/o互連總線,雖然本發(fā)明的范圍并不被如此限制。
如圖15所示,各種i/o設備1514耦合到第一總線1516,連同將第一總線1516耦合到第二總線1520的總線橋1518。在一個實施例中,第二總線1520包括低管腳數(shù)(lpc)總線。在一個實施例中,各種設備(包括例如鍵盤和/或鼠標1522、通信設備1527和存儲單元1528例如磁盤驅(qū)動器或常常包括指令/代碼和數(shù)據(jù)1530的其它大容量存儲設備)耦合到第二總線1520。此外,音頻i/o1524被示為耦合到第二總線1520。注意,其它架構(gòu)是可能的,其中所包括的部件和互連架構(gòu)變化。例如,不是圖15的點對點架構(gòu),系統(tǒng)可實現(xiàn)多點分支總線或其它這樣的架構(gòu)。
接著轉(zhuǎn)到圖16,描繪了根據(jù)本發(fā)明的片上系統(tǒng)(soc)設計的實施例。作為特定的說明性示例,soc1600被包括在用戶設備(ue)中。在一個實施例中,ue指由終端用戶使用來通信的任何設備,例如手持電話、智能電話、平板計算機、超薄筆記本計算機、有寬帶適配器的筆記本計算機、或任何其它類似的通信設備。ue常常連接到基站或節(jié)點,其可能在性質(zhì)上對應于在gsm網(wǎng)絡中的移動站(ms)。
在這里,soc1600包括2個核心——1606和1607。類似于上面的討論,核心1606和1607可符合指令集架構(gòu),例如基于
互連1610將通信通道提供到其它部件,例如:到用戶識別模塊(sim)1630,以與sim卡通過接口連接;到引導只讀存儲器1635,以保存引導代碼用于由核心1606和1607執(zhí)行以初始化并引導soc1600;到sdram控制器1640,以與外部存儲器(例如dram1660)通過接口連接;到閃存控制器1645,以與非易失性存儲器(例如閃存1665)通過接口連接;到外圍控制器1650(例如串行外圍接口),以與外圍設備通過接口連接;到視頻編碼譯碼器1620和視頻接口1625,以顯示并接收輸入(例如啟用觸摸的輸入);到gpu1615,以執(zhí)行圖形相關的計算等。這些接口中的任一個可合并本文描述的發(fā)明的方面。
此外,系統(tǒng)示出用于通信的外圍設備,例如藍牙模塊1670、3g調(diào)制解調(diào)器1675、gps1685、以及wifi1685。注意,如上面提到的,ue包括用于通信的無線電裝置。作為結(jié)果,這些外圍通信模塊并不都是需要的。然而在ue中包括用于外部通信的某個形式的無線電裝置。
雖然關于有限數(shù)量的實施例描述了本發(fā)明,本領域中的技術人員將從其認識到很多修改和變化。意圖是所附權(quán)利要求覆蓋如落在本發(fā)明的真實精神和范圍內(nèi)的所有這樣的修改和變化。
設計可經(jīng)歷各種階段,從創(chuàng)建到仿真到制造。表示設計的數(shù)據(jù)可以用若干方式代表設計。首先,如在仿真中有用的,硬件可被表示為使用硬件描述語言或另一功能描述語言。此外,可在設計過程的一些階段生產(chǎn)具有邏輯和/或晶體管門的電路級模型。此外,大部分設計在某個階段達到表示在硬件模型中的各種設備的物理放置的數(shù)據(jù)的級別。在常規(guī)半導體制造技術被使用的情況下,表示硬件模型的數(shù)據(jù)可以是規(guī)定在用于產(chǎn)生集成電路的掩模的不同掩蔽層上的各種特征的存在或缺乏的數(shù)據(jù)。在設計的任何表示中,數(shù)據(jù)可存儲在任何形式的機器可讀介質(zhì)中。存儲器或磁性或光學存儲器(例如盤)可以是機器可讀介質(zhì)以存儲經(jīng)由光波或電波傳輸?shù)男畔?,光波或電波被調(diào)制或產(chǎn)生以傳輸這樣的信息。當指示或承載代碼或設計的電載波被傳輸時,在電信號的拷貝、緩沖、或重新傳輸被執(zhí)行的程度上,新拷貝被制造。因此,通信提供者或網(wǎng)絡提供者可在有形、機器可讀介質(zhì)上至少臨時存儲體現(xiàn)本發(fā)明的實施例的技術的物件,例如被編碼到載波中的信息。
如本文使用的模塊指硬件、軟件、和/或固件的任何組合。作為示例,模塊包括與非暫時性介質(zhì)相關聯(lián)的硬件,例如微控制器,以存儲適合于由微控制器執(zhí)行的代碼。因此,對模塊的提及在一個實施例中指硬件,其特別配置成識別和/或執(zhí)行保存在非暫時性介質(zhì)上的代碼。此外在另一實施例中,模塊的使用指包括特別適合于由微控制器執(zhí)行以執(zhí)行預定的操作的代碼的非暫時性介質(zhì)。而且如可推斷出的,在又一實施例中,術語模塊(在本例中)可以指微控制器和非暫時性介質(zhì)的組合。常常被示為單獨的模塊邊界通常變化并可能重疊。例如,第一和第二模塊可共享硬件、軟件、固件、或其組合,同時可能保留一些獨立的硬件、軟件、或固件。在一個實施例中,術語邏輯的使用包括硬件,例如晶體管、寄存器、或其它硬件,例如可編程邏輯設備。
短語“配置成”的使用在一個實施例中指布置、放置在一起、制造、提供以銷售、引入和/或設計裝置、硬件、邏輯、或元件以執(zhí)行指定或確定的任務。在本例中,其中未操作的裝置或元件仍然“配置成”執(zhí)行指定任務(如果它被設計、耦合、和/或互連以執(zhí)行所述指定任務)。作為純粹說明性的示例,邏輯門可在操作期間提供0或1。但“配置成”向時鐘提供啟用信號的邏輯門不包括可提供1或0的每一個可能的邏輯門。替代地,邏輯門是以某種方式耦合的邏輯門,在操作期間,1或0輸出將會啟用時鐘。再一次注意,術語“配置成”的使用并不需要操作,而相反聚焦于裝置、硬件、和/或元件的潛在狀態(tài),其中在潛在狀態(tài)中,當裝置、硬件、和/或元件正在操作時,裝置、硬件、和/或元件設計成執(zhí)行特定的任務。
此外,短語“到”、“能夠”、和/或“可操作來”的使用在一個實施例中指以這樣的方式被設計的某個裝置、邏輯、硬件、和/或元件以便能夠以規(guī)定方式實現(xiàn)該裝置、邏輯、硬件、和/或元件的使用。注意,如上述,到、能夠、或可操作的使用在一個實施例中指裝置、邏輯、硬件、和/或元件的潛在狀態(tài),其中該裝置、邏輯、硬件、和/或元件不操作,但以這樣的方式被設計以便以規(guī)定方式實現(xiàn)裝置的使用。
如在本文使用的值包括數(shù)字、狀態(tài)、邏輯狀態(tài)、或二進制邏輯狀態(tài)的任何已知的表示。邏輯電平、邏輯值、或邏輯學值的使用也常常被稱為1和0,其簡單地代表二進制邏輯狀態(tài)。例如,1指高邏輯電平而0指低邏輯電平。在一個實施例中,存儲單元例如晶體管或閃存單元可能能夠保存單個邏輯值或多個邏輯值。然而,在計算機系統(tǒng)中的值的其它表示被使用。例如,十進制數(shù)十也可被表示為二進制值1010和十六進制字母a。因此,值包括能夠保存在計算機系統(tǒng)中的信息的任何表示。
而且,狀態(tài)可由值或值的部分表示。作為示例,第一值例如邏輯一可表示默認或初始狀態(tài),而第二值例如邏輯零可表示非默認狀態(tài)。此外,術語復位和置位在一個實施例中分別指默認和更新值和狀態(tài)。例如,默認值可能包括高邏輯值,即,復位,而更新值可能包括低邏輯值,即,置位。注意,值的任何組合可用于表示任何數(shù)量的狀態(tài)。
可經(jīng)由處理元件可執(zhí)行的存儲在機器可訪問、機器可讀、計算機可訪問、或計算機可讀介質(zhì)上的指令或代碼,來實現(xiàn)上面闡述的方法、硬件、軟件、固件或代碼的實施例。非暫時性機器可訪問/可讀介質(zhì)包括提供(即,存儲和/或傳輸)以機器(例如計算機或電子系統(tǒng))可讀的形式的信息的任何機制。例如,非暫時性機器可訪問介質(zhì)包括隨機存取存儲器(ram),例如靜態(tài)ram(sram)或動態(tài)ram(dram);rom;磁性或光學存儲介質(zhì);閃存設備;電存儲設備;光存儲設備;聲存儲設備;用于保存從暫時性(傳播)信號(例如載波、紅外信號、數(shù)字信號)接收的信息的存儲設備的其它形式等,其應與可從那里接收信息的非暫時性介質(zhì)區(qū)分開。
用于對邏輯編程以執(zhí)行本發(fā)明的實施例的指令可存儲在系統(tǒng)中的存儲器(例如dram、緩存、閃存設備、或其它存儲設備)內(nèi)。此外,可經(jīng)由網(wǎng)絡或通過其它計算機可讀介質(zhì)來分發(fā)指令。因此,機器可讀介質(zhì)可包括用于存儲或傳輸以機器(例如計算機)可讀的形式的信息的任何機制,但不限于軟盤、光學盤、光盤只讀存儲器(cd-rom)、以及磁光盤、只讀存儲器(rom)、隨機存取存儲器(ram)、可擦除可編程只讀存儲器(eprom)、電可擦除可編程只讀存儲器(eeprom)、磁卡或光卡、閃存、或在經(jīng)由電、光、聲或其它形式的傳播信號(例如載波、紅外信號、數(shù)字信號等)通過互連網(wǎng)的信息傳輸中使用的有形機器可讀存儲設備。因此,計算機可讀介質(zhì)包括適合于存儲或傳輸以機器(例如計算機)可讀的形式的電子指令或信息的任何類型的有形機器可讀介質(zhì)。
下面的示例屬于根據(jù)本說明書的實施例。一個或多個實施例可提供產(chǎn)生一組訓練序列的裝置、系統(tǒng)、機器可讀存儲設備、機器可讀介質(zhì)、以及方法,每一個訓練序列包括相應的訓練序列頭部,且訓練序列頭部在該組訓練序列上是dc平衡的。
在至少一個示例中,該組訓練序列被包括在超序列中。
在至少一個示例中,超序列包括重復序列,重復序列包括后面是多個訓練序列的電氣有序集(eos)。
在至少一個示例中,超序列是多個超序列類型中的特定一種,每一個超序列類型對應于串行數(shù)據(jù)鏈路的一個或多個相應的狀態(tài)。
在至少一個示例中,多個超序列類型包括:對應于檢測狀態(tài)的檢測超序列;對應于包括環(huán)回狀態(tài)、配置狀態(tài)、以及輪詢狀態(tài)的一組狀態(tài)中的一個的第二超序列;以及對應于從部分寬度傳輸狀態(tài)退出的部分寬度退出超序列。
在至少一個示例中,檢測超序列的重復序列包括eos,eos包括后面是訓練序列的七個連續(xù)實例的電空閑退出有序集(eieos),其中序列大約每一千單位間隔重復一次。
在至少一個示例中,第二超序列的重復序列包括eos,eos包括后面是訓練序列的31個連續(xù)實例的電空閑退出有序集(eieos),其中序列大約每四千單位間隔重復一次。
在至少一個示例中,部分寬度退出超序列的重復序列包括eos,eos包括后面是快速訓練序列的七個連續(xù)實例的電空閑退出有序集(eieos),其中序列大約每一千單位間隔重復一次。
在至少一個示例中,其中每一個訓練序列包括訓練序列有效載荷,訓練序列有效載荷被加擾,且訓練序列頭部被解擾。
在至少一個示例中,eos被解擾。
在至少一個示例中,訓練序列有效載荷使用偽隨機二進制序列(prbs)被加擾。
在至少一個示例中,頭部包括ack/nak字段和訓練序列類型字段。
在至少一個示例中,訓練序列類型字段被編碼以識別對應于串行數(shù)據(jù)鏈路的相應狀態(tài)的訓練序列類型。
一個或多個實施例可提供接收一組訓練序列的裝置、系統(tǒng)、機器可讀存儲設備、機器可讀介質(zhì)、以及方法,每一個訓練序列包括相應的訓練序列頭部,訓練序列頭部在該組訓練序列上是dc平衡的,且物理層邏輯進一步檢測該組訓練序列頭部的一個或多個訓練序列頭部的邊界。
在至少一個示例中,該組訓練序列作為超序列的一部分被接收,且超序列包括重復序列,重復序列包括后面是多個訓練序列的電空閑退出有序集(eieos),訓練序列用于基于超序列來確定數(shù)據(jù)鏈路的狀態(tài)。
在至少一個示例中,至少部分地根據(jù)序列在超序列中重復的頻率來確定狀態(tài)。
在至少一個示例中,至少部分地根據(jù)所述多個訓練序列中的若干訓練序列來確定狀態(tài)。
在至少一個示例中,至少部分地根據(jù)訓練序列頭部字段信息來確定狀態(tài)。
一個或多個實施例可提供如下的裝置、系統(tǒng)、機器可讀存儲設備、機器可讀介質(zhì)、以及方法:接收在多個通路中的每一個上的相應超序列,超序列包括后面是多個訓練序列的電氣有序集;以及基于超序列,檢測在至少多個通路中的第一通路和多個通路中的第二通路之間的通路間扭斜。
在至少一個示例中,每一個訓練序列包括訓練序列頭部。
在至少一個示例中,至少部分地基于訓練序列頭部的邊緣來檢測扭斜。
在至少一個示例中,基于邊緣在第二通路上比在第一通路上到達更晚的識別,來檢測扭斜。
在至少一個示例中,訓練序列頭部被解擾地發(fā)送,而訓練序列的剩余部分被加擾。
在至少一個示例中,至少訓練序列的有效載荷被加擾。
在至少一個示例中,有效載荷使用具有23位種子的23位偽隨機二進制序列(prbs)被加擾。
在至少一個示例中,可根據(jù)超序列檢測prbs的種子。
在至少一個示例中,通路間扭斜可被補救。
一個或多個實施例可提供產(chǎn)生包括序列的兩個或更多個連續(xù)實例的超序列的裝置、系統(tǒng)、機器可讀存儲設備、機器可讀介質(zhì)、以及方法,該序列包括后面是一組訓練序列的電氣有序集(eos),其中每一個訓練序列的至少一部分通過相應的加擾值被加擾。
在至少一個示例中,根據(jù)加擾同步字段能夠識別prbs的種子。
在至少一個示例中,種子指示在加擾中利用的prbs的特定部分。
在至少一個示例中,加擾同步字段包括三個字節(jié)的有效載荷。
在至少一個示例中,在加擾中使用全部prbs。
在至少一個示例中,在加擾中使用少于全部的prbs。
一個或多個實施例可提供如下的裝置、系統(tǒng)、機器可讀存儲設備、機器可讀介質(zhì)、以及方法:接收采樣信號用于適應連接第一設備和第二設備的鏈路的通路,其中信號包括超序列,且超序列的至少一部分通過偽隨機序列被加擾;基于采樣信號執(zhí)行至少一個適應任務。
權(quán)利要求68的裝置,其中超序列包括后面是多個連續(xù)訓練序列的電氣有序集(eos)。
在至少一個示例中,至少一個適應任務包括根據(jù)采樣信號確定通路的質(zhì)量。
在至少一個示例中,至少一個適應任務還包括在確定通路的質(zhì)量的基礎上向采樣信號的發(fā)射器提供反饋。
在至少一個示例中,至少一個適應任務還包括在確定通路的質(zhì)量的基礎上修改通路的特性。
一個或多個實施例可提供如下的裝置、系統(tǒng)、機器可讀存儲設備、機器可讀介質(zhì)、以及方法:產(chǎn)生在初始化狀態(tài)中的超序列,每一個超序列包括序列,該序列包括后面是一組訓練序列的電氣有序集(eos),其中每一個訓練序列包括后綴;以及發(fā)送數(shù)據(jù)序列的開始(sds)以指示從初始化狀態(tài)到傳輸鏈路狀態(tài)的轉(zhuǎn)變。
在至少一個示例中,后綴通過偽隨機值防止sds的混疊。
在至少一個示例中,sds的值不被包括在偽隨機值中。
在至少一個示例中,偽隨機值包括由線性反饋移位寄存器(lfsr)產(chǎn)生的偽隨機二進制序列(prbs)。
在至少一個示例中,eieos對低頻時鐘信號進行仿真,且sds對比低頻時鐘信號高的頻率的時鐘信號進行仿真。
在至少一個示例中,sds被發(fā)送以中斷超序列。
在至少一個示例中,sds在特定的一個訓練序列內(nèi)被發(fā)送。
在至少一個示例中,sds在eos的特定實例內(nèi)被發(fā)送。
在至少一個示例中,sds基于確定性的對齊控制信號而被發(fā)送。
一個或多個實施例可提供如下的裝置、系統(tǒng)、機器可讀存儲設備、機器可讀介質(zhì)、以及方法:接收在初始化狀態(tài)中的超序列,每一個超序列包括序列,該序列包括后面是一組訓練序列的電氣有序集(eos),其中每一個訓練序列包括后綴;以及接收數(shù)據(jù)序列的開始(sds)以指示從初始化狀態(tài)到傳輸鏈路狀態(tài)的轉(zhuǎn)變。
在至少一個示例中,sds基于確定性的對齊控制信號而被發(fā)送。
一個或多個示例還可提供配置成耦合到鏈路的物理層(phy),鏈路包括第一數(shù)量的通路,其中phy包括自播種的存儲元件以產(chǎn)生23位偽隨機位序列(prbs),其中phy傳輸基于23位prbs而加擾的訓練序列
在整個這個說明書中對“一個實施例”或“實施例”的提及意味著關于該實施例描述的特定特征、結(jié)構(gòu)、或特性被包括在本發(fā)明的至少一個實施例中。因此,短語“在一個實施例中”或“在實施例中”在整個這個說明書中不同地方的出現(xiàn)并不一定都指同一實施例。此外,特定特征、結(jié)構(gòu)、或特性在一個或多個實施例中可以用任何適當?shù)姆绞浇M合。
在前述說明書中,參考特定的示例性實施例給出了詳細描述。然而明顯的是,可對其做出各種修改和改變,而不偏離如在所附權(quán)利要求中闡述的本發(fā)明的更寬的精神和范圍。說明書和附圖因此在說明性意義而不是限制性意義上被考慮。此外,實施例的前述使用和其它示例性語言并不一定指同一實施例或同一示例,但可以指不同的和獨特的實施例,以及可能同一實施例。