專利名稱:用于可變寬度數(shù)據(jù)轉(zhuǎn)移的可調(diào)深度/寬度先進(jìn)先出緩沖器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及先進(jìn)先出(FIFO)存儲(chǔ)器,具體涉及用于可變寬度數(shù)據(jù)轉(zhuǎn)移的可調(diào)深度/寬度FIFO緩沖器。
數(shù)字信號(hào)處理是對(duì)有規(guī)律間隔取樣的和數(shù)字化的讀時(shí)間信號(hào)的算術(shù)處理。數(shù)字信號(hào)處理器(DSP)執(zhí)行諸如信號(hào)濾波、混合和比較的數(shù)字信號(hào)處理功能。在某些數(shù)據(jù)處理系統(tǒng)中,DSP可包括一個(gè)主處理器,用以應(yīng)付數(shù)字信號(hào)處理雜務(wù)。主處理器可包括例如一個(gè)微計(jì)算機(jī)或微處理器。
偶然地,可能需要相當(dāng)大量的數(shù)據(jù)在主處理器與DSP之間轉(zhuǎn)移。當(dāng)數(shù)據(jù)在兩個(gè)處理器之間轉(zhuǎn)移時(shí)因兩個(gè)處理器之間不兼容,例如兩個(gè)處理器可能與不同的時(shí)鐘一起工作,故直接轉(zhuǎn)移不可能。在這種情況下,可以使用異步操作的緩沖存儲(chǔ)器。在該數(shù)據(jù)被接收處理器接收之前先由發(fā)送處理器以脈沖串形式傳送到緩沖存儲(chǔ)器。然而,緩沖存儲(chǔ)器可能需要集成電路上大的有效表面區(qū)域,對(duì)于實(shí)施來說是昂貴的,并因所有的數(shù)據(jù)在該數(shù)據(jù)可被處理之前必須被轉(zhuǎn)移,故減慢了處理的速度。
為了避免使用相當(dāng)大的緩沖存儲(chǔ)器,有時(shí)使用一種較小的先進(jìn)先出(FIFO)緩沖器,以使主處理器與接收處理器相接口。FIFO緩沖器是一種存儲(chǔ)器單元,該單元按照與被接收的數(shù)據(jù)相同的次序輸出數(shù)據(jù)。數(shù)據(jù)可能從主處理器的總線傳送到FIFO緩沖器,并且同時(shí)FIFO緩沖器把該數(shù)據(jù)傳送到接收處理器的總線。FIFO緩沖器用于代替緩沖存儲(chǔ)器。該數(shù)據(jù)可以由許多作為數(shù)據(jù)流而被傳送的數(shù)據(jù)字組成。每個(gè)數(shù)據(jù)字具有一定數(shù)量的比特。例如,一個(gè)數(shù)據(jù)字可以是16位比特寬,或是32比特位寬。支持的數(shù)據(jù)傳送的FIFO緩沖器通常支持最寬數(shù)據(jù)轉(zhuǎn)移。然而,如果利用32比特位寬的FIFO緩沖器僅轉(zhuǎn)移16位比特?cái)?shù)據(jù),則只有該FIFO緩沖器的存儲(chǔ)容量的一半被利用。
據(jù)此,這里按照本發(fā)明的一種形式提供一種具有先進(jìn)先出緩沖器的數(shù)據(jù)處理系統(tǒng),該先進(jìn)先出緩沖器具有多個(gè)寄存器和控制邏輯。該多個(gè)寄存器的每個(gè)寄存器具有耦合到第一總線的多個(gè)輸入端,和耦合到第二總線的多個(gè)輸出端。該控制邏輯耦合到多個(gè)寄存器。當(dāng)來自第一總線的數(shù)據(jù)字具有第一預(yù)定寬度時(shí),該控制邏輯允許多個(gè)寄存器中的一個(gè)寄存器從第一總線接收數(shù)據(jù)。當(dāng)來自第一總線的數(shù)據(jù)字具有第二預(yù)定寬度時(shí),該控制邏輯還允許多個(gè)寄存器的兩個(gè)寄存器。
本發(fā)明的這些特點(diǎn)和其他特點(diǎn)及其優(yōu)點(diǎn)通過結(jié)合以下附圖閱讀下文的詳細(xì)描述將會(huì)一目了然。
圖1示出根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的方框圖。
圖2示出圖1的數(shù)據(jù)處理系統(tǒng)的主接口的一個(gè)實(shí)施例的方框圖。
圖3示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的圖2的主接口的可調(diào)深度/寬度FIFO緩沖器的方框圖。
圖4示出圖2的主接口的DSP控制寄存器的方框圖。
圖5示出圖2的主接口的主接口控制寄存器的方框圖。
圖6示出圖2的主接口的DSP狀態(tài)寄存器的方框圖。
圖7示出圖2的主接口的地址組態(tài)配置寄存器的方框圖。
圖8示出根據(jù)本發(fā)明的在數(shù)據(jù)流中插入地址的流程圖。
總的來說,本發(fā)明提供一種用于可變寬度數(shù)據(jù)轉(zhuǎn)移的可調(diào)深度/寬度FIFO緩沖器。該FIFO緩沖器具有兩個(gè)部分,該兩部分的每一部分都獨(dú)立地受控,以允許16位比特字或32位比特字要被轉(zhuǎn)移,當(dāng)16比特字被轉(zhuǎn)移時(shí),不浪費(fèi)FIFO緩沖器中的存儲(chǔ)空間。當(dāng)取樣具有32位比特寬度字的外部總線時(shí),該FIFO緩沖器被組織成為32比特位寬和4個(gè)字深,當(dāng)取樣16位比特寬的數(shù)據(jù)字時(shí),它被組織成為16位比特寬和8個(gè)字深。為此,當(dāng)接口具有16位比特寬的外部總線時(shí),存儲(chǔ)區(qū)被加深了。在其他實(shí)施例中,F(xiàn)IFO緩沖器能夠適合用于具有不同寬度的字和能夠具有不同的深度。當(dāng)接口16位并行數(shù)據(jù)或32位并行數(shù)據(jù)時(shí),這允許最大限度利用FIFO緩沖器的存儲(chǔ)空間。FIFO緩沖器是只從屬于主處理器的一種從屬緩沖器。FIFO緩沖器不能起始對(duì)保持設(shè)計(jì)簡(jiǎn)單且小的數(shù)據(jù)進(jìn)行取樣。
當(dāng)涉及分別描述信號(hào)、狀態(tài)比特、或者類似的設(shè)備進(jìn)入其邏輯“真”或邏輯“假”狀態(tài)時(shí),將要使用術(shù)語“斷定”和“否定”。如果邏輯“真”狀態(tài)是數(shù)字邏輯電平“1”,則邏輯“假”狀態(tài)將是數(shù)字邏輯電平“0”。而如果邏輯“真”狀態(tài)是數(shù)字邏輯電平“0”,則邏輯“假”狀態(tài)將是數(shù)字邏輯電平“1”。術(shù)語“總線”將用于涉及多種信號(hào),這些信號(hào)可能用于轉(zhuǎn)移一種或多種類型的信息,諸如數(shù)據(jù)、地址、控制或狀態(tài)。
下面參照?qǐng)D1-8更全面地描述本發(fā)明。圖1-7中的每一個(gè)方框表示一個(gè)電路,圖8中的每一個(gè)方框表示流程圖中的一個(gè)或多個(gè)步驟。圖1示出本發(fā)明的數(shù)據(jù)處理系統(tǒng)20的方框圖。在圖1所說明的實(shí)施例中,數(shù)據(jù)處理系統(tǒng)20是一個(gè)數(shù)字信號(hào)處理器(DSP)并設(shè)置在一個(gè)單片集成電路上。在其它實(shí)施例中,數(shù)據(jù)處理系統(tǒng)20可能是例如一個(gè)微計(jì)算機(jī)或微處理器。數(shù)據(jù)處理系統(tǒng)20包括定時(shí)器22、主接口24、增強(qiáng)型串行同步接口(ESSI)26、串行異步接口(SCI)28、程序RAM(隨機(jī)存取存儲(chǔ)器)和指令超高速緩沖存儲(chǔ)器30、數(shù)據(jù)存儲(chǔ)器32、數(shù)據(jù)存儲(chǔ)器34、地址產(chǎn)生單元直接存儲(chǔ)器存取(DMA)控制器36、外部地址總線開關(guān)38、內(nèi)部數(shù)據(jù)總線開關(guān)40、DRAM(動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)和SRAM(靜態(tài)隨機(jī)存取存儲(chǔ)器)總線接口和指令超高速緩沖存儲(chǔ)器控制42、外部數(shù)據(jù)總線開關(guān)44、程序控制單元(PCU)46、和數(shù)據(jù)算術(shù)邏輯單元(ALU)54。程序控制單元46包括程序中斷控制器48、程序解碼控制器50、和程序地址發(fā)生器52。
標(biāo)號(hào)為“YAB”的地址總線56、標(biāo)號(hào)為“XAB”的地址總線57、標(biāo)號(hào)為“PAB”的程序地址總線58、和標(biāo)號(hào)為“DAB”的地址總線59被連接在地址發(fā)生單元/DMA控制器36與外部地址總線開關(guān)38之間。標(biāo)號(hào)為“DDB”的數(shù)據(jù)總線60被耦合在主接口24與外部數(shù)據(jù)總線開關(guān)44之間。標(biāo)號(hào)為“YDB”的數(shù)據(jù)總線61、標(biāo)號(hào)為“XDB”的數(shù)據(jù)總線62、標(biāo)號(hào)為“PDB”的程序數(shù)據(jù)總線63,和標(biāo)號(hào)為“GDB”的程序數(shù)據(jù)總線64被耦合在內(nèi)部數(shù)據(jù)總線開關(guān)40與外部數(shù)據(jù)總線開關(guān)44之間。
定時(shí)器22包括三個(gè)定時(shí)器,它們可以用于內(nèi)部或外部的定時(shí),和可以中斷數(shù)據(jù)處理系統(tǒng)20或外部設(shè)備的信號(hào)。此外,定時(shí)器22在已經(jīng)發(fā)生規(guī)定的事件數(shù)目以表示DMA轉(zhuǎn)移。三個(gè)定時(shí)器的每一個(gè)被耦合到單一的雙向插頭或端子。定時(shí)器22的每個(gè)定時(shí)器還被耦合到總線57、總線59、程序中斷控制器48和到總線60。
主接口24為數(shù)據(jù)處理系統(tǒng)20與其他設(shè)備(諸如微計(jì)算機(jī)、微處理器、或DMA)之間的通信提供雙向接口。主接口24經(jīng)總線60還雙向耦合到外部數(shù)據(jù)總線開關(guān)44,雙向耦合到全局?jǐn)?shù)據(jù)總線64,到程序中斷控制器48,經(jīng)由總線57和59到地址產(chǎn)生單元/DMA控制器36,到外部地址總線開關(guān)38。主接口24還從主處理器雙向耦合到50個(gè)外部插頭或端子,用于雙向數(shù)據(jù)轉(zhuǎn)移、地址寄存器選擇和控制通信。
增強(qiáng)型串行同步接口(ESSI)26耦合到12個(gè)雙向外部插頭,以提供與包括例如一個(gè)或多個(gè)工業(yè)標(biāo)準(zhǔn)編譯碼器、DSP(數(shù)字信號(hào)處理器)、或微處理器的各外部串行設(shè)備的串行通信。ESSI26還具有端子用以耦合到總線57、總線59、和總線60。
串行通信接口(SCI)28耦合到3個(gè)雙向外部插頭,用于提供與外部設(shè)備的串行通信。SCI28還具有耦合到總線57、總線59和總線60的端子。
圖1的數(shù)據(jù)處理系統(tǒng)20的實(shí)施例具有三個(gè)存儲(chǔ)器空間程序RAM和指令超高速緩沖存儲(chǔ)器30、X存儲(chǔ)器32和Y存儲(chǔ)器34。程序RAM和指令超高速緩沖存儲(chǔ)器30耦合到地址總線58和數(shù)據(jù)總線63。X存儲(chǔ)器32耦合到地址總線57、地址總線59、數(shù)據(jù)總線60和列數(shù)據(jù)總線62。Y存儲(chǔ)器34耦合到地址總線56、地址總線59、數(shù)據(jù)總線60、和到數(shù)據(jù)總線61。
地址發(fā)生單元/DMA控制器36耦合到地址總線56、57、58和59。地址發(fā)生單元/DMA控制器36向定時(shí)器22、主接口24、ESSI26、SCI 28、程序RAM和指令高速緩沖存儲(chǔ)器30、存儲(chǔ)器32、存儲(chǔ)器34、外部地址總線開關(guān)38、和DRAM與SRAM總線接口和指令超高速緩沖存儲(chǔ)器控制42提供存儲(chǔ)器地址。在一個(gè)優(yōu)選實(shí)施例中,該DMA控制器具有6個(gè)信道。
DRAM與SRAM總線接口和指令超高速緩沖存儲(chǔ)器42耦合到程序地址總線58和14個(gè)雙向外部插頭。DRAM的指令超高速緩沖存儲(chǔ)器和SRAM總線接口和指令高速緩沖存儲(chǔ)器42起到在外部主存儲(chǔ)器(未示出)與程序控制單元46之間的緩沖存儲(chǔ)器的作用。指令超高速緩沖存儲(chǔ)器存儲(chǔ)經(jīng)常要利用的程序指令。當(dāng)由程序要求的指令字可以從高速緩沖存儲(chǔ)器中得到時(shí),由于消除了訪問主存儲(chǔ)器所需要求的時(shí)間,所以可使性能得到提高。
內(nèi)部數(shù)據(jù)總線開關(guān)40耦合到數(shù)據(jù)總線60、數(shù)據(jù)總線61、數(shù)據(jù)總線62、程序數(shù)據(jù)總線63,和全局?jǐn)?shù)據(jù)總線64。外部數(shù)據(jù)總線開關(guān)44經(jīng)由數(shù)據(jù)總線60、數(shù)據(jù)總線61、數(shù)據(jù)總線62、程序數(shù)據(jù)總線63,和全局?jǐn)?shù)據(jù)總線64耦合到內(nèi)部數(shù)據(jù)總線開關(guān)40。此外,外部數(shù)據(jù)總線開關(guān)44經(jīng)由數(shù)據(jù)總線60耦合到定時(shí)器22、主接口24、ESI26、和SCI28。內(nèi)部數(shù)據(jù)總線開關(guān)40用于在各總線之間進(jìn)行轉(zhuǎn)移。任何兩個(gè)總線可被通過內(nèi)部總線開關(guān)40彼此連接。外部地址總線開關(guān)38和外部數(shù)據(jù)總線開關(guān)44分別耦合各外部總線(未示出)到任何內(nèi)部地址和內(nèi)部數(shù)據(jù)總線。
在程序控制單元46中,程序中斷控制器48對(duì)各個(gè)中斷請(qǐng)求進(jìn)行判斷,和被耦合到定時(shí)器22、主接口24、ESSI26、和SCI28。另外,程序中斷控制器48被雙向耦合到全局?jǐn)?shù)據(jù)總線64和程序解碼控制器50。程序解碼控制器50解碼每個(gè)24比特的指令和被雙向耦合到程序中斷控制器48和到程序地址發(fā)生器52。程序地址發(fā)生器52包括所有用于程序地址發(fā)生、系統(tǒng)堆棧、和環(huán)路控制需要的硬件。此外,程序地址發(fā)生器52耦合到程序地址總線58和到程序數(shù)據(jù)總線63。
數(shù)據(jù)算術(shù)邏輯單元(ALU)耦合到程序數(shù)據(jù)總線63、數(shù)據(jù)總線61、和數(shù)據(jù)總線62。數(shù)據(jù)ALU54對(duì)數(shù)據(jù)操作數(shù)執(zhí)行全部算術(shù)和邏輯操作。ALU54包含有通過總線61和62的方式可以讀出或?qū)懭氲募拇嫫?。?shù)據(jù)ALU54還耦合到總線63和到總線60。
時(shí)鐘發(fā)生電路(未示出)向圖1所示的所有方框提供時(shí)鐘信號(hào)。在數(shù)據(jù)處理系統(tǒng)20中還有測(cè)試電路,在圖1中沒示出。
圖2示出圖1的數(shù)據(jù)處理系統(tǒng)20的主接口24的方框圖。主接口24包括主發(fā)送數(shù)據(jù)FIFO緩沖器65、DSP發(fā)送數(shù)據(jù)FIFO緩沖器66、主接口控制寄存器67、DSP狀態(tài)寄存器68、DSP控制寄存器69、和地址配置寄存器70。在所說明的實(shí)施例中,主接口24具有兩個(gè)FIFO緩沖器。主發(fā)送數(shù)據(jù)FIFO緩沖器65具有多個(gè)耦合到外部總線116的數(shù)據(jù)輸入端,多個(gè)耦合到全局?jǐn)?shù)據(jù)總線(GDB)64的數(shù)據(jù)輸出端、耦合到主接口控制寄存器67的多個(gè)輸出端的第一多個(gè)控制端,和耦合到DSP控制寄存器69的多個(gè)輸出端的第二多個(gè)控制端。DSP發(fā)送數(shù)據(jù)FIFO緩沖器66具有多個(gè)耦合到全局?jǐn)?shù)據(jù)總線64的數(shù)據(jù)輸入總線,多個(gè)耦合到外部總線116的數(shù)據(jù)輸出總線,耦合到主接口控制寄存器67的多個(gè)輸出端的第一多個(gè)控制端,和耦合到DSP控制寄存器69的多個(gè)輸出端的第二多個(gè)控制端。
主接口控制寄存器67還具有耦合到外部總線116的多個(gè)雙向端子,和耦合到DSP狀態(tài)寄存器68的多個(gè)輸出端子。DSP狀態(tài)寄存器68具有耦合到全局?jǐn)?shù)據(jù)總線64的多個(gè)輸出端,和DSP控制寄存器69具有耦合到全局?jǐn)?shù)據(jù)總線64的多個(gè)雙向端子,和耦合到FIFO緩沖器65與66的控制端的多個(gè)輸出端。
主處理器(未示出)通過主接口24到全局?jǐn)?shù)據(jù)總線64的方式可以初始化從總線116到數(shù)據(jù)處理系統(tǒng)20中的一個(gè)位置的數(shù)據(jù)轉(zhuǎn)移。外部總線116和總線64兩者是雙向總線。在一個(gè)實(shí)施例中,總線116是傳送數(shù)據(jù)與地址兩者的復(fù)用總線。在另外的實(shí)施例中,外部總線116可以具有單獨(dú)的數(shù)據(jù)線和地址線。當(dāng)要求從總線116向總線64轉(zhuǎn)移時(shí),主處理器控制該轉(zhuǎn)移。FIFO緩沖器65僅作為從屬于主處理器的從屬來操作。可由主處理器寫入FIFO緩沖器65,但是不能由FIFO緩沖器65起始轉(zhuǎn)移。同樣,F(xiàn)IFO緩沖器66是從屬,只從數(shù)據(jù)處理系統(tǒng)20向外部總線116的發(fā)送數(shù)據(jù)。
主接口控制寄存器67(圖5)和DSP控制寄存器69(圖4)為確定總線116和總線64之間的數(shù)據(jù)轉(zhuǎn)移提供控制比特。主處理器還通過主接口控制寄存器67與DSP狀態(tài)寄存器68通信,啟動(dòng)FIFO緩沖器65,確定FIFO緩沖器65與66是空還是滿,和用于接收如在下面討論圖6時(shí)所描述的其他狀態(tài)信息的類型。地址組態(tài)配置寄存器70耦合到總線116和包括用于編程基本地址的地址比特,以確定訪問FIFO緩沖器65的地址范圍。
圖3示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的主接口24的可調(diào)深度/寬度FIFO緩沖器65的方框圖。FIFO緩沖器65包括FIFO寄存器72、寄存器讀控制邏輯90、總線64窄/寬控制92、輸出緩沖器控制邏輯94、FIFO讀選擇96、寄存器寫控制邏輯98、總線116窄/寬控制100、地址解碼器102、輸入緩沖器控制邏輯104、FIFO寫選擇106、奇數(shù)輸入緩沖器108、偶數(shù)輸入緩沖器110、奇數(shù)輸出緩沖器112和偶數(shù)輸出緩沖器114。總線116是用以連接輸出緩沖器112和114的雙向總線。FIFO寄存器72包括寄存器部分73和寄存器部分75。寄存器部分73包括奇數(shù)寄存器74、76、78和80。寄存器部分75包括偶數(shù)寄存器82、84、86和88。
在一個(gè)優(yōu)選實(shí)施例中,F(xiàn)IFO緩沖器65包括圖1的主接口24的一部分。另外,F(xiàn)IFO緩沖器66可以具有類似于FIFO緩沖器65的電路。數(shù)據(jù)被從總線116提供到FIFO緩沖器65??偩€116是一個(gè)外部總線,它可能是主處理器(未示出)的一部分??偩€64是至主接口24(圖2)的一個(gè)內(nèi)部總線。在其他的實(shí)施例中,總線116與64可以是任何兩個(gè)之間需要緩沖的總線??赡苄枰彌_,例如是因?yàn)閮蓚€(gè)總線受到不同時(shí)鐘的控制。
總線116和64轉(zhuǎn)移具有W位的數(shù)據(jù)字,其中W是一個(gè)整數(shù)。奇數(shù)輸入緩沖器108具有耦合到總線116用于接收數(shù)據(jù)比特〔W/21〕的多個(gè)輸入端,耦合到每個(gè)奇數(shù)寄存器74、76、78和80的各個(gè)輸入端的多個(gè)輸出端,和一個(gè)用于接收來自輸入緩沖器控制邏輯104的控制信號(hào)的控制端。偶數(shù)輸入緩沖器110具有耦合到總線116用于接收數(shù)據(jù)比特〔WW/2+1〕的多個(gè)輸入端,耦合到每個(gè)偶數(shù)寄存器82、84、86和88的多個(gè)輸入端的多個(gè)輸出端,和一個(gè)用于接收來自輸入緩沖器控制邏輯104的控制信號(hào)的控制端。奇數(shù)輸出緩沖器112具有耦合到奇數(shù)寄存器74、76、78和80的多個(gè)輸出端的多個(gè)輸入端,耦合到總線64用于提供數(shù)據(jù)比特〔W/21〕的多個(gè)輸出端,和一個(gè)耦合到輸出緩沖器控制邏輯94的一個(gè)輸出端用于接收控制信號(hào)的控制端。偶數(shù)輸出緩沖器114具有耦合到每一個(gè)偶數(shù)寄存器82、84、86和88的多個(gè)輸出端的多個(gè)輸入端,耦合到總線64用于提供數(shù)據(jù)比特〔WW/2+1〕的多個(gè)輸出端,和一個(gè)耦合到輸出緩沖器控制邏輯94的輸出端的控制端。
FIFO讀選擇96具有耦合到輸出緩沖器控制邏輯94的輸入端的輸出端。FIFO讀選擇96的輸出端還耦合到寄存器讀控制邏輯90的輸入端。寄存器讀控制邏輯90具有耦合到奇數(shù)寄存器74、76、78和80以及偶數(shù)寄存器82、84、86和88的每一個(gè)的輸入端的輸出端,用于提供讀控制信號(hào)。在一個(gè)優(yōu)選實(shí)施例中,奇數(shù)寄存器74、76、78和80以及偶數(shù)寄存器82、84、86和88的每一個(gè)是常規(guī)的16位讀/寫寄存器。寄存器讀控制邏輯90和寄存器寫控制邏輯監(jiān)視FIFO寄存器72,以跟蹤FIFO寄存器72是空的還是滿的。
總線64窄/寬控制92具有耦合到圖2的寄存器128和124的多個(gè)輸入端,和耦合到輸出緩沖器控制邏輯94和寄存器讀控制邏輯90兩者的輸入端的輸出端。寄存器寫控制邏輯98具有耦合到奇數(shù)寄存器74、76、78和80以及偶數(shù)寄存器82、84、86和88的每一個(gè)的輸入端的輸出端,用于提供寫控制信號(hào)。地址解碼器102具有耦合到總線116用于接收多個(gè)地址信號(hào)的多個(gè)輸入端,和耦合到寄存器寫控制邏輯98的多個(gè)輸出端。
FIFO寫選擇106具有耦合到輸入緩沖器控制邏輯104的輸入端和到寄存器寫控制邏輯98的輸入端和輸出端。當(dāng)主處理器寫數(shù)據(jù)到FIFO緩沖器65時(shí),F(xiàn)IFO寫選擇106把一個(gè)啟動(dòng)信號(hào)提供到輸入緩沖器控制邏輯104和到寄存器寫控制邏輯98。總線116窄/寬控制100具有耦合到寄存器124和128的多個(gè)輸入端,和耦合到寄存器寫控制邏輯98的輸入端和到輸入緩沖器控制邏輯104的輸入端的輸出端。輸入緩沖器控制邏輯104具有連接到奇數(shù)輸入緩沖器108的輸入端的第一輸出端,和連接到偶數(shù)輸入緩沖器110的輸入端的第二輸出端。
數(shù)據(jù)被從總線116寫入FIFO緩沖器65,和數(shù)據(jù)被從FIFO緩沖器65讀到總線64。FIFO寄存器72被分為兩部分,部分73和75。部分75是以偶數(shù)寄存器82、84、86和88為特征的“偶數(shù)”部分,和部分73是以奇數(shù)寄存器74、76、78和80為特征的“奇數(shù)”部分。在另外的實(shí)施例中,可以有任何數(shù)目的部分,這取決于有多少種不同的數(shù)據(jù)寬度要被容納。每個(gè)部分可以獨(dú)立地寫入和讀出??偩€116和64兩者具有動(dòng)態(tài)的變尺寸,其中各種尺寸的字可以在同一總線上傳送。在該說明的實(shí)施例中,F(xiàn)IFO緩沖器65可以接收具有高達(dá)32位寬度的字寬(W)的數(shù)據(jù),和FIFO緩沖器65具有深度(D),它是可變的,這取決于字的寬度(W)。
對(duì)于已說明的FIFO緩沖器65的實(shí)施例,對(duì)于轉(zhuǎn)移數(shù)據(jù)存在著四種可能性1)FIFO緩沖器65可以從總線116接收16位字和向總線64提供16位字;2)FIFO緩沖器65可以從總線116接收16位字和向總線64提供32位字;3)FIFO緩沖器65可以從總線116接收32位字和向總線64提供16位字;和4)FIFO緩沖器65可以從總線116接收32位字和向總線64提供32位字。如果16位字被轉(zhuǎn)移,F(xiàn)IFO寄存器72是8個(gè)字深。如果32位字被轉(zhuǎn)移,F(xiàn)IFO寄存器72是4個(gè)字深。對(duì)于下面數(shù)據(jù)轉(zhuǎn)移的例子,通過FIFO緩沖器65,W等于32。但是,在其他實(shí)施例中,W可能等于其他數(shù)據(jù)寬度。
當(dāng)從總線116向FIFO緩沖器65寫入16位字和讀16位字到總線64時(shí),兩個(gè)總線116和64視為一種窄的16位寬FIFO緩沖器??偩€116窄/寬控制100限定總線116為窄,即W/2比特寬??偩€64窄/寬控制92限定總線64為窄,即W/2比特寬。FIFO為選擇106提供控制信號(hào)到寄存器寫控制邏輯98和到輸入緩沖器控制邏輯104,使FIFO緩沖器65做好從總線116取樣數(shù)據(jù)的準(zhǔn)備。來自總線116的輸入數(shù)據(jù)被按照比特〔W/21〕取樣到奇數(shù)輸入緩沖器108或到偶數(shù)輸入緩沖器110。來自奇數(shù)輸入緩沖器108的第一個(gè)16比特字根據(jù)〔W/21〕寫入按照由地址解碼器102從總線116接收的地址確定的奇數(shù)寄存器74、76、78和80之一。地址解碼器102提供解碼地址到寄存器讀控制邏輯90。寄存器讀控制邏輯90選擇奇數(shù)寄存器74、76、78或80之一有待寫入。第二16位數(shù)據(jù)利用偶數(shù)緩沖器110根據(jù)比特〔W/21〕寫入偶數(shù)寄存器82、84、86和88之一。第三16位數(shù)據(jù)字根據(jù)比特〔W/21〕寫入奇數(shù)寄存器74、76、78和80之一。這種轉(zhuǎn)移通過偶數(shù)和奇數(shù)寄存器之間的交替持續(xù)進(jìn)行直至完成,或者FIFO滿。
當(dāng)從FIFO緩沖器65讀出一個(gè)16位數(shù)據(jù)時(shí),16位數(shù)據(jù)字被從奇數(shù)寄存器74、76、78和80或從偶數(shù)寄存器82、84、86、和88之一輸出。第一16位字被從奇數(shù)寄存器74、76、78和80之一讀出,通過奇數(shù)輸出緩沖器112,輸出比特〔W/21〕。第二16位字被從偶數(shù)寄存器82、84、86和88之一讀出,通過偶數(shù)輸出緩沖器114,輸出比特〔W/21〕。第三16位字被從奇數(shù)寄存器74、76、78和80之一讀出,通過輸出緩沖器112,輸出比特〔W/21〕。這種操作持續(xù)下去,直至轉(zhuǎn)移完成或FIFO緩沖器65空。在該所說明的實(shí)施例中,每個(gè)奇數(shù)寄存器或偶數(shù)寄存器是16位寬。在其他的實(shí)施例中,各寄存器可以是任何寬度。
當(dāng)從總線116寫一個(gè)16位數(shù)據(jù)到FIFO緩沖器62和讀32位字到總線64時(shí),總線116察覺FIFO緩沖器65作為具有8個(gè)字的深度和總線64察覺FIFO65作為具有4個(gè)字的深度??偩€64窄/寬控制92確定總線64作為寬的,即W位寬。FIFO寫選擇106提供控制信號(hào)到寄存器寫控制邏輯98和到輸入緩沖控制邏輯104,為FIFO緩沖器65從總線116取樣數(shù)據(jù)做準(zhǔn)備。從總線116的輸入數(shù)據(jù)根據(jù)比特〔W/21〕取樣到奇數(shù)輸入緩沖器108或偶數(shù)輸入緩沖器110。數(shù)據(jù)不是根據(jù)〔WW/2+1〕比特取樣的。在一個(gè)優(yōu)選擇實(shí)施例中,W等于32。從奇數(shù)輸入緩沖器108,第一16位數(shù)據(jù)字根據(jù)〔W/21〕寫入按照由地址解碼器102從總線116接收的地址確定的奇數(shù)寄存器74、76、78和80之一。地址解碼器102提供一個(gè)解碼的地址到寄存器讀控制邏輯90。寄存器讀控制邏輯90選擇奇數(shù)寄存器74、76、78、和80之一有待寫入。第二16位數(shù)據(jù)字利用偶數(shù)輸入緩沖器110根據(jù)〔W/21〕寫入偶數(shù)寄存器82、84、86、和88之一。第三16位數(shù)據(jù)字根據(jù)〔W/21〕寫入奇數(shù)寄器74、76、78和80之一。該轉(zhuǎn)移通在奇數(shù)和偶數(shù)寄存器之間交替持續(xù)進(jìn)行直至完成,或者FIFO緩沖器65已滿。
32位數(shù)據(jù)字同時(shí)從奇數(shù)寄存器74、76、78、和80之一以及偶數(shù)寄存器82、84、86和88之一讀到總線64。32位數(shù)據(jù)字的16位被從寄數(shù)寄存器74、76、78和80讀出,通過奇數(shù)輸出緩沖器112,輸〔W/21〕位。其他16位被從偶數(shù)寄存器82、84、86和88讀出,通過偶數(shù)輸出緩沖器114,輸出〔WW/2+1〕位。地址解碼器102提供解碼的地址到寄存器讀控制邏輯90,選擇哪個(gè)奇數(shù)和偶數(shù)寄存器從中被讀出。這種操作持續(xù)進(jìn)行,直至轉(zhuǎn)移完成或者FIFO緩沖器65空。
當(dāng)從總線116取樣32位字到FIFO緩沖器65和讀16位字到總線64時(shí),總線116察覺FIFO緩沖器65作為具有4個(gè)字深和總線64察覺FIFO緩沖器作為具有8個(gè)字深。總線116窄/寬控制1 00限定總線116作為寬的,即W位寬度,和提供控制信號(hào),使寄存器寫控制邏輯98和輸入緩沖器控制邏輯102做好準(zhǔn)備,接收32位字??偩€64窄/寬控制邏輯92確定總線64作為窄的,即W/2位寬,和使寄存器讀控制邏輯90和輸出緩沖控制邏輯94作好寫入32位字的準(zhǔn)備。FIFO寫選擇106提供啟動(dòng)信號(hào)到寄存器寫控制邏輯90和到輸入緩沖器邏輯104,使FIFO緩沖器65從總線116取樣數(shù)據(jù)。地址解碼器102提供一個(gè)解碼地址到寄存器寫控制邏輯98。寄存器寫控制邏輯98選擇奇數(shù)寄存器74、76、78或80之一有待寫入。32位數(shù)據(jù)字的16位根據(jù)〔W/21〕從總線116取樣到奇數(shù)輸入緩沖器108,與此同時(shí),其他16位根據(jù)〔WW/2+1〕位被取樣到偶數(shù)輸入緩沖器110。
當(dāng)讀16位數(shù)據(jù)字到總線64時(shí),待讀的〔W/21〕的第一個(gè)字是從奇數(shù)寄存器74、76、78和80之一讀到奇數(shù)輸出緩沖器112的。第二個(gè)16位字〔WW/2+1〕是從偶數(shù)寄存器82、84、86和88之一讀到偶數(shù)輸出緩沖器114的。第三個(gè)16位字是從奇數(shù)寄存器74、76、78和80之一讀的,以此類推,直至轉(zhuǎn)移完成或FIFO緩沖器65空。地址解碼器102提供解碼地址到寄存器讀控制邏輯90,選擇哪個(gè)奇數(shù)和偶數(shù)寄存器有待讀出。
當(dāng)從總線116取樣32位字到FIFO緩沖器65和讀32位字到總線64時(shí),總線116和64察覺FIFO緩沖器65作為具有4個(gè)字深??偩€116窄/寬控制100確定總線116作為寬的,即W位寬,和提供一個(gè)控制信號(hào)使寄存器寫控制邏輯98和輸入緩沖器控制邏輯102做好準(zhǔn)備,接收32位字??偩€64窄/寬控制92還確定總線64作為寬的,和使寄存器讀控制邏輯90和輸出緩沖器控制邏輯94做好準(zhǔn)備寫32位字。FIFO寫選擇106提供一個(gè)啟動(dòng)信號(hào)到寄存器寫控制邏輯98和到輸入緩沖器控制邏輯104,使FIFO緩沖器65從總線116取樣32位數(shù)據(jù)字。地址解碼器102提供一個(gè)解碼地址到寄存器寫控制邏輯98。寄存器寫控制邏輯98選擇奇數(shù)寄存器74、76、78和80之一根據(jù)〔W/21〕接收16位字,與此同時(shí),其他16位被根據(jù)〔WW/2+1〕位取樣到偶數(shù)輸入緩沖器110。
32位數(shù)據(jù)字同時(shí)從奇數(shù)寄存器74、76、78和80之一和偶數(shù)寄存器82、84、86和88之一讀到總線64。32位數(shù)據(jù)字的16位被從奇數(shù)寄存器74、76、78和80讀出,通過奇數(shù)輸出緩沖器112輸出〔W/21〕位。其他16位被從偶數(shù)寄存器82、84、86、和88之一讀出,通過偶數(shù)輸出緩沖器114輸出〔WW/2+1〕位。地址解碼器102提供解碼地址到寄存器讀控制邏輯90,選擇哪個(gè)奇數(shù)和偶數(shù)寄存器響應(yīng)于來自FIFO讀選擇96的啟動(dòng)信號(hào)被讀出。這種操作持續(xù)進(jìn)行,直至轉(zhuǎn)移完成,或者FIFO緩沖器65空。
通過分割FIFO寄存器為各部分,和獨(dú)立控制該各部分,可變寬度的數(shù)據(jù)字可以在不浪費(fèi)FIFO緩沖器中的存儲(chǔ)面積下被轉(zhuǎn)移。因?yàn)榫彌_器存儲(chǔ)面積被更有效地利用,集成電路的面積被有效的利用。
圖4示出圖2的主接口的DSP控制寄存器69的方框圖。DSP控制寄存器69包括32個(gè)控制比特當(dāng)主接口24作為總線控制器正在發(fā)送數(shù)據(jù)時(shí),標(biāo)號(hào)“FC1”和“FC0”的控制比特130和131在主發(fā)送數(shù)據(jù)FIFO緩沖器65和在DSP發(fā)送數(shù)據(jù)FIFO緩沖器66中控制數(shù)據(jù)轉(zhuǎn)移的格式。當(dāng)主接口24正在從總線116讀或?qū)憰r(shí),控制位130和131確定FIFO緩沖器的數(shù)據(jù)寬度,在FIFO寄存器72中的數(shù)據(jù)對(duì)準(zhǔn),和符號(hào)擴(kuò)充。標(biāo)號(hào)為“BL5-BL0”的控制位132控制數(shù)據(jù)長(zhǎng)度。在控制位132中的值在數(shù)據(jù)被轉(zhuǎn)移的每個(gè)數(shù)據(jù)轉(zhuǎn)移周期之后被遞減。當(dāng)控制位132的值達(dá)到0,或達(dá)到另外的預(yù)定值,該轉(zhuǎn)移結(jié)束。
圖5示出圖2的主接口24的主接口控制寄存器67的方框圖。主接口控制寄存器67包括控制位136-142。當(dāng)主接口24正在由主處理器讀時(shí)分別標(biāo)號(hào)為“HRF1”和“HRF0”的主接收數(shù)據(jù)轉(zhuǎn)移格式控制位136和137確定通過DSP發(fā)送數(shù)據(jù)FIFO緩沖器66數(shù)據(jù)轉(zhuǎn)移的數(shù)據(jù)轉(zhuǎn)移格式。控制位136和137確定在FIFO緩沖器中數(shù)據(jù)寬度,在FIFO寄存器中的數(shù)據(jù)對(duì)準(zhǔn),和符號(hào)擴(kuò)充。當(dāng)主接口24正在由主處理器寫入時(shí),分別標(biāo)號(hào)為“HTF1”和“HTF0”的主發(fā)送數(shù)據(jù)轉(zhuǎn)移格式控制位138和139,確定利用主發(fā)送數(shù)據(jù)FIFO緩沖器65轉(zhuǎn)移的數(shù)據(jù)轉(zhuǎn)移格式。控制位138和139確定在FIFO緩沖器中的數(shù)據(jù)寬度,在FIFO寄存器中的數(shù)據(jù)對(duì)準(zhǔn),和符號(hào)擴(kuò)充。標(biāo)號(hào)為“HF2”、“HF1”和”HF0”的控制位140、141和142是用于總線116和總線64之間通信的一般目的主標(biāo)志??刂莆?40、141和142可以由主處理器(未示出)認(rèn)定或否定。
圖6示出圖2的主接口24的DSP狀態(tài)處理寄存器68的方框圖。DSP狀態(tài)寄存器68包括比特145-151。標(biāo)號(hào)為“HACT”的比特145被認(rèn)定主接口24總是有效的。當(dāng)一次轉(zhuǎn)移已完成和在主接口24中的操作已中止,比特145被否定。標(biāo)號(hào)為HF2、HF1和HF0的比特的146、147、和148表示在主接口控制寄存器67中主標(biāo)志HF2、HF1、和HF0的比特狀態(tài)。只有主接口可以改變比特146、147和148。標(biāo)號(hào)為“SRRQ”的比特149表示主發(fā)送數(shù)據(jù)FIFO緩沖器65含有的用于數(shù)據(jù)處理系統(tǒng)20的數(shù)據(jù)。當(dāng)在主接口數(shù)據(jù)FIFO緩沖器65中的各寄存器由數(shù)據(jù)處理系統(tǒng)20置空時(shí),比特149被否定。標(biāo)號(hào)“STRQ”的比特150當(dāng)斷定時(shí),表示在DSP發(fā)送數(shù)據(jù)FIFO緩沖器66中的各寄存器未滿,和可以由數(shù)據(jù)處理系統(tǒng)20寫入。標(biāo)號(hào)為“HCP”的比特151當(dāng)被斷定時(shí),表示主命令中斷正在懸置。當(dāng)中斷已經(jīng)被主接口24運(yùn)行時(shí),比特151被否定。比特151或者可以由主接口24否定,或者由主處理器(未示出)否定。
圖7示出圖2的主接口24的地址配置寄存器70的方框圖。標(biāo)號(hào)“PM31-PM36”的地址位153確定訪問FIFO緩沖器65的地址范圍。取決于主接口24的操作模式,地址配置寄存器70可以由主處理器訪問,或可以由主接口24直接訪問。
圖8示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的插入一個(gè)地址到FIFO緩沖器65的數(shù)據(jù)流所要求的步驟的流程圖。步驟155和156為判斷步驟,和步驟157至161為插入一個(gè)地址到數(shù)據(jù)流中執(zhí)行的步驟。利用地址的范圍經(jīng)由總線116可以訪問FIFO緩沖器65。地址范圍是由從總線116取樣的地址的最高有效位確定的。例如,如果32比特地址的16個(gè)最高有效位被用于識(shí)別訪問FIFO緩沖器65,F(xiàn)IFO緩器65可被訪問216或65536個(gè)單元。最低有效位“幾乎”無須注意,因?yàn)?5536個(gè)單元的7個(gè)是不同于FIFO緩沖器65的寄存器。FIFO緩沖器65的輸出可以通過若干機(jī)制中的任何機(jī)制轉(zhuǎn)移到一個(gè)地址范圍。例如,較低序的地址位可以被用作指示字,控制通過FIFO緩沖器65存儲(chǔ)輸入數(shù)據(jù)的位置。
當(dāng)通過FIFO緩沖器轉(zhuǎn)移一個(gè)數(shù)據(jù)流時(shí),用于訪問FIFO緩沖器的地址可能丟失,除非做出某些保存該地址的措施。在FIFO緩沖器65,從總線116首先取樣的數(shù)據(jù)是該地址。該地址也可以包含在首部信息中。在地址中的首部信息可以用于控制數(shù)據(jù)到數(shù)據(jù)處理系統(tǒng)20的所需單元,或數(shù)據(jù)處理系統(tǒng)如何利用該地址的描述。在所說明的實(shí)施例中,總線116是一個(gè)用于傳送地址與數(shù)據(jù)信息兩者的“復(fù)用總線”。所描述的地址插入方法要求系統(tǒng)部件讀數(shù)據(jù),例如地址發(fā)生單元/DMA控制器36識(shí)別該地址,諸如該地址被從FIFO緩沖器65讀出時(shí)。存在若干方法從在復(fù)用的總線中的數(shù)據(jù)中區(qū)分地址。例如,當(dāng)事務(wù)處理開始時(shí),如果FIFO緩沖器空,地址是從FIFO緩沖器讀出的第一個(gè)數(shù)據(jù)。另外,如果數(shù)據(jù)串是可知的長(zhǎng)度,從FIFO緩沖器讀出的下一個(gè)字是一個(gè)地址。另外,數(shù)據(jù)流的長(zhǎng)度可能是地址的函數(shù),在這種情況下,在一個(gè)數(shù)據(jù)流之后待讀的下一個(gè)字是一個(gè)地址。
當(dāng)?shù)刂沸畔⒌目偩€116取樣以后,地址解碼器102提供一個(gè)啟動(dòng)信號(hào)到寄存器寫控制邏輯98。然后地址被按照從總線116第一個(gè)取樣的數(shù)據(jù)寫入,因?yàn)楫?dāng)提供寫啟動(dòng)信號(hào)時(shí),該地址在總線116上。接收地址以后,從總線116取樣數(shù)據(jù)。當(dāng)主接口24為從屬時(shí),由主處理器控制數(shù)據(jù)流的大小。當(dāng)主接口24為主導(dǎo)時(shí),由DSP控制寄存器69(圖4)的比特132中的初始值確定數(shù)據(jù)流的大小。每次轉(zhuǎn)移數(shù)據(jù)字時(shí),逆減比特132的值。當(dāng)該值等于0時(shí),轉(zhuǎn)移完成。
在判斷步驟155中,主處理器確定該地址是否在訪問FIFO緩沖器65所要求的范圍內(nèi)。如果該地址不在所要求的范圍內(nèi),采取“否”通路,和在步驟157,取消對(duì)FIFO緩沖器65的訪問。如果該地址在所要求的范圍內(nèi),則采取判斷步驟155的“是”通路。在步驟156中,主處理器通過檢驗(yàn)DSP狀態(tài)寄存器68(圖6)中的位145,確定是否FIFO可以利用。如果FIFO緩沖器是不可以利用的,則采取“否”的通路到步驟158,訪問FIFO緩沖器65被取消。在訪問批準(zhǔn)之前,主處理器必須等待,直至FIFO緩沖器65完成當(dāng)前的事務(wù)處理。如果FIFO緩沖器是可利用的,則采用“是”通路,到達(dá)步驟159。和由主接口24取樣地址到達(dá)FIFO緩沖器65。注意,該事務(wù)處理是利用從總線116經(jīng)由FIFO緩沖器65到總線64描述的。然而,在其他的實(shí)施例中,該事務(wù)處理也可能是利用類似的步驟從總線64經(jīng)由DSP發(fā)送數(shù)據(jù)FIFO緩沖器66到總線116的。在地址被寫入FIFO緩沖器66的寄存器以后,在步驟160,一個(gè)數(shù)據(jù)串被寫入FIFO緩沖器65。一旦數(shù)據(jù)字被寫入FIFO緩沖器65,即當(dāng)FIFO緩沖器65不空時(shí),在步驟161,各數(shù)據(jù)字從FIFO緩沖器65被讀到數(shù)據(jù)處理系統(tǒng)20的一個(gè)存儲(chǔ)位置。當(dāng)數(shù)據(jù)流在被寫入FIFO緩沖器65的同時(shí),數(shù)據(jù)流可能被從FIFO緩沖器65中讀出。FIFO緩沖器總保持部分空。如果在事務(wù)處理期間FIFO緩沖器65被充滿,可以由主接口24插入等待狀態(tài),防止主處理器重寫FIFO緩沖器65。
總線116被表示為一種復(fù)用點(diǎn)線,意味著該總線傳送地址和數(shù)據(jù)信息兩者。然而,在另外的實(shí)施例中,總線116可以分為單獨(dú)的地址和數(shù)據(jù)總線,諸如ISA總線。還應(yīng)當(dāng)注意,在描述在圖7的實(shí)施例中,F(xiàn)IFO緩沖器65被利用在主接口24中,然而,在其他實(shí)施例中,應(yīng)當(dāng)利用具有固定深度和寬度的常規(guī)FIFO緩沖器。
通過利用小的FIFO緩沖器代替較大的存儲(chǔ)器陣,在數(shù)據(jù)處理系統(tǒng)中節(jié)約了空間。當(dāng)從一種規(guī)模總線到具有不同規(guī)模的另一種總線轉(zhuǎn)移數(shù)據(jù)時(shí),利用可變深度和寬度的FIFO緩沖器允許更有效地利用IFFO緩沖器的存儲(chǔ)區(qū)。為了防止通過FIFO緩沖器的數(shù)據(jù)串的地址被丟失,地址被插入在數(shù)據(jù)流的開始。
當(dāng)本發(fā)明在一個(gè)優(yōu)選的實(shí)施例的正文中已經(jīng)被描述的同時(shí),對(duì)于本專業(yè)的技術(shù)人員來說,本發(fā)明可能在許多方面被修改和可以設(shè)想出許多不同于具體提供的和上面描述實(shí)施例都是顯而易見的。例如,所說明的FIFO緩沖器65利用FIFO寄存器72的兩部分,提供具有兩種數(shù)據(jù)寬度的FIFO緩沖器。但是,在其他實(shí)施例中,F(xiàn)IFO緩沖器65可以適合具有三個(gè)或多個(gè)部分,提供具有三種或多種數(shù)據(jù)寬度的FIFO緩沖器。從而,試圖以后附的權(quán)利要求書覆蓋落入本發(fā)明的真正精神與范圍的所有改進(jìn)。
權(quán)利要求
1.一種數(shù)據(jù)處理系統(tǒng)(20),其特征在于,一種先進(jìn)先出緩沖器(65),該先進(jìn)先出緩沖器(65)包括多個(gè)寄存器(72),多個(gè)寄存器(72)中的每個(gè)寄存器多個(gè)耦合到第一總線(116)的各個(gè)輸入端,和多個(gè)耦合到第二總線(64)的各個(gè)輸出端;和控制邏輯(98),耦合到多個(gè)寄存器(72),當(dāng)來自第一總線(116)的數(shù)據(jù)字具有第一預(yù)定寬度時(shí),用于啟動(dòng)多個(gè)寄存器(72)的之一從第一總線(116)接收數(shù)據(jù),當(dāng)來自第一總線(116)的數(shù)據(jù)字具有第二預(yù)定寬度時(shí),該控制邏輯(98)用于啟動(dòng)多個(gè)寄存器的兩個(gè)寄存器(72)。
2.根據(jù)權(quán)利要求1的數(shù)據(jù)處理系統(tǒng)(20),其特征在于,多個(gè)寄存器(72)的特征在于是多個(gè)讀/寫寄存器。
3.根據(jù)權(quán)利要求1的數(shù)據(jù)處理系統(tǒng)(20),其特征在于,第一預(yù)定寬度等于第二預(yù)定寬度的一半。
4.根據(jù)權(quán)利要求1的數(shù)據(jù)處理系統(tǒng)(20),其特征在于一個(gè)輸入緩沖電路(108),耦合到多個(gè)寄存器(72)的多個(gè)輸入端;和一個(gè)輸出緩沖電路(112),耦合到多個(gè)寄存器(72)的多個(gè)輸出端。
5.一種具有先進(jìn)先出緩沖器的數(shù)據(jù)處理系統(tǒng)(20),其特征在于,該先進(jìn)先出緩沖器(72),包括多個(gè)存儲(chǔ)單元(72),該多個(gè)存儲(chǔ)單元被組織成為第一部分(73)和第二部分(75),該多個(gè)存儲(chǔ)單元(72)的每個(gè)存儲(chǔ)單元具有耦合到第一總線(116)的多個(gè)輸入端,和耦合到第二總線(64)的多個(gè)輸出端;和一個(gè)控制邏輯電路(98),耦合到多個(gè)存儲(chǔ)單元(72)用于控制對(duì)第一部分(73)和對(duì)第二部分(75)的訪問;其中多個(gè)存儲(chǔ)單元(72)響應(yīng)于檢制邏輯電路(98),具有第一寬度和第一深度,獨(dú)立地訪問第一和第二部分(73、75),和多個(gè)存儲(chǔ)單元(72)響應(yīng)于控制邏輯電路(98),具有第二寬度和第二深度,共同訪問第一和第二部分(73、75)。
6.根據(jù)權(quán)利要求5的數(shù)據(jù)處理系統(tǒng),其特征在于,第一深度等于第二深度的一半,和第一寬度等于第二寬度的一半。
7.根據(jù)權(quán)利要求5的數(shù)據(jù)處理系統(tǒng)(20),其特征在于,多個(gè)存儲(chǔ)單元(72)作為多個(gè)讀/寫寄存器來表征。
8.根據(jù)權(quán)利要求5的數(shù)據(jù)處理系統(tǒng),其特征在于,第一寬度等于16比特和第一深度等于8個(gè)字,和第二寬度等于32比特和第二深度等于4個(gè)字。
9.一種具有可調(diào)深度/寬度的先進(jìn)先出緩沖器(65)的數(shù)據(jù)處理系統(tǒng)(20),其特征在于,該可調(diào)深度/寬度先進(jìn)先出緩沖器(65)包括存儲(chǔ)單元(73)的第一部分,該存儲(chǔ)單元的第一部分的每個(gè)存儲(chǔ)單元用于存儲(chǔ)第一預(yù)定數(shù)目的數(shù)據(jù)比特,該存儲(chǔ)單元(73)的第一部分耦合到一個(gè)總線(116),存儲(chǔ)單元的第二部分(75),該存儲(chǔ)單元的第二部分的每個(gè)存儲(chǔ)單元用于存儲(chǔ)第二預(yù)定數(shù)目的數(shù)據(jù)比特,該存儲(chǔ)單元的第二部分耦合到總線(116);和一個(gè)控制邏輯電路(98),耦合到存儲(chǔ)單元的第一和第二部分(73、75),該控制邏輯電路(98)響應(yīng)于從具有第一預(yù)定數(shù)目的數(shù)據(jù)比特的總線上取樣第一數(shù)據(jù)字,訪問存儲(chǔ)單元的第一部分的一個(gè)存儲(chǔ)單元,和該控制邏輯電路(98)響應(yīng)于從具有第三預(yù)定數(shù)目的數(shù)據(jù)比特的總線上取樣第二數(shù)據(jù)字,訪問存儲(chǔ)單元第一和第二部分(73、75)兩者的一個(gè)存儲(chǔ)單元,其中第三預(yù)定數(shù)目數(shù)據(jù)位等于第一預(yù)定數(shù)目和第二預(yù)定數(shù)目。
10.根據(jù)權(quán)利要求9的數(shù)據(jù)處理系統(tǒng)(20),其特征在于,先進(jìn)先出緩沖器(65)是主接口單元(24)的一部分。
全文摘要
可調(diào)深度/寬度FIFO緩沖器(65)適合可變寬度數(shù)據(jù)的轉(zhuǎn)移,具有兩個(gè)獨(dú)立地受控的寫寄存器(73、75)部分,用于轉(zhuǎn)移16或32位字,轉(zhuǎn)移16位字時(shí)不浪費(fèi)緩沖器(65)的寄存器空間。當(dāng)緩沖器(65)置穿轉(zhuǎn)移16位字時(shí),存儲(chǔ)空間加深。當(dāng)接口16、32位并行數(shù)據(jù)進(jìn),這使緩沖寄存器(72)利用率最大。緩沖器(65)僅從屬于主處理器,不能起始數(shù)據(jù)輸出,保持設(shè)計(jì)簡(jiǎn)單的和小型。
文檔編號(hào)G06F9/38GK1159629SQ9511928
公開日1997年9月17日 申請(qǐng)日期1995年11月15日 優(yōu)先權(quán)日1994年12月16日
發(fā)明者利奧尼德·斯莫倫斯凱, 謝·科瓦爾, 阿溫那·戈倫, 大衛(wèi)·加蘭蒂 申請(qǐng)人:摩托羅拉公司