專利名稱:用于啟用確定性接口的方法、裝置和系統(tǒng)的制作方法
用于啟用確定性接口的方法、裝置和系統(tǒng)高性能和低功耗的主流的處理器芯片都在不斷集成附加的功能,比如圖形、顯示引擎、安全引擎、PCIe 端口(B卩根據(jù)外設(shè)部件快速互連(PCIExpress (PCIe )規(guī)范基本規(guī)范2. O (發(fā)布于2007年I月17日)(以下簡稱PCIeTM規(guī)范)的端口)和其他以PCI-EtmS基礎(chǔ)的外圍設(shè)備。分組交換網(wǎng)絡(luò)中的延遲時(shí)間可以用單程的方式測(cè)量(從發(fā)送數(shù)據(jù)包的源到接收到它的目的地的時(shí)間),也可以用往返的方式測(cè)量(從源到目的地的單程時(shí)間加上從目的地返回源的單程時(shí)間)。往返延遲時(shí)間更常被使用,因?yàn)樗梢詮膯蝹€(gè)點(diǎn)上來測(cè)量。需要注意的是往返延遲中不包括目的地系統(tǒng)處理分組所耗費(fèi)的時(shí)間量。許多軟件平臺(tái)提供一種服務(wù)稱為ping,它可以被用來測(cè)量往返延遲。Ping不執(zhí)行分組處理,它只是當(dāng)接收到分組時(shí)發(fā)送 回響應(yīng)(即執(zhí)行一個(gè)no-op),因此它是一個(gè)相對(duì)準(zhǔn)確的測(cè)量延遲的方法。在精度很重要的情況下,鏈接的單向延遲可以更嚴(yán)格地被定義為從分組傳輸?shù)拈_始到分組接收的開始的時(shí)間。在接近結(jié)尾時(shí)從分組傳輸?shù)拈_始到分組傳輸?shù)慕Y(jié)尾的時(shí)間被單獨(dú)測(cè)量并被稱為串行延時(shí)。這種延遲的定義取決于該鏈路的吞吐量以及分組的大小,并且是系統(tǒng)向?qū)Ь€發(fā)出完整的分組所需要的時(shí)間。然而,在一個(gè)非平凡網(wǎng)絡(luò)中,典型分組將經(jīng)由許多網(wǎng)關(guān)在許多鏈接上被轉(zhuǎn)發(fā),每一個(gè)網(wǎng)關(guān)在分組被完全接收之前都不會(huì)開始轉(zhuǎn)發(fā)分組。在這樣的網(wǎng)絡(luò)中,最小延遲是每一個(gè)鏈接的最小延遲的總和,加上除了最后一個(gè)鏈路之外的每一個(gè)鏈路的傳輸延時(shí),加上每一個(gè)網(wǎng)關(guān)的轉(zhuǎn)發(fā)延遲。在實(shí)踐中,該最小延遲還會(huì)因?yàn)榕抨?duì)和處理延時(shí)而進(jìn)一步增加。當(dāng)網(wǎng)關(guān)收到來自不同源向同一個(gè)目的地的多個(gè)分組時(shí),排隊(duì)延時(shí)就會(huì)發(fā)生。由于通常一次只能發(fā)送一個(gè)分組,一些分組必須排隊(duì)等待發(fā)送,這產(chǎn)生了額外的延時(shí)。而當(dāng)網(wǎng)關(guān)決定對(duì)新接收到的分組要作些什么的時(shí)候,處理延時(shí)就會(huì)發(fā)生。傳輸延時(shí)、串行延時(shí)、排隊(duì)延時(shí)和處理延時(shí)的組合通常產(chǎn)生了復(fù)雜且多變的網(wǎng)絡(luò)延遲情況。取決于制造集成化基于PCI-eTM的外圍設(shè)備以及任何帶有接口的集成設(shè)備的復(fù)雜度,延遲的變化存在于晶片硅和封裝之間。延遲的變化可能導(dǎo)致非確定性的行為。目前,現(xiàn)有的PCI-e規(guī)范沒有解決這個(gè)問題。(I)如果一系統(tǒng)、邏輯或芯片根據(jù)其輸入通道上發(fā)生的事件的順序(時(shí)間戳)總是以同樣的方式進(jìn)行反應(yīng)(內(nèi)部狀態(tài)和最終輸出),那么該系統(tǒng)、邏輯或芯片是確定性的。但是晶片處理和系統(tǒng)測(cè)試器的變化會(huì)導(dǎo)致測(cè)試接口單元行為的一定程度的不確定性。這種非確定性的行為增加了測(cè)試復(fù)雜性,因?yàn)楝F(xiàn)在測(cè)試必須檢查所有變化為預(yù)期輸出。圖I中所示的現(xiàn)有的一個(gè)解決方案是AFE旁路模式,AFE旁路模式通過如下方式來管理不可預(yù)測(cè)的行為將來自DDR (雙數(shù)據(jù)速率)接口的并行數(shù)據(jù)與來自PCIe AFE (模擬前端)的并行數(shù)據(jù)進(jìn)行復(fù)用,多路復(fù)用器的輸出進(jìn)入PCIe以用于處理。因此,不可預(yù)測(cè)源(即,AFE)被旁路。當(dāng)AFE旁邊模式被啟用時(shí),多路復(fù)用器選擇來自DDR接口的數(shù)據(jù),并且經(jīng)調(diào)節(jié)的(經(jīng)重新映射以匹配DDR引腳)PCIe模式被饋送到DDR接口。因此,這些模式映射到在接收器端的PCIe核心邏輯。由PCIe傳輸器對(duì)這些模式的響應(yīng)是使用MISR來監(jiān)測(cè)和比較的,MISR最終連接到觀察引腳。不幸的是,這種解決方案旁路了 AFE,且導(dǎo)致AFE測(cè)試覆蓋范圍的損失。附圖
描述圖I是現(xiàn)有技術(shù)。圖2是根據(jù)本發(fā)明的實(shí)施例的計(jì)數(shù)器行為的時(shí)序圖。圖3是根據(jù)本發(fā)明的 實(shí)施例的用于調(diào)節(jié)數(shù)據(jù)路徑的延遲的裝置。圖4是根據(jù)本發(fā)明的實(shí)施例的延遲調(diào)節(jié)的時(shí)序圖。圖5是根據(jù)本發(fā)明的實(shí)施例的裝置的框圖。
具體實(shí)施例方式在各種實(shí)施例當(dāng)中,下文的對(duì)附圖的詳細(xì)描述實(shí)現(xiàn)了用于進(jìn)行數(shù)據(jù)通信的接口的確定性(可預(yù)測(cè)的)行為。在一個(gè)具體實(shí)施例中,該接口是PCIe兼容的串行接口,并且修正接收機(jī)中的延遲變化,由此導(dǎo)致確定性的傳輸數(shù)據(jù)。因此,接收到的數(shù)據(jù)和/或發(fā)送到的數(shù)據(jù)相對(duì)于時(shí)間是可預(yù)測(cè)的,并促進(jìn)對(duì)設(shè)備以及與接口相關(guān)聯(lián)的邏輯的測(cè)試和驗(yàn)證。圖2是根據(jù)本發(fā)明的實(shí)施例的計(jì)數(shù)器行為的時(shí)序圖。在該時(shí)序圖中,公共時(shí)鐘10、復(fù)位15、延遲固定計(jì)數(shù)器20、以及鏈路時(shí)鐘30被用來使能延遲固定計(jì)數(shù)器。第一鏈路時(shí)鐘30從距離公共時(shí)鐘10預(yù)定的距離開始啟用。因此,計(jì)數(shù)器20從第一鏈路時(shí)鐘30開始。延遲固定計(jì)數(shù)器20在每一個(gè)公共時(shí)鐘10的上升沿上被重新啟動(dòng)(翻轉(zhuǎn))。在一個(gè)實(shí)施例中,以鏈路時(shí)鐘比上公共時(shí)鐘的時(shí)鐘比率來對(duì)計(jì)數(shù)器重新啟動(dòng)(翻轉(zhuǎn))。圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于調(diào)節(jié)數(shù)據(jù)路徑的延遲的裝置。在一個(gè)裝置中,該裝置是延遲緩沖器300。然而,要求保護(hù)的主題不限于緩沖器,并且可能是寄存器、易失性或非易失性存儲(chǔ)器、可以是可編程的或固定式的。在一個(gè)實(shí)施例中,至少部分基于來自于去歪斜緩沖器的數(shù)據(jù)的不可預(yù)測(cè)性來確定緩沖器的大小。例如,它可以基于單位間隔(UI)的時(shí)限。此外,緩沖器的大小可以至少部分基于被支持的PCIe規(guī)范版本來確定。在一個(gè)實(shí)施例中,延遲緩沖器300在PCIe物理層內(nèi)的去歪斜緩沖器后被添加。然而,要求保護(hù)的主題并不限于此特定的實(shí)施例。本領(lǐng)域技術(shù)人員能理解到使用不同的名稱、或?qū)⒕彌_器、寄存器或邏輯按照它們特定實(shí)現(xiàn)的要求用于根復(fù)合體結(jié)構(gòu)、片上系統(tǒng)(SoC)、存儲(chǔ)器控制器集線器、或橋裝置。然而,被要求保護(hù)的主題并不限于來自去歪斜緩沖器的數(shù)據(jù),并且可以是從任何接收機(jī)或發(fā)射機(jī)或中間存儲(chǔ)器所接收到的。同樣地,被要求保護(hù)的主題并不限于PCIe規(guī)范中所示的Π時(shí)限。本領(lǐng)域的技術(shù)人員能理解到基于應(yīng)用的類型以及特定協(xié)議和定時(shí)要求的指定而對(duì)不同緩沖器大小的諸多修改。在一個(gè)具體實(shí)施例中,對(duì)于PCIe第二代規(guī)范的操作模式,緩沖器的深度是20UI,對(duì)于PCIe —代規(guī)范的模式,深度是10Π。在該圖中,多個(gè)觸發(fā)器寄存器24從去歪斜緩沖器接收數(shù)據(jù),并存儲(chǔ)數(shù)據(jù)。每個(gè)觸發(fā)器的輸出被耦合到多路復(fù)用器26的輸入。多路復(fù)用器輸入選擇被耦合到邏輯28,邏輯28確定適當(dāng)?shù)臅r(shí)間以使能多路復(fù)用器的輸出。邏輯28分析存儲(chǔ)在寄存器22中的目標(biāo)延遲。在一個(gè)實(shí)施例中,目標(biāo)延遲是被編程為一值的內(nèi)部寄存器,該值表示在PCIe接收機(jī)側(cè)的時(shí)間延遲。在一個(gè)實(shí)施例中,在接收機(jī)側(cè)的目標(biāo)延遲是固定值。在其它實(shí)施例中,目標(biāo)延遲可以是在接收機(jī)側(cè)的最大可能延遲。然而,目標(biāo)延遲不限于固定值或可能最大延遲,并且可以是基于路由、協(xié)議、半導(dǎo)體處理、或特定設(shè)計(jì)實(shí)現(xiàn)而有所不同。跳躍指令集在PCIe接收機(jī)側(cè)以公共時(shí)鐘被發(fā)送。在同一時(shí)間,通過配置寫入,在PCI Express內(nèi)部使能定時(shí)延遲固定。一旦PCI Express緩沖器看到跳躍指令集,它就會(huì)調(diào)節(jié)延遲緩沖器輸出指針,以匹配于與延遲固定計(jì)數(shù)器相對(duì)應(yīng)的條目,該延遲固定計(jì)數(shù)器等于針對(duì)存儲(chǔ)在寄存器22中的目標(biāo)延遲所編程的配置寄存器。這種機(jī)制確保RX側(cè)延遲總是被固定為編程值。正如前面所提到的,跳躍指令集在PCIe接收機(jī)側(cè)被發(fā)送。跳躍命令集被用于在所有通道上傳輸,從而允許接收機(jī)時(shí)鐘補(bǔ)償邏輯對(duì)設(shè)備發(fā)射機(jī)將串行比特流時(shí)鐘輸出所用的時(shí)鐘與設(shè)備接收機(jī)的恢復(fù)時(shí)鐘之間的時(shí)鐘頻率變化做出補(bǔ)償。在一個(gè)實(shí)施例中,所發(fā)送的第一代PCIe和第二代PCIe的跳躍指令集是COM碼元后面跟三個(gè)SKP碼元。如果在兩個(gè)末端之間有中繼器,則在一末端的接收機(jī)側(cè),SKP碼元的數(shù)目可以從I變化到5。
權(quán)利要求
1.一種用于在接口上促進(jìn)確定性數(shù)據(jù)的方法,包括 在公共時(shí)鐘之后的預(yù)定時(shí)間后,啟動(dòng)鏈路時(shí)鐘; 基于所述鏈路時(shí)鐘,初始化計(jì)數(shù)器; 在共同時(shí)鐘的每個(gè)上升沿,以鏈路時(shí)鐘比上共同時(shí)鐘的時(shí)鐘比率,重新啟動(dòng)計(jì)數(shù)器;以及 響應(yīng)于檢測(cè)到跳躍指令集,調(diào)節(jié)延遲緩沖器輸出點(diǎn),從而匹配于一條目,該條目對(duì)應(yīng)于與寄存器中的值相等的計(jì)數(shù)器。
2.如權(quán)利要求I所述的方法,其特征在于,所述寄存器被編程為目標(biāo)延遲的配置寄存器。
3.如權(quán)利要求I所述的方法,其特征在于,所述跳躍指令集是COM碼元后跟三個(gè)SKP碼J Li ο
4.如權(quán)利要求I所述的方法,其特征在于,所述跳躍指令集是SKP(55h)碼元。
5.如權(quán)利要求4所述的方法,其特征在于,帶有SKP(55h)碼元的跳躍指令集擁有中繼器。
6.如權(quán)利要求I所述的方法,其特征在于,所述接口是PCIe兼容接口。
7.如權(quán)利要求I所述的方法,其特征在于,所述延遲緩沖器具有基于單位時(shí)間間隔(UI)的深度。
8.如權(quán)利要求7所述的方法,其特征在于,所述延遲緩沖器的深度是20個(gè)Π。
9.如權(quán)利要求7所述的方法,其特征在于,所述延遲緩沖器的深度是10個(gè)Π。
10.一種促進(jìn)確定性數(shù)據(jù)的接口,包括 接收機(jī),接收串行數(shù)據(jù)流; 碼元邊界電路,接收所述串行數(shù)據(jù)流并從至少部分基于跳躍命令集的串行數(shù)據(jù)流中確定碼元邊界; 解碼器,從碼元邊界電路的輸出中接收所述串行數(shù)據(jù)流; 第一緩沖器,接收所述解碼器的輸出,并對(duì)來自所述串行數(shù)據(jù)流的恢復(fù)時(shí)鐘和傳輸鏈路時(shí)鐘之間的時(shí)鐘頻率差異做出補(bǔ)償; 第二緩沖器,接收所述第一緩沖器的輸出,并對(duì)通道到通道的歪斜做出補(bǔ)償; 第三緩沖器,響應(yīng)于檢測(cè)到待匹配的跳躍指令集而調(diào)節(jié)指針;以及 對(duì)應(yīng)于計(jì)數(shù)器的條目,所述計(jì)數(shù)器等于寄存器中使得接收到的串行數(shù)據(jù)流是確定性的值。
11.如權(quán)利要求10所述的接口,其特征在于,所述發(fā)送時(shí)鐘是來自PCIe設(shè)備。
12.如權(quán)利要求10所述的接口,其特征在于,所述緩沖區(qū)通過對(duì)串行數(shù)據(jù)流添加或刪除SKP馬鈺來對(duì)時(shí)鐘頻率的差異做出補(bǔ)償。
13.如權(quán)利要求10所述的接口,其特征在于,接收所述解碼器的輸出并對(duì)來自所述串行數(shù)據(jù)流的恢復(fù)時(shí)鐘和傳輸鏈路時(shí)鐘之間的時(shí)鐘頻率差異做出補(bǔ)償?shù)乃龅谝痪彌_器是彈性緩沖器。
14.如權(quán)利要求10所述的接口,其特征在于,所述第二緩沖區(qū)是去歪斜緩沖器。
15.如權(quán)利要求10所述的接口,其特征在于,所述第三緩沖區(qū)是延遲緩沖器。
16.如權(quán)利要求10所述的接口,其特征在于,所述解碼器是10b/8b解碼器。
17.如權(quán)利要求10所述的接口,其特征在于,發(fā)射機(jī)電路,響應(yīng)于所接收的確定性的串行數(shù)據(jù)流,重置傳輸差異,并調(diào)度對(duì)發(fā)射機(jī)的LFSE進(jìn)行重置的跳躍指令集。
18.—種串行數(shù)據(jù)接口的物理層,包括 接收機(jī),接收串行數(shù)據(jù)流; 碼元邊界電路,接收串行數(shù)據(jù)流并從至少部分基于跳躍命令集的串行數(shù)據(jù)流中確定碼元邊界; 解碼器,從所述碼元邊界電路的輸出中接收所述串行數(shù)據(jù)流; 第一緩沖器,接收所述解碼器的輸出,并對(duì)來自串行數(shù)據(jù)流的恢復(fù)時(shí)鐘和傳輸鏈路時(shí)鐘之間的時(shí)鐘頻率差異做出補(bǔ)償; 第二緩沖器,接收所述第一緩沖器的輸出; 邏輯控件,接收所述第二緩沖器的輸出,并控制第三緩沖器,其中所述第三緩沖器響應(yīng)于檢測(cè)待匹配的跳躍指令集而調(diào)節(jié)指針;以及 對(duì)應(yīng)于計(jì)數(shù)器的條目,所述計(jì)數(shù)器等于寄存器中使得接收到的串行數(shù)據(jù)流是確定性的值。
19.如權(quán)利要求18所述的物理層,其特征在于,發(fā)送機(jī)電路,響應(yīng)于所接收的確定性的串行數(shù)據(jù)流,調(diào)度對(duì)LFSR進(jìn)行重置的跳躍指令集,并在來自發(fā)射機(jī)電路的數(shù)據(jù)流上執(zhí)行相同的確定性時(shí)間延遲固定。
20.如權(quán)利要求18所述的物理層,其特征在于,所述邏輯控件是確定性的控制和計(jì)數(shù)器電路。
全文摘要
為了解決對(duì)集成器件、片系統(tǒng)以及計(jì)算機(jī)的高效可靠測(cè)試的需要,通過固定與接收機(jī)和發(fā)送機(jī)相關(guān)的數(shù)據(jù)流的延遲變化來實(shí)現(xiàn)確定性的接口行為。接口可以是兼容PCIe的串行接口,并修正接收器的延遲變化,最終導(dǎo)致確定性的傳輸數(shù)據(jù)。因此,接收到和/或發(fā)送的數(shù)據(jù)相對(duì)于時(shí)間是可預(yù)測(cè)的,并促進(jìn)設(shè)備以及與接口相關(guān)聯(lián)的邏輯的測(cè)試和檢驗(yàn)。
文檔編號(hào)G06F13/14GK102918513SQ201180017605
公開日2013年2月6日 申請(qǐng)日期2011年3月29日 優(yōu)先權(quán)日2010年4月1日
發(fā)明者B·沙科, G·J·加西亞, S·尤帕德雅亞 申請(qǐng)人:英特爾公司