專利名稱:先進(jìn)先出存儲(chǔ)系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及帶有內(nèi)存存儲(chǔ)系統(tǒng)的集成電路,尤其涉及使用先進(jìn)先出(FIFO)存儲(chǔ)結(jié)構(gòu)的集成電路。
背景技術(shù):
在集成電路的數(shù)據(jù)處理系統(tǒng)上完成的實(shí)時(shí)調(diào)試系統(tǒng)中,在把調(diào)試信息輸出到調(diào)試工具之前先把調(diào)試信息存儲(chǔ)起來是必要的。先進(jìn)先出(FIFO)存儲(chǔ)系統(tǒng)一般用來臨時(shí)存儲(chǔ)調(diào)試消息。有些調(diào)試消息有多路入口單元,需要多路同時(shí)存儲(chǔ),有些調(diào)試消息只需要單路存儲(chǔ)。
為了在同一FIFO結(jié)構(gòu)中能存儲(chǔ)這兩種調(diào)試消息,需要使用雙端口FIFO或者分開的專用FIFO??墒?,由于在FIFO的每一入口單元上都要有復(fù)用器來允許存儲(chǔ)兩種類型的調(diào)試消息,使得雙端口FIFO需要有大的表面積。而且,數(shù)目眾多的復(fù)用器需要有大量的邏輯來控制復(fù)用器的路由選擇,與之相應(yīng)的就是增加了由于邏輯切換引起的能量消耗。
實(shí)現(xiàn)FIFO存儲(chǔ)系統(tǒng)的另一種方法是使用兩個(gè)獨(dú)立的專用FIFO。例如,一個(gè)FIFO只接收地址信息,而另一個(gè)FIFO只接收數(shù)據(jù)。這種方法的好處在于集成電路上的表面積可以小一些,而且設(shè)計(jì)的復(fù)雜程度也要小些??墒?,由于在一個(gè)FIFO充滿并且溢出的同時(shí)另一個(gè)FIFO并沒有充滿,使得它與雙端口FIFO相比較,F(xiàn)IFO的利用效率會(huì)低些。
因此,希望有一個(gè)FIFO存儲(chǔ)系統(tǒng),能夠高效地利用它的存儲(chǔ)面積并且同時(shí)將為實(shí)現(xiàn)它而必須采用的控制邏輯減小到最少。
結(jié)合例子和附圖來說明本發(fā)明,但并不局限于附圖中,圖中相似的引用指示相似組件。
圖1中示出了根據(jù)本發(fā)明實(shí)施例的先進(jìn)先出存儲(chǔ)系統(tǒng)的組成方框圖;圖2示出了圖1中示出的先進(jìn)先出存儲(chǔ)系統(tǒng)的更詳細(xì)的組成方框圖。
本領(lǐng)域技術(shù)人員應(yīng)該認(rèn)識到,圖中所有組件都是為了簡單和清楚的目的而繪制的,并不必須遵循原尺寸。比如,圖中有些組件的尺寸可以相對于其它組件進(jìn)行放大以助于增進(jìn)對本發(fā)明的實(shí)施例的理解。
具體實(shí)施例方式
在圖1中示出的是根據(jù)本發(fā)明的先進(jìn)先出(FIFO)存儲(chǔ)系統(tǒng)10。在一種組成方案中,F(xiàn)IFO存儲(chǔ)系統(tǒng)有兩個(gè)FIFO,如圖所示的FIFO A和FIFO B。應(yīng)該可以理解的是,F(xiàn)IFO存儲(chǔ)系統(tǒng)10可以用任何數(shù)目的FIFO來實(shí)現(xiàn)。FIFO A和FIFO B中每一個(gè)都可以有任意數(shù)目的存儲(chǔ)入口單元。假設(shè)FIFO A有N路入口單元,而FIFO B有M路入口單元,其中N和M是正整數(shù)。輸入A連接到復(fù)用器12和復(fù)用器14的第一輸入端。輸入B連接到復(fù)用器12和復(fù)用器14的第二輸入端。D觸發(fā)器16在觸發(fā)器16的輸出端提供一個(gè)與復(fù)用器12和復(fù)用器14的每個(gè)控制輸入端相連的寫信號。觸發(fā)器16的輸出端連接到非門18的輸入端上。非門18的輸出連接到觸發(fā)器16的D輸入端上。復(fù)用器12的輸出與FIFO A的每一路入口單元相連,例如入口單元0,1到N。復(fù)用器14的輸出與FIFO B的每一路入口單元相連,例如入口單元0,1到M。FIFO A每一路入口單元都有一個(gè)輸出端,它們連接在一起,并且連接到復(fù)用器20的第一輸入端上。FIFO B每一路入口單元也都有一個(gè)輸出端,它們連接在一起,并且連接到復(fù)用器22的第一輸入端上。FIFO A的輸出端同時(shí)也和復(fù)用器22的第二輸入端相連。同樣的,F(xiàn)IFOB的輸出端也和復(fù)用器20的第二輸入端相連。D觸發(fā)器23的Q輸出端提供一個(gè)與復(fù)用器20和復(fù)用器22的每一個(gè)的控制端相連的讀(READ)控制信號。觸發(fā)器23的輸出端連接到非門24的輸入端上。復(fù)用器20的輸出端連接到輸入/輸出(I/O)單元25的第一個(gè)輸入端上。復(fù)用器22的輸出端連接到輸入/輸出單元25的第二個(gè)輸入端上。輸入/輸出接口單元上有I/O端口(圖中沒有示出)。
在操作中,F(xiàn)IFO存儲(chǔ)系統(tǒng)10能夠按照一種有效的方式同時(shí)進(jìn)行多路入口單元的寫操作。單個(gè)的復(fù)用器,比如說復(fù)用器12或復(fù)用器14,被分別地放置在FIFO A或FIFO B的寫端口或輸入端。假設(shè)用來解釋那些包形式的信息被輸入A和輸入B接收到,就會(huì)以圖2中所描述的連接方式把單個(gè)的數(shù)據(jù)包或數(shù)據(jù)部分從輸入A或輸入B只寫進(jìn)FIFO A或FIFO B中的一個(gè)中去。
如圖1所示,從輸入A和輸入B輸入的兩個(gè)數(shù)據(jù)包或數(shù)據(jù)部分同時(shí)被寫進(jìn)FIFO A和FIFO B中。觸發(fā)器1 6所起的作用就是一個(gè)一位(one-bit)寫寄存器,寫控制信號被用來指向FIFO A或FIFO B中的一個(gè)。當(dāng)寫控制信號為邏輯1時(shí),復(fù)用器12選擇輸入A來提供輸出,同時(shí)復(fù)用器14選擇輸入B來提供輸出。當(dāng)寫控制信號為邏輯0時(shí),復(fù)用器12選擇輸入B來提供輸出,同時(shí)復(fù)用器14選擇輸入A來提供輸出。此外,非門18的作用就在于,當(dāng)每一個(gè)由與觸發(fā)器16的時(shí)鐘輸入端(圖中沒有示出)相連的寫時(shí)鐘信號(圖中沒有示出)控制的單路寫操作發(fā)生時(shí),就切換觸發(fā)器16的邏輯狀態(tài)。另外,要求FIFO存儲(chǔ)系統(tǒng)10中必須有一種操作來實(shí)現(xiàn)同時(shí)進(jìn)行兩個(gè)寫操作,并且觸發(fā)器16的邏輯狀態(tài)保持一致。為了保證同時(shí)寫,從輸入A和輸入B來的信息或僅連續(xù)連接到輸入A或輸入B中一個(gè)的信息被寫入FIFO A和FIFO B中。在單路讀操作中也采用相似的操作方式,觸發(fā)器23所起的作用就是一個(gè)一位讀寄存器,讀控制信號用于指向FIFO A或FIFOB中的一個(gè)。當(dāng)讀控制信號為邏輯1時(shí),復(fù)用器20選擇FIFO A的輸出來提供輸出,同時(shí)復(fù)用器22選擇FIFO B的輸出來提供輸出。當(dāng)讀控制信號為邏輯0時(shí),復(fù)用器20選擇FIFO B的輸出來提供輸出,同時(shí)復(fù)用器22選擇FIFO A的輸出來提供輸出。產(chǎn)生一個(gè)讀控制信號來響應(yīng)與觸發(fā)器23的時(shí)鐘輸入端(圖中沒有示出)相連的讀時(shí)鐘信號(圖中沒有示出)。此外,非門24的作用就在于,當(dāng)每一次單個(gè)讀操作發(fā)生時(shí)切換觸發(fā)器的邏輯狀態(tài)。另外,當(dāng)兩個(gè)讀操作同時(shí)發(fā)生時(shí),觸發(fā)器23的邏輯狀態(tài)保持一致。觸發(fā)器23、非門24和復(fù)用器20,復(fù)用器22所起的作用就在于允許同時(shí)讀取來自FIFO A和FIFA B的兩個(gè)數(shù)據(jù)包或數(shù)據(jù)部分。另外,通過復(fù)用器20或復(fù)用器22的輸出,能從單個(gè)FIFO中讀取單個(gè)的數(shù)據(jù)包或數(shù)據(jù)部分。因此,由于相同的FIFO存儲(chǔ)結(jié)構(gòu)可以用來進(jìn)行兩種類型的操作,對于為了完成某種特定處理操作而進(jìn)行同時(shí)存儲(chǔ)多路信息以及在完成另外的處理操作時(shí)進(jìn)行單路信息存儲(chǔ)而言,F(xiàn)IFO存儲(chǔ)系統(tǒng)是非常有效的。
為完成一個(gè)寫進(jìn)FIFO的寫操作而在每個(gè)FIFO中僅使用一個(gè)復(fù)用器的電路可以大大節(jié)約費(fèi)用。除避免了每個(gè)FIFO入口單元使用一個(gè)復(fù)用器之外,還避免了額外的控制電路。由于使用的復(fù)用器的數(shù)目少,其結(jié)果是顯著地節(jié)省了能量消耗。在消除了復(fù)用器的同時(shí),可以通過減少不必要的控制電路來實(shí)現(xiàn)另外一種節(jié)約能量的方法。本發(fā)明中同樣有比例地(be scalable to)使用多個(gè)FIFO,其中,在系統(tǒng)中完成單個(gè)和同時(shí)的寫操作僅僅需要每個(gè)FIFO一個(gè)復(fù)用器,在系統(tǒng)中完成單個(gè)和同時(shí)的讀操作也同樣只需要每個(gè)FIFO一個(gè)復(fù)用器。雖然只有一個(gè)能提供寫入信息的復(fù)用器連接到每個(gè)FIFO,但是來自輸入端A或輸入端B的信息可以寫進(jìn)FIFO A或FIFO B中。應(yīng)該很好理解的是,輸入端A和輸入端B接收和存儲(chǔ)的信息的形式可以是數(shù)據(jù)、地址信息、控制信息或者是其中兩者或更多種的組合。另外,術(shù)語“數(shù)據(jù)(data)”可以包含存儲(chǔ)在示出的FIFO中的所有類型的信息。
如圖2所示的是圖1所示FIFO存儲(chǔ)系統(tǒng)10的更詳細(xì)的一個(gè)實(shí)施例。正如圖2所示,F(xiàn)IFO存儲(chǔ)系統(tǒng)30有一個(gè)輸入端A和一個(gè)輸入端B,它們接收將要存儲(chǔ)在FIFO A和/或FIFO B中的信息。復(fù)用器32的第一輸入端連接到輸入端A,第二輸入端連接到輸入端B。復(fù)用器34的第一輸入端連接到輸入端A,第二輸入端連接到輸入端B。復(fù)用器32的一個(gè)輸出端連接到FIFO A的N路入口單元中的每一入口單元上。FIFO A的第一入口單元上有多個(gè)觸發(fā)器電路,例如觸發(fā)器35-38。FIFO A的第N路入口單元上也有多個(gè)觸發(fā)器電路,比如觸發(fā)器45-48。觸發(fā)器35-38和觸發(fā)器45-48中的每一個(gè)觸發(fā)器的D輸入端連接到復(fù)用器32的輸出端上。觸發(fā)器35-38和觸發(fā)器45-48中的每一個(gè)觸發(fā)器的Q輸出端連接到與門50的第一輸入端上。與門50的第二輸入端與讀使能(READ ENABLE)信號A(0)相連,A(0)是FIFO A的第一讀使能信號。與門51的第一輸入端接收時(shí)鐘信號,第二輸入端接收寫使能(WRITE ENABLE)信號A(0)(A(0)是FIFO A的第一寫使能信號),其輸出端與觸發(fā)器35-38中的每一個(gè)時(shí)鐘輸入端都相連。觸發(fā)器45-49中的每一個(gè)觸發(fā)器的Q輸出端都與與門53的第一輸入端相連。與門53的第二輸入端與讀使能信號A(N)相連,A(N)是FIFO A的第N讀使能信號。與門55的第一輸入端接收時(shí)鐘信號,第二輸入端接收寫使能信號A(N)(A(N)是FIFO A的第N寫使能信號),其輸出端與觸發(fā)器45-48的每一個(gè)時(shí)鐘輸入端都相連。與門50的輸出端與與門53的輸出端、復(fù)用器60的第一輸入端和復(fù)用器62的第一輸入端相連。復(fù)用器60的輸出端與輸入/輸出(I/O)單元64的第一輸入端相連。
復(fù)用器34的輸出端與有M路入口單元的FIFO B的每一路入口單元都相連。FIFO B的第一路入口單元上有大量的觸發(fā)器電路,比如觸發(fā)器70-73。FIFO B的第M路入口單元上有大量的觸發(fā)器電路,比如觸發(fā)器75-78。觸發(fā)器70-73和觸發(fā)器75-78中的每一個(gè)觸發(fā)器的D輸入端連接到復(fù)用器34的輸出端上。觸發(fā)器70-73和觸發(fā)器75-78中的每一個(gè)觸發(fā)器的Q輸出端連接到與門80的第一輸入端上。與門80的第二輸入端與讀使能信號B(0)相連,B(0)是FIFO B的第一讀使能信號。與門81的第一輸入端接收時(shí)鐘信號,第二輸入端接收寫使能信號B(0)(B(0)是FIFO B的第一寫使能信號),其輸出端與觸發(fā)器70-73的每一個(gè)觸發(fā)器的時(shí)鐘輸入端都相連。觸發(fā)器75-79中的每一個(gè)觸發(fā)器的Q輸出端都與與門83的第一輸入端相連。與門83的第二輸入端與讀使能信號B(M)相連,B(M)是FIFO B的第M個(gè)讀使能信號。與門85的第一輸入端接收時(shí)鐘信號,第二輸入端接收寫使能信號B(M)(B(M)是FIFO B中的第M個(gè)寫使能信號),其輸出端與觸發(fā)器75-78的每一個(gè)觸發(fā)器的時(shí)鐘輸入端都相連。與門80的輸出端和與門83的輸出端、復(fù)用器60的第二輸入端和復(fù)用器62的第二輸入端相連。復(fù)用器62的輸出端與輸入/輸出(I/O)單元64的第二輸入端相連。輸入/輸出單元64的輸出端連接到一個(gè)輸出端口上。在一種組成方案下,輸入/輸出單元64的輸出端與Nexus-compliant軟件工具相連,用來完成實(shí)現(xiàn)IEEE ISTO 5001標(biāo)準(zhǔn)的調(diào)試。
另外,伴隨著FIFO A,F(xiàn)IFO存儲(chǔ)系統(tǒng)30有一個(gè)頭計(jì)數(shù)器電路(Head Counter Circuit)88,一個(gè)尾計(jì)數(shù)器電路(Tail Counter Circuit)89,寫控制邏輯電路90以及讀控制邏輯電路91。FIFO存儲(chǔ)系統(tǒng)30還有一個(gè)頭計(jì)數(shù)器93,一個(gè)尾計(jì)數(shù)器電路94,寫控制邏輯電路95以及讀控制邏輯電路96。頭計(jì)數(shù)器88和尾計(jì)數(shù)器89的輸出端分別與寫控制電路90和讀控制電路91的輸入端相連。寫控制邏輯電路90的輸出端給FIFO A提供一個(gè)寫使能信號,并且讀控制邏輯電路91的第一輸出端給FIFO A提供讀使能信號。頭計(jì)數(shù)器93和尾計(jì)數(shù)器94的輸出端分別與寫控制電路95和讀控制電路96的輸入端相連。寫控制邏輯電路95的輸出端給FIFO B提供一個(gè)寫使能信號,并且讀控制邏輯電路96的第一輸出端給FIFO B提供讀使能信號。讀邏輯控制電路96的第二輸出端與寫邏輯控制電路95的第二輸入端相連。同步入口單元邏輯電路100的輸出端與讀邏輯控制電路91的第二輸入端、寫控制邏輯電路90的第二輸入端、寫邏輯控制電路95的第二輸入端、與門101的第一輸入端、與門102的第一輸入端以及讀邏輯控制電路96的第二輸入端相連。時(shí)鐘信號與與門101和與門102中每個(gè)的第二輸入端相連。與門101的輸出與觸發(fā)器105的時(shí)鐘輸入相連。觸發(fā)器105的Q輸出提供一個(gè)讀信號,與非門106的輸入端相連。非門106的輸出端與觸發(fā)器105的D輸入相連。與門102的輸出端與觸發(fā)器108的時(shí)鐘輸入端相連。觸發(fā)器108的Q輸出提供一個(gè)寫信號,并與非門109的輸入端相連。非門109的輸出端與觸發(fā)器108的D輸入相連。
在操作中,如圖2中的詳細(xì)圖示,F(xiàn)IFO A和FIFO B有專門的入口單元使用多個(gè)觸發(fā)器電路,如FIFO A中的第一入口單元使用觸發(fā)器35-38。圖2中所示的時(shí)鐘是同步時(shí)鐘,它是圖示電路獨(dú)立產(chǎn)生的;在所描述的所有時(shí)鐘輸入端使用的時(shí)鐘信號是相同的。如圖1所示的操作中,當(dāng)復(fù)用器32接收到的寫控制信號是邏輯1狀態(tài)時(shí),輸入A直通輸出。當(dāng)復(fù)用器32接收到的寫控制信號是邏輯0狀態(tài)時(shí),輸入B直通輸出。當(dāng)復(fù)用器34接收到的寫控制信號是邏輯1狀態(tài)時(shí),輸入B直通輸出。當(dāng)復(fù)用器34接收到的寫控制信號是邏輯0狀態(tài)時(shí),輸入A直通輸出。同樣地,當(dāng)讀控制信號是邏輯1狀態(tài)時(shí),復(fù)用器60直通FIFO A的輸出,復(fù)用器62直通FIFO B的輸出。當(dāng)讀控制信號是邏輯0狀態(tài)時(shí),復(fù)用器60直通FIFO B的輸出,復(fù)用器62直通FIFO A的輸出。
如圖所述,頭計(jì)數(shù)器88的作用就在于保持一個(gè)指向FIFO A中標(biāo)示開始的入口單元的連續(xù)計(jì)數(shù)值,尾計(jì)數(shù)器89的作用就在于保持一個(gè)指向FIFO A中標(biāo)示結(jié)束的入口單元的連續(xù)計(jì)數(shù)值。FIFO A的作用就相當(dāng)于一個(gè)循環(huán)隊(duì)列,它有一個(gè)起始地址和一個(gè)結(jié)束地址,結(jié)束地址與起始地址相接。寫控制邏輯電路90和讀控制邏輯電路91與FIFO A連在一起,當(dāng)一個(gè)寫操作或讀操作要被激活時(shí),可以部分地利用頭計(jì)數(shù)器和尾計(jì)數(shù)器來控制完成。寫控制邏輯電路90和讀控制邏輯電路91的輸出是多條導(dǎo)線,每條導(dǎo)線對應(yīng)FIFO A的一個(gè)特殊入口單元。頭計(jì)數(shù)器88和尾計(jì)數(shù)器89的輸出的作用就相當(dāng)于指向FIFO A的指針,用來分別確定在FIFO A中哪路入口單元進(jìn)行讀或?qū)懖僮鳌IFO B也與頭計(jì)數(shù)器93、尾計(jì)數(shù)器94、寫控制邏輯電路95和讀控制邏輯電路96進(jìn)行著類似的操作。
同步入口單元邏輯100的功能就是檢測在FIFO存儲(chǔ)系統(tǒng)30中何時(shí)發(fā)生同時(shí)寫進(jìn)FIFO A和FIFO B的寫操作,何時(shí)發(fā)生同時(shí)讀取FIFOA和FIFO B的讀操作,何時(shí)發(fā)生寫進(jìn)FIFO A或FIFO B其中一個(gè)同時(shí)讀取另外一個(gè)FIFO的操作,何時(shí)發(fā)生讀取FIFO A或FIFO B其中一個(gè)同時(shí)寫進(jìn)另外一個(gè)FIFO的操作,以及何時(shí)發(fā)生寫進(jìn)FIFO A和FIFO B的同時(shí)在FIFO A和FIFO B中讀取其它入口單元的操作。當(dāng)多路入口單元操作同時(shí)發(fā)生時(shí),有許多事件和機(jī)制能發(fā)出信號。例如,在數(shù)據(jù)處理系統(tǒng)中,特定指令可以被解碼,并且處理器(圖中沒示出)可以引發(fā)多路FIFO同時(shí)操作的發(fā)生。在一種方案中,與FIFO A和FIFOB通信的數(shù)據(jù)是一個(gè)實(shí)時(shí)調(diào)試信息,它與數(shù)據(jù)處理調(diào)試功能聯(lián)系在一起。同步入口單元操作是通過產(chǎn)生一個(gè)或多個(gè)FIFO的多路讀和寫使能信號來實(shí)現(xiàn)的。假如有一個(gè)同步入口單元事件發(fā)生,與門101和102被激活,使得觸發(fā)器105和108的時(shí)鐘失效。觸發(fā)器105和108的失效防止了在FIFO A和FIFO B之間的復(fù)用器32和34按照如圖1所討論的方式發(fā)生翻轉(zhuǎn)。翻轉(zhuǎn)操作的失效保證了在同步入口單元事件發(fā)生前下一路入口單元能夠接入相同的FIFO。
到現(xiàn)在應(yīng)該認(rèn)識到,本發(fā)明提供了一種簡化開銷,減小能量消耗的FIFO存儲(chǔ)結(jié)構(gòu)。在這里所教導(dǎo)的FIFO存儲(chǔ)系統(tǒng)是簡潔的,而且可以節(jié)省成本,減小能量消耗。在一種應(yīng)用中,本發(fā)明在處理系統(tǒng)中通常實(shí)現(xiàn)的調(diào)試電路方面有很顯著的優(yōu)點(diǎn)。由于多路入口單元信息需要同時(shí)存儲(chǔ),使用本發(fā)明就可以大大減少此功能附帶的控制和電路。應(yīng)該很好理解的是,本發(fā)明可以用在除調(diào)試用途之外的、使用FIFO存儲(chǔ)結(jié)構(gòu)的處理系統(tǒng)中。另外,本發(fā)明可以采用任何類型的晶體管和半導(dǎo)體制造工藝來實(shí)現(xiàn)。
由于實(shí)現(xiàn)本發(fā)明的大多數(shù)儀器都是本領(lǐng)域技術(shù)人員所公知的電子元件和電路組成的,對電路的細(xì)節(jié)就沒有必要做更詳細(xì)地解釋,為了理解和認(rèn)識本發(fā)明的基本概念并且不對本發(fā)明的教導(dǎo)產(chǎn)生困惑和歧義,如上面的描述就足夠了。
在上面的說明書中,已經(jīng)參照著特定的實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)地描述??墒?,本領(lǐng)域普通技術(shù)人員可以認(rèn)識到,在不背離所附權(quán)利要求所闡述的本發(fā)明的范圍的前提下,可以對本發(fā)明做出各種修改和改變。因此,本說明書和附圖被認(rèn)為是說明性的而并不含有限制意味。所有這樣的修改都被期望包括在本發(fā)明的范圍中。
對于具體實(shí)施例,上面已經(jīng)描述了本發(fā)明的益處、其它優(yōu)點(diǎn)以及問題的解決方案??墒?,這些益處、優(yōu)點(diǎn)、問題的解決方案以及可以引起任何益處、優(yōu)點(diǎn)和方案的產(chǎn)生或者使之變得更為顯著的任何組件都不被解釋成任意和所有權(quán)利要求的關(guān)鍵的、必需的或本質(zhì)的特征或組件。在這里使用的術(shù)語“包括(comprises、comprising)”或其中的任何其它變形,都意旨涵蓋非排他性的包含,比如一個(gè)包括一系列組件的過程、方法、物品或者裝置,其不僅僅包括所列出的組件,而且還可能包含其它沒有明確列出的或者是這種過程、方法、物品和裝置所固有的組件。
權(quán)利要求
1.一種先進(jìn)先出(FIFO)存儲(chǔ)系統(tǒng),其包括第一復(fù)用器,它具有第一數(shù)據(jù)輸入端,第二數(shù)據(jù)輸入端,一個(gè)數(shù)據(jù)輸出端以及一個(gè)控制端;第一FIFO存儲(chǔ)器,它具有多個(gè)入口單元,每個(gè)所述入口單元都有一個(gè)輸入端連接到所述第一復(fù)用器的所述數(shù)據(jù)輸出端上;第二復(fù)用器,它有連接到所述第一復(fù)用器的所述第一數(shù)據(jù)輸入端上的第一數(shù)據(jù)輸入端,連接到所述第一復(fù)用器的所述第二數(shù)據(jù)輸入端上的第二數(shù)據(jù)輸入端,一個(gè)數(shù)據(jù)輸出端以及一個(gè)控制端;第二FIFO存儲(chǔ)器,它具有多個(gè)入口單元,每個(gè)所述入口單元都有一個(gè)輸入端連接到所述第二復(fù)用器的所述數(shù)據(jù)輸出端上;和一個(gè)寫控制邏輯電路,它為所述第一和第二復(fù)用器中的每個(gè)的所述控制端提供一個(gè)寫控制信號,用來將在所述第一或第二輸入端接收到的數(shù)據(jù)交替地寫進(jìn)所述第一或第二FIFO存儲(chǔ)器中。
2.根據(jù)權(quán)利要求1所述的FIFO存儲(chǔ)系統(tǒng),其還包括一個(gè)連接到所述寫控制邏輯電路上的同步入口單元邏輯電路,用來使得所述寫控制邏輯電路可以把數(shù)據(jù)同時(shí)寫到所述第一和第二FIFO存儲(chǔ)器中,作為對接收第一數(shù)據(jù)類型的所述第一和第二數(shù)據(jù)輸入端的響應(yīng)。
3.根據(jù)權(quán)利要求1所述的FIFO存儲(chǔ)系統(tǒng),其還包括第三復(fù)用器,它具有與所述第一FIFO存儲(chǔ)器的每一個(gè)所述入口單元的數(shù)據(jù)輸出端都相連的第一數(shù)據(jù)輸入端,與所述第二FIFO存儲(chǔ)器的每一個(gè)所述入口單元的數(shù)據(jù)輸出端都相連的第二數(shù)據(jù)輸入端以及一個(gè)控制端;第四復(fù)用器,它具有與所述第一FIFO存儲(chǔ)器的每一個(gè)所述入口單元的數(shù)據(jù)輸出都相連的第一數(shù)據(jù)輸入端,與所述第二FIFO存儲(chǔ)器的每一個(gè)所述入口單元的數(shù)據(jù)輸出都相連的第二數(shù)據(jù)輸入端以及一個(gè)控制端;和一個(gè)讀控制邏輯電路,它為所述第三和第四復(fù)用器中的每個(gè)的所述控制端提供一個(gè)讀控制信號,所述讀控制邏輯使得能從所述第一和第二FIFO存儲(chǔ)器中按照與寫數(shù)據(jù)一樣的順序?qū)?shù)據(jù)讀取出來。
4.根據(jù)權(quán)利要求1所述的FIFO存儲(chǔ)系統(tǒng),其中所述數(shù)據(jù)的特征在于,它是一個(gè)實(shí)時(shí)的調(diào)試信息。
5.根據(jù)權(quán)利要求1所述的FIFO存儲(chǔ)系統(tǒng),其還包括第一計(jì)數(shù)器,用于在把數(shù)據(jù)寫入到所述第一FIFO存儲(chǔ)器中的同時(shí),繼續(xù)指向所述第一存儲(chǔ)器的每一個(gè)所述入口單元;和第二計(jì)數(shù)器,用于在把數(shù)據(jù)寫入到所述第二FIFO存儲(chǔ)器中的同時(shí),繼續(xù)指向所述第二存儲(chǔ)器的每一個(gè)所述入口單元。
6.根據(jù)權(quán)利要求1所述的FIFO存儲(chǔ)系統(tǒng),其中所述寫控制邏輯電路包括一個(gè)非門,它具有一個(gè)輸入端和一個(gè)輸出端;一個(gè)觸發(fā)器,它具有一個(gè)與所述非門的所述輸出端相連的輸入端,一個(gè)與所述非門的所述輸入端相連的輸出端,一個(gè)提供所述寫控制信號的所述觸發(fā)器的所述輸出端。
7.一種訪問先進(jìn)先出(FIFO)存儲(chǔ)系統(tǒng)的方法,所述FIFO存儲(chǔ)系統(tǒng)具有一個(gè)第一FIFO存儲(chǔ)器和一個(gè)第二存儲(chǔ)器,每個(gè)所述存儲(chǔ)器都具有多個(gè)入口單元,所述第一FIFO存儲(chǔ)器的每個(gè)所述入口單元的輸入端都連接到第一復(fù)用器的一個(gè)輸出端上,所述第二FIFO存儲(chǔ)器的每個(gè)所述入口單元的輸入端都連接到第二復(fù)用器的一個(gè)輸出端上,所述方法包括如下步驟在所述第一復(fù)用器的第一輸入端和所述第二復(fù)用器的第一輸入端接收數(shù)據(jù);在所述第一復(fù)用器的第二輸入端和所述第二復(fù)用器的第二輸入端接收數(shù)據(jù);和將所述數(shù)據(jù)從所述第一和第二復(fù)用器的所述輸出端交替地寫入所述第一和第二FIFO存儲(chǔ)器。
8.根據(jù)權(quán)利要求7所述的方法,其中,如果第一和第二計(jì)數(shù)器的計(jì)數(shù)增加,就將所述數(shù)據(jù)存儲(chǔ)在所述第一和第二FIFO存儲(chǔ)器的連續(xù)入口單元中,所述第一計(jì)數(shù)器對應(yīng)所述第一FIFO存儲(chǔ)器,所述第二計(jì)數(shù)器對應(yīng)所述第二FIFO存儲(chǔ)器。
9.根據(jù)權(quán)利要求7所述的方法,其中在所述交替寫的步驟中,如果所述數(shù)據(jù)是第一數(shù)據(jù)類型的話,就把所述數(shù)據(jù)從所述第一和第二復(fù)用器的所述輸出端寫進(jìn)所述第一和第二FIFO存儲(chǔ)器。
10.根據(jù)權(quán)利要求7所述的方法,其還包括如果所述數(shù)據(jù)是第二數(shù)據(jù)類型的話,就把所述數(shù)據(jù)從所述第一和第二復(fù)用器的所述輸出端同時(shí)寫進(jìn)所述第一和第二FIFO存儲(chǔ)器的步驟。
全文摘要
一種先進(jìn)先出(FIFO)存儲(chǔ)系統(tǒng)(10)包括第一和第二FIFO(A和B)。第一和第二復(fù)用器(12和14)中的每個(gè)都具有兩個(gè)可以接收數(shù)據(jù)的輸入端。第一復(fù)用器(12)的輸出端連接到第一FIFO(A)上,并且第二復(fù)用器(14)的輸出端連接到第二FIFO(B)上。對應(yīng)于一種類型的數(shù)據(jù),寫控制邏輯(90,95,100)被用來控制將數(shù)據(jù)交替寫進(jìn)第一和第二FIFO(A和B)中。對應(yīng)于第二種類型數(shù)據(jù),寫控制邏輯(90,95,100)被用來控制將數(shù)據(jù)同時(shí)寫進(jìn)第一和第二FIFO(A和B)中。
文檔編號G06F5/06GK1524215SQ02809967
公開日2004年8月25日 申請日期2002年5月7日 優(yōu)先權(quán)日2001年6月20日
發(fā)明者約翰·J·金, 理查德·G·柯林斯, G 柯林斯, 約翰 J 金 申請人:摩托羅拉公司