專利名稱:穩(wěn)定異步接口的方法和計算機系統(tǒng)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)傳輸,具體地說,涉及在不使用用于計算機系統(tǒng)數(shù)據(jù) 傳輸?shù)膯为毧刂菩盘柕那闆r下穩(wěn)定通過異步或未定時接口的一個或多個總 線信號的方法。
背景技術(shù):
在SMP計算機(例如,IBM生產(chǎn)的IBM zSeries⑧大型計算機系統(tǒng)) 中,保持較高級別或性能及互鎖是極其重要的。很多時候,有些接口是自 校準的,而其他接口按照嚴格的早/晚定時準則定時。但是,自校準邏輯可 能占用很大面積。異步接口也由于經(jīng)常通過接口的一側(cè)和另一側(cè)的握手信 號而帶來問題。
許多應(yīng)用都有需要在總線上異步發(fā)送的數(shù)據(jù)或控制,在此等待時間不 是大問題。通常,添加了亞穩(wěn)定(metastability)鎖存器來幫助解決可能 的信號轉(zhuǎn)變。通常存在一個用于在總線傳輸?shù)囊粋€方向上進行握手的控制 信號。該信號用于邊沿觸發(fā)采樣事件。在激活該信號前數(shù)據(jù)總線是穩(wěn)定的 很重要。必須注意確保該控制信號比數(shù)據(jù)總線具有更多的等待時間。如果 不是,則會在正常的數(shù)據(jù)總線仍在轉(zhuǎn)變時進行采樣.
雖然現(xiàn)有技術(shù)解決了一些由異步接口引發(fā)的問題,但是仍存在控制信 號與數(shù)據(jù)分離的限制。使用數(shù)據(jù)總線在異步接口上對數(shù)據(jù)本身進行采樣的 嘗試可能帶來不正確的數(shù)據(jù)采樣,這是由于并非所有數(shù)據(jù)位都在每個周期 上一致
發(fā)明內(nèi)容
根據(jù)本發(fā)明和所描述的實施例的數(shù)據(jù)傳輸接口無需單獨的控制信號。 提供了一種機制,其中數(shù)據(jù)本身用于判定數(shù)據(jù)是否已經(jīng)更改。本發(fā)明提供 了穩(wěn)定邏輯,所述邏輯防止輸出數(shù)據(jù)在達到新的穩(wěn)態(tài)之前在不正確或不合 法的狀態(tài)間轉(zhuǎn)變。本發(fā)明還允許穩(wěn)定窗口的可編程延遲以容許所經(jīng)歷的無法預(yù)料的時滯 和噪聲。序產(chǎn)品。通過本發(fā)明的技術(shù)實現(xiàn)了其他功能和優(yōu)點。在文中詳細說明了本發(fā)明 的其他實施例和方面并將其視為所要求保護的發(fā)明的一部分。為了更好地 理解本發(fā)明的優(yōu)點和功能,將參考說明書和附圖。由概括的發(fā)明可知,對于數(shù)據(jù)穩(wěn)定并向另一個穩(wěn)態(tài)轉(zhuǎn)變的異步或未定 時接口,無需用于接口的單獨控制信號。這可以免于昂貴的連線,特別是 在芯片或其他電路之間。此外,等待時間可以由數(shù)據(jù)時滯限制,所以如果 數(shù)據(jù)時滯較少,則可以為其設(shè)計較少的等待時間。本發(fā)明允許可編程的等 待時間以在無需重新設(shè)計的情況下允許在損壞風(fēng)險和等待時間/性能之間 進行最終平衡。
在說明書結(jié)尾處的權(quán)利要求書中特別指出并明確要求保護了被視為本 發(fā)明的主題。通過以下結(jié)合附圖的詳細說明,本發(fā)明的上述和其他目標、功能和優(yōu)點是顯而易見的,這些附圖是圖1示出了從源到宿的現(xiàn)有技術(shù)通信的實例;圖2示出了現(xiàn)有技術(shù)的異步接收器電路的實例;圖3示出了結(jié)合本發(fā)明的數(shù)據(jù)傳輸方法的實例;圖4是示出本發(fā)明特有的穩(wěn)定技術(shù)的狀態(tài)圖;圖5示出了使用寄存器的可編程穩(wěn)定窗口持續(xù)時間值的實例;圖6是示出了實例數(shù)據(jù)總線流以及根據(jù)和未根據(jù)本發(fā)明的結(jié)果的表。
詳細的說明通過實例方式參考附圖闡述了本發(fā)明的優(yōu)選實施例以及優(yōu) 點和功能。
具體實施例方式
現(xiàn)在轉(zhuǎn)到更詳細的附圖,將看到圖1中示出的現(xiàn)有技術(shù)包含兩個彼此
通信的電路。示出的是單方向的通信。數(shù)據(jù)總線104由源電路101驅(qū)動并 由宿電路102接收。還存在從源電路101發(fā)送到宿電路102的控制信號103。 通常,允許數(shù)據(jù)總線104切換并穩(wěn)定在新值上。然后,將使用控制信號103 來激活選通脈沖以對穩(wěn)定的數(shù)據(jù)采樣。
圖2示出了現(xiàn)有技術(shù)的宿邏輯102的更詳細的圖。在該實施例中,控 制信號103和數(shù)據(jù)總線104 iiX異步接收器電路102。示出了亞穩(wěn)定鎖存 器202、邊沿檢測電路203和登臺寄存器或緩沖器204。存在大量實現(xiàn)現(xiàn)有
技術(shù)的其他實施例。
圖3示出了使用本發(fā)明的數(shù)據(jù)傳輸方法的優(yōu)選實施例。與現(xiàn)有技術(shù)不 同,在源電路310和宿電路301之間沒有控制信號103。相反,直接在裝 置中使用數(shù)據(jù)總線312來檢測數(shù)據(jù)轉(zhuǎn)變。數(shù)據(jù)總線312通過亞穩(wěn)定寄存器 307登臺。這是為了確保數(shù)據(jù)對于下游處理是一致的。有一個穩(wěn)定多路復(fù) 用器308,其允許新數(shù)據(jù)饋入通常在每個周期都捕獲數(shù)據(jù)的穩(wěn)定寄存器 302。使用邊沿檢測電路303將穩(wěn)定寄存器的輸出和穩(wěn)定寄存器的輸入進行 比較。當(dāng)出現(xiàn)新舊數(shù)據(jù)總線值的m比較時,檢測電路303使用穩(wěn)定窗口 持續(xù)時間值總線305加載穩(wěn)定窗口計數(shù)器304。
預(yù)測的下一個計數(shù)器狀態(tài)在下一個計數(shù)器狀態(tài)總線309上的穩(wěn)定窗口 計數(shù)器304的輸出處可用。下一個計數(shù)器狀態(tài)總線309饋入計數(shù)器檢測電 路306,計數(shù)器檢測電路306判定下一個計數(shù)是否為零。在同一周期上使 用穩(wěn)定窗口持續(xù)時間值總線305加載計數(shù)器,下一個計數(shù)器狀態(tài)總線309 為非零。這迫使穩(wěn)定多路復(fù)用器308使用其先前的值重新加載穩(wěn)定寄存器 302,而不是允許新數(shù)據(jù)進入寄存器。這導(dǎo)致穩(wěn)定寄存器302凍結(jié)其狀態(tài)。 能夠使用總線數(shù)據(jù)加載寄存器的唯一方法是使計數(shù)器達到零。
同時,計數(shù)器檢測電路306檢測非零計數(shù)器值并將遞減穩(wěn)定窗口計數(shù) 器304,直至其最終達到零。如同宿電路穩(wěn)定輸出數(shù)據(jù)總線311,穩(wěn)定寄存器302的輸出對下游邏 輯可用。因為控制穩(wěn)定寄存器302在對正在轉(zhuǎn)變的數(shù)據(jù)采樣之前一直等待, 所以宿電路穩(wěn)定輸出數(shù)據(jù)總線311也是穩(wěn)定的。圖4示出了代表本發(fā)明的方法的狀態(tài)圖。系統(tǒng)在穩(wěn)定數(shù)據(jù)可用的"運 行"狀態(tài)啟動。當(dāng)檢測到輸入數(shù)據(jù)中的任何位的轉(zhuǎn)變時,將先前的數(shù)據(jù)作 為輸出保存。此轉(zhuǎn)變還導(dǎo)致狀態(tài)更改為"等待"狀態(tài)。本發(fā)明將"等待" 一段預(yù)定的時間。通常,這類似于已加載和遞減的計數(shù)器。在"等待,,狀 態(tài)時,輸出數(shù)據(jù)仍保持先前的狀態(tài)。當(dāng)"等待"周期結(jié)束時(例如,計數(shù) =0),則轉(zhuǎn)變回"運行,,狀態(tài)。然后將新數(shù)據(jù)作為輸出發(fā)送。本發(fā)明依賴 于"等待,,周期至少與數(shù)據(jù)的最大不穩(wěn)定窗口一樣長的事實。此外,在保 證的"等待,,周期之后,不應(yīng)允許數(shù)據(jù)在一個周期內(nèi)再次切換。假如在定 時中存在不確定性,則建議確保在從源發(fā)送新數(shù)據(jù)之前至少出現(xiàn)了三個最 大"等待"周期。圖5示出了使用穩(wěn)定窗口持續(xù)時間可編程寄存器501來供給穩(wěn)定窗口 持續(xù)時間值總線305的優(yōu)選方法的一種實施方式??梢愿鶕?jù)本領(lǐng)域的技術(shù) 人員公知的多種技術(shù)來加載或更改此寄存器。的表。注意在不使用本發(fā)明時遇到的從不試圖在原始數(shù)據(jù)總線上發(fā)送的非 法狀態(tài)。例如,源電,據(jù)總線僅驅(qū)動模式00000、 OOFFOO和OOOFF。未 根據(jù)本發(fā)明時,其他數(shù)據(jù)模式0A000、 0E800、 00331和001FA都會出現(xiàn), 如該特定實例中所示。它們代表可能與在不同時間到達的數(shù)據(jù)位關(guān)聯(lián)的時 滯和/或噪聲。但是,根據(jù)本發(fā)明,僅在輸出處觀察到00000、 00FF00和 000FF。雖然附圖和詳細說明描述了單數(shù)據(jù)總線的單向異步接口,但是本領(lǐng)域 的技術(shù)人員可以將此概念擴展到多總線的雙向(連同確認協(xié)議)接口或系 統(tǒng)。此外,雖然在本發(fā)明中示出了計數(shù)器,但是可以構(gòu)建其他延遲穩(wěn)定周 期的裝置。雖然說明示出了穩(wěn)定寄存器通常未鎖定并允許穩(wěn)定數(shù)據(jù)流過, 然后鎖入穩(wěn)定窗口的情況,但是可以這樣構(gòu)建本發(fā)明,使得數(shù)據(jù)通常與穩(wěn) 定窗口阻隔,并且僅當(dāng)存在穩(wěn)定數(shù)據(jù)時才選通到穩(wěn)定寄存器中。將需要考 慮這些情況下所保存數(shù)據(jù)的起始值。當(dāng)然可以應(yīng)用許多等效的電路和方法。附圖指示特定的電路實施方式,但也可以代表在不偏離本發(fā)明精神的 情況下對該方式的模仿??梢酝ㄟ^軟件、固件、硬件或其組合來實現(xiàn)本發(fā)明的功能。作為 一個實例,本發(fā)明的一個或多個方面可以包括在具有例如計算機 可用介質(zhì)的一件制品(例如, 一個或多個計算機程序產(chǎn)品)中。所述介質(zhì) 其中例如包含用于提供和協(xié)助本發(fā)明功能的計算機可讀程序代碼裝置。所 述制品可以包括為計算機系統(tǒng)的一部分或單獨出售。此外,可以提供至少一個機器可讀的程序存儲設(shè)備,其有形地包含可 由機器執(zhí)行以執(zhí)行本發(fā)明功能的至少 一個指令程序。本文中示出的流程圖僅為實例。本文說明的這些示意圖或步驟(或操 作)可以存在許多變型而不偏離本發(fā)明的精神。例如,可以以不同的順序 執(zhí)行這些步驟,或可以添加、刪除或修改步驟。所有這些變型都被視為所 要求保護的發(fā)明的一部分。雖然說明了本發(fā)明的優(yōu)選實施例,但是本領(lǐng)域的技術(shù)人員將理解,不 論現(xiàn)在還是將來都可以做出落入以下權(quán)利要求的范圍內(nèi)的改進和增強。應(yīng) 將這些權(quán)利要求理解為維持對首先描述的本發(fā)明的正確保護。
權(quán)利要求
1. 一種在計算機系統(tǒng)中從源到宿進行數(shù)據(jù)傳輸?shù)姆椒?,所述方法包括以下步驟檢測在所述宿處接收到的數(shù)據(jù)的更改;允許在檢測到數(shù)據(jù)更改 時觀察先前的數(shù)據(jù);在一個時間段之后釋放先前的數(shù)據(jù)并允許觀察新的數(shù)據(jù)。
2. 如權(quán)利要求l中所述的方法,其中所述數(shù)據(jù)傳輸是異步數(shù)據(jù)傳輸。
3. 如權(quán)利要求2中所述的方法,其中所述數(shù)據(jù)傳輸是不使用任何異步 控制信號的異步數(shù)據(jù)傳輸。
4. 如權(quán)利要求l中所述的方法,其中所述時間段使用計數(shù)器來實現(xiàn)。
5. 如權(quán)利要求l中所述的方法,其中所述時間段是可編程的。
6. 如權(quán)利要求l中所述的方法,其中所述數(shù)據(jù)在檢測在所述宿處接收 到的數(shù)據(jù)的更改中用于判定。
7. 如權(quán)利要求6中所述的方法,其中穩(wěn)定邏輯阻止數(shù)據(jù)在達到新的穩(wěn) 態(tài)之前在不正確的狀態(tài)間轉(zhuǎn)變。
8. 如權(quán)利要求7中所述的方法,其中在沒有單獨的控制信號的情況下 傳輸所述數(shù)據(jù)。
9. 如權(quán)利要求8中所述的方法,其中可編程的延遲提供了用于檢測被 傳輸數(shù)據(jù)中的時滯的窗口。
10. —種計算機系統(tǒng)裝置,所述裝置包括源電路,用于驅(qū)動連接到 宿電路的數(shù)據(jù)總線,所述宿電路檢測所述數(shù)據(jù)總線中的轉(zhuǎn)變以便如果所述 數(shù)據(jù)總線更改狀態(tài),則接收器電路將所述數(shù)據(jù)總線的先前值保持為可觀察 并在一段時間內(nèi)忽略所述數(shù)據(jù)總線,此時所述接收器電路使得可以觀察所 述數(shù)據(jù)總線的新值;而如果所述數(shù)據(jù)總線沒有更改狀態(tài),則所述接收器電 路允許觀察穩(wěn)定的數(shù)據(jù)總線。
11, 一種用于數(shù)據(jù)傳輸?shù)挠嬎銠C系統(tǒng)裝置,所述裝置包括 源電路,其將數(shù)據(jù)發(fā)送到數(shù)據(jù)總線上;宿電路,其從包括亞穩(wěn)定寄存器和穩(wěn)定寄存器電路的所述數(shù)據(jù)總線捕獲數(shù)據(jù),提供了數(shù)據(jù)更改檢測邏輯和穩(wěn)定窗口延遲計數(shù)器及多路復(fù)用寄存 器對以便在傳輸期間保存先前的數(shù)據(jù)。
12. 如權(quán)利要求ll中所述的裝置,其中所述宿電路亞穩(wěn)定寄存器登臺 輸入數(shù)據(jù)總線。
13. 如權(quán)利要求12中所述的裝置,其中所述穩(wěn)定寄存器電路保存來自 與宿電路輸出數(shù)據(jù)總線相連的所述數(shù)據(jù)總線的先前數(shù)據(jù)。
14. 如權(quán)利要求13中所述的裝置,其中多路復(fù)用器在末級的所述穩(wěn)定 寄存器的輸出和所述穩(wěn)定寄存器的輸出之間進行選擇。
15. 如權(quán)利要求14中所述的裝置,包括具有加載輸入控制、加載輸入 值總線和遞減遞增控制的穩(wěn)定計數(shù)器。
16. 如權(quán)利要求15中所述的裝置,還包括邊沿檢測電路,該電路將所 述穩(wěn)定寄存器的輸入和輸出總線相比較以判定數(shù)據(jù)是否發(fā)生更改,所述更 改還激活所述穩(wěn)定計數(shù)器的所述加載輸入。
17. 如權(quán)利要求16中所述的裝置,還包括計數(shù)器檢測電路,該電路在 所述計數(shù)器具有非零值時遞減所述計數(shù)器,并且還在所述計數(shù)器不是零時 控制所述多路復(fù)用器將所述穩(wěn)定寄存器保持在其當(dāng)前值。
18. 如權(quán)利要求17中所述的裝置,其中所述穩(wěn)定計數(shù)器將在同時激活 加載和遞減輸入時遞減。
19. 如權(quán)利要求ll中所述的裝置,包括與所述穩(wěn)定計數(shù)器的加載輸入 值總線相連的可編程寄存器。
20. 如權(quán)利要求ll中所述的裝置,其中所述裝置穩(wěn)定通過所迷計算機 系統(tǒng)的異步或未定時接口的一個或多個數(shù)據(jù)總線信號,而不4吏用用于計算 機系統(tǒng)數(shù)據(jù)傳輸?shù)膯为毧刂菩盘枴?br>
全文摘要
一種在不使用異步控制信號的情況下在源和宿之間進行異步數(shù)據(jù)傳輸?shù)姆椒ê陀嬎銠C系統(tǒng)裝置。所述裝置包括亞穩(wěn)定電路、數(shù)據(jù)更改檢測邏輯、穩(wěn)定窗口延遲計數(shù)器和多路復(fù)用器/寄存器對,以允許在轉(zhuǎn)變期間保存先前的穩(wěn)定數(shù)據(jù)。雖然所使用的處理邏輯特別應(yīng)用于異步邏輯,但是同樣可以將所述邏輯擴展到同步或未定時接口。還公開了調(diào)整窗口延遲的可編程裝置。
文檔編號G06F13/38GK101145143SQ20071015442
公開日2008年3月19日 申請日期2007年9月12日 優(yōu)先權(quán)日2006年9月15日
發(fā)明者A·P·庫倫, M·菲, P·J·米尼 申請人:國際商業(yè)機器公司