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