專利名稱:數(shù)字信號處理器,濾波處理方法和記錄介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于進行數(shù)字信號處理器(此后稱為DSP)中兩個數(shù)據(jù)表之間的“對積求和”(sum-of-product)處理(此后稱為濾波處理)的技術(shù)。
通常,DSP具有兩個分別布置在不同位置并與各自的獨立數(shù)據(jù)總線連接的存儲器(X存儲器和Y存儲器),并在進行計算處理的同時對這兩個存儲器進行存取。
其中,通過重復(fù)對積求和計算來實現(xiàn)濾波處理。因此,常用的DSP包括一種以硬件形式實現(xiàn)的機理,用于在存取數(shù)據(jù)后重復(fù)對積求和計算或進行地址相加。常規(guī)DSP的基本結(jié)構(gòu)與本發(fā)明的一個實施例中所描述的DSP(
圖1)的基本結(jié)構(gòu)相同,將在對本發(fā)明優(yōu)選實施例的詳細(xì)描述中對其進行專門解釋。下面將參照圖1,7和8對常規(guī)DSP的操作進行說明。
圖7是顯示常規(guī)DSP中進行的濾波處理的流程圖。當(dāng)處理開始時,控制器18分別在數(shù)據(jù)指針寄存器12和13中設(shè)置存儲在X存儲器3和/或Y存儲器4中的要進行濾波的兩個數(shù)據(jù)表各自的頭地址(步驟D1)。當(dāng)根據(jù)所設(shè)置地址存取任意一個數(shù)據(jù)表時,控制器18在地址相加值寄存器14中設(shè)置所要增加到該地址的值,以便讀出隨后的數(shù)據(jù)(步驟D2)。
控制器18通過X數(shù)據(jù)總線5和/或Y數(shù)據(jù)總線6分別從存儲在X存儲器3和/或Y存儲器4中的兩個數(shù)據(jù)表讀出頭數(shù)據(jù)(步驟D3)。然后,控制器18在寄存器19中設(shè)置濾波處理過程中重復(fù)進行對積求和計算的次數(shù)(步驟D4),并控制對積求和計算單元(包括對積求和單元11和寄存器單元10)以便使用兩個數(shù)據(jù)表進行濾波處理(步驟D5)。
在步驟D5的濾波處理過程中,在到達了所設(shè)置的次數(shù)(步驟D5a)之前,控制器18重復(fù)以下操作進行對積求和計算處理;從X存儲器3和/或Y存儲器4中存儲的兩個數(shù)據(jù)表讀取數(shù)據(jù);和增加該數(shù)據(jù)的地址。在必要時,控制器18向數(shù)據(jù)表中寫入數(shù)據(jù)(步驟D5b)。當(dāng)根據(jù)寄存器19中設(shè)置的次數(shù)(步驟D5a),重復(fù)進行了計算處理、讀取數(shù)據(jù)、地址相加和寫入數(shù)據(jù)的操作時,該濾波處理結(jié)束。
如上所述,當(dāng)使用DSP進行濾波處理時,如果分別將兩個數(shù)據(jù)表相互分離地存儲在X存儲器3和Y存儲器4中,在步驟D3和D5b中對兩個數(shù)據(jù)表的寫入數(shù)據(jù)操作和讀出數(shù)據(jù)操作可以在一個時鐘周期內(nèi)并行進行。但是,該兩個數(shù)據(jù)表被存儲在X存儲器和Y存儲器中的一個中,如圖8所示,對兩個數(shù)據(jù)表的寫入數(shù)據(jù)操作和讀出數(shù)據(jù)操作是在兩個時鐘周期內(nèi)進行的。因此,濾波處理的規(guī)模越大,其所需的時間越長。
在這種情況下,在常規(guī)DSP中,事先分別在X存儲器和Y存儲器中布置所要濾波的數(shù)據(jù)表,以便獲得可能的高速濾波處理。但是,在以這種方式布置數(shù)據(jù)表的情況下,用于濾波處理的算法依賴于對X存儲器3和Y存儲器4的區(qū)分。這樣所造成的缺陷是,在不改變算法的情況下無法在兩個存儲器之間傳送數(shù)據(jù)表,并且無法在X存儲器和Y存儲器中靈活地布置數(shù)據(jù)表。
在現(xiàn)今的多媒體處理中,濾波處理的規(guī)模已越來越大,并且存在以多種機理來進行濾波處理的趨勢。例如,在稱為CELP(碼激勵線性預(yù)測)的語音壓縮處理中,編碼器中包括有解碼器中的算法,以便進行預(yù)測處理,從而共同使用多個濾波器。
因此,在很多情況下,在一個專用濾波處理的例程中可能要訪問多個數(shù)據(jù)表。在近年來,傾向于在一個實時OS(操作系統(tǒng))上進行多個多媒體處理。因此,更加需要能夠在動態(tài)地將數(shù)據(jù)布置在X存儲器3和Y存儲器4中的同時,高效地使用有限數(shù)量的存儲器資源。
因此本發(fā)明的一個目的是提供一種數(shù)字信號處理器,一種濾波方法,和一種存儲該方法的計算機可讀記錄介質(zhì),其中能夠高速進行濾波處理以及靈活地布置所要濾波的數(shù)據(jù)表。
根據(jù)本發(fā)明的第一方面,提供一種數(shù)字信號處理器,其具有能夠并行存取的兩個存儲器(3,4),并且所要濾波的兩個數(shù)據(jù)表被存儲在兩個存儲器(3,4)中的任意一個中,該數(shù)字信號處理器包括表確定裝置(18),用于確定兩個數(shù)據(jù)表是否都僅存儲在兩個存儲器(3,4)之一中;存儲區(qū)分配裝置(18),用于當(dāng)表確定裝置確定出兩個數(shù)據(jù)表僅存儲在兩個存儲區(qū)(3,4)之一時分配一存儲區(qū),以便將兩個數(shù)據(jù)表之一復(fù)制到兩個存儲器(3,4)中的另一個存儲器中;第一表復(fù)制裝置(18),用于將兩個數(shù)據(jù)表之一復(fù)制到由存儲區(qū)分配裝置(18)分配的存儲區(qū)中;和濾波處理裝置(10,11,15,16,18),用于使用由第一表復(fù)制裝置(18)復(fù)制的一個數(shù)據(jù)表和僅由兩個存儲器(3,4)中的一個存儲的兩個數(shù)據(jù)表中的另一個數(shù)據(jù)表,進行濾波處理。
在上述數(shù)字信號處理器中,當(dāng)所要濾波的兩個數(shù)據(jù)表僅存儲在兩個存儲器中的一個時,將一個數(shù)據(jù)表復(fù)制到另一個存儲器中所分配的存儲區(qū)。因此,所要濾波的兩個數(shù)據(jù)表被分別存儲在該兩個存儲器中。然后,濾波處理裝置可以并行地存取在不同存儲器中存儲的兩個數(shù)據(jù)表,并進行濾波處理。這使得進行濾波處理所需的時間減少。
在這種數(shù)字信號處理器中,無需為了獲得高速的濾波處理而將所要濾波的兩個數(shù)據(jù)表事先存儲在不同的存儲器中。因此,可以靈活地將所要濾波的數(shù)據(jù)表存儲在任意一個存儲器中,或同時存儲在兩個存儲器中。
根據(jù)本發(fā)明的第二方面,提供了一種記錄有程序的計算機可讀記錄介質(zhì)(20),該程序用于對控制器進行控制以執(zhí)行以下步驟寫確定步驟(步驟A8a),用于在濾波處理步驟(步驟A4-A8)中確定是否進行寫處理以將數(shù)據(jù)寫入濾波處理中復(fù)制到存儲區(qū)的數(shù)據(jù)表中;和第二表復(fù)制步驟(步驟A10),用于將該存儲區(qū)中寫入了數(shù)據(jù)的數(shù)據(jù)表復(fù)制到兩個存儲器(3,4)之一中的原始存儲區(qū)中。
因此,如果獨立于數(shù)字信號處理器提供上述的計算機可讀記錄介質(zhì),可以將常規(guī)使用的數(shù)字信號處理器定制為本發(fā)明的數(shù)字信號處理器。
通過下面的詳細(xì)說明和附圖可以對本發(fā)明的以上目的以及其它目的和優(yōu)點有更清楚的理解,在附圖中圖1是顯示根據(jù)本發(fā)明一個實施例的DSP的結(jié)構(gòu)的方框圖;圖2是顯示根據(jù)本發(fā)明的實施例的濾波處理的流程圖;圖3是專門顯示圖2的濾波處理中包含的存儲器分配處理的流程圖;圖4是解釋存儲器分配處理的圖;圖5是專門顯示圖2的濾波處理中包含的存儲器釋放處理的流程圖;圖6是顯示根據(jù)本發(fā)明實施例,在兩個存儲器之間處理并行載入和存儲操作時,進行對積求和計算的時鐘周期數(shù)目的示意圖;圖7是顯示常規(guī)濾波處理的流程圖;和圖8是顯示根據(jù)常規(guī)方法,在一個存儲器中處理載入和存儲操作時,進行對積求和計算的時鐘周期數(shù)目的示意圖。
下面將參照附圖對本發(fā)明的優(yōu)選實施例進行說明。
圖1是根據(jù)該實施例的DSP的結(jié)構(gòu)的方框圖。如圖所示,該DSP具有分別布置在不同位置的X存儲器3和Y存儲器4。X存儲器3和Y存儲器4分別連接到各自的數(shù)據(jù)總線(即X數(shù)據(jù)總線5和Y數(shù)據(jù)總線6)。在由稍后所述的計算單元進行的計算過程中,可以同時地和并行地存取X存儲器3和Y存儲器4。
X存儲器3在其預(yù)定存儲區(qū)中分別存儲兩個數(shù)據(jù)表A和B。每個數(shù)據(jù)表A和B具有所要濾波的“n”個表單元。該數(shù)目“n”對應(yīng)于后面所述的濾波處理的重復(fù)次數(shù)。
Y存儲器4具有存儲區(qū)4A,如稍后所述,該存儲區(qū)被分配用來復(fù)制另一個數(shù)據(jù)表的數(shù)據(jù)內(nèi)容,并在完成濾波處理后將數(shù)據(jù)內(nèi)容從中釋放。
作為對積求和計算單元的該DSP還包括寄存器單元10,其包括分別用于存儲從數(shù)據(jù)表A和B讀出的數(shù)據(jù)的寄存器7和8,用于存儲代表對積求和計算的前一結(jié)果的數(shù)據(jù)的寄存器9,和用于設(shè)置對積求和計算的重復(fù)次數(shù)的寄存器19;對積求和單元11,用于將寄存器7存儲的數(shù)據(jù)和寄存器8存儲的數(shù)據(jù)相乘,并將所得的乘積和寄存器9存儲的所有數(shù)據(jù)相加。
此外,該DSP具有地址單元16,其包括用于存取X存儲器3和Y存儲器4的數(shù)據(jù)指針寄存器12和13。另外,該DSP具有地址相加值寄存器14和用于在存取數(shù)據(jù)后進行地址相加的地址加法器15。在DSP的這種結(jié)構(gòu)中,寄存器單元10和地址單元16通過主總線17相互連接。
該DSP包括具有ROM 20、RAM 21和CPU 22的控制器18。ROM20可以可拆卸地連接到控制器18,從而可以在需要時用另一個ROM進行替換。ROM 20可以是能夠在其上任意進行數(shù)據(jù)讀/寫的任何其它形式的介質(zhì),例如閃速存儲器等等。CPU 21執(zhí)行存儲在ROM 20中的程序(參見稍后描述的流程圖),而使用RAM 21作為其工作區(qū),使得控制器18能夠控制DSP中的各個部分。
下面將參照圖2的流程圖對根據(jù)該實施例由DSP進行的濾波處理進行說明。以下示例性說明所針對的情況是,兩個數(shù)據(jù)表A和B都存儲在X存儲器3中,數(shù)據(jù)表B被復(fù)制到Y(jié)存儲器4中的預(yù)定存儲區(qū)4A以便進行濾波處理。
控制器18確定是否對應(yīng)于DSP中設(shè)置的算法設(shè)置了所要濾波的數(shù)據(jù)表的存儲類型。換句話說,其確定兩個數(shù)據(jù)表是否被分別存儲在X存儲器3和Y存儲器4中(步驟A1)。在此例中,數(shù)據(jù)表A和B都存儲在X存儲器3中,因此流程前進到步驟A2。
在步驟A2,控制器18在未存儲所要濾波的數(shù)據(jù)表的Y存儲器4中分配預(yù)定存儲區(qū)4A。將在稍后對該“存儲器分配”處理進行專門說明。在分配了Y存儲器4中的存儲區(qū)4A之后,控制器18將作為X存儲器3中存儲的兩個數(shù)據(jù)表之一的數(shù)據(jù)表B復(fù)制到Y(jié)存儲器4中的存儲區(qū)4A中(步驟A3)。
然后,控制器18分別在數(shù)據(jù)指針寄存器12和13中,設(shè)置X存儲器3中存儲的數(shù)據(jù)表A的頭地址和Y存儲器4中的存儲區(qū)4A中存儲的數(shù)據(jù)表B的頭地址(步驟A4)。而且,控制器18在地址相加值寄存器14中設(shè)置地址相加值(步驟A5),其代表了用于存取數(shù)據(jù)表中存儲的下一個數(shù)據(jù)所需的地址。
根據(jù)分別存儲在數(shù)據(jù)指針寄存器12和13中的地址,控制器18通過X數(shù)據(jù)總線5從X存儲器3讀出數(shù)據(jù)表A的頭數(shù)據(jù),并通過Y數(shù)據(jù)總線6從Y存儲器4讀出數(shù)據(jù)表B的頭數(shù)據(jù)。由于數(shù)據(jù)總線5和6是相互獨立設(shè)置的,因此控制器18能夠并行地從數(shù)據(jù)表A和B讀取數(shù)據(jù),并且所讀出的數(shù)據(jù)分別存儲在寄存器7和8中。此后,地址加法器15分別將存儲在數(shù)據(jù)指針寄存器12和13中的值與存儲在地址相加值寄存器14中的值相加,并將所得結(jié)果回寫到數(shù)據(jù)指針寄存器12中(步驟A6)。
而且,控制器18在寄存器19中設(shè)置在濾波處理中對積求和計算所要重復(fù)的次數(shù)(步驟A7)。在設(shè)置完該次數(shù)之后,控制器18控制寄存器單元10、對積求和單元11、地址單元16和地址加法器15,以便在由硬件執(zhí)行循環(huán)處理的情況下,使用數(shù)據(jù)表A和B進行濾波處理(步驟A8)。
在步驟A8的濾波處理中,控制器18確定濾波處理過程中是否要在數(shù)據(jù)表B中進行寫數(shù)據(jù)操作(步驟A8a),此處的數(shù)據(jù)表B已經(jīng)被復(fù)制到Y(jié)存儲器4中的存儲區(qū)4A中。當(dāng)確定要進行寫數(shù)據(jù)操作時,控制器18設(shè)置一預(yù)定寫標(biāo)志,并且流程前進到步驟A8c。反之,當(dāng)確定不進行寫數(shù)據(jù)操作時,則不設(shè)置預(yù)定標(biāo)志而使流程前進到步驟A8c。
在到達寄存器19中設(shè)置的次數(shù)之前(步驟A8c),包括寄存器單元10和對積求和單元11的對積求和計算單元執(zhí)行以下處理計算對積求和,從X存儲器3和Y存儲器4讀出數(shù)據(jù),進行存儲在數(shù)據(jù)指針寄存器12和13中的地址的加法,以及在需要時將數(shù)據(jù)寫入數(shù)據(jù)表A和B(步驟A8d)。
具體地說,對積求和計算單元將存儲在寄存器8中的數(shù)據(jù)與存儲在寄存器7中的數(shù)據(jù)相乘,將存儲在寄存器9中的數(shù)據(jù)與所得乘積相加,并將所得結(jié)果回寫到寄存器9中。從X存儲器3和Y存儲器4讀出數(shù)據(jù),以及對設(shè)置在數(shù)據(jù)指針寄存器12和13中的地址進行加法的處理與步驟6A中相同。
如果進行對積求和計算的次數(shù)達到了寄存器19中設(shè)置的次數(shù)(A8c),則控制器18確定步驟A2中是否實現(xiàn)了存儲器中預(yù)定存儲區(qū)的分配(步驟A9)。在該實施例中,已在Y存儲器4中分配了存儲區(qū)4A以便復(fù)制數(shù)據(jù)表B,因此流程前進到步驟A10。
在步驟A10中,根據(jù)是否設(shè)置了寫標(biāo)志,控制器18檢查在步驟A8d中是否在已被復(fù)制到存儲區(qū)4A中的數(shù)據(jù)表B中進行了寫數(shù)據(jù)操作。在進行了寫操作的情況下,控制器18將已被復(fù)制到Y(jié)存儲器4中的存儲區(qū)4A中的數(shù)據(jù)表B復(fù)制到X存儲器3中的某存儲區(qū),即數(shù)據(jù)表B原來所被存儲的存儲區(qū)。
控制器18將步驟A2中所分配的存儲區(qū)4A從Y存儲器4中釋放(步驟A11)。稍后將對該“存儲器釋放”處理進行專門說明。然后,流程結(jié)束,并且使用數(shù)據(jù)表A和B的濾波處理終止。
與上述例子不同,在所要濾波的兩個數(shù)據(jù)表被分別存儲在X存儲器3和Y存儲器4中的情況下,流程從步驟A1直接前進到步驟A4。此外,在兩個數(shù)據(jù)表被分別存儲在它們的原始存儲器中的狀態(tài)下,從步驟A4直至A8執(zhí)行濾波處理。在此情況下,不在步驟A2中進行存儲器分配處理,因此一旦步驟A9中的確定終止,則該流程圖的濾波處理結(jié)束。
下面將參照圖3所示的流程圖和圖4所示的解釋圖對步驟A2中的“存儲器分配”處理進行專門說明??刂破?8確定Y存儲器4中連續(xù)存儲區(qū)的大小是否大于等于所要分配的存儲區(qū)4A的大小,即數(shù)據(jù)表B的大小(步驟B1)。在連續(xù)存儲區(qū)的大小大于等于所要分配的存儲區(qū)的大小的情況下,流程前進到步驟B3。
反之,在連續(xù)自由存儲區(qū)的大小小于所要分配的存儲區(qū)的大小的情況下,控制器18執(zhí)行一定處理,以在Y存儲器4中準(zhǔn)備一大小足夠用于數(shù)據(jù)表B的自由存儲區(qū)。在該處理過程中,控制器18通過壓縮處理(compaction process)來聚集例如Y存儲器4中不連續(xù)的自由存儲區(qū),或?qū)存儲器4中存儲的無需用于濾波處理的數(shù)據(jù)復(fù)制到X存儲器3中(步驟B2),然后流程前進到步驟B3。
在步驟B3中,控制器18設(shè)置Y存儲器4中的一自由存儲區(qū)的頭地址(在被分配之前該自由存儲區(qū)的地址中的頭地址),其將作為一個參數(shù)被從該子例程發(fā)送到主例程。即,控制器18設(shè)置該自由存儲區(qū)的頭地址作為要在Y存儲器4中分配的存儲區(qū)4A的頭地址。
而且,控制器18在將該自由存儲區(qū)分配作為存儲區(qū)4A之前,從其中減去所分配的存儲區(qū)4A的大小,并將所得值設(shè)置為Y存儲器4中一新自由存儲區(qū)的大小(步驟B4)。然后,控制器18更新Y存儲器4中該自由存儲區(qū)的頭地址,并且該存儲器分配處理的流程圖結(jié)束,返回圖2中所示的主例程。
下面將參照圖5所示的流程圖對步驟A11的“存儲器釋放”處理進行專門說明??刂破?8將Y存儲器4中當(dāng)前自由存儲區(qū)的大小與在步驟A2中已分配的存儲區(qū)4A的大小相加,并將所得結(jié)果設(shè)置為Y存儲器4中自由存儲區(qū)的大小(步驟C1)。此后,控制器18更新Y存儲器4的自由存儲區(qū)的頭地址(步驟C2),并且該流程圖的存儲器釋放處理結(jié)束,返回圖2中所示的主例程。
對于如上所述根據(jù)該實施例的DSP,在所要濾波的兩個數(shù)據(jù)表A和B都被存儲在X存儲器3中的情況下,將數(shù)據(jù)表B復(fù)制到例如Y存儲器4中的存儲區(qū)4A中,然后進行濾波處理。因此,在步驟A6或步驟A8d中,可以并行地進行從X存儲器3讀取數(shù)據(jù)表A中存儲的數(shù)據(jù)和從Y存儲器4讀取數(shù)據(jù)表B中存儲的數(shù)據(jù)。因此,如圖6所示,讀取以上數(shù)據(jù)僅需一個時鐘周期。
對數(shù)據(jù)表的復(fù)制會增加濾波處理所需的時間周期。但是,例如在形成數(shù)據(jù)表的單元數(shù)目被設(shè)置為80并且所進行的計算次數(shù)是240的情況下,與在兩個數(shù)據(jù)表被存儲在同一存儲器的狀態(tài)下進行濾波處理的情形相比,根據(jù)該實施例的DSP的速度性能如下所示得以改善(1)在僅從數(shù)據(jù)表讀取數(shù)據(jù)的情況下{(240×2)-(80+249)}/(240×2)≈33%(2)在向數(shù)據(jù)表寫入數(shù)據(jù)的情況下{(240×2)-(80×2+249)}/(240×2)≈17%因此,根據(jù)該實施例的DSP能夠使用兩個數(shù)據(jù)表以高速執(zhí)行濾波處理。另外,存儲在數(shù)據(jù)表中的所要計算的數(shù)據(jù)量越大,其速度差別越明顯。在所要濾波的兩個數(shù)據(jù)表最初相互分離地分別處于X存儲器3和Y存儲器4中的情況下,常規(guī)情況中同樣可以以高速進行濾波處理。
此外,在根據(jù)該實施例的DSP中,即使在所要濾波的兩個數(shù)據(jù)表事先沒有相互分離地分別處于X存儲器3和Y存儲器4中的情況下,濾波處理所需的時間也明顯減少。因此,無需考慮數(shù)據(jù)表在存儲器中的布置方式,可以靈活地將數(shù)據(jù)表布置在X存儲器3和Y存儲器4中。
在上述實施例中,對于存儲在X存儲器3中的數(shù)據(jù)表A和B,將數(shù)據(jù)表B復(fù)制到Y(jié)存儲器4中所分配的存儲區(qū)4A中,從而進行濾波處理。類似地,對于存儲在Y存儲器4中的兩個數(shù)據(jù)表,可以將其中之一復(fù)制到X存儲器3中所分配的存儲區(qū)中,從而進行濾波處理。
在上述實施例中,在由硬件執(zhí)行的循環(huán)處理(步驟A8)的開始要確定在所復(fù)制的數(shù)據(jù)表B中是否要進行寫數(shù)據(jù)操作。當(dāng)確定要進行寫操作時,則設(shè)置寫標(biāo)志(步驟A8b)。應(yīng)注意,當(dāng)不經(jīng)過步驟A8b的處理而在步驟A8d中進行數(shù)據(jù)表B中的寫數(shù)據(jù)操作時,也可以設(shè)置寫標(biāo)志??梢栽诓襟EA10之前的任何其它步驟確定在數(shù)據(jù)表B中是否進行寫數(shù)據(jù)操作。
在上述實施例中,CPU 22執(zhí)行存儲在ROM 22中的程序,使得控制器18能夠控制DSP中的各個部分并進行濾波處理。存儲有程序的這種ROM 20可以與DSP分離地配送和出售。此外,包含在控制器18中的由CPU執(zhí)行的程序可以存儲在計算機可讀記錄介質(zhì)上,例如磁盤或光盤這樣的除了ROM芯片以外的介質(zhì),并且可以配送、出售,和載入控制器18的存儲器(例如閃速存儲器)中。通過用任何其它記錄介質(zhì)代替ROM 20或者將程序重新載入到控制器18中的存儲器中,能夠?qū)⒊R?guī)使用的DSP定制為本發(fā)明的DSP。
在不偏離本發(fā)明精神和范圍的情況下,可以有各種實施例和改變。上述實施例僅用于例示本發(fā)明,并不限制本發(fā)明的范圍。本發(fā)明的范圍應(yīng)由所附權(quán)利要求而不是實施例來表示。在本發(fā)明權(quán)利要求的等價范圍內(nèi)可以進行各種修改,這些修改應(yīng)被認(rèn)為屬于本發(fā)明的范圍之內(nèi)。
本申請以1999年5月17日申請的日本專利申請No.H11-135348為基礎(chǔ),包括說明書,權(quán)利要求,附圖和摘要。該在先申請的內(nèi)容被包含在本申請中作為參考。
權(quán)利要求
1.一種數(shù)字信號處理器,具有兩個能夠并行存取的存儲器(3,4),所要濾波的兩個數(shù)據(jù)表被存儲在兩個存儲器(3,4)中的任意一個中,所述處理器包括表確定裝置(18),用于確定兩個數(shù)據(jù)表是否都僅存儲在兩個存儲器(3,4)之一中;存儲區(qū)分配裝置(18),用于當(dāng)所述表確定裝置確定兩個數(shù)據(jù)表僅存儲在兩個存儲器(3,4)之一中時,分配一存儲區(qū),以便將兩個數(shù)據(jù)表之一復(fù)制到兩個存儲器(3,4)中的另一個存儲器中;第一表復(fù)制裝置(18),用于將兩個數(shù)據(jù)表之一復(fù)制到由存儲區(qū)復(fù)制裝置(18)分配的存儲區(qū)中;和濾波處理裝置(10,11,15,16,18),用于使用由所述第一表復(fù)制裝置(18)復(fù)制的一個數(shù)據(jù)表和僅存儲在兩個存儲器(3,4)之一中的兩個數(shù)據(jù)表中的另一個數(shù)據(jù)表,進行濾波處理。
2.根據(jù)權(quán)利要求1的數(shù)字信號處理器,還包括存儲器釋放裝置(18),用于當(dāng)由所述存儲區(qū)分配裝置(18)在兩個存儲器(3,4)中的另一個存儲器中分配了存儲區(qū),并由所述濾波處理裝置(10,11,15,16,18)進行了濾波處理后,釋放所分配的存儲區(qū)。
3.根據(jù)權(quán)利要求1的數(shù)字信號處理器,還包括寫確定裝置(18),用于確定在由所述濾波處理裝置(10,11,15,16,18)進行的濾波處理中,是否進行了將數(shù)據(jù)寫入被復(fù)制到存儲區(qū)中的數(shù)據(jù)表中的寫處理;和第二復(fù)制裝置(18),用于將被復(fù)制到存儲區(qū)中并被寫入數(shù)據(jù)的數(shù)據(jù)表復(fù)制到兩個存儲器(3,4)之一中的原始存儲區(qū)中。
4.根據(jù)權(quán)利要求1的數(shù)字信號處理器,其中當(dāng)所述表確定裝置(18)確定兩個數(shù)據(jù)表被分別存儲在兩個存儲器(3,4)中時,所述濾波處理裝置(10,11,15,16,18)使用存儲在存儲器中的每個數(shù)據(jù)表進行濾波處理。
5.一種數(shù)字信號處理器,包括兩個存儲器(3,4),可并行存取,其中的任意一個存儲器存儲所要濾波的兩個數(shù)據(jù)表;濾波處理器(10,11),通過各自的總線(5,6)分別連接到所述兩個存儲器(3,4),并對包含在兩個數(shù)據(jù)表中的數(shù)據(jù)進行濾波處理;地址提供器(15,16),順序地提供用于對兩個存儲器(3,4)讀/寫數(shù)據(jù)的地址;和控制器(18),控制所述濾波處理器(10,11)和所述地址提供器(15,16),其中所述控制器(18)控制以下操作,當(dāng)確定兩個數(shù)據(jù)表都僅存儲在兩個存儲器(3,4)之一中時,在兩個存儲器(3,4)中的另一個中分配一存儲區(qū),該存儲區(qū)用于復(fù)制兩個數(shù)據(jù)表之一,將兩個數(shù)據(jù)表之一復(fù)制到所分配的存儲區(qū)中,和控制所述地址提供器(15,16)以便順序地提供所復(fù)制的數(shù)據(jù)表的地址和存儲在兩個存儲器(3,4)之一中的兩個數(shù)據(jù)表中的另一個數(shù)據(jù)表的地址,以及控制所述濾波處理器(10,11)以進行濾波處理。
6.根據(jù)權(quán)利要求5的數(shù)字信號處理器,其中當(dāng)在兩個存儲器(3,4)中的另一個存儲器中分配了存儲區(qū),并完成了濾波處理后,所述控制器(18)釋放所分配的存儲區(qū)。
7.根據(jù)權(quán)利要求5的數(shù)字信號處理器,其中所述控制器(18)確定是否在濾波處理中復(fù)制到存儲區(qū)中的數(shù)據(jù)表中進行了寫數(shù)據(jù)處理;和所述控制器(18)在確定進行了將數(shù)據(jù)寫入所復(fù)制的數(shù)據(jù)表的寫處理后,進行控制以將存儲區(qū)中被寫入數(shù)據(jù)的數(shù)據(jù)表復(fù)制到兩個存儲器(3,4)之一中的原始存儲區(qū)。
8.一種數(shù)字信號處理器中的濾波處理方法,該數(shù)字信號處理器具有兩個能夠并行存取的存儲器(3,4)和用于對所要濾波的兩個數(shù)據(jù)表中的數(shù)據(jù)進行濾波處理的濾波處理器(10,11),其中該兩個數(shù)據(jù)表可以存儲在兩個存儲器(3,4)中的任何一個中,所述方法包括確定兩個數(shù)據(jù)表是否都僅存儲在兩個存儲器(3,4)之一中;當(dāng)確定兩個數(shù)據(jù)表都僅存儲在兩個存儲器(3,4)之一中時,在兩個存儲器(3,4)中的另一個中分配一用于復(fù)制兩個數(shù)據(jù)表之一的存儲區(qū);將兩個數(shù)據(jù)表之一復(fù)制到所分配的存儲區(qū);使用所復(fù)制的數(shù)據(jù)表和存儲在兩個存儲器(3,4)之一中的兩個數(shù)據(jù)表中的另一個數(shù)據(jù)表,控制所述濾波處理器(10,11)以進行濾波處理。
9.根據(jù)權(quán)利要求8的濾波處理方法,還包括如下步驟當(dāng)在兩個存儲器(3,4)中的另一個存儲器中分配了存儲區(qū),并完成了濾波處理后,釋放所分配的存儲區(qū)。
10.根據(jù)權(quán)利要求8的濾波處理方法,還包括確定在濾波處理中是否在復(fù)制到存儲區(qū)中的數(shù)據(jù)表中進行了寫入數(shù)據(jù)的寫處理;和當(dāng)確定在所復(fù)制的數(shù)據(jù)表中進行了寫入數(shù)據(jù)的寫處理時,將被寫入數(shù)據(jù)的數(shù)據(jù)表復(fù)制到兩個存儲器(3,4)之一中的原始存儲區(qū)。
11.一種存儲有程序的計算機可讀記錄介質(zhì)(20),該程序用于控制數(shù)字信號處理器,該數(shù)字信號處理器具有兩個能夠并行存取的存儲器(3,4)和用于對所要濾波的兩個數(shù)據(jù)表中包含的數(shù)據(jù)進行濾波處理的濾波處理器(10,11),其中兩個數(shù)據(jù)表可以存儲在兩個存儲器中的任何一個中,所述記錄介質(zhì)(20)存儲的程序用于控制所述數(shù)字信號處理器的計算機以執(zhí)行以下步驟表確定步驟(步驟A1),用于確定兩個數(shù)據(jù)表是否都僅存儲在兩個存儲器(3,4)之一中;存儲區(qū)分配步驟(步驟A2),用于當(dāng)所述表確定步驟(步驟A1)中確定兩個數(shù)據(jù)表都僅存儲在兩個存儲器(3,4)之一中時,分配一存儲區(qū),以便將兩個數(shù)據(jù)表之一復(fù)制到兩個存儲器中的另一個存儲器中;第一表復(fù)制步驟(步驟A3),用于將兩個數(shù)據(jù)表之一復(fù)制到所述存儲區(qū)分配步驟(A2)中分配的存儲區(qū)中;和濾波處理步驟(步驟A4-A8),用于使用在所述第一表復(fù)制步驟(步驟A3)中復(fù)制的兩個數(shù)據(jù)表中的一個數(shù)據(jù)表和存儲在兩個存儲器(3,4)之一中的兩個數(shù)據(jù)表中的另一個數(shù)據(jù)表,控制所述濾波處理器(10,11)以進行濾波處理。
12.根據(jù)權(quán)利要求11的計算機可讀記錄介質(zhì)(20),其中所述濾波處理步驟(步驟A4-A8)包括控制所述數(shù)字信號處理器中包含的地址單元(16),以便順序地輸出用于存取兩個數(shù)據(jù)表的地址;和根據(jù)利用從地址單元(16)順序輸出的地址從兩個數(shù)據(jù)表讀出的數(shù)據(jù),控制所述濾波處理器(10,11)以進行濾波處理。
13.根據(jù)權(quán)利要求11的計算機可讀記錄介質(zhì)(20),其上記錄的程序還用于控制控制器執(zhí)行以下步驟存儲器釋放步驟(步驟A11),用于當(dāng)在所述存儲區(qū)分配步驟(步驟A2)中在兩個存儲器(3,4)中的另一個存儲器中分配了用于數(shù)據(jù)表的存儲區(qū),并在所述濾波處理步驟(步驟A4-A8)中完成了濾波處理后,釋放所分配的存儲區(qū)。
14.根據(jù)權(quán)利要求11的計算機可讀記錄介質(zhì)(20),其上記錄的程序還用于控制控制器執(zhí)行以下步驟寫確定步驟(步驟A8a),用于確定在所述濾波處理步驟(步驟A4-A8)中在濾波處理中是否進行了將數(shù)據(jù)寫入被復(fù)制到存儲區(qū)中的數(shù)據(jù)表中的寫處理;和第二表復(fù)制步驟(步驟A10),用于將在存儲區(qū)內(nèi)的被寫入數(shù)據(jù)的數(shù)據(jù)表復(fù)制到兩個存儲器(3,4)之一中的原始存儲區(qū)。
全文摘要
在DSP中,在寄存器單元(10)和對積求和單元(11)進行對積求和計算的過程中,可以相互并行地和同時地存取X存儲器(3)和Y存儲器(4)。當(dāng)控制器(18)確定所要濾波的數(shù)據(jù)表A和B都被存儲在X存儲器(3)中時,其在Y存儲器(4)中分配一存儲區(qū)(4a),并將數(shù)據(jù)表B復(fù)制到該存儲區(qū)(4a)??刂破?18)控制包含寄存器單元(10)和對積求和單元(11)的對積求和計算單元,以執(zhí)行對積求和計算處理(濾波處理)。
文檔編號H03H17/02GK1274128SQ0010753
公開日2000年11月22日 申請日期2000年5月17日 優(yōu)先權(quán)日1999年5月17日
發(fā)明者三棲勝哉 申請人:日本電氣株式會社