專利名稱:實現(xiàn)可變寬度鏈路的方法及裝置的制作方法
實現(xiàn)可變寬度鏈路的方法及裝置
本申請是申請日為2004年12月03日,題為“實現(xiàn)可變寬度鏈路的方法及裝置”, 申請?zhí)枮?00410096571. 6的專利申請的分案申請。技術(shù)領(lǐng)域
本發(fā)明的實施例一般地涉及使用基于鏈路的互連方案的處理系統(tǒng)領(lǐng)域,更具體地 說,涉及將單個鏈路接口邏輯分解到四分體(quadrant)中的方法及裝置,從而可以支持可 變鏈路寬度、通道倒序(lane reversal)及端口分叉(port bifurcation)特性。
背景技術(shù):
為了解決用于多處理器系統(tǒng)(MPS)的基于總線的互連方案的缺點,已經(jīng)開發(fā)了點 對點的基于鏈路的互連方案。這一系統(tǒng)的每一節(jié)點都包括用于在被連接的節(jié)點之間傳輸數(shù) 據(jù)的代理(例如,處理器、存儲器控制器、I/o集線器組件、芯片組等)及路由器。這種系統(tǒng) 的代理通過使用互連層次結(jié)構(gòu)傳輸數(shù)據(jù),該層次結(jié)構(gòu)一般包括協(xié)議層、可選的路由層、鏈路 層及物理層。
協(xié)議層設(shè)置協(xié)議事務(wù)分組(PTP)的格式,所述PTP構(gòu)成在節(jié)點之間傳輸?shù)臄?shù)據(jù)單 元。路由層確定在節(jié)點之間傳輸數(shù)據(jù)所經(jīng)過的路徑。鏈路層從協(xié)議層接收PTP,然后以塊 (段)序列的方式來傳輸它們。每個段的大小由鏈路層確定,并且代表PTP的一個必須同 步傳輸?shù)亩?,因此每一段被稱作一個流量控制單元(片(flit))。PTP由可變數(shù)量的整數(shù)個 片組成。物理層由在每個節(jié)點處的實際電氣和信令機制組成。在點對點的基于鏈路的互連 方案中,連接到每一鏈路的只有兩個代理。這種受限制的電負(fù)載導(dǎo)致運行速度的加快。通 過減小物理層接口(PLI)的寬度并且因此減小時鐘變化,可以進一步加快運行速度。因此, PLI 一般被設(shè)計來在幾個時鐘周期的每一個上傳輸片的某個片斷。一個片中可以在單個時 鐘周期內(nèi)被傳輸通過物理接口的片斷被稱作物理數(shù)位(phit)。片表示數(shù)據(jù)的邏輯單元,而 物理數(shù)位相當(dāng)于數(shù)據(jù)的物理量。
互連層次結(jié)構(gòu)被實現(xiàn)來在物理層獲得更高的系統(tǒng)運行速度。鏈路層在片中傳輸數(shù) 據(jù)(作為PTP從協(xié)議層接收),然后片在物理層被分解為物理數(shù)位,并且通過PLI被傳輸?shù)?接收代理的物理層。在接收代理的物理層,接收到的物理數(shù)位被組合成片,然后被轉(zhuǎn)發(fā)到接 收代理的鏈路層,鏈路層將片組合成PTP,然后將PTP轉(zhuǎn)發(fā)到接收代理的協(xié)議層。
在實現(xiàn)可變寬度的鏈路時(例如寬度減小的鏈路(reduced-width link)),這種 傳輸數(shù)據(jù)通過鏈路的方法導(dǎo)致幾種困難。
典型的現(xiàn)有技術(shù)互連方案(例如PCI Express)使用數(shù)據(jù)分組。在每一個時鐘周期 期間,傳輸代理(Tx)在鏈路的每一個通道上傳輸數(shù)據(jù)分組的一個字節(jié)。所述分組具有“分 組開始”(SOP)及“分組結(jié)束”(EOP)指示符。在初始化期間,接收代理(Rx)用訓(xùn)練序列來 確定可用通道的數(shù)目。Rx從每個可用的通道中順序地取出一個字節(jié),并且組裝這些字節(jié)直 至接收到EOP指示符。
這種被稱作“每通道字節(jié)串行方式”的方案允許將一個鏈路減少到任意數(shù)目個通道。但是,在點對點的基于鏈路的PLI上,設(shè)計來在數(shù)個時鐘周期的每一個周期上傳輸片的 某個片斷,這種方案的實施可能導(dǎo)致不可接受的延遲。例如,這種系統(tǒng)可能使用長80位的 片,并且在四個時鐘周期中通過一個20-通道的全寬度鏈路來傳輸該片。就是說,每一時鐘 周期中,在20個通道的每一個上傳輸一位。對于這樣的系統(tǒng),如果在20個通道的每一個上 順序地傳輸一個字節(jié),將要花8個時鐘周期來傳輸160位,這等同于增加了片的大小。就是 說,直到整個160位已經(jīng)抵達Rx,才可以轉(zhuǎn)發(fā)一個80位片。這種增加的延遲對于這種系統(tǒng) 可能是不可以接受的。此外,這種系統(tǒng)不需要包括SOP及EOP指示符,這些指示符本來應(yīng)被 添加來實現(xiàn)每通道字節(jié)串行方式傳輸方案。
在開發(fā)包含PLI支持的其它特性在內(nèi)的減小寬度鏈路實現(xiàn)方法中,要考慮其它的 問題。發(fā)明內(nèi)容
本發(fā)明提供了一種方法,包括將片的多個位劃分為若干組,每一組有相同數(shù)目的 位;以及通過把一個組的每一位輸入到一個或多個對應(yīng)的多路復(fù)用器中,獨立地多路復(fù)用 每一組的位,以產(chǎn)生期望的傳輸順序。
本發(fā)明還提供了一種用于提供可變寬度鏈路的系統(tǒng),包括端口劃分單元,用于將 鏈路端口的數(shù)據(jù)傳輸通道劃分為多個四分體,所述四分體中至少有一個是活動的;和傳輸 單元,用于以多個物理數(shù)位來傳輸一個片,每一物理數(shù)位所具有的位的數(shù)量與所有活動四 分體內(nèi)的數(shù)據(jù)傳輸通道的總數(shù)相等。
本發(fā)明還提供了一種產(chǎn)品,包括具有關(guān)聯(lián)數(shù)據(jù)的機器可訪問介質(zhì),其中當(dāng)所述數(shù) 據(jù)被訪問時,導(dǎo)致機器執(zhí)行操作以在兩個代理之間實現(xiàn)物理層鏈路的初始化,所述操作包 括將鏈路端口的數(shù)據(jù)傳輸通道劃分為多個四分體,所述四分體中至少有一個是活動的; 以及以多個物理數(shù)位來傳輸一個片,每一物理數(shù)位所具有的位的數(shù)量與所有活動四分體內(nèi) 的數(shù)據(jù)傳輸通道的總數(shù)相等。
本發(fā)明還提供了一種系統(tǒng),包括傳輸代理,其具有多個被劃分為多個四分體的數(shù) 據(jù)傳輸通道,至少一個四分體是活動的,并且其中采用多組多路復(fù)用器來接收數(shù)據(jù)、多路復(fù) 用所述數(shù)據(jù)以及輸出所述數(shù)據(jù),每一組多路復(fù)用器的輸出形成物理數(shù)位,在相應(yīng)的時鐘周 期中,在所述活動四分體的傳輸通道上傳輸每個物理數(shù)位;和接收代理,其通過點對點基于 鏈路的互連方案與所述傳輸代理互連,用于接收所傳輸?shù)奈锢頂?shù)位。
參考下述描述及用于說明本發(fā)明實施例的附圖,可以最好地理解本發(fā)明。在附圖 中
圖1根據(jù)本發(fā)明的一個實施例圖示了被劃分為四個塊的80位片的片格式以及其 中八個CRC位的排序;
圖1A根據(jù)本發(fā)明的一個實施例圖示了圖1的80位片的片格式,該片被劃分為物 理數(shù)位O-物理數(shù)位3的四個物理數(shù)位,用以在全寬度鏈路上傳輸;
圖2根據(jù)本發(fā)明的一個實施例圖示了被劃分為八個物理數(shù)位的80位片的片格式, 用以在半寬度鏈路上傳輸;
圖3根據(jù)本發(fā)明的一個實施例圖示了被劃分為十六個物理數(shù)位的80位片的片格 式,用以在四分之一寬度鏈路上傳輸;
圖4根據(jù)本發(fā)明的一個實施例圖示了提供可變寬度鏈路的直接布線方案中所固 有的片上布線擁塞及可變延遲;
圖5根據(jù)本發(fā)明的一個實施例圖示了一種多路復(fù)用器輸入方案,用于產(chǎn)生所要求 的物理數(shù)位及位傳輸順序;
圖6根據(jù)本發(fā)明的一個實施例圖示了以下系統(tǒng)的電路板布圖,該系統(tǒng)用于實現(xiàn)半 字節(jié)多路復(fù)用以產(chǎn)生期望的位傳輸順序,同時可支持分叉端口 ;以及
圖7根據(jù)本發(fā)明的一個實施例圖示了位重組方案的實現(xiàn)。
具體實施方式
在下面的描述中,闡明了許多具體的細(xì)節(jié)。但是應(yīng)當(dāng)理解,沒有這些具體的細(xì)節(jié)也 可以實現(xiàn)本發(fā)明的實施例。此外,為了不模糊對本描述的理解,沒有詳細(xì)地示出公知的電 路、結(jié)構(gòu)及技術(shù)。
在整個說明書中,“一個實施例”或“實施例”意指結(jié)合該實施例描述的特定特征、 結(jié)構(gòu)或特性被包括在本發(fā)明的至少一個實施例中。因此,在整個說明書的多個地方,短語 “在一個實施例中”或“在實施例中”的出現(xiàn)并不一定是指相同的實施例。此外,在一個或多 個實施例中,可以以任何合適的方式組合特定的特征、結(jié)構(gòu)或特性。
此外,創(chuàng)造性方面存在于單個公開實施方式的部分特征中。因此,本說明書所附的 權(quán)利要求書特此被明確地包含在“具體實施方式
”部分中,每一項權(quán)利要求各自代表本發(fā)明 的單獨的實施方式。
片格式
本發(fā)明的一個實施例提供了具有20通道鏈路(在全寬度時)的PLI,其以四個20 位物理數(shù)位的方式傳輸80位的片。對于本發(fā)明的一個實施例,該20個通道被分到每五個 通道一組的四分體中。對于這種實施例,寬度減小的鏈路可以由用作半寬度鏈路的兩個四 分體的任何組合組成,或者由用作四分之一寬度鏈路的任何一個四分體組成。就是說,這種 實施例不支持任意鏈路寬度,只支持全寬度(20通道)、半寬度(10通道)和四分之一寬度 (5通道)。在全寬度時,該鏈路在四個時鐘周期內(nèi)以四個20位物理數(shù)位傳輸一個80位片; 在半寬度時,該鏈路在八個時鐘周期內(nèi)以八個10位物理數(shù)位傳輸一個80位片;以及在四分 之一寬度時,該鏈路在十六個時鐘周期內(nèi)以十六個5位物理數(shù)位傳輸一個80位片。
80位片包含幾個(例如八個)錯誤檢測位來實現(xiàn)循環(huán)冗余校驗(CRC)。CRC是一 種用作檢測已被傳輸過通信鏈路的數(shù)據(jù)中的錯誤的方法。典型地,Tx將多項式應(yīng)用于數(shù)據(jù) 塊,并且將作為結(jié)果的CRC碼附加到該塊。Rx應(yīng)用相同的多項式,并且將其結(jié)果與附加的結(jié) 果相比較。如果它們一致,那么成功地接收了數(shù)據(jù),如果不一致,那么通知Tx重傳該數(shù)據(jù)。
基于用來實現(xiàn)CRC的數(shù)學(xué)方法,要求按照特定的順序來傳輸片的CRC位。對于一 個實施例,要求遵循特定的順序來傳輸物理數(shù)位以及每一物理數(shù)位內(nèi)的位,從而有效地使 用鏈路層的CRC突發(fā)錯誤檢測能力。傳輸順序取決于使用中的鏈路寬度。圖1根據(jù)本發(fā)明 的一個實施例圖示了被劃分為四塊的80位片的片格式以及其中的八個CRC位的排序。如 圖1所示,所示的片包含塊O-塊3的四個20位塊,以及位O-位7的八個CRC位。為了實現(xiàn)CRC,按照特定的順序傳輸CRC位。CRC位CO及C4被包括在塊O中,Cl及C5被包括在 塊I中,C2及C6被包括在塊2中,而C3及C7被包括在塊3中。
圖1A根據(jù)本發(fā)明的一個實施例圖示了圖1的80位片的片格式,該片被劃分為物 理數(shù)位O-物理數(shù)位3的四個物理數(shù)位,用以在全寬度鏈路上傳輸。如圖1所示,對于具有 20個通道的全寬度鏈路,片的每一個塊相當(dāng)于一個物理數(shù)位。圖1A將每一位表示為序偶 <q,o>,其中“q”指出該位所屬的四分體,而“O”則指出該位在四分體中的偏移。如圖1A所 示,八個CRC位被包含在物理數(shù)位O-物理數(shù)位3四個物理數(shù)位中每一個的第O列(位位 置)和第I列中。
半寬度鏈路使用兩個四分體的任意組合,在八個時鐘周期內(nèi)以8個10位物理數(shù)位 來傳輸一個80位片。這八個物理數(shù)位不是由片的四個塊中每一個塊的第一半和第二半簡 單地組成。為了滿足CRC算法的要求,用于半寬度鏈路的片格式交織該片的位,使得八個 CRC位處在八個物理數(shù)位的每一個的第一位位置中。圖2根據(jù)本發(fā)明的一個實施例圖示了 被劃分為八個物理數(shù)位的80位片的片格式,用以在半寬度鏈路上傳輸。如圖2所示,八個物 理數(shù)位的第一個,即物理數(shù)位O由該片的第一塊的交替的位組成;八個物理數(shù)位的第二個, 即物理數(shù)位I由該片的第二塊的交替的位組成;八個物理數(shù)位的第三個,即物理數(shù)位2由該 片的第一塊的剩余的交替的位(那些沒有包括在物理數(shù)位O中的)組成;等等。就是說,物 理數(shù)位O包括塊O的偶數(shù)列,物理數(shù)位I包括塊I的偶數(shù)列。接下來的兩個物理數(shù)位,物理 數(shù)位2和物理數(shù)位3相應(yīng)地包括塊O和塊I的奇數(shù)列。因此,物理數(shù)位O-物理數(shù)位3用于 完整地傳輸塊O和塊I。而物理數(shù)位4-物理數(shù)位7通過重復(fù)該過程用于傳輸塊2和塊3。 這種排序允許八個CRC位被置于所示的八個物理數(shù)位的每一個的第一位位置中。
對于半寬度鏈路,只使用四個通道四分體中的兩個。使用的兩個四分體可以是四 個四分體的任意組合<x,y>,如圖2所示。對于本發(fā)明的一個實施例,所選擇的兩個四分體 中具有較低“q”值的四分體傳輸具有較低列序號(物理數(shù)位中的位位置)的位。例如,對 于圖2中所示的片格式,y>x。
四分之一寬度鏈路使用任何一個通道四分體,在十六個時鐘周期內(nèi),以十六個5 位物理數(shù)位來傳輸一個80位片。同樣,為了滿足CRC要求,片中的位必須被專門地排序。 圖3根據(jù)本發(fā)明的一個實施例圖示了被劃分為十六個物理數(shù)位的80位片的片格式,用以在 四分之一寬度鏈路上傳輸。如圖3所示,八個CRC位處于物理數(shù)位的交替對的第一位位置。 通過與上述參考圖2的過程相似的過程形成這十六個物理數(shù)位。就是說,物理數(shù)位O由來 自塊O從第O列開始并包括每隔四位的共五位組成。物理數(shù)位I由來自塊I從第O列開始 并包括每隔四位的共五位組成。物理數(shù)位2-物理數(shù)位7交織塊O及塊I的位,包括每一塊 中按照特定的順序從第2列、第I列及第3列開始,每隔四位選出的五位。因此,物理數(shù)位 O-物理數(shù)位I用來完整地傳輸塊O及塊I。然后物理數(shù)位8-物理數(shù)位15通過重復(fù)該過程 用來傳輸塊2和塊3。
半字節(jié)多路復(fù)用(NIBBLE MUXING)
按照CRC所要求的順序直接進行位布線將導(dǎo)致長的路線長度,這會引起布線擁塞 及可變的延遲。圖4根據(jù)本發(fā)明的一個實施例圖示了提供可變寬度鏈路的直接布線方案中 所固有的片上布線擁塞及可變延遲。如圖4所示,來自20個通道的位被劃分到每個有五個 通道的四分體中。來自四分體Q1-Q4每一個的一位被直接導(dǎo)向多路復(fù)用器1-多路復(fù)用20這20個多路復(fù)用器中的四個。例如圖4中所示,位0、5、10及15 (每個四分體的第一位)被 直接導(dǎo)向多路復(fù)用器1、6、11及16的每一個。繼續(xù)這種模式,位1、6、11及16(每個四分體 的第二位)被直接導(dǎo)向多路復(fù)用器2、7、12及17的每一個,等等。多路復(fù)用器的每一個接 收四個輸入位,并且基于鏈路寬度提供輸出,就是說,對于全寬度(20位)鏈路,這20個多 路復(fù)用器的每一個提供一個輸出,如多路復(fù)用器I提供位O輸出等。對于半寬度鏈路,每一 時鐘周期只有這20個多路復(fù)用器的10個提供輸出,即每一時鐘周期共10位輸出。例如, 多路復(fù)用器I可以在兩個連續(xù)的時鐘周期的每一個上分別提供位O和位10的輸出,多路復(fù) 用器6可以在兩個連續(xù)的時鐘周期的每一個上分別提供位5和位15的輸出,在這里使用了 四分體Ql及Q2。在使用Q3及Q4時,多路復(fù)用器11可以在兩個連續(xù)的時鐘周期的每一個 上分別提供位O和位10的輸出,多路復(fù)用器16可以在兩個連續(xù)的時鐘周期的每一個上分 別提供位5和位15的輸出。對于四分之一寬度路徑,每一時鐘周期內(nèi)只有這20個多路復(fù) 用器中的5個提供輸出,即每一時鐘周期共5位輸出。例如,多路復(fù)用器I可以在四個連續(xù) 的時鐘周期的每一個上分別提供位O、位5、位10及位15的輸出(在使用Ql時)。
根據(jù)這種方案的路線長度的比較說明了可變的延遲。這種路線長度的可變性可以 使緩沖成為必要。
為了既實現(xiàn)CRC所要求的位傳輸順序,又避免這些缺點,根據(jù)本發(fā)明的一個實施 例,為PLI的每一個通道設(shè)置了一個集成多路復(fù)用器(MUX)。對于一個20通道PLI,集成20 個多路復(fù)用器。
圖5根據(jù)本發(fā)明的一個實施例圖示了一種多路復(fù)用器輸入方案,用于產(chǎn)生所要求 的物理數(shù)位及位傳輸順序。多路復(fù)用器輸入方案500將20位塊劃分到半字節(jié)O-半字節(jié)4 這五個每個四位的半字節(jié)中。針對半字節(jié)O來討論解決由CRC帶來的傳輸順序限制的多路 復(fù)用方案。
對于全寬度鏈路,多路復(fù)用輸入選擇是直通式的;為奇數(shù)塊和偶數(shù)塊的每一個實 現(xiàn)20個多路復(fù)用器。對于全寬度鏈路,20個多路復(fù)用器的每一個(一個多路復(fù)用器與每 一個輸入都相關(guān))都是活動的,并且每個多路復(fù)用器逐個半字節(jié)地接收其對應(yīng)的輸入。如 圖5所示,半字節(jié)O的位O-位3中的每一位被輸入到多路復(fù)用器O-多路復(fù)用器3四個對 應(yīng)的多路復(fù)用器。這些位在每一四分體中的偏移為O。塊O的所有半字節(jié)(由塊O的半字 節(jié)O例示)被作為物理數(shù)位O傳輸,塊I的所有半字節(jié)(由塊I的半字節(jié)O例示)被作為 物理數(shù)位I傳輸。
對塊2及塊3重復(fù)所述操作,以生成接下來的兩個物理數(shù)位。
對于半寬度鏈路,使用指定為Qy和Qx的兩個四分體,因此,只使用和每一個半字 節(jié)相關(guān)聯(lián)的四個多路復(fù)用器中的兩個,共十個活動的多路復(fù)用器。在八個物理數(shù)位的前四 個中,使用位〈X,0>和<y,0>來傳輸塊O和塊I的半字節(jié)O。在物理數(shù)位O中,Qx Qy分別 傳輸塊O的位O和位2 (也傳輸位4、8、12和16,以及位6、10、14和18)。在物理數(shù)位I中, Qx及Qy切換到塊I并且分別傳輸位O及位2 (也傳輸位4、8、12和16,以及位6、10、14和 18)。對塊O和塊I的位I和位3 (以及位5、9、13和17,以及位7、11、15和19)重復(fù)上述操 作,總共有四個物理數(shù)位。對塊2和塊3,接下來的四個物理數(shù)位重復(fù)該操作。
如上面提到的,對于四分體對Qy和Qx,x的值小于y的值。例如,如果四分體I和 四分體O被用來形成半寬度鏈路,那么四分體O在連續(xù)的物理數(shù)位中傳輸每個塊的位O和位1,四分體I在連續(xù)的物理數(shù)位中傳輸位2和位3。另一方面,如果使用四分體I和四分 體2,那么四分體I在連續(xù)的物理數(shù)位中傳輸每個塊的位O和位1,并且四分體2在連續(xù)的 物理數(shù)位中傳輸位2和位3。
對于四分之一寬度鏈路,使用四分體之一的Qx,因此,只使用和每一個半字節(jié)相關(guān) 聯(lián)的四個多路復(fù)用器的一個,共計五個活動的多路復(fù)用器。在使用<χ,0>的十六個物理數(shù) 位的前八個中傳輸塊O和塊I的半字節(jié)O。在物理數(shù)位O中傳輸塊O的位O (也傳輸位4、 8、12和16)并且在物理數(shù)位I中傳輸塊I的位O (也傳輸位4、8、12和16)。在對兩個塊的 總共八個物理數(shù)位來交織塊O和塊I時,對于每一次疊代,分別使用半字節(jié)O的位2、位I及 位3(以及其它每個半字節(jié)的對應(yīng)位)重復(fù)三次上述操作。對于塊2和塊3,使用接下來的 八個物理數(shù)位重復(fù)所述操作。
傳輸后,在Rx端口處使用與所述復(fù)用方案產(chǎn)生相反效果,并提供位及物理數(shù)位的 解復(fù)用的方案來解復(fù)用所接收的位。
重鉬(SffIZZLING)
以上描述了本發(fā)明實現(xiàn)半字節(jié)多路復(fù)用的實施例,該實施例相對于它們的關(guān)聯(lián)輸 入通過提供高度局部化的、片上的多路復(fù)用,減少了片上布線擁塞及可變的路徑長度。因為 當(dāng)操作寬度減小的鏈路(或者本發(fā)明實施例的半寬度鏈路,或者本發(fā)明實施例的四分之一 寬度鏈路)時,物理數(shù)位沒有通過鄰近物理通道上的鏈路進行傳輸,所以維持所要求的物 理數(shù)位及每一物理數(shù)位中的位的傳輸順序,可能會相對困難。就是說,半字節(jié)多路復(fù)用方案 的實現(xiàn)將對應(yīng)于給定半字節(jié)的四個多路復(fù)用器的每一個的輸出直接導(dǎo)向不同的四分體。這 在支持多種特性的系統(tǒng)中可能是成問題的。
例如,考慮所支持的端口分叉特性。端口分叉允許一個全寬度的代理被分為兩個 各具有半寬度鏈路的代理。例如,對于某些系統(tǒng)平臺,I/o上的流量與處理器之間的流量不 一樣多。因此,對于有兩個處理器的系統(tǒng),不是每個處理器都有其自己的專用I/o組件,而 是在互連方面這兩個處理器可能共享單個I/o組件。在這種情形中,這兩個處理器使用20 位寬的互連(20個通道)相互通信,但是I/O代理分配它的20個通道中的10個來與一個 處理器通信,分配另外10個通道來與另一個處理器通信。對于本發(fā)明的一個實施例,通過 先于鏈路初始化的引腳捆綁(Pin straps)實現(xiàn)端口分叉,并且這種配置仍舊是靜態(tài)的。對 于本發(fā)明的一個實施例,分叉的端口在引腳區(qū)的中央有兩個時鐘通道(每個半寬度鏈路一 個)。對于本發(fā)明的一個實施例,能夠分叉的端口也能夠作為單個全寬度鏈路運行。對于這 樣一個實施例,外部時鐘引腳可能沒有被連接,或者被硬連線接到Vcc或Vss 二者之一。
圖6根據(jù)本發(fā)明的一個實施例圖示了以下系統(tǒng)的電路板布圖,該系統(tǒng)用于實現(xiàn)半 字節(jié)多路復(fù)用以產(chǎn)生期望的位傳輸順序,同時可支持分叉端口。圖6中所示的系統(tǒng)600包 括Tx代理605,其實現(xiàn)如參考圖5所述的,由半字節(jié)多路復(fù)用產(chǎn)生的期望的傳輸順序。如 所示的,代理605有分叉的端口。系統(tǒng)600還包括兩個代理610A和610B,每個具有一個半 寬度端口。在代理610A和610B的每一個上可用的20個通道中有一半是不活動的。在代 理610A上,半寬度端口使用通道0-9,而在代理610B上,半寬度端口使用通道10-19。如圖 6中所不,代理605的四分體O及四分體I被導(dǎo)向代理610A,而四分體2及四分體3被導(dǎo)向 代理610B。這種布圖在電路板上會有如圖6所示的過多的線路交叉,或者,需要額外的布線 層,二者都不可取。
為了解決這種情況,本發(fā)明的一個實施例在內(nèi)部邏輯與物理通道之間實現(xiàn)了位重組層。
圖7根據(jù)本發(fā)明的一個實施例圖示了位重組方案的實現(xiàn)。如圖7所示的系統(tǒng)700 包括代理705,其具有在內(nèi)部邏輯與物理引腳706之間實現(xiàn)的位重組方案。位重組的結(jié)果是產(chǎn)生了讓所有的位在鄰近物理通道上傳輸?shù)乃姆煮w。對于本發(fā)明的一個實施例,通過管芯上的硬接線實現(xiàn)位重組,因此不需要額外的邏輯。如圖7所示,對于本發(fā)明的一個實施例, 使用接下來的重組公式將用序偶<q,o>表示的位映射到物理通道“η”。
通道n = (NL/4)*(l+q)-o_l 對于 q < 2 ;并且
= (Nl/4) * (5-q) +ο 對于 q > = 2 ;
這里,“n”是通道號(O到Nl-1),“隊”是全寬度鏈路通道數(shù)量(例如20個通道), “q”是四分體號(O到3),并且“O”是四分體“q”內(nèi)的位偏移(O到4)。通過內(nèi)部重組位, 從而迫使四分體的所有位在鄰近的物理通道上傳輸,緩和了分叉端口的板上布線擁塞。如所示的,代理705的端口可以是分叉的,四分體O與四分體I被導(dǎo)向代理710A的半寬度端口,四分體2與四分體3被導(dǎo)向代理710B的半寬度端口。在物理引腳706處,實施所述重組方案后的四分體順序并不是按順序排列的,但是無需額外的布線層就可以直接連接到代理 710A 及 710B。
一般問題(GENERAL MATTERS)
本發(fā)明的實施例提供了用于將鏈路劃分為一個或多個寬度減小的鏈路的算法。盡管在上面參考PLI作了描述,該PLI具有20個通道的全寬度鏈路、80位的片大小以及半寬度及四分之一寬度的減小寬度鏈路,但是本發(fā)明可選的實施例同樣地使用具有不同大小的鏈路、片以及提供多種減小寬度鏈路的PLI。
對于一個實施例,高度局部化的多路復(fù)用器減輕了在芯片的高度擁塞區(qū)域中的片上擁塞,該多路復(fù)用器是通過以上參考圖5描述的半字節(jié)多路復(fù)用處理產(chǎn)生的。上面參考圖6描述的位重組增加了片上擁塞(在可以容忍擁塞加重的不太擁塞的區(qū)域中),但是減輕了板上擁塞,允許系統(tǒng)更好地支持端口分叉及通道倒序的特性。
通道倒序
在通道倒序方面,上述多路復(fù)用及重組方案的實現(xiàn)提供了附加的好處。
理想情況中,在兩個被互連的代理的每一個上提供物理信號的引腳被連接到另一個代理上對應(yīng)的引腳。就是說,對于一對20引腳的代理,一個代理上的引腳0-19被連接到另一個代理上的引腳0-19。對于某些拓?fù)?,這種連接可能導(dǎo)致過多的電路板布圖擁塞或復(fù)雜性。本發(fā)明的實施例允許在一個端口上的引腳對另一個端口上的引腳倒序。這種通道倒序由下面的A和B兩個端口之間的引腳連接方程定義。
引腳kcomponent A= >引腳(N L k I) component B
由Rx端口自動地檢測并補償通道倒序。只要代理通過對應(yīng)的引腳(直接連接) 或者通過上面提到的用于通道倒序的引腳連接方程被連接起來,在板上就不需要額外的步驟。
對于本發(fā)明的一個實施例,其中除端口分叉之外還支持通道倒序特性,20通道的分叉端口的通道0-9被連接到第一半寬度端口的通道19-10 (按照該特定的順序),而20通道的分叉端口的通道10-19被連接到第二半寬度端口的通道9-0 (按照該特定的順序)。
對于本發(fā)明的一個使用上述多路復(fù)用及重組方案的實施例,直接連接的每一通道 的通道標(biāo)識符與倒序后的通道連接的通道標(biāo)識符只有一位不同。就是說,由于通道被限制 在僅僅兩個位置的其中之一,所以它們的標(biāo)識符除了一位外,全都可以相同。在這種實施例 中,通過比較該單個位可以檢測出通道倒序。通過參考通道標(biāo)識符的單個位可以指示通道 倒序,這節(jié)省了時間及芯片空間,因此僅僅需要在片上實現(xiàn)一位比較器來支持通道倒序。相 反,現(xiàn)有技術(shù)的方案要求通道標(biāo)識符的所有五位都進行比較,因此就需要五位比較器。
本發(fā)明的實施例所提供的多路復(fù)用及重組處理在支持其它期望的特性的同時,產(chǎn) 生期望的位傳輸順序并且為減小寬度鏈路提供了方便。這些處理包括各種操作并且被按照 它們最基本的形式作了描述,但是可以向這些處理的任何一個添加操作或從這些處理的任 何一個中刪除操作,而不背離本發(fā)明的基本范圍??梢酝ㄟ^硬件組件實現(xiàn)本發(fā)明的各種實 施例的操作,或者包括在上述機器可執(zhí)行指令中?;蛘呖梢酝ㄟ^硬件與軟件的組合來執(zhí)行 本發(fā)明各個實施例的操作。本發(fā)明的實施例可以作為計算機程序產(chǎn)品來提供,該計算機程 序產(chǎn)品可以包括在其上存儲有指令的機器可訪問介質(zhì),其可以被用來使計算機(或者其它 電子器件)按程序執(zhí)行根據(jù)本發(fā)明的上述處理。
機器可訪問介質(zhì)包括任何以可由機器(例如,計算機、網(wǎng)絡(luò)設(shè)備、個人數(shù)字助手、 制造工具、任何有一組一個或多個處理器的器件等)訪問的形式來提供(例如,存儲和/或 傳輸)信息的機制。例如,機器可訪問介質(zhì)包括可記錄/不可記錄介質(zhì)(例如只讀存儲器 (ROM);隨機訪問存儲器(RAM);磁盤存儲介質(zhì);光存儲介質(zhì);閃存器件等),以及電、光、聲 或者其它形式的傳播信號(例如載波、紅外信號、數(shù)字信號等)等。
雖然已經(jīng)結(jié)合幾個實施例描述了本發(fā)明,但是本領(lǐng)域的技術(shù)人員將認(rèn)識到本發(fā)明 不限于上述實施例,而是在所附權(quán)利要求的精神和范圍內(nèi),可以進行修改和變化。因此,以 上描述應(yīng)當(dāng)被認(rèn)為是解釋性的,而不是限制性的。
權(quán)利要求
1.一種用于提供可變寬度鏈路的方法,包括將片的多個位劃分為若干組,每一組位有四位,其中所述片代表數(shù)據(jù)分組的一個同步傳輸?shù)亩危摱蔚拇笮∮涉溌穼哟_定,所述片包括數(shù)據(jù)位和循環(huán)冗余校驗位;通過把一組位的每一位輸入到多組多路復(fù)用器中與該組位相關(guān)聯(lián)的一組多路復(fù)用器中的四個多路復(fù)用器中,獨立地多路復(fù)用每一組的位,以產(chǎn)生期望的傳輸順序,該傳輸順序滿足所述循環(huán)冗余校驗位的循環(huán)冗余校驗要求;將傳輸通道劃分為多個傳輸通道四分體,所述四分體中至少有一個是活動的,使得來自每一組的被多路復(fù)用的位形成物理數(shù)位,所述物理數(shù)位所具有的位的數(shù)量與所有活動的傳輸通道四分體中的傳輸通道的數(shù)量的總數(shù)相等。
2.如權(quán)利要求1所述的方法,其中,所述四個對應(yīng)的多路復(fù)用器中的每一個與所述多個傳輸通道四分體中的一個不同傳輸通道四分體相關(guān)聯(lián)。
3.如權(quán)利要求1所述的方法,其中,每一傳輸通道四分體有五個傳輸通道。
4.如權(quán)利要求3所述的方法,其中,重組所述被多路復(fù)用的位,使得從鄰接的物理傳輸通道傳輸每一輸出位。
5.一種用于提供可變寬度鏈路的系統(tǒng),包括端口劃分單元,用于將鏈路端口的數(shù)據(jù)傳輸通道劃分為多個四分體,所述四分體中至少有一個是活動的;多組多路復(fù)用器,每一組多路復(fù)用器與片的一組位相關(guān)聯(lián),其中每一組多路復(fù)用器有四個多路復(fù)用器,所述片代表數(shù)據(jù)分組的一個同步傳輸?shù)亩?,該段的大小由鏈路層確定,所述片包括數(shù)據(jù)位和循環(huán)冗余校驗位,所述片的多個位被劃分為若干組,每一組位有四位,每一組位中的四位都被輸入到與該組位關(guān)聯(lián)的多路復(fù)用器組中的每一個多路復(fù)用器,以產(chǎn)生期望的傳輸順序,該傳輸順序滿足所述循環(huán)冗余校驗位的循環(huán)冗余校驗要求;和傳輸單元,用于以多個物理數(shù)位來傳輸所述片,每一物理數(shù)位所具有的位的數(shù)量與所有活動四分體內(nèi)的數(shù)據(jù)傳輸通道的總數(shù)相等。
6.如權(quán)利要求5所述的系統(tǒng),其中,按照指定的位傳輸順序,通過所述鏈路來傳輸一個片的多個物理數(shù)位和一個物理數(shù)位的多個位。
7.如權(quán)利要求5所述的系統(tǒng),其中,每組多路復(fù)用器的輸出形成物理數(shù)位。
8.如權(quán)利要求5所述的系統(tǒng),其中,重組輸入到所述每一個多路復(fù)用器的位,使得從一組鄰接的物理傳輸通道傳輸來自所述多路復(fù)用器的一組輸出位。
9.如權(quán)利要求8所述的系統(tǒng),其中所述端口是分叉的。
10.一種用于提供可變寬度鏈路的方法,包括將鏈路端口的數(shù)據(jù)傳輸通道劃分為多個四分體,所述四分體中至少有一個是活動的;將多組多路復(fù)用器中的每一組多路復(fù)用器與片的一組位相關(guān)聯(lián),其中每一組多路復(fù)用器有四個多路復(fù)用器,所述片代表數(shù)據(jù)分組的一個同步傳輸?shù)亩?,該段的大小由鏈路層確定,所述片包括數(shù)據(jù)位和循環(huán)冗余校驗位,所述片的多個位被劃分為若干組,每一組位有四位,每一組位中的四位都被輸入到與該組位關(guān)聯(lián)的多路復(fù)用器組中的每一個多路復(fù)用器, 以產(chǎn)生期望的傳輸順序,該傳輸順序滿足所述循環(huán)冗余校驗位的循環(huán)冗余校驗要求;以及以多個物理數(shù)位來傳輸所述片,每一物理數(shù)位所具有的位的數(shù)量與所有活動四分體內(nèi)的數(shù)據(jù)傳輸通道的總數(shù)相等。
11.如權(quán)利要求10所述的方法,其中,按照指定的位傳輸順序,通過所述鏈路來傳輸一個片的多個物理數(shù)位和一個物理數(shù)位的多個位。
12.如權(quán)利要求10所述的方法,其中,每組多路復(fù)用器的輸出形成物理數(shù)位。
13.如權(quán)利要求10所述的方法,其中,重組輸入到所述每一個多路復(fù)用器的位的組,使得從一組鄰接的物理傳輸通道傳輸來自所述多路復(fù)用器的一組輸出位。
14.一種用于提供可變寬度鏈路的系統(tǒng),包括傳輸代理,其具有多個數(shù)據(jù)傳輸通道,所述多個數(shù)據(jù)傳輸通道被劃分為多個四分體,至少一個四分體是活動的,并且其中采用多組多路復(fù)用器來接收數(shù)據(jù)、多路復(fù)用所述數(shù)據(jù)以及輸出所述數(shù)據(jù),其中每一組多路復(fù)用器與片的一組位相關(guān)聯(lián),每一組多路復(fù)用器有四個多路復(fù)用器,所述片代表數(shù)據(jù)分組的一個同步傳輸?shù)亩?,該段的大小由鏈路層確定,所述片包括數(shù)據(jù)位和循環(huán)冗余校驗位,所述片的多個位被劃分為若干組,每一組位有四位,每一組位中的四位都被輸入到與該組位關(guān)聯(lián)的多路復(fù)用器組中的每一個多路復(fù)用器,以產(chǎn)生期望的傳輸順序,該傳輸順序滿足所述循環(huán)冗余校驗位的循環(huán)冗余校驗要求,每一組多路復(fù)用器的輸出形成物理數(shù)位,在相應(yīng)的時鐘周期中,在所述活動四分體的傳輸通道上傳輸每個物理數(shù)位,每個物理數(shù)位所具有的位的數(shù)量與所有活動四分體內(nèi)的數(shù)據(jù)傳輸通道的總數(shù)相等;和接收代理,其通過點對點基于鏈路的互連方案與所述傳輸代理互連,用于接收所傳輸?shù)奈锢頂?shù)位。
15.如權(quán)利要求14所述的系統(tǒng),其中,所述傳輸代理及所述接收代理是從以下組中選出的組件,該組由處理器、存儲器控制器、輸入/輸出集線器組件、芯片組及其組合組成。
16.如權(quán)利要求14所述的系統(tǒng),其中,重組每一組多路復(fù)用器的輸出,使得從一組鄰接的物理傳輸通道傳輸來自每一組所述多路復(fù)用器的輸出位。
17.如權(quán)利要求16所述的系統(tǒng),其中,所述接收代理的多個數(shù)據(jù)傳輸通道被倒序連接到所述傳輸代理的所述多個數(shù)據(jù)傳輸通道。
18.如權(quán)利要求17所述的系統(tǒng),其中,由每一數(shù)據(jù)傳輸通道的數(shù)據(jù)傳輸通道標(biāo)識符中的單個位來指示所述倒序。
19.如權(quán)利要求16所述的系統(tǒng),其中,所述接收代理包括其中采用的多組多路復(fù)用器, 所述多路復(fù)用器用于接收數(shù)據(jù)并且解復(fù)用所述數(shù)據(jù)。
全文摘要
本發(fā)明的實施例提供了一種用于將鏈路劃分為一個或多個寬度減小的鏈路的算法。對于本發(fā)明的一個實施例,一種多路復(fù)用方案被用來實現(xiàn)由特定的循環(huán)冗余校驗所要求的位傳輸順序。然后在片上重組多路復(fù)用的輸出位,從而減少板上布線擁塞。
文檔編號G06F13/38GK103034605SQ20121032765
公開日2013年4月10日 申請日期2004年12月3日 優(yōu)先權(quán)日2004年5月21日
發(fā)明者莫里斯·B·斯坦曼, 拉胡爾·R·沙阿, 納韋恩·謝呂庫里, 阿龍·T·斯平克, 艾倫·J·鮑姆, 桑賈伊·達布羅, 提姆·弗羅德沙姆, 戴維·S·鄧寧, 西奧多·Z·舍恩博恩 申請人:英特爾公司