麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種數據處理裝置及數字信號處理器的制造方法

文檔序號:6489323閱讀:223來源:國知局
一種數據處理裝置及數字信號處理器的制造方法
【專利摘要】本發明公開了一種數據處理裝置及數字信號處理器,包括:第一算術邏輯模塊、第一乘法器、第二乘法器、第三乘法器、第四乘法器、加法器、減法器、多路選擇器。還公開了一種包括數據處理裝置的數字信號處理器,數據處理裝置,用于對來自寄存器組的數據進行乘法操作處理,并將所得結果存入所述寄存器組。本發明提供的數據處理裝置能夠支持各種不同數據類型的乘法運算,從而使完成各種類型的乘法運算所需的乘法器件的使用個數減少。
【專利說明】一種數據處理裝置及數字信號處理器
【技術領域】
[0001]本發明涉及數據處理,特別涉及一種數據處理裝置及DSP (digital signalprocessor,數字信號處理器)。
【背景技術】
[0002]DSP是一種以數字信號來處理大量信息的器件。其工作原理是接收模擬信號,轉換為O或I的數字信號,再對數字信號進行修改、刪除、強化,并在其它系統芯片中把數字數據解譯回模擬數據或實際環境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數以千萬條復雜指令程序,遠遠超過通用微處理器,是數字化電子世界中日益重要的電腦芯片。其中,它最值得稱道的兩大特色是強大數據處理能力和高運行速度。即,DSP是處理大量數據的且能夠進行指令執行、邏輯和算術運算的一片電路。
[0003]FFT (Fast Fourier Transform,快速傅立葉變換)運算和數字濾波等運算都需要大量的重復的乘法運算、乘加運算以及蝶形運算等多種數據類型的運算,為了使DSP處理器能夠高效地進行更深更復雜的運算和一些相關的訪存操作,需要對乘法運算單元進行優選,減少運算所需的電路數量。
[0004]圖1為現有DSP結構示意圖,如圖所示,乘法運算單元是應用于流水線執行級的功能單元,可以用于各種結構的處理器中,如SIMD (Single Instruction Multiple Data,單指令多數據流)、VLIW (Very Long Instruction Word,超長指令字)和超標量處理器等。DSP運行時首先是從指令緩存或程序存儲器中取出指令發送給譯碼單元進行指令譯碼。在譯碼過程中,系統會識別出指令將要進行的操作,即產生操作控制信號,并識別出操作數的位置索引等,大多數的DSP都是寄存器尋址。在流水線的執行級,根據操作數的位置索引號訪問寄存器堆,相應的操作數被讀出,輸入到相應的功能單元執行算術邏輯操作或進行訪存地址生成操作等。乘法運算單元的輸入就來自于寄存器的訪問輸出,經過乘法運算單元的處理,輸出結果最終寫回寄存器。
[0005]現有技術的不足在于:現有乘法運算單元只是對不同位數輸入數據的乘法操作在靈活性方面提供支持,包括16位乘法和8位乘法的選擇等。雖然其過程可用于復數乘法的實部和虛部運算以及32位乘法各個部分運算等,但是仍然不能同時支持所有數據類型的乘法的運算,例如32位的復數乘法運算以及32位的整數乘法運算等。

【發明內容】

[0006]本發明實施例中提供了一種數據處理裝置及DSP,用以提供一種能夠求得不同數據類型的各種乘法的運算結果的數據處理裝置及DSP。
[0007]本發明實施例中提供了一種數據處理裝置,包括:第一算術邏輯模塊、第一乘法器、第二乘法器、第三乘法器、第四乘法器、加法器、減法器、多路選擇器,其中:
[0008]第一算術邏輯模塊,用于在接收到第一輸入數據與第二輸入數據后,將第一輸入數據拆分為第一高位數據與第一低位數據后,在對第一高位數據進行擴展后取絕對值得到第一高位絕對值數據,在對第一低位數據進行擴展后取絕對值得到第一低位絕對值數據;以及,將第二輸入數據拆分為第二高位數據與第二低位數據后,在對第二高位數據進行擴展后取絕對值得到第二高位絕對值數據,在對第二低位數據進行擴展后取絕對值得到第二低位絕對值數據;
[0009]第一算術邏輯模塊還用于向第一乘法器輸出第一高位絕對值數據與第二高位絕對值數據、向第二乘法器輸出第一高位絕對值數據與第二低位絕對值數據、向第三乘法器輸出第一低位絕對值數據與第二高位絕對值數據、向第四乘法器輸出第一低位絕對值數據與第二低位絕對值數據;
[0010]第一乘法器,用于對輸入的數據進行乘法運算后得到第一數據,并分別向減法器和多路選擇器輸出第一數據;
[0011]第二乘法器,用于對輸入的數據進行乘法運算后得到第二數據,并向加法器輸出第二數據;
[0012]第二乘法器,用于對輸入的數據進行乘法運算后得到第三數據,并向加法器輸出第三數據;
[0013]第四乘法器,用于對輸入的數據進行乘法運算后得到第四數據,并分別向減法器和多路選擇器輸出第四數據;
[0014]加法器,用于對輸入的數據進行加法運算后得到第五數據,并向多路選擇器輸出第五數據;
[0015]減法器,用于對輸入的數據進行減法運算后得到第六數據,并向多路選擇器輸出第六數據;
[0016]多路選擇器,用于根據后續運算的需要在第一數據、第四數據、第五數據、第六數據中選擇相應的數據輸出。
[0017]較佳地,還可以進一步包括:第二算術邏輯模塊,用于對多路選擇器輸出的數據進行后續運算處理。
[0018]本發明實施例中還提供了一種DSP,包括數據處理裝置,其中:
[0019]數據處理裝置,用于對來自寄存器組的數據進行乘法操作處理,并將所得結果存入所述寄存器組。
[0020]本發明有益效果如下:
[0021]在實施中,由于會將輸入的2種數據拆分為高位數據與低位數據,在擴展后取絕對值,通過乘法器以及加法器、減法器進行相應的處理得到4種數據,這4種數據能夠滿足后續的各種后處理操作,只需通過多路選擇器進行相應的選擇即可。因此,與現有技術相t匕,本發明實施例中提供的數據處理裝置能夠支持各種不同數據類型的乘法運算,從而使完成各種類型的乘法運算所需的乘法器件的使用個數減少。
[0022]同時,將輸入的數據進行拆分后輸入到多個更小位數的并行的乘法器中處理,相比于直接將輸入數據輸入到一個較大位數的乘法器進行處理,大大減小了延遲。
[0023]進一步的,其他和乘法相關的操作也可以共享此數據處理裝置,只要在第二算術邏輯模塊中增加對此操作的后處理邏輯即可,因此本裝置還具有可擴展性和靈活性。
【專利附圖】

【附圖說明】[0024]圖1為現有DSP結構示意圖;
[0025]圖2為本發明實施例中數據處理裝置結構示意圖;
[0026]圖3為本發明實施例中第二算術邏輯模塊結構示意圖;
[0027]圖4為本發明實施例中數據處理裝置用于蝶形運算的示意圖;
[0028]圖5為本發明實施例中復數乘法運算流程示意圖;
[0029]圖6為本發明實施例中DSP結構示意圖。
【具體實施方式】
[0030]下面結合附圖對本發明的【具體實施方式】進行說明。
[0031]圖2為數據處理裝置結構示意圖,如圖所示,在數據處理裝置中可以包括:第一算術邏輯模塊、第一乘法器、第二乘法器、第三乘法器、第四乘法器、加法器、減法器、多路選擇器,其中:
[0032]第一算術邏輯模塊,用于在接收到第一輸入數據與第二輸入數據后,將第一輸入數據拆分為第一高位數據與第一低位數據后,在對第一高位數據進行擴展后取絕對值得到第一高位絕對值數據,在對第一低位數據進行擴展后取絕對值得到第一低位絕對值數據;以及,將第二輸入數據拆分為第二高位數據與第二低位數據后,在對第二高位數據進行擴展后取絕對值得到第二高位絕對值數據,在對第二低位數據進行擴展后取絕對值得到第二低位絕對值數據;
[0033]第一算術邏輯模塊還用于向第一乘法器輸出第一高位絕對值數據與第二高位絕對值數據、向第二乘法器輸出第一高位絕對值數據與第二低位絕對值數據、向第三乘法器輸出第一低位絕對值數據與第二高位絕對值數據、向第四乘法器輸出第一低位絕對值數據與第二低位絕對值數據;
[0034]第一乘法器,用于對輸入的數據進行乘法運算后得到第一數據,并分別向減法器和多路選擇器輸出第一數據;
[0035]第二乘法器,用于對輸入的數據進行乘法運算后得到第二數據,并向加法器輸出第二數據;
[0036]第二乘法器,用于對輸入的數據進行乘法運算后得到第三數據,并向加法器輸出第三數據;
[0037]第四乘法器,用于對輸入的數據進行乘法運算后得到第四數據,并分別向減法器和多路選擇器輸出第四數據;
[0038]此時,第一數據、第二數據、第三數據、第四數據得到的是無符號數據,即都是正數,需在輸出到加法器或減法器或第二算術邏輯單元前,根據原乘法操作數的符號還原成相應的帶符號數據。(例如需要進行5*(-4) =-20的運算,第一算術邏輯單元將乘法操作數變成5和4,所以乘法器輸出為20,需還原成-20。)
[0039]加法器,用于對輸入的數據進行加法運算后得到第五數據,并向多路選擇器輸出第五數據;
[0040]減法器,用于對輸入的數據進行減法運算后得到第六數據,并向多路選擇器輸出第六數據;
[0041]多路選擇器,用于根據后續運算的需要在第一數據、第四數據、第五數據、第六數據中選擇相應的數據輸出。
[0042]由上述實施例可見,本發明實施例中提出的數據處理裝置是一種可以進行多種數據類型的乘法運算的乘法單元,其可以用于DSP中,在該裝置中可以包括4個并行的乘法器,每個乘法器含有兩個數據輸入和一個數據輸出。一個加法器與一個減法器,可以進行加法或減法運算。一個多路選擇器,進行用于不同數據類型的乘法的輸入數據選擇。進一步的,還可以包括一片算術邏輯電路,進行不同的算術運算,如蝶形運算中的多個加法和減法操作,saturate和round操作等,其中,saturate和round操作分別是為防止數據溢出進行的操作以及四舍五入操作。即:
[0043]實施中,在數據處理裝置中還可以進一步包括:
[0044]第二算術邏輯模塊,用于對多路選擇器輸出的數據進行后續運算處理。
[0045]圖3為第二算術邏輯模塊結構示意圖,如圖所示,在增加了第二算術邏輯模塊后,數據處理裝置所支持的數據類型可以有:整數乘法運算,復數乘法運算,定點數乘法運算,混合類型乘法運算,乘加運算以及蝶形運算等。混合型乘法包括實部和虛部都是整數的復數乘法以及實部和虛部都是定點數的復數乘法。也即:
[0046]實施中,第二算術邏輯模塊還可以進一步用于對多路選擇器輸出的數據進行二進制數據的連接和拆分。
[0047]實施中,第二算術邏輯模塊還可以進一步用于對多路選擇器輸出的數據進行以下之一或者其組合的后續運算處理:整數乘法運算、復數乘法運算、定點數乘法運算、混合型乘法運算、乘加運算、蝶形運算。
[0048]實施中,第二算術邏輯模塊還可以進一步用于進行包括實部和虛部都是整數的復數乘法以及實部和虛部都是定點數的復數乘法的混合型乘法運算。
[0049]相應的,在實施中,可以根據在后續需要進行的運算處理來確定多路選擇器選擇的數據輸出。即:
[0050]實施中,多路選擇器還可以進一步用于在后續運算處理為復數乘法或混合型乘法運算時,輸出第五數據、第六數據;在后續運算處理為整數乘法或定點數乘法或蝶形運算時,輸出第一數據、第四數據;在后續運算處理為乘加運算時,定點數的乘加運算輸出第一數據和第四數據,復數的乘加運算輸出第五數據和第六數據。
[0051 ] 實施中,多路選擇器可以進一步用于根據指令的操作碼進行選擇。
[0052]下面以第一輸入數據與第二輸入數據為32bit操作數的實施進行說明。
[0053]實施中,第一算術邏輯模塊可以進一步用于接收32bit操作數的第一輸入數據與第二輸入數據,拆分為16位數據的高位數據與16位數據的低位數據,并擴展成17位的絕對值數據。
[0054]實施中,第一算術邏輯模塊可以進一步用于接收32bit操作數的第一輸入數據與第二輸入數據,所述32bit操作數是兩個復數,實部為16位,虛部為16位;或者是兩個16位的整數或定點數。
[0055]具體實施中,以圖2所示的數據處理裝置為例,則輸入為兩個32位的二進制數據,分別記為srcl和src2,它們可以是兩個復數,實部為16位,虛部為16位,也可以將srcl和src2分別看成是兩個16位的整數或定點數。因此通過圖2所示結構可以同時進行16比特整數乘法或16比特定點數乘法以及32比特復數乘法。下面為了便于描述,將srcl和src2的高 16 位和低 16 位分別定義為 srcl_real 和 srcl_img, src2_real 和 src2_img。
[0056]圖2中所示的第一算術邏輯模塊主要是進行拆分和符號擴展的操作,即將兩個32位的輸入分別拆分成兩個16位的操作數進行運算。同時,為了避免在后續的操作中數據溢出,第一算術邏輯模塊內部還包含一個操作就是將得到的4個16bit的數據符號擴展成4個17bit的數據,然后取這些數據的絕對值,并分別把它們連接到不同的乘法器。
[0057]擴展出來的位數用于保證數據的正確性,因為在進行各種數據轉換和操作的過程中,可能造成數據溢出,如果沒有擴展位,數據就會有出錯可能,擴展也是本領域技術人員易于理解的處理手段。
[0058]第一乘法器的輸入數據為srcl_real和src2_real,第二乘法器輸入數據為srcl_real和src2_img,第三乘法器的輸入數據為srcl_img和src2_real,第四乘法器的輸入數據為srcl_img和src2_img。4個并行的17bit*17bit乘法器同時運算得到的結果為34位,分別是:
[0059]srcl_real*src2_real,記為 A ;
[0060]srcl_real*src2_img,記為 B ;
[0061]srcl_img*src2_real,記為 C ;
[0062]srcl_img*src2_img,記為 D。
[0063]根據復數乘法的公式(a+bi)*(c+di) = (a*c - b*d) + (a*d+b*c) i,上述四個乘法運算正好對應此復數乘法公式中的4個乘法。接下來,如圖2所示,將B和C相加結果記為E,A和D相減結果記為F,這兩個操作都由加法器來完成,只是在進行減法操作前被減數進行求補操作即可。目前所得到的4個結果A、D、E、F可以劃分成兩組,分別是A和D用于整數乘法和定點數乘法以及蝶形運算的后處理,另一組E和F用于復數乘法和混合型乘法運算的后處理。圖2中的多路選擇器(即MUX)就是用于這兩組數據的選擇操作,選擇條件可以來自于指令的操作碼。而第二算術邏輯模塊是用于各種數據類型運算的后處理的。所包含的數據類型如圖3所示,后處理邏輯大多是一些二進制數據拆分和拼接邏輯以及saturate和round操作,同時乘加運算的后處理邏輯是加法操作,而蝶形運算的后處理邏輯是一些加法或減法操作。同時,在后處理邏輯中得到指定位數的操作結果。
[0064]當減法運算使用加法器來實現時,被減數需要進行求補操作,這是加法運算和減法運算共同用加法來完成的操作,這是本領域技術人員易于理解的處理手段。
[0065]圖3中所示的連接到各個后處理邏輯的線代表控制信號,以選擇需要執行的邏輯。例如,進行兩個32bit的復數乘法運算,兩個操作數的實部和虛部分別為16bit,經過圖2所示第一算術邏輯模塊使得每個操作數的實部和虛部變成17bit的絕對值數據。再根據上面所述的處理之后得到復數乘法結果的實部和虛部,但此時它們分別是34bit,并經過MUX輸出進入第二算術邏輯模塊,在控制信號的選擇下,復數乘法的的后處理邏輯對其進行處理。如果要求得到的結果的實部和虛部分別是16bit數據,那么在復數乘法的后處理邏輯中,可以對34bit數據進行判斷是否需要進行saturate操作,如果超出要求的數據范圍,可以對其進行saturate操作并選擇指定范圍的位數輸出。
[0066]下面以實例進行說明。
[0067]圖4為數據處理裝置用于蝶形運算的示意圖,如圖所示,圖4所示的電路結構可作為DSP系統內的基2蝶形運算基本單元,由此可進行擴展,如多個基2蝶形運算基本單元并行運算可實現向量DSP基2蝶形運算。不僅如此,本發明實施例中提出的數據處理裝置可用于任意基的蝶形運算,如基4的蝶形運算等,只是使用的乘法運算單元的個數以及對乘法運算單元輸出結果的邏輯運算方式不同。
[0068]下面以兩個32位數進行復數乘法運算為例進行說明。
[0069]圖5為復數乘法運算流程示意圖,如圖所示,兩個32位數進行復數乘法運算。DSP讀取寄存器得到兩個32位的數,作為復數乘法運算的輸入數據。將兩個輸入數據分別拆分為實部和虛部分別為16位的基礎數據。經過第一算術邏輯模塊后,每個輸入數據的實部和虛部分別拓展為17位的絕對值數據。對所得到的17位絕對值數據取絕對值并保留符號位。
[0070]進行乘法運算:第一高位絕對值數據(實部)乘第二高位絕對值數據數據(實部)得到第一數據;第一高位絕對值數據(實部)乘第二低位絕對值數據(虛部)得到第二數據;第一低位絕對值數據(虛部)乘第二高位絕對值數據(實部)得到第三數據;第一低位絕對值數據(虛部)乘第二低位絕對值數據(虛部)得到第四數據。
[0071]根據符號位對乘法結果進行處理:如果符號位為0,乘法結果保持不變;如果符號位為1,對乘法結果求補。得到新的中間數據。
[0072]對新的中間數據進行運算:第一數據-第四數據;第二數據+第三數據。將上述兩個結果輸入至復數乘法運算后處理子模塊,對輸入數據進行saturate操作,使之不超過二進制數據表示范圍。截取指定位數的數據并輸出。
[0073]下面以兩個32位定點數進行乘加運算進行說明。
[0074]DSP讀取寄存器得到兩個32位的定點數,作為乘法運算的輸入數據。將兩個輸入數據分別拆分為16位的基礎數據。經過第一算術邏輯模塊后,每個基礎數據分別拓展為17位的絕對值數據。對所得到的17位絕對值數據取絕對值并保留符號位。
[0075]進行乘法運算:第一高位絕對值數據乘第二高位絕對值數據得到第一數據;第一高位絕對值數據乘第二低位絕對值數據得到第二數據;第一低位絕對值數據乘第二高位絕對值數據得到第三數據;第一低位絕對值數據乘第二低位絕對值數據得到第四數據。
[0076]根據符號位對乘法結果(即第一至第四數據)進行處理:如果符號位為0,乘法結果保持不變;如果符號位為1,對乘法結果求補。得到新的中間數據。
[0077]將新的中間數據輸入至乘加運算后處理子模塊中。新的第一數據和來自乘累加寄存器的數據共同輸入加法器,對得到的結果截取指定位數,所得值輸出;新的第四數據和來自乘累加寄存器的數據共同輸入加法器,對得到的結果截取指定位數,所得值輸出。兩個輸出分別代表兩個并行的定點數乘法運算的結果。
[0078]本實施例中的乘累加寄存器是在DSP系統中定義的一個寄存器,沒有在圖中示出,乘累加寄存器可以包含在寄存器堆里,涉及乘累加寄存器的實施是本領域技術人員容易知曉的。
[0079]下面以兩個32位復數進行乘加運算進行說明。
[0080]DSP讀取寄存器得到兩個32位的復數,作為復數乘法運算的輸入數據。將兩個輸入數據分別拆分為實部和虛部分別為16位的基礎數據。經過第一算術邏輯模塊后,每個輸入數據的實部和虛部分別拓展為17位的絕對值數據。對所得到的17位絕對值數據取絕對值并保留符號位。
[0081]進行乘法運算:第一高位絕對值數據(實部)乘第二高位絕對值數據數據(實部)得到第一數據;第一高位絕對值數據(實部)乘第二低位絕對值數據(虛部)得到第二數據;第一低位絕對值數據(虛部)乘第二高位絕對值數據(實部)得到第三數據;第一低位絕對值數據(虛部)乘第二低位絕對值數據(虛部)得到第四數據。
[0082]根據符號位對乘法結果進行處理:如果符號位為0,乘法結果保持不變;如果符號位為1,對乘法結果求補。得到新的中間數據。
[0083]第一數據-第四數據得到減法數據;第二數據+第三數據得到加法數據。
[0084]將減法數據和加法數據輸入至乘加運算后處理子模塊中。減法數據和來自乘累加寄存器的數據共同輸入一個加法器,對得到的結果截取指定位數,得到實部輸出值;加法數據和來自乘累加寄存器的數據共同輸入另一個加法器,對得到的結果截取指定位數,得虛部輸出值。
[0085]下面以數據處理裝置實現基2的蝶形運算進行說明。
[0086]如圖4所示,利用數據處理裝置實現基2的蝶形運算時,運算需要兩個乘法運算單元,每個乘法運算單元的輸入為兩個32位二進制數據作為基2的蝶形運算的操作數,此時,兩個乘法單元內部的多路選擇器會選擇出加法數據和減法數據,即乘法運算結果的實部和虛部,而第二算術邏輯模塊中的蝶形運算后處理邏輯是二進制數據截取操作,從而得到指定位數的乘法運算結果的實部和虛部。接下來由乘法運算單元輸出的結果進行相應的加法或減法運算。將圖4中左側乘法運算單元的結果分別記為slotl.re, slotl.1m,將右側乘法運算單元的結果分別記為slot0.re, slot0.1m,其中re代表實部,im代表虛部,因此進行的運算如下:
[0087]slot0.re+slotl.re ;
[0088]slot0.1m+slotl.1m ;
[0089]slot0.re-slotl.re ;
[0090]slot0.1m-slotl.1m ;
[0091]進行上述運算之后的四個32位輸出即為蝶形運算的結果。圖中分別由符號進行了結果的表不,即 r2.0l.re, r2.0l.1m, r2.ο2.re, r2.02.1m。
[0092]本發明實施例中提出的數據處理裝置是一種可以進行多種數據類型的乘法運算的乘法單元,其可以用于DSP中。圖6為DSP結構示意圖,如圖所示,在DSP中可以包括上述實施例中所述的數據處理裝置,其中:
[0093]數據處理裝置,用于對來自寄存器組的數據進行乘法操作處理,并將所得結果存入所述寄存器組。
[0094]由上述實施例可知,本發明實施例中所提供的數據處理裝置對現有技術中的乘法運算單元進行了擴展,不再局限于不同數據范圍的乘法的實現,而是可以求得不同數據類型的各種乘法的運算結果。具體的,數據處理裝置可以支持多種數據類型的乘法,并共享乘法邏輯操作;支持的數據類型為整數乘法運算,復數乘法運算,定點數乘法運算,混合類型乘法運算,乘加運算以及蝶形運算等,其中混合類型乘法運算包括實部和虛部都是整數的復數乘法以及實部和虛部都是定點數的復數乘法。
[0095]該數據處理裝置在進行數據處理時,對于32bit的操作數的輸入,在算術邏輯模塊分別拆分成高16位和低16位數據,并擴展成17位的絕對值數據。將其輸入到4個乘法器中,再經過兩個加法器,得到4個結果,進過多路選擇器的選擇,最后在相應的后處理邏輯單元(第二算術邏輯模塊)進行后續的處理以輸出最后結果。
[0096]在第二算術邏輯模塊中可以包含各種數據類型的乘法的后處理操作,包括整數乘法運算的后處理邏輯,定點數乘法運算的后處理邏輯,復數乘法運算的后處理邏輯,混合型乘法運算的后處理邏輯,以及乘加運算的后處理邏輯和蝶形運算的后處理邏輯等。這些后處理邏輯主要是二進制數據的連接和拆分,saturate和ixnmd操作以及乘加運算的加法操作和蝶形運算的后續運算步驟中的加法和減法操作等。
[0097]與現有技術相比,本發明實施例中提供的數據處理裝置能夠支持各種不同數據類型的乘法運算,并且各種不同類型的乘法運算包括乘加運算和蝶形運算都可以在此單元中共享乘法操作,從而使完成各種類型的乘法運算所需的乘法器件的使用個數減少。并且,除了實施例中所提到的數據類型,其他和乘法相關的操作也可以共享此乘法單元,只要在第二算術邏輯模塊中增加對此操作的后處理邏輯即可,因此本裝置還具有可擴展性和靈活性。
[0098]本發明實施例中還提供了一種DSP,包含數據處理裝置,該DSP可以用最少的電路來完成多種數據類型的乘法運算,結構合理,使用效果好。由于對輸入數據進行了拆分處理,使得所使用的乘法器規模減小,延遲減小,將此乘法單元用在DSP系統中,可減少延遲,提聞處理器性能。
[0099]盡管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明范圍的所有變更和修改。顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。
【權利要求】
1.一種數據處理裝置,其特征在于,包括:第一算術邏輯模塊、第一乘法器、第二乘法器、第三乘法器、第四乘法器、加法器、減法器、多路選擇器,其中: 第一算術邏輯模塊,用于在接收到第一輸入數據與第二輸入數據后,將第一輸入數據拆分為第一高位數據與第一低位數據后,在對第一高位數據進行擴展后取絕對值得到第一高位絕對值數據,在對第一低位數據進行擴展后取絕對值得到第一低位絕對值數據;以及,將第二輸入數據拆分為第二高位數據與第二低位數據后,在對第二高位數據進行擴展后取絕對值得到第二高位絕對值數據,在對第二低位數據進行擴展后取絕對值得到第二低位絕對值數據; 第一算術邏輯模塊還用于向第一乘法器輸出第一高位絕對值數據與第二高位絕對值數據、向第二乘法器輸出第一高位絕對值數據與第二低位絕對值數據、向第三乘法器輸出第一低位絕對值數據與第二高位絕對值數據、向第四乘法器輸出第一低位絕對值數據與第二低位絕對值數據; 第一乘法器,用于對輸入的數據進行乘法運算后得到第一數據,并分別向減法器和多路選擇器輸出第一數據 ; 第二乘法器,用于對輸入的數據進行乘法運算后得到第二數據,并向加法器輸出第二數據; 第二乘法器,用于對輸入的數據進行乘法運算后得到第三數據,并向加法器輸出第三數據; 第四乘法器,用于對輸入的數據進行乘法運算后得到第四數據,并分別向減法器和多路選擇器輸出第四數據; 加法器,用于對輸入的數據進行加法運算后得到第五數據,并向多路選擇器輸出第五數據; 減法器,用于對輸入的數據進行減法運算后得到第六數據,并向多路選擇器輸出第六數據; 多路選擇器,用于根據后續運算的需要在第一數據、第四數據、第五數據、第六數據中選擇相應的數據輸出。
2.根據權利要求1所述的數據處理裝置,其特征在于,進一步包括: 第二算術邏輯模塊,用于對多路選擇器輸出的數據進行后續運算處理。
3.根據權利要求2所述的數據處理裝置,其特征在于,第二算術邏輯模塊進一步用于對多路選擇器輸出的數據進行二進制數據的連接和拆分。
4.根據權利要求3所述的數據處理裝置,其特征在于,第二算術邏輯模塊進一步用于對多路選擇器輸出的數據進行以下之一或者其組合的后續運算處理:整數乘法運算、復數乘法運算、定點數乘法運算、混合型乘法運算、乘加運算、蝶形運算。
5.根據權利要求4所述的數據處理裝置,其特征在于,第二算術邏輯模塊進一步用于進行包括實部和虛部都是整數的復數乘法以及實部和虛部都是定點數的復數乘法的混合型乘法運算。
6.根據權利要求4所述的數據處理裝置,其特征在于,多路選擇器進一步用于在后續運算處理為復數乘法或混合型乘法運算或蝶形運算時,輸出第五數據、第六數據;在后續運算處理為整數乘法或定點數乘法時,輸出第一數據、第四數據;在后續運算處理為乘加運算時,定點數的乘加運算輸出第一數據和第四數據,復數的乘加運算輸出第五數據和第六數據。
7.根據權利要求6所述的數據處理裝置,其特征在于,多路選擇器進一步用于根據指令的操作碼進行選擇。
8.根據權利要求1至7任一所述的數據處理裝置,其特征在于,第一算術邏輯模塊進一步用于接收32bit操作數的第一輸入數據與第二輸入數據,拆分為16位數據的高位數據與16位數據的低位數據,并擴展成17位的絕對值數據。
9.根據權利要求1至5任一所述的數據處理裝置,其特征在于,第一算術邏輯模塊進一步用于接收32bit操作數的第一輸入數據與第二輸入數據,所述32bit操作數是兩個復數,實部為16位,虛部為16位;或者是兩個16位的整數或定點數。
10.一種DSP數字信號處理器,其特征在于,包括如權利要求1至9任一所述的數據處理裝置,其中: 數據處理裝置,用于對來自寄存器組的數據進行乘法操作處理,并將所得結果存入所述寄存器組。
【文檔編號】G06F7/52GK103677735SQ201210366427
【公開日】2014年3月26日 申請日期:2012年9月27日 優先權日:2012年9月19日
【發明者】石晶林, 朱子元, 馬潔 申請人:北京中科晶上科技有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 台山市| 垫江县| 怀宁县| 平度市| 基隆市| 赞皇县| 鸡东县| 偏关县| 丰原市| 古蔺县| 东明县| 竹溪县| 汝州市| 兴安盟| 赤峰市| 廉江市| 丽江市| 黄石市| 正安县| 阿拉尔市| 广州市| 威信县| 麟游县| 清水河县| 莆田市| 进贤县| 凤台县| 西乌珠穆沁旗| 错那县| 张掖市| 中山市| 竹溪县| 花莲县| 临泽县| 阿尔山市| 临泉县| 桐庐县| 安泽县| 东兰县| 浦城县| 商河县|