两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

先進先出緩沖單元及先進先出緩沖方法

文檔序號:6608575閱讀:270來源:國知局
專利名稱:先進先出緩沖單元及先進先出緩沖方法
技術領域
本發(fā)明是有關于一種先進先出緩沖單元,特別是有關于一種高速的先進先出緩沖單元(First In First Out,F(xiàn)IFO)。
背景技術
圖1所示為一現(xiàn)有技術中具有四輸入四輸出的先進先出緩沖單元(FirstIn First Out,F(xiàn)IFO)。四輸入四輸出的先進先出緩沖單元100可應用于中央處理器(Central Processing Unit,CPU)和北橋(North Bridge)之間進行傳輸數(shù)據(jù)。四輸入四輸出先進先出緩沖單元100具有四路多工器(Mux)111、112、113、114、141、142、143和144,先進先出暫存器121、122、123和124以及十六路多工器131、132、133和134,其中先進先出暫存器121、122、123和124均為可儲存16組32位數(shù)據(jù)的暫存器。
輸入數(shù)據(jù)Data0、Data1、Data2和Data3通過四路多工器111、112、113和114存入先進先出暫存器121、122、123和124的對應位置。十六路多工器131、132、133和134接收來自先進先出暫存器121、122、123和124的暫存數(shù)據(jù)并輸出至四路多工器141、142、143和144。
從圖1可以看出,由于四路多工器111、112、113和114必須驅動具有儲存16組32位的先進先出暫存器121、122、123和124的驅動能力,因此四路多工器111、112、113和114需要較大驅動器,從而增加四路多工器111、112、113和114電路復雜度和傳輸門的數(shù)目,并且由于傳輸門的數(shù)目較多,數(shù)據(jù)傳輸也比較慢。

發(fā)明內容
本發(fā)明的目的在于提供一種高速的先進先出緩沖單元及其相關的先進先出暫存方法。
本發(fā)明提供一種先進先出緩沖單元,包括第一子暫存單元。第一子暫存單元包括第一層暫存器,由輸入端接收第一輸入數(shù)據(jù);第二層暫存器,接收來自上述第一層暫存器的數(shù)據(jù);以及第三層暫存器,選擇接收來自上述輸入端的上述第一輸入數(shù)據(jù)、來自上述第一層暫存器的數(shù)據(jù)或上述第二層暫存器的數(shù)據(jù)以輸出第一輸出數(shù)據(jù)。
本發(fā)明又提供一種先進先出暫存方法,包括判斷第一子暫存單元的第一層暫存器、第二層暫存器和第三層暫存器的數(shù)據(jù)儲存狀態(tài);當上述第一層暫存器、上述第二層暫存器和上述第三層暫存器是空暫存器時,儲存第一輸入數(shù)據(jù)至上述第三層暫存器;以及當上述第三暫存器儲滿數(shù)據(jù)且上述第一層暫存器是空暫存器時,儲存上述第一輸入數(shù)據(jù)至上述第一層暫存器。
本發(fā)明先進先出暫存單元的子暫存單元接收的數(shù)據(jù)被直接存入第一層暫存器或第三層暫存器,因此先進先出暫存單元的輸入多工器并不需要強大的驅動器,從而可以減少輸入多工器的復雜度和傳輸門的數(shù)目。由于傳輸門的數(shù)目較少,本發(fā)明先進先出暫存單元具有相對較小的面積和較高的數(shù)據(jù)傳輸速度。


通過下面結合示例性地示出一例的附圖進行的描述,本發(fā)明的上述和其他目的和特點將會變得更加清楚,其中圖1為現(xiàn)有技術的四輸入四輸出的先進先出緩沖單元的示意圖;圖2為根據(jù)本發(fā)明一實施例的先進先出緩沖單元的示意圖;圖3為圖2所示一子暫存單元的示意圖;圖4為根據(jù)本發(fā)明一實施例的先進先出暫存方法的流程圖;圖5為根據(jù)本發(fā)明另一實施例的先進先出暫存方法的流程圖;以及圖6為根據(jù)本發(fā)明另一實施例的先進先出暫存方法的流程圖。
具體實施例方式
為讓本發(fā)明的上述和其它目的、特征、和優(yōu)點能更明顯易懂,下文特舉出較佳實施例,并配合所附圖式,作詳細說明如下如圖2所示,本發(fā)明一實施例的先進先出緩沖單元(First In First Out,F(xiàn)IFO)200包括控制單元210、輸入多工器(Mux)261、262、263、264、輸出多工器271、272、273、274、以及子暫存單元220、230、240和250。各子暫存單元220、230、240和250分別包括第一層暫存器221、231、241和251、第二層暫存器222、232、242和252和第三層暫存器223、233、243和253。第一、第二及第三層暫存器也可分別稱作L1暫存器L2暫存器以及L3暫存器。另外,輸入多工器(Mux)261、262、263和264的輸出端分別耦接于第一層暫存器221231、241和251的輸入端。
在本發(fā)明一實施例中,Data0、Data1、Data2和Data3各代表一個32位的數(shù)據(jù),即雙字(Double Word,DW)。在本發(fā)明一實施例中,第一層暫存器221、231、241、251的大小等于子暫存單元220、230、240、250在一個傳輸周期(cycle)接收的輸入數(shù)據(jù)的寬度,即1DW。第三層暫存器223、233、243、253的大小等于子暫存單元220、230、240、250在一個傳輸周期輸出數(shù)據(jù)的寬度,亦為1DW。第二層暫存器222、232、242和252的大小為14DW。
如本領域技術人員所知,控制單元210可根據(jù)暫存值Psh、Pop和PopLen產生控制信號2100以控制子暫存單元220、230、240和250、輸入控制信號2102及輸出控制信號2104。根據(jù)本發(fā)明一實施例,當暫存值Psh為4’b0000時,控制單元210通過輸入控制信號2102使輸入多工器261、262、263和264不傳送任何數(shù)據(jù),當暫存值Psh為4’b0001時,控制單元210使輸入多工器261、262、263和264傳送數(shù)據(jù)Data0;當暫存值Psh為4’b0011時,控制單元210使輸入多工器261、262、263和264傳送數(shù)據(jù)Data0和Data1;當暫存值Psh為4’b0111時,控制單元210使輸入多工器261、262、263和264傳送數(shù)據(jù)Data0、Data1和Data2;當暫存值Psh為4’b1111時,控制單元210使輸入多工器261、262、263和264傳送數(shù)據(jù)Data0、Data1、Data2和Data3。子暫存單元220、230、240和250則會根據(jù)暫存值Psh將數(shù)據(jù)儲存于第一層暫存器221、231、241和251或第三層暫存器223、233、243和253。
第三層暫存器223、233、243和253會根據(jù)暫存值Pop和暫存值PopLen輸出數(shù)據(jù)。根據(jù)本發(fā)明一實施例,當暫存值Pop為1以及暫存值PopLen為2’b00時,控制單元210通過輸出控制信號2104使輸出多工器271輸出數(shù)據(jù)DataOut〔31:0〕,當暫存值Pop為1以及暫存值PopLen為2’b01時,輸出多工器271和272會分別輸出數(shù)據(jù)DataOut〔31:0〕和DataOut〔63:32〕,當暫存值Pop為1以及暫存值PopLen為2’b10時,輸出多工器271、272和273會分別輸出數(shù)據(jù)DataOut〔31:0〕、DataOut〔63:32〕和DataOut〔95:64〕,當暫存值Pop為1以及暫存值PopLen為2’b11時,輸出多工器271、272、273和274會分別輸出數(shù)據(jù)DataOut〔31:0〕、DataOut〔63:32〕和、DataOut〔95:64〕、DataOut〔127:96〕。因此本發(fā)明一實施例中的先進先出緩沖單元200最少輸出一雙字數(shù)據(jù),最多可以一次輸出4雙字數(shù)據(jù)。
在本發(fā)明一實施例中,子暫存單元220~250具有相同的細部結構圖,因而僅以子暫存單元220為例說明子暫存單元的細部結構圖。
如圖3所示,子暫存單元220包括若干耦接在第二層暫存器222與第三層暫存器223之間的第一多工器2220、2222、2224、以及控制邏輯單元224。控制邏輯單元224通過接收到的控制信號2100獲得第一、第二及第三層暫存器221、222和223的數(shù)據(jù)存取狀態(tài)??刂七壿媶卧?24對獲得的數(shù)據(jù)存取信息進行適當?shù)倪壿嬤\算,從而產生若干用來控制第一、第二及第三層暫存器221、222、223進行數(shù)據(jù)存取的信號第一存儲信號PSH1、第二存儲信號PSH2、第三存儲信號PSH3、選擇信號SEL、寫入指針WP、輸出指針RP以及忽略信號Bypass。具體來說,第一層暫存器221根據(jù)第一存儲信號PSH1決定是否存儲子暫存單元220接收的數(shù)據(jù)DATAIN。第二層暫存器222根據(jù)第二存儲信號PSH2決定是否接收第一層暫存器221送出的數(shù)據(jù),并將接收的數(shù)據(jù)存入寫入指針WP所指向的位置。本實施例中,第二層暫存器222可存儲14雙字的數(shù)據(jù),因而耦接在第二層暫存器222輸出端的第一多工器2220為14路多工器。第一多工器2220接收第二暫存器222輸出的數(shù)據(jù),并依據(jù)輸出指針RP選擇輸出一個數(shù)據(jù)。第二多工器2222具有兩個輸入端,分別接收14路第一多工器2220輸出的數(shù)據(jù)以及第一層暫存器221輸出的數(shù)據(jù),當忽略信號Bypass致能時,第二多工器2222將第一層暫存器221送出的數(shù)據(jù)輸出。第三多工器2224接收數(shù)據(jù)DataIn及由第二多工器2222輸出的數(shù)據(jù),并依據(jù)選擇信號SEL選擇送出其中之一給第三層暫存器223。例如,當選擇信號SEL致能時,第三多工器224將數(shù)據(jù)DataIn輸出至第三層暫存器223,反之,將第二多工器2222送出的數(shù)據(jù)輸出至第三層暫存器223。本實施例中,只有當?shù)谌龑訒捍嫫?23為空暫存器且有數(shù)據(jù)需要存入第三層暫存器223時,第三存儲信號PSH3才會被致能。當?shù)谌鎯π盘朠SH3致能時,第三層暫存器223接收并儲存第三多工器2224輸出的數(shù)據(jù)。由以上描述可知,子暫存單元220接收到的數(shù)據(jù)DataIn可以直接存入第一層暫存器221,或者經過第三多工器2224存入第三層暫存器223。另一方面,第二層暫存器222可以接收第一層暫存器221送出的數(shù)據(jù),且第二暫存器222存儲的數(shù)據(jù)可以經過多工器2220、2222、2224存入第三層暫存器223。
以下將結合圖3至圖6,以子暫存單元220為例說明子暫存單元如何處理所接收到的數(shù)據(jù)DataIn,即Data0、Data1、Data2或Data3,以及第一、二、三層暫存器如何依據(jù)控制邏輯單元224產生的信號進行數(shù)據(jù)傳送。
圖4為根據(jù)本發(fā)明另一實施例的先進先出暫存方法的流程圖。根據(jù)本發(fā)明一實施例,請同時參照圖3的子暫存單元220,當暫存值Psh為1時,子暫存單元220接收數(shù)據(jù)(步驟S310),控制邏輯單元224判斷第三層暫存器223是否儲滿數(shù)據(jù)(步驟S320)。若第三層暫存器223儲滿數(shù)據(jù),則接著判斷第一層暫存器221是否為空暫存器(步驟S330),若是,致能第一存儲信號PSH1使子暫存單元220將數(shù)據(jù)存入第一層暫存器221(步驟S360)。若第一層暫存器221和第三層暫存器223均儲滿數(shù)據(jù),結束本次操作。若第三層暫存器223還具有空間或為空暫存器,控制邏輯單元224判斷第一層暫存器221、第二層暫存器222和第三層暫存器223是否均為空暫存器(步驟S340)。若第一層暫存器221、第二層暫存器222和第三層暫存器223為空暫存器,則致能選擇信號SEL與第三存儲信號PSH3,使數(shù)據(jù)DataIn經過第三多工器2224存入第三層暫存器223(步驟S350)。在步驟S360將數(shù)據(jù)存入第一層暫存器221后,控制邏輯單元224判斷第二層暫存器222是否還有空間(步驟S370)。若第二層暫存器222還有儲存空間,致能第二存儲信號PSH2,使第二層暫存器222接收并存儲第一層暫存器221送出的數(shù)據(jù)(步驟S380)。
圖5所示為根據(jù)本發(fā)明另一實施例的先進先出暫存方法的流程圖。根據(jù)本發(fā)明一實施例,請同時參照圖3的子暫存單元220,當暫存值Pop為1時,子暫存單元220的控制邏輯單元224使第三層暫存器223輸出數(shù)據(jù)(步驟S410)。接著,控制邏輯單元224判斷第一層暫存器221是否儲滿數(shù)據(jù)(步驟S420),若第一層暫存器221儲滿數(shù)據(jù),則判斷第二層暫存器222是否為空暫存器(步驟S430)。若第一層暫存器221儲滿數(shù)據(jù)且第二層暫存器222為空暫存器,則控制邏輯單元224致能忽略信號Bypass以及第三存儲信號PSH3,關閉選擇信號SEL,使第一層暫存器221送出的數(shù)據(jù)略過第二暫存器222直接輸出至第三層暫存器223(步驟S440)。若第一層暫存器221儲滿數(shù)據(jù)且第二層暫存器223不為空暫存器,則致能第二存儲信號PSH2和第三存儲信號PSH3,關閉忽略信號Bypass與選擇信號SEL,使第三層暫存器223接收第二層暫存器222送出的數(shù)據(jù),使第二層暫存器222接收第一層暫存器221輸出的數(shù)據(jù)(步驟S450)。若第一層暫存器221未儲滿數(shù)據(jù),即第一暫存器221為空暫存器(步驟S420),且第二層暫存器222不為空暫存器(步驟S460),則關閉忽略信號Bypass和選擇信號SEL,并致能第三存儲信號PSH3,以將第二層暫存器222的數(shù)據(jù)輸出至第三層暫存器223(步驟S470)。
圖6所示為根據(jù)本發(fā)明另一實施例的先進先出暫存方法的流程圖。根據(jù)本發(fā)明一實施例,請同時參照圖3的子暫存單元220,當暫存值Pop和Psh同時為1時,控制邏輯單元224通過判斷第一層暫存器221與第二層暫存器222的數(shù)據(jù)存儲狀態(tài)決定第一、第二、第三層暫存器221、222和223之間的數(shù)據(jù)傳輸狀況。若第一層暫存器221不為空暫存器(步驟S510),第二層暫存器222不為空暫存器(步驟S520),則控制邏輯單元224在控制第三層暫存器223將數(shù)據(jù)輸出的同時關閉忽略信號Bypass和選擇信號SEL,并致能第三存儲信號PSH3,以將第二層暫存器222的數(shù)據(jù)存入第三層暫存器223;致能第二存儲信號PSH2以將第一層暫存器221的數(shù)據(jù)存入至第二層暫存器222;以及致能第一存儲信號PSH1以將新數(shù)據(jù)輸入被騰空的第一層暫存器221(步驟S530)。若第一層暫存器221為空暫存器(步驟S510)且第二層暫存器222為空暫存器(步驟S540),則控制邏輯單元224將第三層暫存器223的數(shù)據(jù)輸出,并致能選擇信號SEL及第三存儲信號PSH3,以將新數(shù)據(jù)輸入第三層暫存器223(步驟S560)。若第一層暫存器221為空暫存器且第二層暫存器222不為空暫存器(步驟S540),則將第三層暫存器223的數(shù)據(jù)輸出,關閉選擇信號SEL與忽略信號Bypass,致能第三存儲信號PSH3以使第二層暫存器222的數(shù)據(jù)輸出至第三層暫存器223,以及致能第一存儲信號PSH1以將新數(shù)據(jù)輸入第一層暫存器221(步驟S550)。若第一層暫存器221不為空暫存器(步驟S510)且第二層暫存器222為空暫存器(步驟S520),將第三層暫存器223的數(shù)據(jù)輸出,致能忽略信號Bypass和第三存儲信號PSH3,關閉選擇信號SEL以使第一層暫存器221的數(shù)據(jù)直接輸出至第三層暫存器223,以及致能第一存儲信號PSH1以將新數(shù)據(jù)輸入第一層暫存器221(步驟S570)。
采用上述先進先出暫存方法的先進先出緩沖單元200,其輸入多工器261、262、263和264只需要分別推動第一層暫存器221、231、241和251和第三層暫存器223、233、243和253(也就是說數(shù)據(jù)只能直接存入第一層暫存器221、231、241和251和第三層暫存器223、233、243和253),因此輸入多工器261、262、263和264并不需要強大驅動器,因而減少輸入多工器261、262、263和264的復雜度和傳輸門的數(shù)目。由于傳輸門的數(shù)目較少,因而輸入多工器261、262、263和264所需布局面積減少并且同時增加數(shù)據(jù)傳輸速度。關于數(shù)據(jù)輸出,由于只需要直接從第三層暫存器223、233、243和253讀取數(shù)據(jù),因此輸出數(shù)據(jù)的速度也比較快。
本發(fā)明雖以優(yōu)選實施例披露如上,然其并非用以限定本發(fā)明的范圍,本領域技術人員在不脫離本發(fā)明的精神和范圍的前提下,可做各種的更動與潤飾,因此本發(fā)明的保護范圍以本發(fā)明的權利要求為準。
權利要求
1.一種先進先出緩沖單元,包括第一子暫存單元,包括第一層暫存器,由輸入端接收第一輸入數(shù)據(jù);第二層暫存器,接收來自上述第一層暫存器的數(shù)據(jù);以及第三層暫存器,選擇接收來自上述輸入端的第一輸入數(shù)據(jù)、來自上述第一層暫存器的數(shù)據(jù)或上述第二層暫存器的數(shù)據(jù)以輸出第一輸出數(shù)據(jù)。
2.如權利要求1所述的先進先出緩沖單元,其特征在于當上述第一層暫存器、上述第二層暫存器和上述第三層暫存器是空暫存器時,上述第一輸入數(shù)據(jù)存入上述第三層暫存器。
3.如權利要求1所述的先進先出緩沖單元,其特征在于當上述第一層暫存器是空暫存器而上述第三暫存器儲滿數(shù)據(jù)時,上述第一輸入數(shù)據(jù)存入上述第一層暫存器。
4.如權利要求1所述的先進先出緩沖單元,其特征在于當上述第二層暫存器還具有儲存空間以及上述第一層暫存器和上述第三暫存器皆存滿數(shù)據(jù)時,上述第一層暫存器輸出的數(shù)據(jù)存入上述第二層暫存器。
5.如權利要求1所述的先進先出緩沖單元,其特征在于當上述第三層暫存器輸出上述第一輸出數(shù)據(jù),上述第一層暫存器存滿數(shù)據(jù)且上述第二暫存器不為空暫存器時,上述第三層暫存器接收上述第二層暫存器輸出的數(shù)據(jù),上述第二層暫存器接收上述第一層暫存器輸出的數(shù)據(jù)。
6.如權利要求1所述的先進先出緩沖單元,其特征在于當上述第三層暫存器輸出上述第一輸出數(shù)據(jù),上述第一層暫存器為空暫存器而上述第二暫存器不為空暫存器時,上述第三層暫存器接收上述第二層暫存器輸出的數(shù)據(jù)。
7.如權利要求1所述的先進先出緩沖單元,其特征在于當上述第三層暫存器輸出上述第一輸出數(shù)據(jù),上述第一層暫存器儲滿數(shù)據(jù)而上述第二暫存器為空暫存器時,上述第一層暫存器輸出的數(shù)據(jù)直接傳輸至上述第三層暫存器。
8.如權利要求1所述的先進先出緩沖單元,其特征在于上述第一子暫存單元還包括控制邏輯單元,根據(jù)控制信號判斷上述第一層暫存器、第二層暫存器和第三層暫存器的數(shù)據(jù)存儲狀態(tài),上述控制邏輯單元依據(jù)上述控制信號產生第一存儲信號,控制上述第一層暫存器是否接收上述第一輸入數(shù)據(jù);第二存儲信號,控制上述第二層暫存器是否接收上述第一層暫存器輸出的數(shù)據(jù);以及第三存儲信號,控制上述第三層暫存器接收上述第一輸入數(shù)據(jù)、來自上述第一層暫存器的數(shù)據(jù)或上述第二暫存器的數(shù)據(jù)。
9.一種先進先出暫存方法,包括判斷第一子暫存單元的第一層暫存器、第二層暫存器和第三層暫存器的數(shù)據(jù)儲存狀態(tài);當上述第一層暫存器、上述第二層暫存器和上述第三層暫存器是空暫存器時,儲存第一輸入數(shù)據(jù)至上述第三層暫存器;以及當上述第三暫存器儲滿數(shù)據(jù)且上述第一層暫存器是空暫存器時,儲存上述第一輸入數(shù)據(jù)至上述第一層暫存器。
10.如權利要求9所述的先進先出暫存方法,其特征在于當上述第二層暫存器還具有儲存空間以及上述第一層暫存器和上述第三暫存器皆存滿數(shù)據(jù)時,存儲上述第一層暫存器輸出的數(shù)據(jù)于上述第二層暫存器。
11.如權利要求9所述的先進先出暫存方法,還包括直接輸出存于上述第三層暫存器的數(shù)據(jù)。
12.如權利要求9所述的先進先出暫存方法,還包括當上述第三層暫存器輸出數(shù)據(jù),而上述第一層暫存器存滿數(shù)據(jù)且上述第二暫存器不為空暫存器時,存儲上述第二層暫存器輸出的數(shù)據(jù)于上述第三層暫存器,存儲上述第一層暫存器輸出的數(shù)據(jù)于上述第二層暫存器。
13.如權利要求9所述的先進先出暫存方法,還包括當上述第三層暫存器輸出數(shù)據(jù),而上述第一層暫存器為空暫存器且上述第二暫存器不為空暫存器時,存儲上述第二層暫存器輸出的數(shù)據(jù)于上述第三層暫存器。
14.如權利要求9所述的先進先出暫存方法,還包括當上述第三層暫存器輸出數(shù)據(jù),而上述第一層暫存器儲滿數(shù)據(jù)且上述第二層暫存器為空暫存器時,存儲上述第一層暫存器輸出的數(shù)據(jù)于上述第三層暫存器。
15.如權利要求9所述的先進先出暫存方法,其特征在于上述第二層暫存器接收來自上述第一層暫存器的數(shù)據(jù),上述第三層暫存器接收來自上述第二層暫存器的數(shù)據(jù)或上述第一層暫存器的數(shù)據(jù)。
全文摘要
本發(fā)明提供一種先進先出緩沖單元,包括第一子暫存單元。第一子暫存單元包括第一層暫存器,由輸入端接收第一輸入數(shù)據(jù);第二層暫存器,接收來自上述第一層暫存器的數(shù)據(jù);以及第三層暫存器,選擇接收來自上述輸入端的上述第一輸入數(shù)據(jù)、來自上述第一層暫存器的數(shù)據(jù)或上述第二層暫存器的數(shù)據(jù)以輸出第一輸出數(shù)據(jù)。本發(fā)明先進先出暫存單元的子暫存單元接收的數(shù)據(jù)被直接存入第一層暫存器或第三層暫存器,因此先進先出暫存單元的輸入多工器并不需要強大的驅動器,進而使得本發(fā)明先進先出暫存單元具有相對較小的面積和較高的數(shù)據(jù)傳輸速度。
文檔編號G06F5/06GK101042637SQ20071009675
公開日2007年9月26日 申請日期2007年4月6日 優(yōu)先權日2007年4月6日
發(fā)明者張廣宇 申請人:威盛電子股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
增城市| 潼关县| 庄河市| 河东区| 柘城县| 那曲县| 安仁县| 广汉市| 福鼎市| 汉沽区| 丹棱县| 汉源县| 桃园县| 从化市| 祁东县| 乐昌市| 广宁县| 东安县| 旬邑县| 荔波县| 曲阜市| 禄丰县| 河池市| 邵武市| 连南| 海城市| 开封市| 淮北市| 伊通| 云南省| 贵定县| 林甸县| 铁岭市| 和龙市| 白水县| 乐昌市| 西宁市| 沙河市| 德昌县| 喀喇沁旗| 明光市|