两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

在PCIExpress上啟用基于ID的流的方法和裝置的制作方法

文檔序號(hào):6603842閱讀:178來源:國知局
專利名稱:在PCIExpress上啟用基于ID的流的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及互連領(lǐng)域,尤其涉及在PCIExpress上啟用基于ID的流。
背景技術(shù)
計(jì)算機(jī)系統(tǒng)包括大量組件和元件。這些組件經(jīng)常經(jīng)由總線或互連耦合。以往,輸 入/輸出(I/O)設(shè)備通過被稱為外設(shè)部件互連(PCI)的傳統(tǒng)多站式并行總線架構(gòu)耦合在一 起。近來,被稱為PCIExpress (PCIe)的新一代I/O總線已被用來通過利用一系列物理層通 信協(xié)議來促進(jìn)設(shè)備間更快速的互連。PCIE架構(gòu)包括在設(shè)備間通信的分層協(xié)議。例如,物理層、鏈路層和事務(wù)處理層 (transaction layer)構(gòu)成PCIE協(xié)議棧。PCIe鏈路是圍繞被稱為巷道(lane)的串行點(diǎn) 對(duì)點(diǎn)連接的專用單向?qū)⒌?。設(shè)備之間的鏈路包括某一數(shù)量的巷道,例如1、2、16、32 等。當(dāng)前的 PCIE 規(guī)范,即基本規(guī)范 2. 0,可從 http://www. pcisig. com/specifications/ pciexpress/ 獲得。已創(chuàng)立傳統(tǒng)PCIe定序規(guī)則以實(shí)現(xiàn)制造者_(dá)消費(fèi)者編程模型。在這種模型下,需要 從特定設(shè)備讀出以促成在其之前產(chǎn)生的寫入。這種編程模型確保某一存儲(chǔ)器位置X的讀出 將總是獲得寫入到該存儲(chǔ)器位置的最近數(shù)據(jù)。然而,這種定序需求造成來自一個(gè)請求流的請求(具有同一請求方和同一目的地 的讀或?qū)懯聞?wù)序列)干擾另一獨(dú)立的請求。這種干擾可能造成嚴(yán)重的性能瓶頸。當(dāng)讀請求 是等待時(shí)間敏感的,如果未提交的請求被阻塞在已提交的請求之后,那么這個(gè)問題是尤為 嚴(yán)重的。


本發(fā)明以示例示出并且不旨在受附圖的限制。圖1示出包括串行點(diǎn)對(duì)點(diǎn)互連以連接計(jì)算機(jī)系統(tǒng)中的I/O設(shè)備的系統(tǒng)的實(shí)施例。圖2示出分層協(xié)議棧的一個(gè)實(shí)施例。圖3示出存儲(chǔ)器定序邏輯的一個(gè)實(shí)施例。圖4示出包括基于ID的定序標(biāo)志的數(shù)據(jù)包的實(shí)施例。圖5示出定序表的一個(gè)實(shí)施例。圖6示出啟用基于設(shè)備ID的流的流程圖的實(shí)施例。
具體實(shí)施例方式在下面的說明中給出許多具體細(xì)節(jié),例如具體互連、具體數(shù)據(jù)包/消息、數(shù)據(jù)包/ 消息中的具體字段和位置、邏輯/高速緩存的具體位置等,以提供對(duì)本發(fā)明的透徹理解。然 而對(duì)本領(lǐng)域內(nèi)技術(shù)人員顯而易見地,實(shí)現(xiàn)本發(fā)明不必采用這些具體細(xì)節(jié)。在其它實(shí)例中,例 如高速緩存邏輯/應(yīng)用、外設(shè)部件互連Express(PCIe)消息收發(fā)協(xié)議、事務(wù)中的PCIe字段 /數(shù)據(jù)包以及其它PCIe基本實(shí)現(xiàn)的公知組件或方法未被詳細(xì)描述以防不必要地遮蓋本發(fā)明。本文描述的方法和裝置用于在PCIe上啟用基于ID的流。具體地說,開關(guān)中排隊(duì) 的請求的旁路是參照(因信用(credits)或例如頁錯(cuò)的其它事件)遲延(stall)的已提交 請求討論的。然而,啟用基于ID的流的方法和裝置不受此限,因?yàn)樗鼈兛蓪?shí)現(xiàn)在例如任意 輸入/輸出設(shè)備或其它計(jì)算機(jī)組件的任何集成電路設(shè)備上或關(guān)聯(lián)于任何集成電路設(shè)備,以 及與任意類型的串行點(diǎn)對(duì)點(diǎn)互連結(jié)合。串行點(diǎn)對(duì)點(diǎn)分層的協(xié)議鏈路/互連參見圖1,示出了包括經(jīng)由串行鏈路耦合于控制器中樞的設(shè)備的系統(tǒng)的實(shí)施例。系 統(tǒng)100包括處理器105和耦合于控制器中樞115的系統(tǒng)存儲(chǔ)器110。處理器105包括任何 處理元件,例如微處理器、主處理器、嵌入式處理器、協(xié)處理器或其它處理器。處理器105通 過前端總線(FSB) 106耦合于控制器中樞115。在一個(gè)實(shí)施例中,F(xiàn)SB 106是如下文所述的 串行點(diǎn)對(duì)點(diǎn)互連。系統(tǒng)存儲(chǔ)器110包括任何存儲(chǔ)設(shè)備,例如隨機(jī)存取存儲(chǔ)器(RAM)、非易失(NV)存儲(chǔ) 器或可由系統(tǒng)100中的設(shè)備訪問的其它存儲(chǔ)器。系統(tǒng)存儲(chǔ)器110通過存儲(chǔ)器接口 116耦合 于控制器中樞115。存儲(chǔ)器接口的示例包括雙倍數(shù)據(jù)率(DDR)存儲(chǔ)器接口、雙通道DDR存儲(chǔ) 器接口和動(dòng)態(tài)RAM (DRAM)存儲(chǔ)器接口。在一個(gè)實(shí)施例中,控制器中樞115是外設(shè)部件互連Express (PCIe或PCIE)互連 分層結(jié)構(gòu)的根中樞或根控制器。控制器中樞115的示例包括芯片組、存儲(chǔ)器控制器中樞 (MCH)、北橋、互連控制器中樞(ICH)、南橋以及根控制器/中樞。通常術(shù)語芯片組指兩個(gè)物 理上分開的控制器中樞,即耦合于互連控制器中樞(ICH)的存儲(chǔ)器控制器中樞(MCH)。這里,控制器中樞115通過串行鏈路119耦合于開關(guān)/橋120。也可被稱為接口 / 端口 117、121的輸入/輸出模塊117、121包括/應(yīng)用分層協(xié)議棧以提供控制器中樞115和 開關(guān)120之間的通信。例如模塊117、118、121、122、124、126、129和131的模塊可用硬件、 軟件、固件或其任意組合實(shí)現(xiàn)。此外,在不同實(shí)施例中,模塊邊界通常是變化的并且功能是 一起實(shí)現(xiàn)或單獨(dú)實(shí)現(xiàn)的。在一個(gè)實(shí)施例中,多個(gè)設(shè)備能耦合于開關(guān)120。開關(guān)120在上游——即向上,朝向根控制器的層次——將來自設(shè)備125、128的數(shù) 據(jù)包/消息路由至控制器中樞115并在下游——即向下,遠(yuǎn)離根控制器的層次——將數(shù)據(jù) 包/消息從處理器105或系統(tǒng)存儲(chǔ)器110路由至設(shè)備125、128。設(shè)備125、128包括要耦合 于電子系統(tǒng)的任何內(nèi)部或外部設(shè)備或組件,例如I/O設(shè)備、網(wǎng)絡(luò)接口控制器(NIC)、附加卡、 音頻處理器、網(wǎng)絡(luò)處理器、硬盤驅(qū)動(dòng)器、存儲(chǔ)設(shè)備、⑶/DVD ROM、監(jiān)視器、打印機(jī)、鼠標(biāo)、鍵盤、 路由器、便攜式存儲(chǔ)設(shè)備、防火墻設(shè)備、通用串行總線(USB)設(shè)備、掃描儀以及其它輸入/輸 出設(shè)備。開關(guān)120包括如下文中更詳細(xì)描述的存儲(chǔ)器定序邏輯140以啟用基于設(shè)備ID的 流。圖形加速器130也通過串行鏈路132耦合于控制器中樞115。在一個(gè)實(shí)施例中,圖 形加速器130耦合于MCH,所述MCH耦合于ICH。開關(guān)120并因此I/O設(shè)備125、128則耦合 于ICH。I/O模塊131、118也實(shí)現(xiàn)分層協(xié)議棧以在圖形加速器130和控制器中樞115之間
通{曰。轉(zhuǎn)向圖2,示出了分層協(xié)議棧的一個(gè)實(shí)施例。分層協(xié)議棧200包括任何分層通信 棧,例如快速路徑互連(QPI)棧、PCIe?;蚱渌鼌f(xié)議棧。在一個(gè)實(shí)施例中,協(xié)議棧200是包
5含事務(wù)處理層205、鏈路層210和物理層220的PCIe協(xié)議棧。例如圖1中接口 117、118、 121、122、124、126、129和131的接口可被表示為通信協(xié)議棧200。表示為通信協(xié)議棧也被 稱為實(shí)現(xiàn)/包含協(xié)議棧的模塊或接口。事各處理層在一個(gè)實(shí)施例中,事務(wù)處理層205在設(shè)備處理核心和例如數(shù)據(jù)鏈路層210和物理 層220的互連架構(gòu)之間提供接口。在這個(gè)方面,事務(wù)處理層205的主要責(zé)任是數(shù)據(jù)包(即 事務(wù)處理層數(shù)據(jù)包或TLP)的組裝和拆分。PCIe實(shí)現(xiàn)拆分事務(wù),即具有按時(shí)間分隔的請求和 響應(yīng)的事務(wù),允許在目標(biāo)設(shè)備對(duì)于響應(yīng)采集數(shù)據(jù)的同時(shí)鏈路承載其它通信量。此外,PCIe利用基于信用的流程控制。在這種機(jī)制下,設(shè)備通告事務(wù)處理層205中 每個(gè)接收緩沖器的信用的初始量。處于鏈路相對(duì)端的外部設(shè)備,例如圖1中的控制器中樞 115,對(duì)每個(gè)TLP所消耗的信用數(shù)目予以計(jì)數(shù)。如果事務(wù)沒有超出信用極限,則發(fā)送該事務(wù)。 在接收到響應(yīng)后,恢復(fù)某一數(shù)量的信用。信用機(jī)制的優(yōu)點(diǎn)是假設(shè)沒有遇到信用極限則信用 返回的等待時(shí)間不會(huì)影響性能。在一個(gè)實(shí)施例中,四個(gè)事務(wù)地址空間包括配置地址空間、存儲(chǔ)器地址空間、輸入/ 輸出地址空和消息地址空間。存儲(chǔ)器空間事務(wù)包括要將數(shù)據(jù)傳至存儲(chǔ)器映射的位置/從存 儲(chǔ)器映射的位置傳送的讀請求和寫請求中的一個(gè)或多個(gè)。在一個(gè)實(shí)施例中,存儲(chǔ)器空間事 務(wù)能使用兩種不同的地址格式,例如32位地址的短地址格式或例如64位地址的長地址格 式。配置空間事務(wù)用來訪問PCI設(shè)備的配置空間。對(duì)配置空間的事務(wù)包括讀請求和寫請求。 消息空間事務(wù)(或簡稱為消息)被定義為支持PCIe代理之間的帶內(nèi)通信。因此,在一個(gè)實(shí)施例中,事務(wù)處理層205組裝數(shù)據(jù)包首部/有效負(fù)載206。數(shù) 據(jù)包首部/有效負(fù)載的格式可在PCIe規(guī)范中找到,即可在http //www. pcisig. com/ specifications/pciexpress/ 獲得的 PCIe 基本規(guī)范 2. 0 中找到。鏈路層也被稱為數(shù)據(jù)鏈路層210的鏈路層210充當(dāng)事務(wù)處理層205和物理層220之間的 中間階級(jí)。在一個(gè)實(shí)施例中,數(shù)據(jù)鏈路層210的責(zé)任是提供在鏈路的兩組件之間交換事務(wù) 處理層數(shù)據(jù)包(TLP)的可靠機(jī)制。數(shù)據(jù)鏈路層210的一側(cè)接受由事務(wù)處理層205組裝的 TLP,施加數(shù)據(jù)包序列標(biāo)識(shí)符211 (即識(shí)別號(hào)或數(shù)據(jù)包號(hào)),計(jì)算并施加檢錯(cuò)碼(即CRC212), 并將經(jīng)修正的TLP提交給物理層220以在物理上傳輸至外部設(shè)備。物理層在一個(gè)實(shí)施例中,物理層220包括邏輯子塊221和電子塊222以將數(shù)據(jù)包在物理 上傳輸至外部設(shè)備。這里,邏輯子塊221負(fù)責(zé)物理層221的“數(shù)字”功能。在這個(gè)方面,邏 輯子塊包括預(yù)備由物理子塊222發(fā)送的傳出信息的發(fā)送部,以及在將所接收信息傳至鏈路 層210前識(shí)別和預(yù)備所接收信息的接收部。物理塊222包括發(fā)送機(jī)和接收機(jī)。發(fā)送機(jī)由帶碼元的邏輯子塊221提供,發(fā)送機(jī) 串行化所述碼元并將其發(fā)送至外部設(shè)備上。向接收機(jī)提供來自外部設(shè)備的串行化碼元,接 收機(jī)將所接收的信號(hào)變換成比特流。比特流被解串行化并提供給邏輯子塊221。在一個(gè)實(shí) 施例中,采用8b/10b傳輸碼,其中發(fā)送/接收十比特碼元。這里,使用特殊碼元來用幀223 對(duì)數(shù)據(jù)包組幀。另外在一個(gè)例子中,接收機(jī)還提供從傳入的串行流恢復(fù)的碼元時(shí)鐘。如上所述,盡管事務(wù)處理層205、鏈路層210和物理層220是參照PCIe協(xié)議棧的
6特定實(shí)施例描述的,然而分層協(xié)議棧不受此限。實(shí)際上,可納入實(shí)現(xiàn)任何分層協(xié)議。作為示 例,表示為分層協(xié)議的端口 /接口包括(1)組裝數(shù)據(jù)包的第一層,即事務(wù)處理層;使數(shù)據(jù)包 序列化的第二層,即鏈路層;以及發(fā)送數(shù)據(jù)包的第三層,即物理層。接著參見圖3,示出了存儲(chǔ)器定序邏輯的實(shí)施例。如圖所示,智能開關(guān)300包括存 儲(chǔ)器定序邏輯305、提交的請求隊(duì)列308(包括提交的請求310A-N)和指針322、未提交的請 求隊(duì)列314(包括未提交的請求316A-N)和指針324、完成隊(duì)列318 (包括完成320A-N)和指 針326以及端口 350 (它可以是上游或下游端口)。存儲(chǔ)器定序邏輯305實(shí)現(xiàn)啟用基于設(shè)備ID的流的方法,例如參照圖6描述的方 法,并可包括基于ID的定序激勵(lì)器322、隊(duì)列選擇器334、指針處理器336、請求者/完成者 ID比較器338和IDO標(biāo)志檢驗(yàn)340。參見圖4,示出了包含基于ID的定序標(biāo)志的數(shù)據(jù)包的實(shí)施例。數(shù)據(jù)包指的是要在 總線/互連上傳輸?shù)娜魏握埱?、消息、訪問或其它信息組。在所示實(shí)施例中,數(shù)據(jù)包400包括 其它信息字段405。其它信息405的例子包括預(yù)留字段、格式字段、類型字段、屬性字段、長 度字段、PCIe專用字段或任何其它協(xié)議專用字段。另外,數(shù)據(jù)包400包括請求者ID 415 (字 節(jié)4和5),請求者ID 415可引用進(jìn)行請求的代理/設(shè)備并作為全局ID/事務(wù)描述符的一部 分或包括全局ID/事務(wù)ID,數(shù)據(jù)包400還可包括引用地址位置的地址字段420。屬性位402、404可啟用如圖所示的定序模型450、455、460和465。可使用字節(jié)1 的當(dāng)前預(yù)留位2的屬性位402表示基于ID的定序標(biāo)志,該標(biāo)志可置為請求者或完成者以指 示請求或完成是次序無關(guān)的并可繞過所提交的請求。接著參見圖5,示出了定序表的一個(gè)實(shí)施例。表500類似于PCI規(guī)范的表2-24,但 有所改變以允許在某些情況下由獨(dú)立請求流繞過較早排隊(duì)但被遲延的已提交存儲(chǔ)器寫或 消息請求(列2)。根據(jù)單元格505,不嚴(yán)格的定序?qū)傩晕?04清零且ID定序位402清零的存儲(chǔ)器 寫或消息請求不允許通過(a);不嚴(yán)格的定序?qū)傩晕?04置位且ID定序位402清零的存儲(chǔ) 器寫或消息請求被允許通過(b),以及不嚴(yán)格的定序?qū)傩晕?04清零且ID定序位402置位 的存儲(chǔ)器寫或消息請求被允許傳遞任何其它存儲(chǔ)器寫或消息請求,如果它們的請求者的ID 415是不同的話(C)。根據(jù)單元格510,不嚴(yán)格的定序?qū)傩晕?04清零且ID定序位402清零的讀請求 不允許通過(a);不嚴(yán)格的定序?qū)傩晕?04置位且ID定序位402清零的讀請求不允許通過 (b);以及不嚴(yán)格的定序?qū)傩晕?04清零或置位且ID定序位402置位的讀請求被允許傳遞 任何其它存儲(chǔ)器寫或消息請求,如果它們的請求者的ID 415是不同的話(C)。根據(jù)單元格515,I/O或配置寫請求不能傳遞存儲(chǔ)器寫或消息請求。這保護(hù)了支持 生產(chǎn)者/消費(fèi)者使用模型所需的強(qiáng)制寫定序。根據(jù)單元格520,不嚴(yán)格的定序?qū)傩晕?04清零且ID定序位402清零的讀完成 不允許通過(a);不嚴(yán)格的定序?qū)傩晕?04置位且ID定序位402清零的讀完成被允許通過 (b);而不嚴(yán)格的定序?qū)傩晕?04清零且ID定序位402置位的讀完成被允許傳遞任何其它 存儲(chǔ)器寫或消息請求,如果其完結(jié)者的ID不同于存儲(chǔ)器寫的請求者的ID 415。最后,根據(jù)單元格525,I/O或配置寫完成被允許被存儲(chǔ)器寫和消息請求阻塞或傳 遞存儲(chǔ)器寫和消息請求。這類事務(wù)實(shí)際上沿相反方向移動(dòng),并因此不具有定序關(guān)系。
接著參見圖6,示出了啟用基于設(shè)備ID的流的流程圖的實(shí)施例。在流程605中,基 于ID的定序激勵(lì)器332判斷是否存在繞過已提交請求的機(jī)會(huì)。在一個(gè)實(shí)施例中,如果確定 已提交請求被遲延,則激勵(lì)器332使處理前進(jìn)至流程610。在流程610,隊(duì)列選擇器334則選擇隊(duì)列以尋找要傳輸?shù)膫溥x數(shù)據(jù)包。在一個(gè)實(shí) 施例中,選擇器334基于哪個(gè)隊(duì)列具有最多條目而選擇已提交的請求隊(duì)列308、未提交的請 求隊(duì)列314或完成隊(duì)列318。在另一實(shí)施例中,選擇器334總是首先選擇未提交的請求隊(duì) 列314以尋找備選數(shù)據(jù)包。在流程615中,如果之前的潛在備選數(shù)據(jù)包不被允許通過(即 不是來自獨(dú)立流或ID定序位402未被置位),則指針處理器336可例如遞增指針322、324、 326中的一個(gè)或多個(gè)。接著,在流程620,請求者/完成者ID比較器338判斷潛在備選數(shù)據(jù)包的請求者/ 完成者ID是否不同于已提交請求隊(duì)列308中任何早先接收的已提交請求。在一個(gè)實(shí)施例 中,比較器338使用與每一未提交請求和完成一起存儲(chǔ)的已提交請求指針來確定已提交請 求隊(duì)列308中哪些已提交請求在潛在備選數(shù)據(jù)包之前被接收到。如果潛在備選數(shù)據(jù)包被確 定為來自早先接收的已提交請求的獨(dú)立流,則處理繼續(xù)至流程625。否則,處理返回到流程 605。在流程625,IDO標(biāo)志檢驗(yàn)340驗(yàn)證潛在備選數(shù)據(jù)包中ID定序位402是否被置位, 如果是的話,在流程630備選數(shù)據(jù)包在端口 350上傳輸。否則,處理返回到流程605。上述方法、軟件、固件或代碼的實(shí)施例可藉由存儲(chǔ)在處理元件可執(zhí)行的機(jī)器可訪 問或機(jī)器可讀介質(zhì)上的指令或代碼來實(shí)現(xiàn)。機(jī)器可訪問/可讀介質(zhì)包括以機(jī)器(例如計(jì)算 機(jī)或電子系統(tǒng))可讀的形式提供(即存儲(chǔ)和/或傳輸)信息的任何機(jī)制。例如,機(jī)器可訪 問介質(zhì)包括隨機(jī)存取存儲(chǔ)器(RAM),例如靜態(tài)RAM(SRAM)或動(dòng)態(tài)RAM(DRAM)、ROM、磁或光存 儲(chǔ)介質(zhì)、閃存設(shè)備、電、光、聲或其它形式的傳播信號(hào)(例如載波、紅外信號(hào)、數(shù)字信號(hào))等。在本說明書中提到的“一個(gè)實(shí)施例”或“一實(shí)施例”表示結(jié)合該實(shí)施例描述的特定 特征、結(jié)構(gòu)或特點(diǎn)被包含在本發(fā)明的至少一個(gè)實(shí)施例中。因此,本說明書中多處出現(xiàn)的術(shù)語 “在一個(gè)實(shí)施例中”或“在一實(shí)施例中”不必全部指同一實(shí)施例。此外,在一個(gè)或多個(gè)實(shí)施例 中可以按任何適宜的方式將特定的特征、結(jié)構(gòu)或特點(diǎn)結(jié)合起來。在前面的說明書中,已參照特定示例性實(shí)施例給出了詳細(xì)說明。然而,顯然可就 此作出多種修改和變化而不脫離如所附權(quán)利要求書所述的本發(fā)明更寬的精神和范圍。因 此,說明書和附圖被認(rèn)為是說明性的而非限定性的。此外,前面對(duì)實(shí)施例和其它示例性語言 的使用不必指同一實(shí)施例或同一示例,而是可以指不同和獨(dú)特的實(shí)施例或可能是同一實(shí)施 例。
權(quán)利要求
一種裝置,包括對(duì)要在串行點(diǎn)對(duì)點(diǎn)互連端口上發(fā)送的數(shù)據(jù)包定序的存儲(chǔ)器定序邏輯,如果第二數(shù)據(jù)包包括指示所述第二數(shù)據(jù)包是次序無關(guān)的屬性標(biāo)志置位并且如果所述第二數(shù)據(jù)包包括與包含在第一數(shù)據(jù)包中的ID不同的ID,則所述存儲(chǔ)器定序邏輯用在所述第一數(shù)據(jù)包之后到達(dá)的所述第二數(shù)據(jù)包繞過遲延的第一數(shù)據(jù)包。
2.如權(quán)利要求1所述的裝置,其特征在于,還包括存儲(chǔ)器邏輯,如果所述第二數(shù)據(jù)包包 括與排隊(duì)發(fā)送的每個(gè)早先接收的數(shù)據(jù)包中包含的ID不同的ID,則所述存儲(chǔ)器邏輯用在第 一數(shù)據(jù)包后到達(dá)的第二數(shù)據(jù)包繞過遲延的第一數(shù)據(jù)包。
3.如權(quán)利要求1所述的裝置,其特征在于,所述第二數(shù)據(jù)包包括未提交的請求數(shù)據(jù)包, 并且所述第二數(shù)據(jù)包ID包括請求者ID。
4.如權(quán)利要求1所述的裝置,其特征在于,所述第二數(shù)據(jù)包包括完成數(shù)據(jù)包,且所述第 二數(shù)據(jù)包ID包括完成者ID。
5.如權(quán)利要求1所述的裝置,其特征在于,所述ID包括數(shù)據(jù)包的首部的字節(jié)4和5。
6.如權(quán)利要求1所述的裝置,其特征在于,所述第一和第二數(shù)據(jù)包均包含處于已提交 請求隊(duì)列中的寫請求。
7.如權(quán)利要求1所述的裝置,其特征在于,所述串行點(diǎn)對(duì)點(diǎn)互連是外設(shè)部件互連 Express(PCI)鏈路,并進(jìn)一步包括與PCIE鏈路通信耦合的處理器、系統(tǒng)存儲(chǔ)器和圖形加速
8.如權(quán)利要求1所述的裝置,其特征在于,所述端口是下游端口。
9.一種裝置,包括沿串行點(diǎn)對(duì)點(diǎn)鏈路傳輸數(shù)據(jù)包的端口;存儲(chǔ)要在所述端口上傳輸?shù)囊烟峤徽埱蟮臄?shù)據(jù)包的第一隊(duì)列;存儲(chǔ)要在所述端口上傳輸?shù)奈刺峤徽埱蟮臄?shù)據(jù)包的第二隊(duì)列;以及如果未提交請求的首部指示所述請求是次序無關(guān)的且所述未提交請求的首部包括與 第一隊(duì)列中早先接收的已提交請求的請求者ID不同的請求者ID,則所述邏輯選擇性地繞 過來自所述第一隊(duì)列的遲延的已提交請求并在所述端口上傳輸來自第二隊(duì)列的未提交請 求,所述未提交請求是在遲延的已提交請求之后接收到的。
10.如權(quán)利要求9所述的裝置,其特征在于,還包括存儲(chǔ)要在所述端口上傳輸?shù)耐瓿蓴?shù) 據(jù)包的第三隊(duì)列,如果所述完成的首部指示所述請求是次序無關(guān)的且如果所述完成的首部 包括與所述第一隊(duì)列中早先接收的已提交請求的請求者ID不同的完成者ID,則所述邏輯 選擇性地繞過來自所述第一隊(duì)列的遲延的已提交請求并在所述端口上傳輸來自所述第三 隊(duì)列的所述完成,所述完成是在遲延的已提交請求之后接收到的。
11.如權(quán)利要求9所述的裝置,其特征在于,還包括如果一已提交請求的首部指示所述 請求是次序無關(guān)的且所述已提交請求的首部包括與遲延的已提交請求的請求者ID不同的 請求者ID,則所述邏輯選擇性地繞過來自所述第一隊(duì)列的延遲的已提交請求并在所述端口 上發(fā)送來自第一隊(duì)列的已提交請求,所述請求是在遲延的已提交請求之后接收到的。
12.如權(quán)利要求9所述的裝置,其特征在于,所述端口是上游端口。
13.如權(quán)利要求9所述的裝置,其特征在于,還包括可通信地耦合于串行點(diǎn)對(duì)點(diǎn)鏈路的 處理器、系統(tǒng)存儲(chǔ)器和圖形加速器。
14.如權(quán)利要求9所述的裝置,其特征在于,還包括第二隊(duì)列,用來存儲(chǔ)與每個(gè)未提交 請求數(shù)據(jù)包關(guān)聯(lián)的已提交請求指針以指示存儲(chǔ)在所述第一隊(duì)列中的哪些已提交請求是在 每個(gè)未提交請求數(shù)據(jù)包之前接收到的。
15.如權(quán)利要求9所述的裝置,其特征在于,所述屬性標(biāo)志包括所述數(shù)據(jù)包首部的字節(jié) 1的位2。
16.一種裝置,包括包括包含協(xié)議棧的輸入/輸出(I/O)模塊的設(shè)備,所述協(xié)議棧包括物理層、鏈路層、事 務(wù)處理層,其中所述協(xié)議棧在串行點(diǎn)對(duì)點(diǎn)鏈路上傳輸數(shù)據(jù)包,所述數(shù)據(jù)包包括標(biāo)志置位以 指示所述操作是次序無關(guān)的。
17.如權(quán)利要求16所述的裝置,其特征在于,指示所述操作是次序無關(guān)的所述標(biāo)志置 位包括所述數(shù)據(jù)包首部的字節(jié)1的位2。
18.如權(quán)利要求16所述的裝置,其特征在于,所述操作選自組存儲(chǔ)器寫或消息請求、 讀請求、I/O或配置寫請求、讀完成和I/O或配置寫完成。
19.如權(quán)利要求16所述的裝置,其特征在于,所述設(shè)備選自組加速器、輸入/輸出設(shè) 備、控制器中樞、根控制器、開關(guān)和處理器。
20.如權(quán)利要求19所述的裝置,其特征在于,還包括所述設(shè)備可通信地耦合于系統(tǒng)存 儲(chǔ)器和多個(gè)附加設(shè)備以構(gòu)成一系統(tǒng)。
全文摘要
本文描述一種在外設(shè)部件互連Express(PCIe)上啟用基于ID的流的方法和裝置。在這方面介紹了一種裝置,包括對(duì)要在串行點(diǎn)對(duì)點(diǎn)互連上發(fā)送的數(shù)據(jù)包定序的存儲(chǔ)器定序邏輯,如果第二數(shù)據(jù)包包括指示第二數(shù)據(jù)包是次序無關(guān)的屬性標(biāo)志置位并且如果所述第二數(shù)據(jù)包包括與第一數(shù)據(jù)包關(guān)聯(lián)的ID不同的ID,則存儲(chǔ)器定序邏輯用在第一數(shù)據(jù)包之后到達(dá)的第二數(shù)據(jù)包繞過遲延的第一數(shù)據(jù)包。
文檔編號(hào)G06F13/42GK101901205SQ201010194859
公開日2010年12月1日 申請日期2010年5月27日 優(yōu)先權(quán)日2009年5月29日
發(fā)明者A·辛格豪爾, D·哈利曼 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
虎林市| 九龙城区| 黄浦区| 滨州市| 洱源县| 博罗县| 永泰县| 霍城县| 江津市| 井冈山市| 囊谦县| 射阳县| 嘉黎县| 集安市| 菏泽市| 青神县| 涞水县| 寿光市| 阿勒泰市| 惠来县| 航空| 盘山县| 河南省| 剑川县| 南雄市| 牟定县| 清苑县| 城市| 平乡县| 蛟河市| 双鸭山市| 长春市| 神池县| 长治县| 新绛县| 广西| 福泉市| 宜良县| 岳阳市| 泌阳县| 枞阳县|