專利名稱:異步脈動流水線的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種異步脈動(ripple)流水線(pipeline)及其控制 方法。
背景技術(shù):
流水線提供對數(shù)據(jù)流的存儲和頻繁處理,圖1示出了線性流水線 的基本實(shí)現(xiàn)。多個(gè)連續(xù)級10中的每一個(gè)均包括存儲器12,并且可以在如示意 性示為處理器14的級之間進(jìn)行處理。如果流水線不進(jìn)行處理,則也可以認(rèn)為它是先入先出(FIFO)存 儲器設(shè)備。如果實(shí)現(xiàn)為線性流水線,則結(jié)構(gòu)包括串聯(lián)的相同級,其中 每個(gè)級能夠存儲一個(gè)字的數(shù)據(jù)??梢允褂脙煞N定時(shí)方法(公知為同步或異步)中的一種來實(shí)現(xiàn)流 水線。同步定時(shí)使用全局時(shí)鐘來在流水線,的連續(xù)級之間傳送數(shù)據(jù)。利 用同步流水線,從輸入到輸出的傳播延遲等于N個(gè)時(shí)鐘周期,其中N 是流水線的級數(shù),被公知為深度。異步流水線不具有全局時(shí)鐘,取而代之的是,利用握手信令 (handshake signaling)在連續(xù)級之間傳播數(shù)據(jù)。作為異步方法的結(jié)果, 數(shù)據(jù)一令牌和孔以自定時(shí)的方式脈動(ripple)經(jīng)過流水線(FIFO)。 輸入到輸出的傳播延遲與流水線的級數(shù)N成正比。由于級到級的脈動 延遲(ripple delay)比時(shí)鐘周期小一到兩個(gè)數(shù)量級,因此異步流水線 可以具有較好的傳播延遲。異步流水線也具有如下益處,即在沒有全局時(shí)鐘的情況下,輸入 和輸出可以以不同和/或變化的時(shí)鐘速度運(yùn)行。US6067109中給出了具有處理的流水線的現(xiàn)有技術(shù)實(shí)現(xiàn),其在一個(gè)方向上傳輸指令包,并在相反方向上傳輸結(jié)果。提供邏輯,通過確 保不能從相鄰級同時(shí)釋放指令和結(jié)果,以防止指令包和結(jié)果包彼此旁 路。然而,該實(shí)現(xiàn)相對復(fù)雜。本發(fā)明旨在提供異步流水線的簡化實(shí)現(xiàn)以及用于在這樣的流水 線中傳送數(shù)據(jù)的方法。發(fā)明內(nèi)容第一方面中,本發(fā)明涉及一種在流水線中的級和下一級之間傳送 數(shù)據(jù)的方法,該流水線具有用于將數(shù)據(jù)從該級傳輸?shù)较乱患壍臄?shù)據(jù)傳 送線路,用于將指示數(shù)據(jù)路徑保持有效數(shù)據(jù)的請求信號從該級傳輸?shù)?下一級的請求線路,和用于將表明下一級被占用的確認(rèn)信號從下一級 傳輸?shù)皆摷壍拇_認(rèn)線路,所述方法包括重復(fù)下列步驟(i) 在請求信號和確認(rèn)信號均被斷言或者請求信號和確認(rèn)信號均 未被斷言時(shí),等候兩個(gè)數(shù)據(jù)傳送條件均為真,其中第一數(shù)據(jù)傳送條件 是數(shù)據(jù)路徑保持有效數(shù)據(jù),第二數(shù)據(jù)傳送條件是下一級為空;(ii) 在請求信號被斷言而確認(rèn)信號被解除斷言時(shí),在級之間傳 送數(shù)據(jù),然后斷言確認(rèn)信號;(iii) 在請求信號被斷言且確認(rèn)信號被斷言時(shí),迅速地解除斷言 請求信號;(iv) 在確認(rèn)信號被斷言而請求信號被解除斷言時(shí),等候兩個(gè)數(shù) 據(jù)傳送條件之一被滿足。所述方法可以包括重復(fù)步驟(i)到(iv)以傳送數(shù)據(jù)項(xiàng),其中在 步驟(i)的至少一種情況下,請求信號和確認(rèn)信號均被斷言,在步驟 (i)的至少另外一種情況下,請求信號和確認(rèn)信號均未被斷言。在級之間傳送數(shù)據(jù)的步驟可以在在級之間傳送數(shù)據(jù)時(shí)處理所述數(shù) 據(jù)。在此情況下,所述方法進(jìn)一步包括延遲從該級到下一級傳送的請 求信號,以在被斷言的請求信號 到達(dá)下一級之前預(yù)留時(shí)間進(jìn)行處理。根據(jù)本發(fā)明的第二方面,提供一種流水線,包括級;下一級;至少一個(gè)數(shù)據(jù)傳送線路,用于將數(shù)據(jù)從該級傳輸?shù)较乱患?;請求線路,用于將指示數(shù)據(jù)傳送線路保持有效數(shù)據(jù)的請求信號從該級傳輸?shù)较乱患?;和確認(rèn)線路,用于將表明下一級被占用的確認(rèn)信號從下一級傳輸?shù)?該級;以及級中的控制器,所述控制器被配置為進(jìn)行下列協(xié)作(i) 在請求信號和確認(rèn)信號均被斷言或者請求信號和確認(rèn)信號均 未被斷言時(shí),等候兩個(gè)數(shù)據(jù)傳送條件均為真,其中第一數(shù)據(jù)傳送條件 是數(shù)據(jù)路徑保持有效數(shù)據(jù),第二數(shù)據(jù)傳送條件是下一級為空;(ii) 在請求信號被斷言而確認(rèn)信號被解除斷言時(shí),沿?cái)?shù)據(jù)傳送 線路向下將數(shù)據(jù)從該級傳送到下一級,然后斷言確認(rèn)信號;(iii) 在請求信號被斷言且確認(rèn)信號被斷言時(shí),解除斷言請求信 號;以及在確認(rèn)信號被斷言而請求信號被解除斷言時(shí),等候兩個(gè)數(shù) 據(jù)傳送條件之一被滿足。本發(fā)明提供高速、魯棒的流水線,它特別簡單而且不喪失功能性。 這種簡單使得其實(shí)現(xiàn)起來毫不費(fèi)力而且成本相對較低。從級到下一級的數(shù)據(jù)線路可以包括用于處理數(shù)據(jù)的處理單元,而 且所述請求線路可以包括至少一個(gè)延遲組件,延遲組件被配置為延遲 從級傳輸?shù)较乱患壍恼埱笮盘枴?br>
為了更好地理解本發(fā)明,將參考附圖僅僅通過舉例的方式描述實(shí) 施例,附圖中圖1示意性示出了流水線;圖2示出了本發(fā)明第一實(shí)施例的示意圖;圖3是第一實(shí)施例的操作的時(shí)序圖;圖4是第一實(shí)施例的操作的信號傳輸圖;圖5示出了第一實(shí)施例的一個(gè)級中實(shí)現(xiàn)控制功能的電路;圖6示出了當(dāng)操作根據(jù)本發(fā)明的方法時(shí)在圖5電路中各個(gè)點(diǎn)處的波形;圖7示出了本發(fā)明的第二實(shí)施例,其中在流水線中進(jìn)行處理;和 圖8示出了本發(fā)明的第三實(shí)施例,其中在接收來自一個(gè)以上級的輸入的流水線中進(jìn)行處理。注意,附圖是示意性的,并未按比例繪制。在不同的圖中,相同或相似的組件以相同的附圖標(biāo)記表示。
具體實(shí)施方式
圖1中提供了脈動流水線FIFO的方框圖。每一個(gè)級IO可以在寄 存器16中保持一個(gè)字,并且還包括控制器18,其中所述寄存器16以 鎖存器的實(shí)施例構(gòu)造。接下來的描述將著重于單個(gè)級30、以及它與下 一級32和前一級34的相互作用。本領(lǐng)域技術(shù)人員可以理解,在實(shí)際 設(shè)備中,將有可變數(shù)目的級,例如3到50個(gè),并且第一和最后一個(gè)級 將與其它組件連接。每個(gè)級具有單個(gè)確認(rèn)和請求輸出20以及兩個(gè)控制輸入,即請求輸 入22和確認(rèn)輸入24。這些均連接至控制器18。此外,控制器具有寄 存器控制輸出21,它沿著內(nèi)部控制線路17將寄存器控制信號"G"從 控制器提供給寄存器16。數(shù)據(jù)總線26直接將數(shù)據(jù)從寄存器16提供給下一級32的寄存器。 因此所述級具有數(shù)據(jù)輸入15和數(shù)據(jù)輸出19,其間具有寄存器16,雖 然應(yīng)當(dāng)注意,在所描述的實(shí)施例中數(shù)據(jù)輸入和輸出只是到數(shù)據(jù)總線26 的物理連接;每個(gè)寄存器16直接將信號提供給下一級。每一對級通過控制線路28連接,控制線路28之一是用于向后傳 輸確認(rèn)信號的確認(rèn)線路25,另一線路是用于向前傳輸請求信號的請求 線路23。所述確認(rèn)和請求輸出通過請求線路23連接至下一級32的請 求輸入22,并通過確認(rèn)線路25連接至前一級34的確認(rèn)輸入24。以同 樣的方式,所討論的級30的確認(rèn)輸入24連接至下一級的確認(rèn)和請求 輸出20,并且請求輸入22連接至前一級34的確認(rèn)和請求輸出20。沿控制線路28發(fā)送的控制信號被稱為請求(R)和確認(rèn)(A)。它 們形成握手對(handshake pair)。當(dāng)數(shù)據(jù)總線包含有效的數(shù)據(jù)一令牌時(shí),請求被發(fā)送至下一級。當(dāng)該數(shù)據(jù)一令牌已經(jīng)被捕獲時(shí),確認(rèn)被反 向發(fā)送回來。根據(jù)4階段握手協(xié)議,通過握手控制信號的轉(zhuǎn)換,對所 述請求和確認(rèn)事件進(jìn)行編碼。存在兩種類型的確認(rèn)事件A的上升轉(zhuǎn)換,它指示數(shù)據(jù)已經(jīng)被復(fù)制到下一級,從而下一級為滿;以及A的下降轉(zhuǎn)換,它意味著下一級 為空。因此,在每一對相鄰級之間,傳送請求和確認(rèn)信號。 注意,返回至前一級的確認(rèn)A。和到下一級&的請求由單個(gè)輸出 信號實(shí)現(xiàn)。雖然所描述的實(shí)施例具有單個(gè)組合的請求和確認(rèn)輸出20,但是在 其它實(shí)施例中,在級30上具有一對物理組合的請求和確認(rèn)輸出通常是 方便的, 一個(gè)連接至下一級32, 一個(gè)連接至前一級34,兩個(gè)輸出在控 制器18處連接至公共驅(qū)動器。操作中,如圖3所示,出現(xiàn)多個(gè)階段。圖3示出了級30和下一級 32之間的信號。第一波形代表在級30的組合的請求和確認(rèn)輸出22上 傳輸?shù)男盘朢。第二個(gè)曲線圖表示在級的確認(rèn)輸入24上接收的信號輸 入A,其由下一級的組合的請求和確認(rèn)輸出22所傳輸。第三條線表示 什么時(shí)候數(shù)據(jù)在級和下一級之間的數(shù)據(jù)線路上是有效的,并且第四條 線表示什么時(shí)候?qū)?shù)據(jù)從級傳送到下一級。為了適用于隨后的討論, 這些信號將分別被標(biāo)記為R,和A,.下面給出四個(gè)階段的序列的詳細(xì)描述階段1:為了數(shù)據(jù)傳送,必須滿足聯(lián)合條件(A)在數(shù)據(jù)總線上必須存在數(shù)據(jù)一令牌,并且(B)下一級32的鎖存器必須為空,以便它可以記 錄令牌。在第一階段l中,信道等候這兩個(gè)要素中的第二個(gè)。因此,如果 下一級為空,但是數(shù)據(jù)總線上尚沒有來自前一級的令牌,則可以出現(xiàn) 第一階段。在此情況下,控制呈現(xiàn)為A,二O, ^ = 0?;蛘?,如果下一級未準(zhǔn)備好接收數(shù)據(jù),而前一級上存在數(shù)據(jù)令牌, 則此階段中的信號為& = 1, A,二l。ii階段2:當(dāng)數(shù)據(jù)傳送條件為真R,二l, A,二0時(shí),該階段開始。數(shù)據(jù)被從 級30傳送至下一級。當(dāng)下一級在確認(rèn)和請求輸出20上斷言其輸出信 號A, = l時(shí),在該級記錄數(shù)據(jù)之后不久該級結(jié)束。至此,寄存器16 將已經(jīng)存儲了來自前一級的數(shù)據(jù)。階段3:在該階段中R,二1, A, = l。級對確認(rèn)信號A,二1的接收通知該級 數(shù)據(jù)已經(jīng)被捕獲。然后,前一級停止斷言它的請求,引發(fā)階段4。 階段4:該階段的編碼是R,二O, A! = l。該系統(tǒng)在此階段中等候兩個(gè)數(shù)據(jù) 傳送條件中的第一個(gè)適用。階段4可以結(jié)束的一種方法是下一級變?yōu)榭眨⑶以诖饲闆r下確 認(rèn)信號被解除斷言A,二0,結(jié)束階段4并返回階段1。在此情況下, 階段1中的信道是兩種選擇中的第一種(R, = 0, A, = 0)??蛇x地,在從下一級接收確認(rèn)(R, = l, A,二l)之前,當(dāng)再次出 現(xiàn)向級l傳送數(shù)據(jù)的請求時(shí),階段4可以結(jié)束。這與階段l的兩種情 況中的第二種相對應(yīng)。當(dāng)由下一級發(fā)送回確認(rèn)A,二1時(shí),階段2結(jié)束,并且所討論的級 緊接在接收到該確認(rèn)之后解除斷言其輸出請求& =(),直接移動至階 段4,并接收下一數(shù)據(jù)項(xiàng)。此握手協(xié)議不同于在異步電路中十分常見的、廣為人知的4一階 段協(xié)議。特別地,第一階段由于具有兩種可能的編碼,而有所不同。 兩者都示于圖3中,前兩個(gè)傳送對應(yīng)于第一種階段1,而最后的傳送 對應(yīng)于第二種。此外,在第一階段和第三階段都可能出現(xiàn)組合R-1, A=l。 在每個(gè)級中通過控制器實(shí)現(xiàn)所述協(xié)議。請注意,為了正確的實(shí)現(xiàn), 需要不同的定時(shí)假設(shè)。與同步實(shí)現(xiàn)不同,所述定時(shí)不由時(shí)鐘控制。特 別地,重要的是,在信號到達(dá)并移動數(shù)據(jù)之前所有數(shù)據(jù)不變且有效。圖3中用虛線示出了一個(gè)替換方式。在此替換配置中,控制器具 有附加功能。在階段3中控制器確定數(shù)據(jù)是否在級(30)中己經(jīng)準(zhǔn)備好,并且如果準(zhǔn)備好了,則控制器將數(shù)據(jù)送到線路上,并直接移動至改進(jìn)的階段l,而不經(jīng)過階段4。在以階段2傳送數(shù)據(jù)之前,所述改進(jìn) 的階段l只等候指示下一級(32)為空的確認(rèn)信號。在階段3中數(shù)據(jù) 尚未準(zhǔn)備好的情況下,控制器解除斷言請求,并正常地繼續(xù)移動至階 段4?;氐讲蛔魈鎿Q的實(shí)施例,每個(gè)級可以由有限狀態(tài)機(jī)(FSM)描述, 有限狀態(tài)機(jī)實(shí)現(xiàn)對脈動流水線級的控制。圖4示出了信號轉(zhuǎn)換圖 (STG),圖5示出了控制器18實(shí)現(xiàn)信號轉(zhuǎn)換的電路實(shí)現(xiàn)。重要的是考慮級的輸入和輸出之間的耦合數(shù)量。通過減少耦合可 以提高流水線的速度,雖然耦合要對于流水線運(yùn)行而言足夠也是重要 的。寄存器控制信號G代表兩個(gè)狀態(tài),透明狀態(tài)(G=l)和不透明狀 態(tài)(G = 0)。在不透明狀態(tài)下,已經(jīng)從前一狀態(tài)接收到數(shù)據(jù)令牌,但 是還未傳遞,因此級30不能用于接收新數(shù)據(jù)。在透明狀態(tài)下,級30 可以用于接收新數(shù)據(jù)。在透明狀態(tài)下,所述級自動接收在其數(shù)據(jù)輸入 上出現(xiàn)的數(shù)據(jù)??梢韵氲?,控制需要5個(gè)信號,即兩個(gè)握手對(RQ、 Ao和R" A,)以及寄存器控制信號G。第一握手對(Ro、 Ao)代表前一級34 和所討論的級30之間的請求和確認(rèn)信號,而第二握手對(R。 A》 代表所討論的級30和下一級32之間的請求和確認(rèn)信號。但是,由于所選擇的信道協(xié)議,信號Ao和R,可以僅用一個(gè)信號 (即AqR,)實(shí)現(xiàn)。對下一級的請求與對前一級的確認(rèn)耦合。這簡化了 每個(gè)級的設(shè)計(jì)。圖4中示出的信號轉(zhuǎn)換圖(STG)表明了級控制器18所需的行為。 該操作旨在從它的輸入端取數(shù)據(jù)并試圖經(jīng)由它的輸出端在流水線中盡 快將數(shù)據(jù)轉(zhuǎn)發(fā)至下一級,從而級之間的信道使用前述(改進(jìn)的)4一階 段握手協(xié)議。為了實(shí)現(xiàn)快速操作,在空的時(shí)候,級的鎖存寄存器被設(shè)定為透明 (G=l),使得數(shù)據(jù)在到達(dá)時(shí)立即被捕獲。假設(shè)并且在數(shù)據(jù)令牌到達(dá) 時(shí),數(shù)據(jù)路徑中的鎖存器需要被切換為不透明(保持)模式。級的操作包括兩個(gè)內(nèi)部狀態(tài)變量X和Y,其跟蹤輸入和輸出信道 處的事件。編碼如下如果級為空(準(zhǔn)備接受數(shù)據(jù)令牌),則變量X為高(X + )。注意,本說明書中,括號中的符號是右手側(cè)信號轉(zhuǎn)換圖中的符號。 在等候請求時(shí),不斷言所述請求輸入信號(Ro—)。當(dāng)請求到達(dá)時(shí)(Ro+),意味著在級的輸入處存在有效數(shù)據(jù),X返回為零(X—), 使得信號G變得不透明(G—),并將請求/確認(rèn)(A。R, + )發(fā)送至下 一級和前一級。當(dāng)下一級為空時(shí),即在向下一級傳送令牌的過程中,變量Y被設(shè) 定為高(Y+)。當(dāng)所述傳送已經(jīng)完成時(shí),這由來自下一級的確認(rèn)(Aj + )通知,G被置位(G+),請求/確認(rèn)被復(fù)位(A()R, — ), X被置位 (X+),而Y被復(fù)位(Y—)。在此狀態(tài)下,由于X被斷言(X+), 則當(dāng)來自前一級的請求(Ro+)到達(dá)時(shí),F(xiàn)SM準(zhǔn)備再次捕獲令牌。圖5中示出了實(shí)現(xiàn)圖4的STG的電路。所述電路具有兩個(gè)輸入, 即請求輸入22和確認(rèn)輸入24,以及兩個(gè)輸出,即組合的請求和確認(rèn) 輸出20以及寄存器控制輸出21。在電路中央的是ANDOR門50,其組合對應(yīng)于變量X和Y的信 號以及輸入A,。正如可以看到的,在此實(shí)施例中,ANDOR門50由 非ANDOR門接反相器所實(shí)現(xiàn)。變量/信號X和Y由晶體管組56、 58的置位/復(fù)位狀態(tài)元件產(chǎn)生。 在這些組中,P分支置位變量,N分支復(fù)位變量。如果P分支和N分 支都不起作用,則"總線保持器"保持信號不變。第一總線保持器52保持它的輸入/輸出端60恒定,除非它被X 晶體管組56改變。輸入/輸出端60上的信號代表X信號。第一總線保 持器52與X晶體管組56結(jié)合構(gòu)成第一 (X)鎖存器52、 56,其狀態(tài) 在下面被標(biāo)記為X。與之類似,第二總線保持器54具有輸入/輸出端62,其代表Y信 號。它也保持恒定,除非被迫由Y晶體管組58的操作所改變。第二 總線保持器也具有反相輸出64,反相輸出64被連接以控制X晶體管 組56中的門之一。第二總線保持器54和Y晶體管組58構(gòu)成第二(Y)鎖存器54、 58,其狀態(tài)在下面被標(biāo)記為Y。ANDOR門50對來自確認(rèn)輸入24和Y鎖存器的信號進(jìn)行AND 操作,然后將其與來自X鎖存器的信號進(jìn)行NOR,并將其反相。因 此中央ANDOR門50 (包括串聯(lián)示出的反相器)的輸出對應(yīng)于信號 ((A1 ANDY) ORX)。該輸出直接連接至寄存器控制輸出21 ,以產(chǎn) 生寄存器控制信號G。因此,當(dāng)在確認(rèn)輸出24上接收到確認(rèn)信號時(shí),寄存器控制輸出 21上的輸出由門50的組合邏輯直接改變,而無需改變由鎖存器X和 Y表示的內(nèi)部狀態(tài)變量。這確保了寄存器控制信號G迅速被解除斷言。 本發(fā)明人己經(jīng)意識到,這是加快流水線的操作的重要延遲,下面將對 其進(jìn)行更為詳細(xì)的描述。反相器66具有連接至寄存器控制輸出21的輸入和連接至組合請 求/確認(rèn)信號輸出20的輸出,以對信號G進(jìn)行反相,在輸出20上產(chǎn)生 組合的請求/確認(rèn)信號。鎖存器的電路和操作如下。X晶體管組56的N分支包括一對串聯(lián)的N型晶體管70、 72。其 中之一的基極通過反相器84連接至輸出20處的組合請求/確認(rèn)信號, 另一個(gè)的基極直接連接至請求輸入22。如果請求被斷言,而且組合的 請求/確認(rèn)信號未被斷言,則該N分支復(fù)位X總線保持器52上的X信 號。與之類似,X晶體管組56的P分支包括一對晶體管74、 76。 一 個(gè)的基極連接至輸出20處的組合的請求/確認(rèn)信號,另一個(gè)的基極連 接至Y總線保持器54上的反相輸出64。由于晶體管是P型的,因此 它們在與N分支中的N型晶體管相反的條件下被接通,即如果它們的 輸入為低,從而如果Y信號被斷言,而且組合的請求/確認(rèn)信號未被斷 言,則晶體管74、 76置位X總線保持器52處的X信號。Y晶體管組58以類似的方式操作。N分支(復(fù)位側(cè))只包含一個(gè) 晶體管78,其基極連接至反相器84,并因此如果組合的請求/確認(rèn)信 號未被斷言,則復(fù)位Y總線保持器54上的Y信號。P分支(置位側(cè))包含一對晶體管80、 82,所述晶體管之一的基極連接至確認(rèn)輸入24,而另一個(gè)的基極連接至寄存器控制輸出21,如 果寄存器控制輸出和確認(rèn)輸入一起都未被斷言,則Y信號。在使用中,流水線中出現(xiàn)的任何令牌將沿流水線自動脈動,直到 所有被寫入流水線的字由于現(xiàn)有的字而不能再移動為止。因此,所有 令牌在流水線的輸出側(cè)一起成組。從流水線的輸出端讀取字會導(dǎo)致空位置向?qū)懭雮?cè)的方向脈動。因此,在FIFO已滿的情況下,流水線中 的所有字有效地向輸出側(cè)的方向移動一個(gè)位置。圖6示出了在4個(gè)數(shù)據(jù)一令牌傳送的情況下(內(nèi)部)信號的波形。 左邊的情況對應(yīng)于空FIFO,右邊的對應(yīng)于FIFO已經(jīng)變滿的情況。下 面將分別對空和滿FIFO中的事件順序進(jìn)行更為詳細(xì)的描述。如上對 波形進(jìn)行標(biāo)記,信號D代表由級讀取的數(shù)據(jù)(存在于輸入處的數(shù)據(jù)), 信號Q代表存在于輸出總線26上的數(shù)據(jù)。注意,與圖3不同,圖6考慮了由各個(gè)門和反相器的有限響應(yīng)時(shí) 間造成的延遲。所給出的實(shí)施例提供足夠延遲,以允許寄存器18記錄 和發(fā)送信號。例如,當(dāng)數(shù)據(jù)被接收時(shí),在階段2的開始處,電路首先 改變鎖存器52、 56上的變量X,然后通過ANDOR門50改變G,之 后通過反相器66自動斷言組合輸出AoRp以指示數(shù)據(jù)已經(jīng)被接收。 由這些步驟引發(fā)的延遲足以確保寄存器存儲呈現(xiàn)給它的數(shù)據(jù),從而實(shí) 際上產(chǎn)生組合輸出Ao&,而無需任何關(guān)于數(shù)據(jù)是否真在寄存器中的特 殊檢查。首先考慮空流水線的情況。最初,鎖存寄存器16為空,因此寄存 器控制信號控制寄存器16為透明(G=l),作為初始狀態(tài)。從而在此 情況下,任何到達(dá)的數(shù)據(jù)一令牌直接傳遞通過級,如在第一傳送中所 述的。在輸出處出現(xiàn)數(shù)據(jù)之后,寄存器控制信號G改變,從而使寄存 器不透明(G = 0),確認(rèn)被發(fā)送至前一級,請求被發(fā)送至下一級(AoR, 二l)。當(dāng)下一級已經(jīng)接受數(shù)據(jù)時(shí),它發(fā)送回確認(rèn)(Al = l)。其結(jié)果是, 寄存器控制信號G再次被設(shè)定為透明,并且請求/確認(rèn)被解除斷言 (AoR,二O)。注意,在數(shù)據(jù)已經(jīng)進(jìn)入級之后,將X解除斷言,而在X 已經(jīng)被傳送至下一級時(shí),斷言X。此外,在已經(jīng)請求下一級之后斷言Y,當(dāng)X己經(jīng)被斷言時(shí)解除斷言Y??偠灾刂坡窂街械恼埱笠徽埱笱舆t由下列軌跡給出R0 + —X——G—~^AoR, + 。如果FIFO級包含數(shù)據(jù),則該級的寄存器被置為不透明模式(G 二0),其用作保持模式?,F(xiàn)在,將進(jìn)一步討論在流水線為滿而且FIFO的所有級都包含數(shù) 據(jù)的情況下的事件序列。在此情況下,從流水線的末端讀取字使得空 位置從后脈動到前。圖6中右手側(cè)的波形與該情形對應(yīng)。所述軌跡以Ai上的負(fù)轉(zhuǎn)換開始,所述負(fù)轉(zhuǎn)換指示下一級中的空位 置。其結(jié)果是,Y被斷言。由于已經(jīng)斷言AoRp則立即開始向下一級 的數(shù)據(jù)傳送。當(dāng)A,變?yōu)楦唠娖綍r(shí),所述傳送結(jié)束。由于Y被斷言, 則A,的正轉(zhuǎn)換導(dǎo)致G升高。因此該級開始從前一級復(fù)制數(shù)據(jù)(如果 有的話)。在此傳送階段中,AoR,為低。在一定時(shí)間量之后,復(fù)制階 段停止。在此情況下,組合路徑G+—AoR, — "—~^G —確定傳送的 時(shí)間。接下來,AoR,變高,這意味著向下一級的請求和向前一級的確 認(rèn)。其結(jié)果是,將在級的輸入處提供新數(shù)據(jù)(R。一~^Ro+)。注意,對于A。R, — "^Y之間的短時(shí)間來說,X鎖存器的置位分支 和復(fù)位分支同時(shí)起作用。這是因?yàn)楫?dāng)下一級的確認(rèn)到達(dá)時(shí)已經(jīng)存在有 效數(shù)據(jù)(R。=l)。其結(jié)果是,變量X被斷言,并立即被解除斷言??偠灾捶较虻拇_認(rèn)一確認(rèn)延遲由下列軌跡給出A, + —G + — AoR一一Y— —G— — AoR! + 。對于FIFO的正確操作,需要控制路徑和數(shù)據(jù)路徑之間的延遲匹 配。幸運(yùn)的是,這只需要具有較少比特?cái)?shù)的晶體管的恰當(dāng)尺寸。任何 較大寬度(每個(gè)字更多比特)或(字的)不同深度的示例在功能上也 是恰當(dāng)?shù)?。為了延遲匹配,兩個(gè)脈動現(xiàn)象很重要。第一個(gè)是通過空FIFO向 前傳輸數(shù)據(jù),第二個(gè)是通過(部分)滿FIFO向后傳輸空位置。在前面的(空)情況下,數(shù)據(jù)路徑中通過鎖存器的數(shù)據(jù)比特的傳 播速度需要比請求事件的級一級傳播速度快。對于通過任意數(shù)目級的 傳播(從寫入側(cè)界面開始),該延遲限制成立??刂坡窂街姓埱笫录?級一級傳播速度由下列轉(zhuǎn)換給出RQ + —X—~—"^AoR, + 。當(dāng)鎖存器為透明時(shí),數(shù)據(jù)路徑中的延遲由通過鎖存器從D到Q的傳播延遲所 給出。在請求路徑中(當(dāng)然考慮轉(zhuǎn)換方向)增加額外的延遲使得余量 增加。在孔的向后傳播情況下,G信號的脈沖寬度需要足夠?qū)挕T诖嗣} 沖期間,數(shù)據(jù)路徑中的鎖存器必須能夠捕獲新數(shù)據(jù)。要想更魯棒,可 以通過縮小控制器特別是晶體管的柵極(即柵極84)來延長該脈沖, 所述控制器負(fù)責(zé)G信號的負(fù)沿,所述晶體管負(fù)責(zé)驅(qū)動A0N的上升沿。 有關(guān)的信號轉(zhuǎn)換為G + —AoR, — "—^^G—。為了正確的操作,必須實(shí)現(xiàn)兩個(gè)其它的定時(shí)限制。第一個(gè)限制涉及在確認(rèn)之后立即清除請求。根據(jù)所述協(xié)議,緊接 在接收確認(rèn)之后,必須立即解除斷言請求,否則下一控制器將認(rèn)為所 述請求是新的一個(gè),而它仍然是前一個(gè)。這個(gè)問題尤其會發(fā)生在空 FIFO的情況下,因?yàn)榧捍_認(rèn)的令牌被立即傳播至下一級,這使得級即 刻準(zhǔn)備接受新令牌。為了校驗(yàn)該定時(shí)限制的余量,在空FIFO情況下 的請求Ro —和AON +之間的延遲應(yīng)當(dāng)足夠大。第二個(gè)定時(shí)限制涉及Y的斷言。當(dāng)A,和G都低而且AoR,高時(shí), 變量Y被置位。到(響應(yīng)于請求AoR, + )信號A"變高時(shí),Y應(yīng)當(dāng)被 置位。因此Y+和A, +之間的延遲(這在空FIFO中最為關(guān)鍵)需要 十分確定。否則控制器將不對Ai (其指示確認(rèn))的上升沿不起作用, 并且產(chǎn)生死鎖情況。第一和第二定時(shí)限制都可以通過選擇合適的晶體管尺寸而實(shí)現(xiàn)。從圖6中應(yīng)注意,所述控制以特殊序列操作。而且,應(yīng)注意,從 鎖存器16到控制器沒有控制信號,當(dāng)己經(jīng)使用合適條件(G低而Ro 高)時(shí)假設(shè)鎖存器鎖存電路已經(jīng)接收了數(shù)據(jù)。特別地,通過實(shí)現(xiàn)來滿足多個(gè)定時(shí)限制。首先,在循環(huán)開始處,數(shù)據(jù)鎖存器必須在數(shù)據(jù)被捕獲之前關(guān)閉。 這要求在滿足第二條件(RQ=1, A,-0)而要開始數(shù)據(jù)傳送與G變?yōu)?解除斷言之間有一定延遲。第二,在開始向級中傳送數(shù)據(jù)(R。=l, A1 = 0)和向下一級斷言請求(AoR,-l)之間的延遲需要足夠以用于 由數(shù)據(jù)鎖存器斷言下一數(shù)據(jù)線路上的數(shù)據(jù)。第三,對于要完成的實(shí)現(xiàn),18在從下一級接收確認(rèn)(A,二l)之前,必須置位Y。第四,在傳遞數(shù)據(jù)令牌并且級變空之前,必須巳經(jīng)將Ro解除斷言。請注意,數(shù)據(jù)快速通過本質(zhì)上是不可能的,因?yàn)橛腥缦略O(shè)計(jì)AoR,二1未被斷言,直到G己經(jīng)被解除斷言。所述實(shí)現(xiàn)滿足了這些定時(shí)限制,并由此確保了正確的操作。所討論的實(shí)現(xiàn)具有超過當(dāng)前方案的優(yōu)勢它非常高速,并且依舊 魯棒。后者對于制造領(lǐng)域是重要的。在異步流水線領(lǐng)域中,過去已經(jīng) 提出了許多方案。在工業(yè)應(yīng)用的背景下,這些方案中的每一個(gè)都表現(xiàn) 出具有缺點(diǎn)。這里所提出的方案魯棒、簡單并且可以比任何已知的方案更快。特別地,向后傳播(它是脈動FIFO的最重要延遲參數(shù))較 快,因?yàn)樵趶南乱患壗邮沾_認(rèn)(A, + )和將鎖存寄存器從不透明改變 為透明模式(G+)之間的延遲只是一個(gè)組合門延遲(不需要狀態(tài)變 量的改變)。如上所述,F(xiàn)IFO流水線有許多應(yīng)用領(lǐng)域。首先,流水線可在芯片 上用作整體異步局部同步(GALS)系統(tǒng)的基礎(chǔ)構(gòu)造塊。在這樣的系 統(tǒng)中,根據(jù)本實(shí)施例的FIFO流水線可以利用不同的時(shí)鐘信號鏈接芯 片上的不同區(qū)域。另一個(gè)應(yīng)用是在芯片上用于多頻同步系統(tǒng)上交叉的 時(shí)鐘范圍。所述流水線也可以簡單地用于存儲流動的數(shù)據(jù)。本領(lǐng)域技術(shù)人員可以理解,具有多級的流水線可以由上述級構(gòu)成。 第一和最后級將需要稍微的修改(這對于本領(lǐng)域技術(shù)人員公知),以提 供合適的輸入和輸出。上述說明涉及不進(jìn)行處理的空流水線。然而,本發(fā)明還可用于在 流水線上進(jìn)行處理的情況。圖7示出了一對級30、32,兩者之間在數(shù)據(jù)路徑上有處理單元100。 為了保證處理時(shí)間,在請求線路中設(shè)有多個(gè)延遲級102,以延遲請求 信號。每個(gè)延遲級包括NOR門,NOR門在一個(gè)輸入上具有反相器, 并在該輸入上獲取來自前一級的請求信號,在另一輸入上獲取來自確 認(rèn)線路的信號。每個(gè)級的輸出連接至下一級的請求輸入。NOR門旨在 延遲從級30傳輸至下一級32的請求信號R,但是當(dāng)確認(rèn)信號被傳輸 回來時(shí)在每個(gè)門處迅速打開所述請求信號R。以此方式,在下一級處請求信號未被斷言,直到數(shù)據(jù)被處理并在下一級處可用。門的實(shí)際數(shù) 量取決于處理單元的組合延遲。通過所述延遲門的傳輸時(shí)間必須比通 過處理單元的信號傳播延遲長。圖8示出了從分開的流水線級110、 112取兩個(gè)操作數(shù)的處理。這 些數(shù)據(jù)在處理單元122中被組合并被發(fā)送至目標(biāo)流水線級124。為了處理握手,流水線級110的請求輸出通過延遲線路114連接 至AND門120。延遲線路114由如圖7的配置中的延遲級102構(gòu)成。 類似地,級112的請求輸出通過單獨(dú)的延遲線路116被傳遞至AND 門120,其組合來自兩個(gè)級IIO、 112的請求,并將所述請求信號傳遞 至目標(biāo)級124。因此,在兩個(gè)級IIO、 112上斷言請求信號之后的一定 延遲后,在目標(biāo)級124處斷言請求信號,以給處理單元122提供處理 數(shù)據(jù)的時(shí)間。在目標(biāo)級124和級110、 112之間直接設(shè)有確認(rèn)信號線路25。本 領(lǐng)域技術(shù)人員可以想到對上述實(shí)施例進(jìn)行修改。本發(fā)明可以以任何適 當(dāng)?shù)姆绞綄?shí)現(xiàn),特別包括作為部分集成電路來實(shí)現(xiàn)本發(fā)明。上述信號由歸結(jié)為"1"和"0"的信號電平的特殊意義所描述。 本領(lǐng)域技術(shù)人員可以理解不同的電壓可以歸結(jié)為不同的意義,例如任 何一個(gè)或所有信號線路的意義都可以被顛倒。因此,例如在替換實(shí)施 例中,確認(rèn)信號可以被斷言為"0"信號,而非"1"信號。
權(quán)利要求
1、一種在流水線中的級(30)和下一級(32)之間傳送數(shù)據(jù)的方法,所述流水線具有用于將數(shù)據(jù)從該級(30)傳輸?shù)较乱患?32)的至少一個(gè)數(shù)據(jù)傳送線路(26),用于將指示數(shù)據(jù)路徑保持有效數(shù)據(jù)的請求信號從該級(30)傳輸?shù)较乱患?32)的請求線路(23),以及用于將表明下一級被占用的確認(rèn)信號從下一級(32)傳輸?shù)皆摷?30)的確認(rèn)線路(25),所述方法包括重復(fù)下列步驟(i)在請求信號和確認(rèn)信號均被斷言或者請求信號和確認(rèn)信號均未被斷言時(shí),等候兩個(gè)數(shù)據(jù)傳送條件均為真,其中第一數(shù)據(jù)傳送條件是至少一個(gè)數(shù)據(jù)傳送線路(26)保持有效數(shù)據(jù),第二數(shù)據(jù)傳送條件是下一級(32)準(zhǔn)備好接收數(shù)據(jù);(ii)在請求信號被斷言而確認(rèn)信號被解除斷言時(shí),在級(30、32)之間傳送數(shù)據(jù),然后斷言確認(rèn)信號;(iii)在請求信號被斷言且確認(rèn)信號被斷言時(shí),解除斷言請求信號;(iv)在確認(rèn)信號被斷言而請求信號被解除斷言時(shí),等候兩個(gè)數(shù)據(jù)傳送條件之一被滿足。
2、 根據(jù)權(quán)利要求1的方法,其中所述方法包括重復(fù)步驟(i)到 (iv)以傳送數(shù)據(jù)項(xiàng),其中在步驟(i)的至少一種情況下,請求信號和確認(rèn)信號均被斷言,在步驟(i)的至少另外一種情況下,請求信號 和確認(rèn)信號均未被斷言。
3、 根據(jù)權(quán)利要求1或2的方法,其中從該級(30)到下一級(32) 的所述請求信號是也被傳輸至前一級的組合請求和確認(rèn)信號。
4、 根據(jù)權(quán)利要求l、 2或3的方法,進(jìn)一步包括當(dāng)?shù)谝缓偷诙?shù) 據(jù)傳送條件適用時(shí),在下一級(32)中產(chǎn)生寄存器控制信號,以促使 下一級(32)中的鎖存寄存器(16)接受來自數(shù)據(jù)線路(26)的數(shù)據(jù), 并且其中在步驟(iii)中,響應(yīng)于確認(rèn)信號的接收,通過使確認(rèn)信號 傳遞經(jīng)過一個(gè)或多個(gè)邏輯門,以由組合邏輯直接產(chǎn)生解除斷言的寄存器控制信號,級(30)將寄存器控制信號解除斷言。
5、 根據(jù)權(quán)利要求4的方法,進(jìn)一步包括在下一級(32)中根據(jù)下 一級中的寄存器控制信號來產(chǎn)生確認(rèn)信號,以便在所捕獲的數(shù)據(jù)在下 一級中的鎖存寄存器的輸出處存在/變?yōu)橛行е螅瑪嘌运龃_認(rèn)信 號。
6、 根據(jù)前述任一權(quán)利要求的方法,其中所述在級之間傳送數(shù)據(jù)的 步驟在數(shù)據(jù)在級之間被傳送時(shí)處理所述數(shù)據(jù),所述方法還包括延遲從 該級(30)到下一級(32)傳輸?shù)谋粩嘌缘恼埱笮盘?,以提供在被?言的請求信號到達(dá)下一級之前執(zhí)行處理的時(shí)間。
7、 根據(jù)前述任一權(quán)利要求的方法,其中當(dāng)在步驟(iii)中數(shù)據(jù)在 該級(30)中可用于送入至少一個(gè)數(shù)據(jù)線路(26)時(shí),步驟(iii)包 括將數(shù)據(jù)送入數(shù)據(jù)線路(26)并立即進(jìn)行步驟(i),忽略步驟(iv)。
8、 一種流水線,包括 級(30);下一級(32);至少一個(gè)數(shù)據(jù)傳送線路(26),用于將數(shù)據(jù)從該級(30)傳輸?shù)较?一級(32);請求線路(23),用于將指示數(shù)據(jù)傳送線路(26)保持有效數(shù)據(jù)的 請求信號從該級(30)傳輸?shù)较乱患?32);和確認(rèn)線路(25),用于將表明下一級被占用的確認(rèn)信號從下一級 (32)傳輸?shù)皆摷?30);以及級中的控制器(18),所述控制器被配置為進(jìn)行下列協(xié)作(i) 在請求信號和確認(rèn)信號均被斷言或者請求信號和確認(rèn)信號均 未被斷言時(shí),等候兩個(gè)數(shù)據(jù)傳送條件均為真,其中第一數(shù)據(jù)傳送條件 是數(shù)據(jù)路徑保持有效數(shù)據(jù),第二數(shù)據(jù)傳送條件是下一級為空;(ii) 在請求信號被斷言而確認(rèn)信號被解除斷言時(shí),沿?cái)?shù)據(jù)傳送 線路(26)從該級(30)到下一級(32)向下傳送數(shù)據(jù),然后斷言確 認(rèn)信號;(iii) 在請求信號被斷言且確認(rèn)信號被斷言時(shí),解除斷言請求信 號;以及(iv)在確認(rèn)信號被斷言而請求信號被解除斷言時(shí),等候兩個(gè)數(shù) 據(jù)傳送條件之一被滿足。
9、 根據(jù)權(quán)利要求8的流水線,其中所述級(30)包括鎖存寄存器(16);數(shù)據(jù)輸入(15),用于將來自緊接前一級的數(shù)據(jù)項(xiàng)接收到寄存器(16)中;數(shù)據(jù)輸出(19),用于將數(shù)據(jù)項(xiàng)從寄存器(16)輸出至下一級;確認(rèn)輸入(24),用于從下一級(32)接收確定數(shù)據(jù)項(xiàng)己經(jīng)被接收 的確認(rèn)信號;請求輸入(22),用于從前一級接收指示前一級準(zhǔn)備好傳輸數(shù)據(jù)項(xiàng) 的請求信號;和組合請求和確認(rèn)輸出(20),被配置為向下一級(32)的請求輸入 輸出組合請求信號,并向前一級(34)的確認(rèn)輸入輸出確認(rèn)信號,以 確認(rèn)從前一級接收數(shù)據(jù)項(xiàng)并請求向下一級傳輸數(shù)據(jù)項(xiàng)。
10、 根據(jù)權(quán)利要求9的流水線,其中所述控制器(18)被配置為(i) 通過等候如下條件(a)請求輸入上的請求信號被斷言,和 (b)組合請求和確認(rèn)輸出上的組合請求和確認(rèn)信號被解除斷言,來等候兩個(gè)數(shù)據(jù)傳送條件均為真,并且當(dāng)條件適用時(shí),將數(shù)據(jù)從前一級讀 入寄存器;(ii) 當(dāng)數(shù)據(jù)己經(jīng)被傳送時(shí),將組合請求和確認(rèn)信號斷言為確認(rèn) 信號;以及(iii) 當(dāng)在確認(rèn)輸入從下一級接收到確認(rèn)信號時(shí),解除斷言所述 組合請求和確認(rèn)信號。
11、 根據(jù)權(quán)利要求8或9的流水線其中所述控制器(18)具有寄存器控制輸出(21),其連接至從控 制器到寄存器(16)的寄存器控制線路(17),以在寄存器控制信號被 斷言時(shí)控制寄存器接受數(shù)據(jù);其中所述控制器(18)被配置為在請求輸入上的請求信號被斷言,并且組合請求和確認(rèn)輸出上的 組合請求和確認(rèn)信號被解除斷言的條件之后,斷言寄存器控制信號,以及在確認(rèn)輸入(24)處從下一級接收到確認(rèn)信號之后,解除斷言所述寄存器控制信號。
12、 根據(jù)權(quán)利要求11的流水線,包括至少一個(gè)邏輯門(50),該 邏輯門(50)具有連接至確認(rèn)輸入(24)的一個(gè)輸入和直接連接至寄 存器控制輸出(21)的輸出,所述邏輯門被配置為響應(yīng)于確認(rèn)信號的 接收,通過使確認(rèn)信號傳遞經(jīng)過一個(gè)或多個(gè)邏輯門,以產(chǎn)生解除斷言 的寄存器控制信號,來解除斷言所述寄存器控制信號。
13、 根據(jù)權(quán)利要求9、 10、 11或12的流水線,其中所述控制器包括第一鎖存器(52、 56),具有置位和復(fù)位狀態(tài);和 第二鎖存器(54、 58),具有置位和復(fù)位狀態(tài); 其中所述控制器被配置為當(dāng)請求輸入上的請求信號被斷言,并且組合請求和確認(rèn)輸出上的 組合請求和確認(rèn)信號被解除斷言的條件適用時(shí),復(fù)位第一鎖存器;當(dāng)在確認(rèn)輸入(24)上從下一級接收的確認(rèn)信號未被斷言并且條 件適用時(shí),置位第二鎖存器;當(dāng)?shù)诙i存器被置位并且組合請求和確認(rèn)信號未被斷言時(shí),置位 第一鎖存器(52、 56);以及當(dāng)組合請求和確認(rèn)信號未被斷言時(shí),復(fù)位第二鎖存器(54、 58)。
14、 根據(jù)從屬于權(quán)利要求12的權(quán)利要求13的流水線,其中所述 邏輯門(50)是ANDOR門(50),其AND輸入連接至第二鎖存器(54、 58)和確認(rèn)輸入(24), OR輸入連接至第一鎖存器(52、 56),輸出 連接至寄存器控制信號輸出(21),并且當(dāng)AND輸入均被斷言或者當(dāng) OR輸入被斷言時(shí),在第一狀態(tài)輸出寄存器控制信號。
15、 根據(jù)權(quán)利要求14的流水線,進(jìn)一步包括反相器(66),其輸 入連接至寄存器控制輸出(21),輸出連接至組合請求和確認(rèn)信號輸出(20),以對寄存器控制信號進(jìn)行反相,來在組合請求和確認(rèn)信號輸出 上提供信號。
16、 根據(jù)權(quán)利要求13、 14或15的流水線,其中所述第一鎖存器(52、 56)包括第一鎖存器復(fù)位側(cè)電路(70、 72),其輸入連接至請求輸入(22) 并通過反相器(84)連接至組合請求和確認(rèn)輸出(20),以在請求輸入 被斷言而組合請求和確認(rèn)輸出未被斷言的情況下復(fù)位第一鎖存器;第一鎖存器置位側(cè)電路(74、 76),其輸入連接至組合請求和確認(rèn) 輸出(20)和第二鎖存器(64)的反相輸出,以在組合請求和確認(rèn)輸 出未被斷言而第二鎖存器被斷言的情況下置位第一鎖存器;以及第一鎖存器總線保持器(52),被配置為如果第一鎖存器復(fù)位側(cè)電 路和第一鎖存器置位側(cè)電路都不工作,則保持第一鎖存器的輸出。
17、 根據(jù)權(quán)利要求13、 14、 15或16的流水線, 其中第二鎖存器(54、 58)包括第二鎖存器復(fù)位側(cè)電路(78),其輸入通過反相器(84)連接至組 合請求和確認(rèn)輸出(20),以在組合請求和確認(rèn)輸出未被斷言的情況下 復(fù)位第二鎖存器;第二鎖存器置位側(cè)電路(80、 82),其輸入連接至確認(rèn)輸入(24) 及寄存器控制信號輸出(21),以在確認(rèn)輸入被斷言而且控制信號輸出 被斷言的情況下置位第二鎖存器;以及第二鎖存器總線保持器(54),被配置為如果第二鎖存器復(fù)位側(cè)電 路(78)和第二鎖存器置位側(cè)電路(80、 82)都不工作,則保持第二 鎖存器的輸出。
18、 根據(jù)權(quán)利要求8—17中任一權(quán)利要求的流水線, 其中從所述級(30、 110、 112)到下一級(32、 124)的數(shù)據(jù)線路(26)包括用于處理數(shù)據(jù)的處理單元(100、 122);和請求線路(23)包括至少一個(gè)延遲組件(102、 114、 116),用于 延遲從所述級(30、 110、 112)傳輸?shù)较乱患?32、 124)的請求信號。
19、 根據(jù)權(quán)利要求8—18中任一權(quán)利要求的流水線,其中所述控 制器被配置為在解除斷言所述組合請求和確認(rèn)信號之前,判斷級(30) 中的數(shù)據(jù)是否可用于送入至少一個(gè)數(shù)據(jù)線路(26),如果級(30)中的 數(shù)據(jù)可用則將有用的數(shù)據(jù)送到數(shù)據(jù)線路(26)上,以等候下一級為空, 然后傳送數(shù)據(jù),無需解除斷言請求信號。
全文摘要
一種異步脈動流水線具有多個(gè)級,每個(gè)級包括控制器(18)和寄存器(16)。所述控制器具有寄存器控制輸出(21)以及組合確認(rèn)和請求輸出(20),以及請求輸入(22)和確認(rèn)輸入(24)。所使用的協(xié)議包括單個(gè)信號,其在級(30)的組合確認(rèn)和請求輸出(20)上輸出,用作向下一級(32)的請求以及向前一級(34)的確認(rèn)。
文檔編號G06F5/08GK101258463SQ200680032313
公開日2008年9月3日 申請日期2006年9月4日 優(yōu)先權(quán)日2005年9月5日
發(fā)明者保羅·維拉吉 申請人:Nxp股份有限公司