麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

為分組報(bào)頭提供前綴的制作方法

文檔序號(hào):8005003閱讀:149來源:國知局
為分組報(bào)頭提供前綴的制作方法
【專利摘要】在一個(gè)實(shí)施例中,本發(fā)明包括一種方法,用于為將從發(fā)射機(jī)發(fā)送的第一分組生成具有操作碼字段和前綴專用字段的前綴報(bào)頭,并從所述發(fā)射機(jī)處發(fā)送具有所述前綴報(bào)頭的所述分組,其中,所述前綴報(bào)頭的后面跟著報(bào)頭。另外,還描述及主張了其它實(shí)施例。
【專利說明】為分組報(bào)頭提供前綴
[0001]本申請(qǐng)是2009年5月31日提交的,申請(qǐng)?zhí)枮?00910142603.4的同名專利申請(qǐng)的
分案申請(qǐng)。
【背景技術(shù)】
[0002]計(jì)算機(jī)系統(tǒng)包括許多部件和元件,典型地,經(jīng)由總線或互連來對(duì)這些部件和元件進(jìn)行耦合。以前,通過被稱為外圍部件互連(PCI)的傳統(tǒng)多點(diǎn)并行總線架構(gòu)來將輸入/輸出(10)設(shè)備耦合到一起。近來,已經(jīng)使用被稱為PC1-Express (PCIe)的新一代IO總線來幫助實(shí)現(xiàn)在具有串行物理層通信協(xié)議的設(shè)備之間的更快的互連。
[0003]PCIe架構(gòu)包括分層協(xié)議以便在設(shè)備之間進(jìn)行通信。作為例子,物理層、鏈路層和事務(wù)(transaction)層形成PCIe協(xié)議棧。通過被稱為通道(lane)的專用單向串行點(diǎn)對(duì)點(diǎn)連接對(duì)來創(chuàng)建PCIe鏈路。設(shè)備之間的鏈路包括一些數(shù)目的通道,例如一個(gè)、兩個(gè)、十六個(gè)、三十二個(gè)等。當(dāng)前的PCIe規(guī)范:PCIExpress?規(guī)范基礎(chǔ)規(guī)范2.0版(2007年I月17日發(fā)布),可在下面的網(wǎng)址中獲得:http://www.pcisig.com/specifications/pci express/。
[0004]物理層可以發(fā)送(或接收)三類鏈路業(yè)務(wù):有序集、數(shù)據(jù)鏈路層分組(DLLP)和事務(wù)層分組(TLP)。本地鏈路業(yè)務(wù)(其包括有序集和DLLP)不被轉(zhuǎn)發(fā)也不攜帶路由信息。相反,TLP可以使用被包含在分組報(bào)頭(header)中的路由信息來在鏈路間傳遞。特別地,每個(gè)TLP包含三或四個(gè)雙字(DW) (12或16字節(jié))報(bào)頭。包括在3DW或3DW報(bào)頭中的尤其是兩個(gè)字段:類型和格式(Fmt),其定義了所述報(bào)頭的其余部分的格式以及當(dāng)TLP在PCIe系統(tǒng)中的設(shè)備之間傳遞時(shí)在整個(gè)TLP上所使用的路由方法。盡管報(bào)頭提供了所需信息,但它的格式是固定的,并妨礙了通過報(bào)頭來提供附加信息的靈活性。
【專利附圖】

【附圖說明】
[0005]圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)的方框圖。
[0006]圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的基本TLP前綴報(bào)頭。
[0007]圖3是根據(jù)本發(fā)明的實(shí)施例的被附加到TLP的TLP前綴的方框圖。
[0008]圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的擴(kuò)展的TLP前綴報(bào)頭的方框圖。
[0009]圖5A-5B是根據(jù)本發(fā)明的一個(gè)實(shí)施例的對(duì)TLP前綴和報(bào)頭的堆疊。
[0010]圖6A-6C是根據(jù)本發(fā)明的實(shí)施例的不同的報(bào)頭信用值分配。
[0011]圖7是根據(jù)本發(fā)明的一個(gè)實(shí)施例的方法的流程圖。
【具體實(shí)施方式】
[0012]實(shí)施例可以擴(kuò)展PCIe架構(gòu)報(bào)頭格式來支持新出現(xiàn)的應(yīng)用需求。更具體地,在各個(gè)實(shí)施例中,TLP前綴(其是對(duì)可被附加到TLP報(bào)頭的附加報(bào)頭信息的架構(gòu)化定義)可用于實(shí)現(xiàn)在TLP或其它這樣的分組的報(bào)頭中提供的信息的靈活性。也就是說,雖然本文中是用應(yīng)用于PCIe系統(tǒng)的TLP的例子來描述的,但本發(fā)明的范圍并不限制于此,并且,實(shí)施例可用于使得能夠?yàn)楦鞣N通信協(xié)議的分組傳送附加報(bào)頭信息。[0013]在不同的實(shí)現(xiàn)中,該TLP前綴報(bào)頭可被用作對(duì)PCIe事務(wù)層報(bào)頭的封裝層,提供附加路由信息以協(xié)助中間路由元件對(duì)TLP進(jìn)行路由,向完成者提供事務(wù)處理提示,以及/或者提供廠商專用的調(diào)試信息。根據(jù)本發(fā)明的實(shí)施例的前綴還可被用于提供安全信息以及為了將來的使用模型而做準(zhǔn)備,其中,將來的使用模型可能會(huì)需要擴(kuò)展的報(bào)頭,以提供在目前所規(guī)定的報(bào)頭格式字段中不存在的附加信息。
[0014]參考圖1,說明了根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)的方框圖,該系統(tǒng)包括經(jīng)由串行鏈路稱合到控制中心(controller hub)的設(shè)備。系統(tǒng)100包括稱合到控制中心115的處理器105和系統(tǒng)存儲(chǔ)器110。處理器105包括任意處理元件,例如微處理器、主處理器、嵌入式處理器、協(xié)處理器或其它處理器。處理器105通過前端總線(FSB) 106耦合到控制中心115。在一個(gè)實(shí)施例中,F(xiàn)SB106是如下所述的串行點(diǎn)對(duì)點(diǎn)(PtP)互連。
[0015]系統(tǒng)存儲(chǔ)器110包括任意存儲(chǔ)器設(shè)備,例如隨機(jī)存取存儲(chǔ)器(RAM)、非易失性(NV)存儲(chǔ)器、或可由系統(tǒng)100中的設(shè)備所訪問的其它存儲(chǔ)器。系統(tǒng)存儲(chǔ)器110通過存儲(chǔ)器接口116耦合到控制中心115。
[0016]在一個(gè)實(shí)施例中,控制中心115是PCIe互連層級(jí)結(jié)構(gòu)中的根集線器或根控制器。控制中心115的例子包括芯片組、存儲(chǔ)器控制中心(MCH)、北橋、輸入/輸出控制中心(ICH)、南橋以及根控制器/集線器。在這里,控制中心115通過串行鏈路119耦合到交換機(jī)/橋接器120。輸入/輸出模塊117和121 (其也可被稱為接口 /端口 117和121)包括/實(shí)現(xiàn)了分層協(xié)議棧,來提供在控制中心115和交換機(jī)120之間的通信。在一個(gè)實(shí)施例中,多個(gè)設(shè)備能夠耦合到交換機(jī)120。實(shí)施例也可以應(yīng)用于將處理器和芯片組集成到同一封裝中的情況。另外,該技術(shù)并不需要新修訂版本的PCIe協(xié)議,并且,可以由與PCIe2.0、l.1相兼容的設(shè)備來實(shí)現(xiàn)該技術(shù)。因此,實(shí)施例可被用于利用PCIe互連進(jìn)行通信的任何地方。
[0017]交換機(jī)120將來自設(shè)備125的分組/消息向上游路由(即,向著控制中心115的方向上升一個(gè)層級(jí)),以及,將分組/消息向下游路由(即,向著遠(yuǎn)離控制中心115的方向下降一個(gè)層級(jí))到設(shè)備125。IO模塊122和126實(shí)現(xiàn)分層協(xié)議棧,以在交換機(jī)120和設(shè)備125之間進(jìn)行通信。設(shè)備125包括耦合到電子系統(tǒng)的任意內(nèi)部或外部的設(shè)備或部件,例如IO設(shè)備、網(wǎng)絡(luò)接口控制器(NIC)、插入卡、音頻處理器、網(wǎng)絡(luò)處理器、硬盤驅(qū)動(dòng)器、存儲(chǔ)裝置、監(jiān)視器、打印機(jī)、鼠標(biāo)、鍵盤、路由器、便攜式存儲(chǔ)裝置、火線設(shè)備、通用串行總線(USB)設(shè)備、掃描儀以及其它輸入/輸出設(shè)備。
[0018]圖形加速器130也通過串行鏈路132耦合到控制中心115。在一個(gè)實(shí)施例中,圖形加速器130耦合到MCH,MCH耦合到ICH。交換機(jī)120 (以及相應(yīng)地,IO設(shè)備125)然后耦合到所述ICH。IO模塊131和118也實(shí)現(xiàn)分層協(xié)議棧,以在圖形加速器130和控制中心115之間進(jìn)行通信。
[0019]在一個(gè)實(shí)施例中,PCIe協(xié)議棧可以包括事務(wù)層、鏈路層和物理層。在一個(gè)實(shí)施例中,事務(wù)層提供了在設(shè)備的處理核心和互連架構(gòu)之間(例如,在數(shù)據(jù)鏈路層和物理層之間)的接口。在這一點(diǎn)上,事務(wù)層的主要職責(zé)是分組(即,事務(wù)層分組或TLP)的組裝和拆分。注意,為了能夠平滑地實(shí)現(xiàn)可靠性-可用性-可服務(wù)性(RAS),PCIe在設(shè)備架構(gòu)的三個(gè)合作功能層(物理層、鏈路層和事務(wù)層)中提供可靠的協(xié)議錯(cuò)誤檢測(cè)、糾正和報(bào)告能力。在基于PCIe的設(shè)計(jì)中,組合一個(gè)或多個(gè)TLP來形成事務(wù),其經(jīng)由鏈路從總線上的一個(gè)設(shè)備發(fā)送到另一設(shè)備。對(duì)于給定的TLP,設(shè)備通過分析在每個(gè)TLP中所提供的可靠性機(jī)制來提供設(shè)備級(jí)的錯(cuò)誤檢測(cè)和糾正。這些錯(cuò)誤檢測(cè)/糾正的職責(zé)跨越了所述三個(gè)功能設(shè)備層。PCIe也實(shí)現(xiàn)了分離事務(wù),即,事務(wù)的請(qǐng)求和響應(yīng)在時(shí)間上分開,這允許在目標(biāo)設(shè)備為響應(yīng)收集數(shù)據(jù)的同時(shí)一個(gè)鏈路攜帶其它業(yè)務(wù)。
[0020]另外,PCIe使用基于信用值(credit)的流控制。在本方案中,一個(gè)設(shè)備在事務(wù)層中通告每個(gè)接收緩沖器的信用值的初始數(shù)目。在鏈路另一端的外部設(shè)備(例如,圖1中的控制中心115)對(duì)由每個(gè)TLP所消耗的信用值的數(shù)目進(jìn)行計(jì)數(shù)。如果一個(gè)事務(wù)未超出信用值限制,則可以發(fā)送該事務(wù)。一旦接收到響應(yīng),則恢復(fù)一定數(shù)目的信用值。信用值方案的優(yōu)勢(shì)是:假如未達(dá)到信用值限制,則信用值返還的等待時(shí)間不會(huì)影響性能。
[0021]鏈路層擔(dān)當(dāng)在事務(wù)層和物理層之間的中間級(jí)。在一個(gè)實(shí)施例中,數(shù)據(jù)鏈路層的職責(zé)是提供一種可靠的機(jī)制,用于在兩個(gè)部件之間通過鏈路來交換TLP。鏈路層的一側(cè)接受由事務(wù)層組裝的TLP,應(yīng)用標(biāo)識(shí)符,計(jì)算并應(yīng)用錯(cuò)誤檢測(cè)碼(即循環(huán)恢復(fù)碼(CRC)),以及向物理層提交經(jīng)更改的TLP,以用于通過物理鏈路發(fā)送給外部設(shè)備。
[0022]在一個(gè)實(shí)施例中,物理層向外部設(shè)備物理地發(fā)送分組。物理層包括發(fā)送部分和接收部分,發(fā)送部分準(zhǔn)備用于傳輸?shù)某鼍中畔ⅲ邮詹糠衷谙蜴溌穼觽鬟f接收到的信息之前對(duì)其進(jìn)行識(shí)別和準(zhǔn)備。物理層包括發(fā)射機(jī)和接收機(jī)。為發(fā)射機(jī)提供符號(hào),符號(hào)被發(fā)射機(jī)串行化并被發(fā)送到外部設(shè)備。來自外部設(shè)備的串行化符號(hào)被提供給接收機(jī),接收機(jī)將接收到的信號(hào)轉(zhuǎn)換為比特流。比特流被解串行化并被提供給邏輯子塊。在一個(gè)實(shí)施例中,采用了8b/10b傳輸碼,其中發(fā)送/接收10位的符號(hào)。另外,在一個(gè)例子中,接收機(jī)還提供了根據(jù)入局串行流恢復(fù)的符號(hào)時(shí)鐘。如上所述,盡管對(duì)事務(wù)層、鏈路層和物理層的論述參考了 PCIe協(xié)議棧的具體實(shí)施例,但分層協(xié)議棧并非限制于此。事實(shí)上,可以包括/實(shí)現(xiàn)任意分層協(xié)議。
[0023]因此,通過一個(gè)或多個(gè)TLP的傳輸,實(shí)現(xiàn)了 PCIe系統(tǒng)中設(shè)備間的通信,其中,所述一個(gè)或多個(gè)TLP進(jìn)行組合以形成在耦合于兩個(gè)設(shè)備之間的鏈路上所發(fā)送的事務(wù)。因此,通過使用上文描述的三個(gè)層,可以發(fā)送包括各種信息的TLP。特別地,物理層可以提供在TLP的開頭和結(jié)尾處的幀信息。而鏈路層又可以向分組提供序列號(hào)以及鏈路CRC。而事務(wù)層又可以生成被附加到數(shù)據(jù)(如果存在的話)的報(bào)頭以及可選的端到端CRC(ECRC)。這樣,所發(fā)送的TLP可以依次包括下列部分:簡(jiǎn)單傳輸協(xié)議(STP)成幀字段、次序字段、報(bào)頭字段、數(shù)據(jù)字段、ECRC字段、鏈路CRC(LCRC)字段和成幀結(jié)束字段。如上所述,TLP報(bào)頭的這種格式是固定的,且在提供與這樣的報(bào)頭相關(guān)聯(lián)的附加信息這一方面上并未提供靈活性。
[0024]為了增加靈活性,可以將根據(jù)本發(fā)明實(shí)施例的TLP前綴附加到由PCIe規(guī)范所定義的TLP上。在一個(gè)這樣的實(shí)施例中,基本TLP前綴的大小可以是一個(gè)雙字(DW),并且可被附加到TLP報(bào)頭(目前定義的TLP報(bào)頭和將來的TLP報(bào)頭均可)。如圖2所示,其是根據(jù)本發(fā)明一個(gè)實(shí)施例的基本TLP前綴報(bào)頭,該前綴可以包括操作碼字段和前綴專用字段。具體地,如圖2所示,數(shù)據(jù)10包括由前綴DW20所形成的基本TLB前綴報(bào)頭,其具有第一字段25和前綴專用字段28,其中,第一字段25可對(duì)應(yīng)于操作碼字段,而前綴專用字段28可基于與其相關(guān)聯(lián)的操作碼字段來提供各種信息。如圖2中的實(shí)施例所示,操作碼字段25可以具有固定的(即預(yù)先確定的)最高有效位(MSB)。也就是說,三個(gè)MSB可以具有“100”的值來表明前綴的存在。依次地,最低有效位(LSB)(在圖2的實(shí)施例中被示為5個(gè)LSB)可具有對(duì)應(yīng)于給定操作碼分配的變化值。[0025]在一個(gè)實(shí)施例中,操作碼字段可以與下列分配相關(guān)聯(lián)。
[0026]表I
[0027].100-ttttt,其中ttttt是TLP前綴操作碼(即,可定義多達(dá)32個(gè)前綴);
[0028].100 - 00000—廠商專用;
[0029].100 - 00001—擴(kuò)展的操作碼前綴;
[0030].100 - 11111—TLP 前綴擴(kuò)展;以及
[0031].100 -其它一預(yù)留用于將來使用。
[0032]現(xiàn)在參考圖3,示出了根據(jù)本發(fā)明的實(shí)施例的附加到TLP的TLP前綴的方框圖。如圖3所示,數(shù)據(jù)10'包括TLP前綴20 (其可對(duì)應(yīng)于如上文所述的圖2中的前綴20)以及TLP報(bào)頭30。如圖3所示,僅僅示出了 TLP報(bào)頭的第一個(gè)DW。然而可以理解,在各種實(shí)現(xiàn)中,TLP報(bào)頭可以由三或四個(gè)DW形成。TLP報(bào)頭30可包括各種字段。圖3中示出的特定字段包括格式字段32、類型字段34和長(zhǎng)度字段36。格式字段32和類型字段34可被用于定義報(bào)頭30的其余部分的格式以及當(dāng)TLP經(jīng)過不同設(shè)備時(shí)在整個(gè)TLP上所使用的路由方法。另外,長(zhǎng)度字段36可以表明跟隨在報(bào)頭30之后的TLP的數(shù)據(jù)部分的長(zhǎng)度。注意,PCIe協(xié)議固定了報(bào)頭30的結(jié)構(gòu),因而缺乏靈活性的能力。因此,本發(fā)明的實(shí)施例可以通過在TLP報(bào)頭的前面包括一個(gè)或多個(gè)TLP前綴來提供靈活性,以便能夠提供與TLP報(bào)頭相關(guān)聯(lián)的附加信息。
[0033]為了實(shí)現(xiàn)功能,可以(通過層級(jí)結(jié)構(gòu))以端對(duì)端的方式來實(shí)現(xiàn)對(duì)TLP前綴的支持。然而,在此范圍內(nèi)的一些情形中,對(duì)于鏈路本地TLP前綴,限制為鏈路對(duì)鏈路的方式,而對(duì)于其它情況,則可被路由到端點(diǎn)和中間交換機(jī)。對(duì)于路由元件(例如,交換機(jī)、對(duì)等網(wǎng)絡(luò)等等),TLP前綴可以默認(rèn)為可忽略的,除非給定的用法模型要求對(duì)TLP前綴進(jìn)行理解和處理。例如,可以使用在每一跳中附加/移除的TLP,其在鏈路的遠(yuǎn)端被終止并被重新生成(鏈路本地TLP)。
[0034]在各種系統(tǒng)中,可以有兩種TLP前綴類型。第一種,可以提供鏈路本地TLP前綴,路由元件需要為其來處理TLP以用于路由或其它目的。當(dāng)兩端都理解TLP前綴時(shí)可以使用這樣的前綴。也就是說,對(duì)于路由元件來說,此類前綴并不是看不見地經(jīng)過的。注意,ECRC對(duì)于鏈路本地TLP前綴報(bào)頭是不適用的。
[0035]第二種前綴可以是全局TLP前綴,其可被用在以下情況中:TLP經(jīng)過路由元件,而這樣的路由元件可能并不會(huì)知道TLP前綴內(nèi)容。如果基本TLP被ECRC保護(hù),那么,相應(yīng)的全局TLP前綴也將被ECRC保護(hù)。
[0036]圖2中所示出的基本TLP前綴為TLP操作碼專用字段提供了 24位。在某些應(yīng)用情形中,這個(gè)數(shù)目的位可能是不夠用的,并且可使用一個(gè)或多個(gè)附加DW來提供TLP前綴擴(kuò)展,例如,如果需要額外的操作碼專用位的話。在此種情形中,可使用100-11111的TLP前綴操作碼編碼來提供對(duì)TLP操作碼專用字段的擴(kuò)展。TLP擴(kuò)展操作碼的優(yōu)勢(shì)如下:提供當(dāng)需要時(shí)可以擴(kuò)展的固定DW大小的TLP前綴結(jié)構(gòu);支持對(duì)需要大于24位字段的TLP前綴的定義;以及提供在將來在不會(huì)影響到系統(tǒng)環(huán)境的情況下增加TLP前綴操作碼專用字段的能力。
[0037]現(xiàn)在參考圖4,其示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例來進(jìn)行擴(kuò)展的TLP前綴報(bào)頭的方框圖。如圖4所示,其是根據(jù)本發(fā)明的實(shí)施例的包括了擴(kuò)展的TLP前綴報(bào)頭的數(shù)據(jù)IO''的方框圖。也就是說,除第一前綴DW20之外,還存在了兩個(gè)額外的擴(kuò)展前綴DW40和45。以此方式,可以提供附加信息。注意,擴(kuò)展前綴40和45均具有相同的操作碼分配,SP“10011111”,從上面的表I可以看出其對(duì)應(yīng)于TLP前綴擴(kuò)展碼。因此,與這兩個(gè)擴(kuò)展前綴相關(guān)聯(lián)的前綴專用字段48可以提供附加信息,例如,針對(duì)前綴雙字20中所提供的數(shù)據(jù)的附加數(shù)據(jù)。
[0038]在某些情況下,可以使用TLP前綴堆疊操作,其中,允許將多個(gè)TLP前綴附加到其它TLP前綴或TLP報(bào)頭(其可被認(rèn)為是一個(gè)堆棧)。在一個(gè)實(shí)施例中,應(yīng)用下面的規(guī)則以堆疊TLP前綴。TLP前綴可以被堆疊在彼此之上,其中,堆疊的TLP前綴可以是基本TLP前綴或擴(kuò)展TLP前綴。允許堆疊多個(gè)TLP前綴。全局TLP前綴可以被堆疊在其它全局TLP前綴或標(biāo)準(zhǔn)報(bào)頭TLP之上,但不能被堆疊在鏈路本地TLP前綴之上。然而,相反的是,鏈路本地TLP前綴可以被堆疊在任何其它TLP前綴或報(bào)頭TLP之上。
[0039]圖5A示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的所允許的對(duì)TLP前綴和報(bào)頭的堆疊。如圖5A所示,提供了堆棧100,其包括TLP報(bào)頭105、I到N個(gè)全局TLP前綴110以及I到N個(gè)鏈路本地TLP前綴115。在一個(gè)實(shí)施例中,這樣的堆棧100是被允許的,這是因?yàn)殒溌繁镜豑LP前綴115被堆疊在全局前綴110之上(而全局前綴110又被堆疊在TLP報(bào)頭105之上)。相反,如圖5B所示,在某些實(shí)施例中,堆120可能是不被允許的,這是因?yàn)榭赡懿辉试S將全局TLP前綴135堆疊在鏈路本地TLP前綴130之上。
[0040]如上所述,TLP前綴可以被擴(kuò)展和堆疊。因此,接收機(jī)可以為了路由和流控制的目的來檢測(cè)基本TLP從而確定TLP的類型。根據(jù)一個(gè)實(shí)施例的用來檢測(cè)基本TLP的規(guī)則如下:一旦檢測(cè)到了 TLP前綴(即,在前綴的第一字節(jié)的三個(gè)MSB中出現(xiàn)了預(yù)定的前綴碼100),則掃描所有隨后的DW直到檢測(cè)到針對(duì)這些位的非100編碼為止。在這期間所數(shù)到的DW數(shù)目是TLP前綴,或者是堆疊的或者是擴(kuò)展的。注意,不需要單獨(dú)的終止位來檢測(cè)TLP前綴的結(jié)束。
[0041]根據(jù)PCIe協(xié)議,報(bào)頭流控制粒度是報(bào)頭信用值的一個(gè)計(jì)量單位,其中,I計(jì)量單位等于16字節(jié)(B)(考慮到16B對(duì)應(yīng)于TLP報(bào)頭)。附加到報(bào)頭TLP的TLP前綴DW ( S卩,基本TLP前綴或擴(kuò)展TLP前綴)消耗(除了基本報(bào)頭信用值之外的)一個(gè)額外的報(bào)頭信用值。
[0042]可以為各種部件設(shè)置架構(gòu)化的、可配置的最大TLP前綴大小參數(shù)。特別地,接收機(jī)必須在存儲(chǔ)元件中保持TLP前綴,直到檢測(cè)到標(biāo)準(zhǔn)TLP為止,其后,接收機(jī)可以將TLP移動(dòng)到合適的緩沖器資源(針對(duì)其說明流控制)。因此,應(yīng)考慮接收機(jī)的中間/分級(jí)緩沖器的能力,即,可在一個(gè)分組中發(fā)出的TLP前綴DW的數(shù)目的限制。該粒度可以被定義為所支持的最大TLP前綴大小,例如,報(bào)頭粒度的倍數(shù)-1倍、2倍、4倍等。該架構(gòu)化的配置參數(shù)可被稱為最大TLP前綴大小,并可以通過在PCIe能力寄存器中提供一個(gè)字段來發(fā)現(xiàn)該最大TLP前綴大小,并且經(jīng)由PCIe控制寄存器來對(duì)其進(jìn)行編程。
[0043]因此,如圖6A所示,當(dāng)兩個(gè)TLP前綴210被堆疊在TLP200上時(shí),需要兩個(gè)報(bào)頭信用值,這是因?yàn)槌?16B的報(bào)頭所需要的單個(gè)報(bào)頭信用值之外,還需要一個(gè)額外的信用值來支持這兩個(gè)TLP前綴。類似地,如圖6B所示,可以使用同樣兩個(gè)報(bào)頭信用值來支持具有四個(gè)DW( S卩,16字節(jié))的TLP前綴堆棧215。相反,如圖6C所示,需要三個(gè)報(bào)頭信用值來支持包括五個(gè)雙字的前綴堆棧220,這是因?yàn)樾枰獌r(jià)值為20字節(jié)的信用值來支持該堆棧220。雖然用圖6A-6C中的這個(gè)特定實(shí)現(xiàn)示出,但可以在其它實(shí)施例中應(yīng)用不同的報(bào)頭信用值規(guī)則。[0044]現(xiàn)在參考圖7,其示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的方法的流程圖。如圖7所示,根據(jù)本發(fā)明的實(shí)施例,可以由發(fā)送設(shè)備的事務(wù)層來實(shí)現(xiàn)方法300以生成TLP前綴。方法300可以從確定是否要在TLP報(bào)頭中發(fā)送附加信息(菱形310)開始。這種附加信息可以用于向TLP報(bào)頭封裝更多數(shù)據(jù),為中間路由元件提供附加路由信息,提供事務(wù)處理等,但并非限制于此。如果要提供這種附加信息,控制轉(zhuǎn)到框320。
[0045]在框320,可以生成具有操作碼字段和前綴專用字段的TLP前綴報(bào)頭。在一個(gè)實(shí)施例中,TLP前綴報(bào)頭可以被生成為如在圖2中所示的基本報(bào)頭。然后,可以確定除了在基本前綴報(bào)頭中所提供的信息外,是否還有附加信息要被包括在所述TLP前綴中(菱形330)。如果是,則控制返回到框320。否則,會(huì)發(fā)送一個(gè)或多個(gè)前綴報(bào)頭單元(框340)。也就是說,這樣的TLP前綴單元可以被事務(wù)層發(fā)到數(shù)據(jù)鏈路層,發(fā)到物理層上,然后通過鏈路到達(dá)接收設(shè)備,接收設(shè)備可以相應(yīng)地通過物理層、數(shù)據(jù)鏈路層將該信息傳遞到接收設(shè)備的事務(wù)層,以用于解碼和處理。
[0046]在TLP前綴報(bào)頭的傳輸之后,可以發(fā)送TLP報(bào)頭(框350),該TLP報(bào)頭可以是包括了諸如格式字段、類型字段等各種字段的傳統(tǒng)TLP報(bào)頭。這樣的傳輸可以以與TLP前綴報(bào)頭相同的方式來進(jìn)行。在這樣的TLP報(bào)頭傳輸之后,發(fā)出將要用該TLP來發(fā)送的任何有效載荷(框360)。通過接收和處理所述前綴,TLP報(bào)頭和額外的分組信息可以出現(xiàn)在使用各種層的接收機(jī)中。盡管用圖7的實(shí)施例中的這一特定實(shí)現(xiàn)示出,但本發(fā)明的范圍并不限制于此。
[0047]因此,實(shí)施例可以在分組報(bào)頭所提供的信息上提供靈活性,而不需要ad-hoc解決方案或通過使用預(yù)留的報(bào)頭字段來提供/引入新特征或要點(diǎn)方案。在一些實(shí)施例中,TLP前綴使得定義和實(shí)現(xiàn)變得容易,因此具有最小的系統(tǒng)環(huán)境影響,并且是可升級(jí)的解決方案。如上所述,可以堆疊/擴(kuò)展TLP前綴,這可被用于準(zhǔn)備對(duì)將來的支持,例如,為各個(gè)廠而商定義的編碼,或?yàn)閿U(kuò)展定義的編碼。另外,新的流控制類型也是不需要的。
[0048]實(shí)施例可以用代碼實(shí)現(xiàn)并可以存儲(chǔ)在存儲(chǔ)介質(zhì)上,該存儲(chǔ)介質(zhì)具有存儲(chǔ)在其上的指令,其可用于對(duì)一個(gè)系統(tǒng)進(jìn)行編程來執(zhí)行所述指令。所述存儲(chǔ)介質(zhì)可以包括但不限于:任何類型的盤,包括軟盤、光盤、光盤只讀存儲(chǔ)器(CD-ROM)、可重寫光盤(CD-RW)、以及磁光盤,半導(dǎo)體器件,例如只讀存儲(chǔ)器(ROM)、諸如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)和靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)這樣的隨機(jī)存取存儲(chǔ)器(RAM)、可擦可編程只讀存儲(chǔ)器(EPROM)、閃速存儲(chǔ)器、電可擦可編程只讀存儲(chǔ)器(EEPROM),磁卡或光卡,或適于存儲(chǔ)電子指令的任意其它類型的介質(zhì)。
[0049]盡管以有限數(shù)目的實(shí)施例來描述了本發(fā)明,但本領(lǐng)域的技術(shù)人員可以領(lǐng)會(huì)到許多基于此的修改和變型。所附的權(quán)利要求旨在覆蓋落入本發(fā)明的實(shí)質(zhì)精神和范圍內(nèi)的所有這樣的修改和變型。
【權(quán)利要求】
1.一種用于處理與點(diǎn)到點(diǎn)數(shù)據(jù)鏈路有關(guān)的數(shù)據(jù)的裝置,所述裝置包括: I/o邏輯,用于 接收包括報(bào)頭和對(duì)于所述報(bào)頭的前綴的事務(wù)層分組,其中,所述前綴在所述報(bào)頭之前,并且所述前綴包括格式字段、類型字段以及基于所述格式字段和類型字段的字段;以及 至少部分地基于所述前綴處理所述分組。
2.根據(jù)權(quán)利要求1所述的裝置,其中,所述邏輯還用于識(shí)別端到端前綴支持將應(yīng)用到所述前綴。
3.根據(jù)權(quán)利要求2所述的裝置,其中,在不解碼所述前綴的情況下發(fā)送所述分組。
4.根據(jù)權(quán)利要求1所述的裝置,其中,所述邏輯還用于識(shí)別鏈路到鏈路前綴支持將應(yīng)用到所述前綴。
5.根據(jù)權(quán)利要求4所述的裝置,其中,所述基于所述格式字段和類型字段的字段包括用于所述分組的路由信息。
6.根據(jù)權(quán)利要求5所述的裝置,其中,所述邏輯還用于至少部分地基于所述路由信息將所述分組路由到另一個(gè)設(shè)備。
7.根據(jù)權(quán)利要求1-6中任意一項(xiàng)所述的裝置,其中,所述分組包括符合外圍部件互連快速(PCIe)的事務(wù)層分組。
8.根據(jù)權(quán)利要求1-7中任意一項(xiàng)所述的裝置,其中,所述邏輯還用于識(shí)別所述前綴包括多個(gè)堆疊的前綴。
9.根據(jù)權(quán)利要求1-8中任意一項(xiàng)所述的裝置,其中,所述邏輯還用于識(shí)別所述前綴包括擴(kuò)展前綴。
10.根據(jù)權(quán)利要求1-9中任意一項(xiàng)所述的裝置,其中,所述格式字段和類型字段包括所述前綴的操作碼。
11.根據(jù)權(quán)利要求1-10中任意一項(xiàng)所述的裝置,其中,所述前綴包括雙字,所述格式字段包括所述雙字的第一字節(jié)的三個(gè)位,并且所述類型字段包括所述第一字節(jié)的五個(gè)位。
12.根據(jù)權(quán)利要求1-11中任意一項(xiàng)所述的裝置,其中,所述邏輯還用于根據(jù)另一個(gè)格式字段確定所述前綴的結(jié)尾,所述另一個(gè)格式字段被編碼為指示跟隨所述另一個(gè)格式字段的數(shù)據(jù)對(duì)應(yīng)于所述報(bào)頭。
13.根據(jù)權(quán)利要求1-12中任意一項(xiàng)所述的裝置,其中,所述邏輯還用于根據(jù)所述格式字段確定存在所述前綴。
14.根據(jù)權(quán)利要求1-13中任意一項(xiàng)所述的裝置,其中,所述基于所述格式字段和類型字段的字段包括用于完成者的處理提示。
15.根據(jù)權(quán)利要求1-13中任意一項(xiàng)所述的裝置,其中,所述基于所述格式字段和類型字段的字段包括廠商專用的調(diào)試信息。
16.根據(jù)權(quán)利要求1-13中任意一項(xiàng)所述的裝置,其中,所述基于所述格式字段和類型字段的字段包括安全信息。
17.一種用于處理與點(diǎn)到點(diǎn)數(shù)據(jù)鏈路有關(guān)的數(shù)據(jù)的裝置,所述裝置包括: I/O邏輯,用于 生成用于包括報(bào)頭的事務(wù)層分組的前綴,其中,所述前綴在所述報(bào)頭之前,并且所述前綴包括格式字段、類型字段以及基于所述格式字段和類型字段的字段;以及向接收機(jī)設(shè)備發(fā)送所述分組。
18.根據(jù)權(quán)利要求17所述的裝置,其中,所述前綴包括多個(gè)堆疊的前綴。
19.根據(jù)權(quán)利要求17-18中任意一項(xiàng)所述的裝置,其中,所述多個(gè)堆疊的前綴包括至少一個(gè)本地前綴和至少一個(gè)端到端前綴。
20.根據(jù)權(quán)利要求17-19中任意一項(xiàng)所述的裝置,其中,所述本地前綴將被允許堆疊到其它本地前綴和端到端前綴的頂部,并且端到端前綴僅被允許堆疊到其它端到端前綴的頂部。
21.根據(jù)權(quán)利要求17-20中任意一項(xiàng)所述的裝置,其中,所述格式字段和類型字段包括所述前綴的操作碼。
22.根據(jù)權(quán)利要求17-21中任意一項(xiàng)所述的裝置,其中,所述前綴包括雙字,所述格式字段包括所述雙字的第一字節(jié)的三個(gè)位,并且所述類型字段包括所述第一字節(jié)的五個(gè)位。
23.根據(jù)權(quán)利要求17-22中任意一項(xiàng)所述的裝置,其中,所述基于所述格式字段和類型字段的字段包括用于完成者的處理提示。
24.根據(jù)權(quán)利要求17-22中任意一項(xiàng)所述的裝置,其中,所述基于所述格式字段和類型字段的字段包括廠商專用的調(diào)試信息。
25.根據(jù)權(quán)利要求17-22中任意 一項(xiàng)所述的裝置,其中,所述基于所述格式字段和類型字段的字段包括安全信息。
【文檔編號(hào)】H04L29/08GK103490852SQ201310369747
【公開日】2014年1月1日 申請(qǐng)日期:2009年5月31日 優(yōu)先權(quán)日:2008年5月30日
【發(fā)明者】M·韋格, J·阿亞諾維奇 申請(qǐng)人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
主站蜘蛛池模板: 腾冲县| 资阳市| 巨鹿县| 成安县| 普格县| 凌源市| 淮南市| 米易县| 太和县| 四会市| 逊克县| 连城县| 高台县| 南投市| 宿松县| 师宗县| 班玛县| 禹州市| 临高县| 濮阳县| 方正县| 桂阳县| 夏津县| 武城县| 滦平县| 江油市| 亳州市| 志丹县| 河曲县| 龙游县| 兴宁市| 耒阳市| 博乐市| 浮山县| 北辰区| 通辽市| 许昌县| 石狮市| 桂阳县| 招远市| 滨州市|