事務性緩沖式存儲器中的提早識別的制作方法
【技術領域】
[0001] 本公開內(nèi)容總體上涉及計算架構(gòu)領域,并且更具體地涉及緩沖式存儲器協(xié)議。
【背景技術】
[0002] 半導體處理和邏輯器件設計的進步已允許可以出現(xiàn)在集成電路設備上的邏輯器 件的量的增加。其必然結(jié)果是,計算機系統(tǒng)配置已從系統(tǒng)中的單個或多個集成電路演進為 在單個集成電路上出現(xiàn)多個核、多個硬件線程以及多個邏輯處理器,以及其它接口被集成 在這樣的處理器內(nèi)。處理器或集成電路典型地包括單個物理處理器管芯,其中,處理器管芯 可以包括任意數(shù)量的核、硬件線程、邏輯處理器、接口、存儲器、控制器集線器等。
[0003] 由于用于將更多的處理功率安裝在較小的封裝中的更大能力,較小的計算設備已 變得越來越流行。智能電話、平板電腦、超薄筆記本以及其它用戶設備指數(shù)地增長。然而,這 些較小的設備依賴于服務器來進行超出規(guī)格的數(shù)據(jù)存儲和復雜處理二者。結(jié)果,對高性能 計算市場(即,服務器空間)的需要也增加了。例如,在現(xiàn)代的服務器中,典型地不僅存在具 有多個核的單個處理器,還具有多個物理處理器(也被稱為多個插槽)以增加計算功率。但 是隨著處理功率和計算系統(tǒng)中的設備數(shù)量一起增長,在插槽和其它設備之間的通信變得更 加關鍵。
[0004] 事實上,互連已經(jīng)從主要處理電通信的較傳統(tǒng)的多點分支總線發(fā)展為促進快速通 信的成熟的互連架構(gòu)。遺憾的是,由于對未來處理器以甚至更高的速率來消耗的需求,因此 對現(xiàn)有的互連架構(gòu)的能力寄予了相應的需求。
【附圖說明】
[0005] 圖1示出了根據(jù)一個實施例的包括用于連接計算機系統(tǒng)中的I/O設備的串行點對 點互連的系統(tǒng)的簡化框圖;
[0006] 圖2示出了根據(jù)一個實施例的分層協(xié)議棧的簡化框圖;
[0007] 圖3示出了事務描述符的實施例。
[0008] 圖4示出了串行點對點鏈路的實施例。
[0009] 圖5示出了潛在的高性能互連(HPI)系統(tǒng)配置的實施例。
[0010] 圖6示出了與HPI相關聯(lián)的分層協(xié)議棧的實施例。
[0011] 圖7示出了示例性狀態(tài)機的表示。
[0012] 圖8示出了在示例性20通道數(shù)據(jù)鏈路上發(fā)送的示例性微片的表示。
[0013] 圖9示出了在示例性8通道數(shù)據(jù)鏈路上發(fā)送的示例性微片的表示。
[0014] 圖10示出了示例性多時隙微片的表示。
[0015] 圖11示出了在示例性8通道數(shù)據(jù)鏈路上發(fā)送的示例性微片的表示。
[0016] 圖12示出了包括調(diào)試消息的示例性多層微片的表示。
[0017] 圖13示出了利用緩沖式存儲器協(xié)議的系統(tǒng)的表示。
[0018] 圖14示出了支持緩沖式存儲器協(xié)議的緩沖器設備的表示。
[0019] 圖15A至圖15C示出了緩沖式存儲器協(xié)議中的示例性微片的表示。
[0020] 圖16是示出了根據(jù)至少一個實施例的在示例性緩沖器設備和主機設備之間的通 信的圖。
[0021] 圖17是示出了根據(jù)至少一個實施例的從緩沖器設備到主機設備的讀取響應跟蹤 器標識符的提早通信的圖。
[0022]圖18示出了針對包括多個處理器插槽的計算系統(tǒng)的塊的實施例。
[0023] 在各個附圖中,類似的參考標記和標志指示類似的要素。
【具體實施方式】
[0024] 在下面的描述中,為了提供對本發(fā)明的更透徹的理解,闡述了大量特定細節(jié),諸如 特定類型的處理器和系統(tǒng)配置、特定的硬件結(jié)構(gòu)、特定的架構(gòu)和微架構(gòu)細節(jié)、特定的寄存器 配置、特定的指令類型、特定的系統(tǒng)部件、特定的處理器流水線階段、特定的互連層、特定的 分組/事務配置、特定的事務名稱、特定的協(xié)議交換、特定的鏈路寬、特定的實現(xiàn)以及操作等 的例子。然而,對于本領域技術人員明顯的是,并不一定采用這些特定的細節(jié)來實施本公開 內(nèi)容的主題。在其它實例中,避免了對已知的部件或方法的非常詳盡的描述,諸如特定的和 替代的處理器架構(gòu)、針對所描述的算法的特定的邏輯電路/代碼、具體的固件代碼、低級別 互連操作、特定的邏輯配置、特定的制造技術和材料、特定的編譯器實現(xiàn)、以代碼形式的對 算法的特定表達、特定的斷電和選通技術/邏輯以及計算機系統(tǒng)的其它特定的操作細節(jié),以 便避免不必要地模糊本公開內(nèi)容。
[0025] 雖然可以參照專用集成電路中(諸如,計算平臺或微處理器中)的節(jié)能、能量效率、 處理效率等來描述下面的實施例,其它實施例可應用于其它類型的集成電路和邏輯設備。 本文描述的實施例的類似的技術和教導可以被應用于也可以受益于這樣的特征的其它類 型的電路或半導體設備。例如,所公開的實施例不受限于服務器計算機系統(tǒng)、臺式計算機系 統(tǒng)、膝上型計算機、超級本?,還可以用在其它設備中,諸如手持設備、智能電話、平板電腦、 其它薄筆記本、片上系統(tǒng)(S0C)設備以及嵌入式應用。手持設備的一些例子包括蜂窩式電 話、互聯(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)的實施例(不 管參照硬件、固件、軟件還是其組合)可以被認為是對于未來利用性能考慮來平衡的"綠色 技術"是至關重要的。
[0026] 隨著計算系統(tǒng)的進步,其中的部件變得更加復雜。用來在部件之間進行耦合和通 信的互連架構(gòu)也已增加了復雜度以確保滿足用于最優(yōu)的部件操作的帶寬需求。此外,不同 的市場部分需要互連架構(gòu)的不同的方面以適合相應的市場。例如,服務器要求較高的性能, 而移動生態(tài)系統(tǒng)有時能夠為了功率節(jié)省而犧牲整體性能。然而,大多數(shù)結(jié)構(gòu)的突出目的是 提供具有最大功率節(jié)省的最高可能的性能。此外,多種多樣的不同的互連可以潛在地受益 于本文描述的主題。
[0027]除其它例子之外,根據(jù)本文描述的一個或多個原則可以潛在地改善除其它例子之 外的外圍部件互連(PCI)快速互連(PCIe)結(jié)構(gòu)架構(gòu)和快速路徑互連(QPI)結(jié)構(gòu)架構(gòu)。例如, PCIe的主要目標是實現(xiàn)來自于不同供應商的部件和設備在開放式架構(gòu)中、跨多個市場部分 來互操作;客戶端(臺式機和移動設備)、服務器(標準和企業(yè))以及嵌入式和通信設備??焖?PCI是針對廣泛的多種多樣的未來的計算和通信平臺來定義的高性能、通用I/O互連。已經(jīng) 通過PCI的修訂保持了一些PCI屬性,諸如其使用模型、加載存儲架構(gòu)以及軟件接口,然而, 先前的并行總線實現(xiàn)已經(jīng)被高可擴展的、全串行接口代替??焖貾CI的較近版本利用了點對 點互連、基于交換機的技術以及分組化協(xié)議中的進步以發(fā)布新水平的性能和特征。功率管 理、服務質(zhì)量(Q〇S)、熱插拔/熱交換支持、數(shù)據(jù)完整性以及錯誤處理是由快速PCI支持的先 進特征中的一些特征。雖然本文主要的討論參照新的高性能互連(HPI)架構(gòu),但是本文描述 的發(fā)明的其它方面可以被應用于其它互連架構(gòu),諸如遵循PCIe的架構(gòu)、遵循QPI的架構(gòu)、遵 循MIPI的架構(gòu)、高性能架構(gòu)或者其它已知的互連架構(gòu)。
[0028]參照圖1,示出了由互連部件的集合的點對點鏈路組成的結(jié)構(gòu)的實施例。系統(tǒng)100 包括處理器105和耦合到控制器集線器115的系統(tǒng)存儲器110。處理器105可以包括任何處理 元素,諸如微處理器、主機處理器、嵌入式處理器、協(xié)處理器或其它處理器。處理器105通過 前側(cè)總線(FSB) 106耦合到控制器集線器115。在一個實施例中,F(xiàn)SB是如下面描述的串行點 對點互連。在另一個實施例中,鏈路106包括遵循不同互連標準的串行、差分互連架構(gòu)。 [0029]系統(tǒng)存儲器110包括任何存儲器設備,諸如隨機存取存儲器(RAM)、非易失性(NV) 存儲器或者可由系統(tǒng)100中的設備存取的其它存儲器。系統(tǒng)存儲器110通過存儲器接口 116 耦合到控制器集線器115。存儲器接口的例子包括雙數(shù)據(jù)速率(DDR)存儲器接口、雙通道DDR 存儲器接口以及動態(tài)RAM( DRAM)存儲器接口。
[0030] 在一個實施例中,控制器集線器115可以包括諸如在PCIe互連層次中的根集線器、 根復合體或根控制器??刂破骷€器115的例子包括芯片集、存儲器控制器集線器(MCH)、北 橋、互連控制器集線器(ICH)、南橋以及根控制器/集線器。術語芯片集通常指代兩個在物理 上分離的控制器集線器,例如,耦合到互連控制器集線器(ICH)的存儲器控制器集線器 (MCH)。注意,當前的系統(tǒng)通常包括與處理器105集成的MCH,而控制器115以如下面描述的類 似的方式來與I/O設備進行通信。在一些實施例中,可以通過根復合體115來可選擇地支持 對等路由。
[0031] 這里,控制器集線器115通過串行鏈路119耦合到交換機/橋120。輸入/輸出模塊 117和121 (其還可以被稱為接口 /端口 117和121)可以包括/實現(xiàn)分層協(xié)議棧來提供控制器 集線器115和交換機120之間的通信。在一個實施例中,多個設備能夠被耦合到交換機120。 [0032]交換機/橋120將分組/消息從設備125上游地(即向根復合體朝上層)路由到控制 器集線器115,以及下游地(即遠離根控制器朝下層)從處理器105或系統(tǒng)存儲器110路由到 設備125。在一個實施例中,交換機120被稱為多個虛擬PCI對PCI橋設備的邏輯集合。設備 125包括將耦合到電系統(tǒng)的任何內(nèi)部或外部設備或部件,諸如I/O設備、網(wǎng)絡接口控制器 (NIC)、插入卡、音頻處理器、網(wǎng)絡處理器、硬盤驅(qū)動器、存儲設備、⑶/DVD R0M、監(jiān)控器、打印 機、鼠標、鍵盤、路由器、便攜式存儲設備、火線設備、通用串行總線(USB)設備、掃描儀以及 其它輸入/輸出設備。通常在PCIe術語中,像這樣的設備被稱為端點。雖然沒有明確地示出, 設備125可以包括橋(例如,PCIe或PCI/PCI-X橋)以支持由這樣的設備所支持的設備或互連 結(jié)構(gòu)的傳統(tǒng)或其它版本。
[0033] 圖形加速器130也可以通過串行鏈路132耦合到控制器集線器115。在一個實施例 中,圖形加速器130耦合到MCH,其耦合到ICH。交換機120以及相應的I/O設備125隨后耦合到 ICILI/0模塊131和118也要實現(xiàn)分層協(xié)議棧來在圖形加速器130和控制器集線器115之間進 行通信。與上面的MCH討論相類似,圖形控制器或圖形加速器130本身可以被集成在處理器 105 中。
[0034] 轉(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é)議棧的模塊或接口。
[0035]分組可以用于在部件之間傳送信息。分組可以在事務層205和數(shù)據(jù)鏈路層210中形 成以從發(fā)送部件攜帶信息到接收部件。隨著所發(fā)送的分組流過其它層,其被擴展為具有用 于在那些層處處理分組的額外的信息。在接收側(cè)處,發(fā)生反向過程,以及分組被從其物理層 220表示轉(zhuǎn)變?yōu)閿?shù)據(jù)鏈路層210表示,以及最終(針對事務層分組)被轉(zhuǎn)變?yōu)榭捎山邮赵O備的 事務層205處理的形式。
[0036]在一個實施例中,事務層205可以提供設備的處理核和互連架構(gòu)(諸如數(shù)據(jù)鏈路層 210和物理層220)之間的接口。在這點上,事務層205的主要責任可以包括組裝和拆解分組 (即,事務層分組或TLP)。轉(zhuǎn)換層205還可以管理針對TLP的基于信用的流控制。除其它例子 外,在一些實現(xiàn)中,可以利用分離事務,即,具有由時間分離的請求和響應的事務,其允許在 目標設備收集針對響應的數(shù)據(jù)的同時鏈路攜帶其它業(yè)務。
[0037] 基于信用的流控制可以用于實現(xiàn)利用互連結(jié)構(gòu)的虛擬信道和網(wǎng)絡。在一個例子 中,設備可以通告針對事務層205中的接收緩沖器中的每一個接收緩沖器的初始信用量。在 鏈路的對端處的外部設備,諸如在圖1中的控制器集線器115,可以對由每一個TLP消耗的信 用數(shù)進行計數(shù)。如果事務沒有超出信用限度,那么可以發(fā)送事務。當接收到響應時恢復信用 量。除其它潛在的優(yōu)勢外,這樣的信用方案的優(yōu)勢的一個例子是信用返回的延時不影響性 能,前提是沒遇到信用限度。
[0038] 在一個實施例中,四事務地址空間可以包括配置地址空間、存儲器地址空間、輸 入/輸出地址空間以及消息地址空間。存儲器空間事務包括用于轉(zhuǎn)移數(shù)據(jù)到存儲器映射的 位置或從存儲器映射的位置轉(zhuǎn)移數(shù)據(jù)的一個或多個讀取請求和寫入請求。在一個實施例 中,存儲器空間事務能夠使用兩個不同的地址格式,例如,諸如32比特地址的短地址格式, 或者諸如64比特地址的長地址格式。配置空間事務可以用于訪問連接到互連的各個設備的 配置空間。到配置空間的事務可以包括讀取請求和寫入請求。消息空間事務(或簡稱為消 息)還可以被定義用來支持互連代理之間的帶內(nèi)通信。因此,在一個示例性實施例中,事務 層205可以組裝分組報頭/有效負載206。
[0039] 快速地參照圖3,示出了事務層分組描述符的示例性實施例。在一個實施例中,事 務描述符300可以是用于攜帶事務信息的機制。在這一點上,事務描述符300支持對系統(tǒng)中 的事務的標識。其它潛在的用途包括跟蹤對默認事務排序的修改和事務與信道的關聯(lián)。例 如,事務描述符300可以包括全局標識符字段302、屬性字段304以及信道標識符字段306。在 所示出的例子中,全局標識符字段302被描繪為包括本地事務標識符字段308和源標識符字 段310。在一個實施例中,全局事務標識符302對于所有未決的請求是唯一的。
[0040]根據(jù)一種實現(xiàn),本地事務標識符字段308是由請求代理生成的字段,并且對于為了 該請求代理需要完成的所有未決請求可以是唯一的。此外,在本例子中,源標識符310唯一 地標識在互連層次內(nèi)的請求器代理。相應地,本地事務標識符字段308連同源ID 310提供了 在層次域內(nèi)的對事務的全局標識。
[0041]屬性字段304指定事務的特性和關系。在這一點上,屬性字段304潛在地用于提供 用于允許修改對事務的默認處理的額外的信息。在一個實施例中,屬性字段304包括優(yōu)先級 字段312、保留字段314、排序字段316以及非監(jiān)聽字段318。這里,優(yōu)先級子字段312可以被初 始器修改以為事務分配優(yōu)先級。保留屬性字段314被保留下來用于將來或供應商定義的使 用。可以使用保留屬性字段來實現(xiàn)使用了優(yōu)先級或安全屬性的可能的使用模型。
[0042]在本例子中,排序?qū)傩宰侄?16用于提供傳送可以修改默認排序規(guī)則的排序類型 的可選擇的信息。根據(jù)一個示例性實現(xiàn),排序?qū)傩詾?〇"指示將應用默認的排序規(guī)則,其中, 排序?qū)傩詾?1"指示寬松排序,其中,寫入可以沿相同的方向傳遞寫入,以及讀取完成可以 沿相同的方向傳遞寫入。監(jiān)聽屬性字段318用于確定事務是否被監(jiān)聽。如示出的,信道ID字 段306標識與事務相關聯(lián)的信道。
[0043]返回圖2的討論,鏈路層210(還被稱為數(shù)據(jù)鏈路層210)可以用作事務層205和物理 層220之間的中間階段。在一個實施例中,數(shù)據(jù)鏈路層210的責任是提供用于在鏈路上的兩 個部件之間交換事務層分組(TLP)的可靠的機制。數(shù)據(jù)鏈路層210的一側(cè)接收由事務層205 組裝的TLP、應用分組序列標識符211(即,識別號或分組號)、計算和應用錯誤檢測碼(即, CRC212)以及向物理層220提交所修改的TLP用于跨物理的到外部設備的傳輸。
[0044] 在一個例子中,物理層220包括用于向外部設備物理地發(fā)送分組的邏輯子塊221和 電子塊222。這里,邏輯子塊221負責物理層221的"數(shù)字"功能。在這一點上,邏輯子塊可以包 括用于準備針對由物理子塊222進行的傳輸?shù)妮敵鲂畔⒌陌l(fā)送部分,以及用于在將接收到 的信息傳遞給鏈路層210之前識別和準備接收到的信息的接收機部分。
[0045]物理塊222包括發(fā)射機和接收機。由邏輯子塊221為發(fā)射機提供符號,發(fā)射機串行 化該符號并且將其發(fā)送給外部設備。接收機被提供來自于外部設備的經(jīng)串行化的符號并且 將所接收到的信號轉(zhuǎn)換為比特流。比特流被解串行化并且被提供給邏輯子塊221。在一個示 例性實施例中,采用了8b/10b傳輸碼,其中,10比特符號被發(fā)送/被接收。這里,特殊符號用 于利用幀223來構(gòu)造分組。另外,在一個例子中,接收機還提供從輸入串行流中恢復的符號 時鐘。
[0046]如上所述,雖然參照協(xié)議棧(諸如PCIe協(xié)議棧)的特定實施例來討論了事務層205、 鏈路層210以及物理層220,但是分層協(xié)議棧不局限于此。事實上,任何協(xié)議??梢员话? 被實現(xiàn)并且可以采用本文所討論的特征。作為例子,被表示為分層協(xié)議的端口 /接口可以包 括:(1)組裝分組的第一層,即事務層;對分組排序的第二層,即鏈路層;以及發(fā)送分組的第 三層,即物理層。如特定例子,利用了如本文中描述的高性能互連分層協(xié)議。
[0047 ]接下來參照圖4,示出了串行點對點結(jié)構(gòu)的示例性實施例。串行點對點鏈路可以包 括用于發(fā)送串行數(shù)據(jù)的任何傳輸路徑。在示出的實施例中,鏈路可以包