專利名稱:采用雙乘法累加(mac)處理機(jī)和雙乘法累加(mac)協(xié)同處理機(jī)的數(shù)字信號處理機(jī)的制作方法
發(fā)明
背景技術(shù):
領(lǐng)域本發(fā)明涉及數(shù)字信號處理機(jī),特別是有關(guān)乘法累加(MAC)單元。
背景技術(shù):
數(shù)字信號處理機(jī)(DSP)是專用型微處理機(jī),它專門適用于快速執(zhí)行數(shù)學(xué)計(jì)算。DSP應(yīng)用范圍很廣,包括小型碟片播放機(jī),PC機(jī)碟片驅(qū)動器,電信用的調(diào)制解調(diào)器組和蜂窩式電話。
在蜂窩式電話應(yīng)用中,對DSP計(jì)算能力的要求不斷增加,這是由于應(yīng)用的要求不斷增加而產(chǎn)生的,如GPS定位、話音識別、低比特率語言和音頻編碼、圖像和視頻處理以及3G蜂窩式調(diào)制解調(diào)器處理等。為了滿足這些處理要求,就必須改進(jìn)數(shù)字信號處理機(jī)結(jié)構(gòu),才能更有效地進(jìn)行計(jì)算處理。
在這些領(lǐng)域中已做了相當(dāng)多的工作。申請人Sih也是申請下列美國專利的申請人“使用耦合乘法累加單元的信號處理機(jī)”與本申請同時提交;“數(shù)字信號處理機(jī)中的多路總線結(jié)構(gòu)”,序號09/044,087,1998年3月18日提交;“具有多路存取寄存器的數(shù)字信號處理機(jī)”,序號09/044,088,1998年3月18日提交;“存貯器有效指令的存貯”,序號09/044,089,1988年3月18日提交;“控制數(shù)字信號處理機(jī)的高度平行的可變長度指令”,序號09/044,104,1998年3月18日提交;“可變長度指令解碼器”,序號09/044,086,1998年3月18日提交;和“采用可移位乘法累加單元的數(shù)字信號處理機(jī)”,序號09/044,108,1998年3月18日提交。
這些申請書的揭示內(nèi)容在結(jié)合于此,作為參考。
發(fā)明內(nèi)容
本發(fā)明是數(shù)字信號處理機(jī)結(jié)構(gòu),其設(shè)計(jì)可加速頻繁使用的信號處理的計(jì)算,如FIR濾波器,相關(guān)性,F(xiàn)FT和DFT等。此結(jié)構(gòu)使用耦合的雙MAC結(jié)構(gòu),并在此結(jié)構(gòu)中以一種獨(dú)特的方法附設(shè)雙MAC協(xié)同處理機(jī),以便大大提高處理能力。
附圖簡述
圖1是新結(jié)構(gòu)的框圖。
圖2示出本發(fā)明的第一種配置,在FIR濾波器和相關(guān)性模式中。
圖3是FIR濾波器和相關(guān)性加速度模式的邏輯圖。
圖4示出另一種配置,單周復(fù)數(shù)乘法模式。
圖5示出又一種配置,單周復(fù)數(shù)乘法累加模式。
較佳實(shí)施例的詳細(xì)描述圖1是新結(jié)構(gòu)框圖。在本發(fā)明范圍較窄的實(shí)施例中,電子電路包括具有第1至第3輸入(PI1-PI3)和第1至第6輸出(PO1-PO6)的寄存器堆(100)。第1移位器(102)接收寄存器堆的第1輸出(PO1),第1乘法器(104)接收寄存器堆的第2和第3輸出,第2乘法器(106)接收寄存器堆的第4(PO4)和第5(PO5)輸出。第2移位器(108)接收第1乘法器(104)的輸出,第3移位器(110)接收第2乘法器(106)的輸出。循環(huán)的多路復(fù)用器(112)接收第1移位器(102)的輸出,第1加法器(114)在第1輸入端接收第2移位器(108)的輸出。第1多路復(fù)用器(116)接收第3移位器(110)的輸出或零位,并將輸出加至第1加法器(114)的第2輸入。第2加法器(118)接收循環(huán)的多路復(fù)用器(112)和第1加法器(114)的輸出,第2加法器(118)的輸出反饋至寄存器堆的第1輸入(PI1)。第3加法器(120)接收第3移位器(110)的輸出和第6寄存器輸出(PO6),第3加法器(120)的輸出反饋至寄存器堆的第2輸入(PI2)。
第1輸入存貯元件(122)接收寄存器堆的第3輸出(PO3)。第2多路復(fù)用器接收第1輸入存貯元件(122)的輸出和寄存器堆的第3輸出(PO3),第3多路復(fù)用器(126)接收寄存器堆的第2(PO2)和第5(PO5)輸出。第3乘法器(128)接收第2(124)和第3(126)多路復(fù)用器的輸出,第4移位器(130)接收第3乘法器(128)的輸出。第4加法器(132)在第1輸入端接收第4移位器(130)的輸出,第1輸出存貯元件(134)接收第4加法器(132)的輸出。第1輸出存貯元件(134)的輸出加至第4加法器(132)的第2輸入。
第4多路復(fù)用器(136)接收第1輸入存貯元件(122)的輸出和寄存器堆的第4輸出(PO4),第2輸入存貯元件(138)接收第4多路復(fù)用器(136)的輸出。第5多路復(fù)用器(140)接收第2輸入存貯元件(138)的輸出和寄存器堆的第4輸出(PO4),第4乘法器(142)接收第5多路復(fù)用器(140)的輸出和寄存器堆的第2輸出(PO2)。第5移位器接收第4乘法器(142)的輸出,第5加法器(146)在第1輸入端接收第5移位器(144)的輸出。第2輸出存貯元件(148)接收第5加法器(146)的輸出。第2輸出存貯元件(148)的輸出加至第6多路復(fù)用器(150)的第1輸入。第6多路復(fù)用器在第2輸入端接收第4移位器(130)的輸出,第6多路復(fù)用器(150)的輸出加至第5加法器(146)的第2輸入。第5加法器(146)的輸出也反饋至寄存器堆的第3輸入(PI3)。多路復(fù)用器是外部控制的。
本發(fā)明在其范圍最廣的實(shí)施例中也不需要所有的上述元件。事實(shí)上電子電路只要包括至少一個輸入和至少四個輸出(PO2-PO5)的寄存器堆(100)就足夠了;電子電路還包括每個乘法器至少具有2個輸入的第1(104),第2(106),第3(128)和第4(142)乘法器;電子電路還包括每個加法器都具有相應(yīng)乘法器的輸出作為第1輸入的第1(118),第2(120),第3(132)和第4(146)加法器(注意,這些第1至第4加法器是更詳細(xì)裝置的第2至第5加法器);電子電路還包括使寄存器堆的輸出與至少一些乘法器的輸入相聯(lián)系的裝置(124),(126),(136),(140),以及使至少一些加法器的另一輸入與另外乘法器的輸出,或與寄存器堆的輸出相聯(lián)系的裝置(112),(116),(150)。本發(fā)明其特征在于使乘法器、加法器和寄存器堆在單時鐘周期內(nèi)一起運(yùn)作。
最好寄存器堆對乘法器的輸出數(shù)目為4。
最好是電子電路還包括至少一個輸入存貯元件(128),(138)。輸入存貯元件的輸入接至寄存器堆的輸出(PO3),或接至另一輸入存貯元件(122)的輸出。輸入存貯元件的輸出接至乘法器(128),(142)中至少一個的輸入或接至另一輸入存貯元件(138)的輸入。乘法器、加法器、輸入存貯元件和寄存器堆在單時鐘周期內(nèi)一起動作。
雖然本發(fā)明只使用單只輸入存貯元件工作,但是最好有多個輸入存貯元件(122),(138)。
電子電路最好還包括至少一個輸出存貯元件(134),(148),連接到加法器(132),(146)中至少一個的輸出。乘法器、加法器、輸出存貯元件和寄存器堆在單時鐘周期內(nèi)一起運(yùn)作。
最好1個輸出存貯元件或2個輸出存貯元件(134),(148)外接至寄存器堆(100)。
如上所述,圖1是新結(jié)構(gòu)的框圖。核心結(jié)構(gòu)包含由MAC單元MAC1和MAC2組成的耦合雙MAC結(jié)構(gòu)。MAC1從寄存器堆的輸出口PO2、PO3取出其乘法器操作數(shù)。乘法器(104)的輸出傳遞給能使結(jié)果向左移位0、1、2或3位的移位器(108)。移位器(108)的輸出傳遞給加法器(114),此加法器從多路復(fù)用器MUX1(116)取出其另一個輸入,此多路復(fù)用器具有零位和來自MAC2移位積的結(jié)果作為其輸入。加法器(114)的輸出傳遞給1個40位加法器(118),然后,與取自寄存器堆輸出口PO1的另一個40位操作數(shù)相加。40位加法器的輸出通過輸入口PI1存貯于寄存器堆中。MAC2從寄存器堆的輸出口PO4、PO5取出乘法器操作數(shù),將它們相乘(106),并將結(jié)果向左移位(110)0、1、2或3位。移位器的輸出傳遞給40位加法器(120),加上從輸出口PO6取出的另一寄存器堆操作數(shù)。移位器的輸出也送到多路復(fù)用器MUX1(116),多路復(fù)用器再饋給MAC1中第1加法器(114)。40位加法器(120)的輸出通過寄存器堆輸入口PI2存貯至寄存器堆中。
協(xié)同處理機(jī)由乘法累加單元MAC3和MAC4組成,它們是采用一種獨(dú)特的方法連接至核心雙MAC結(jié)構(gòu)和寄存器堆。MAC3和MAC4的輸入可配置為(通過多路復(fù)用器MUX2(124)、MUX3(126)、MUX5(140))從寄存器堆輸出口PO2、PO3、PO4、PO5取出,或從由16位寄存器IS1(122)和IS2(138)組成的延遲線上取出。MAC3中移位積的輸出可以通過MUX6(150)饋入MAC4。另一種方法是MAC3和MAC4中40位加法器可分別從它們的局部40位累加器寄存器OS1(134)和OS2(148)取出輸入。MAC4的輸出通過輸入口PI3寫入寄存器堆。程序器通過執(zhí)行某些程序指令將圖中多路復(fù)用器設(shè)置為所需的配置,它可使4個MAC單元靈活地配置,以便加速幾種不同類型的計(jì)算。這些配置模式以下描述。
圖2示出本發(fā)明第1種配置,在FIR濾波器和相關(guān)性模式中。此配置可用來加速FIR濾波器和相關(guān)性操作。為了了解為什么此種配置可加速FIR濾波器工作,我們檢查了實(shí)施FIR濾波器的公式y(tǒng)(n)=Σk=0N-1h(k)x(n-k)]]>如果我們寫出4個連續(xù)輸出的公式,則得y(n)=h(0)×(n)+h(1)×(n-1)+h(2)×(n-2)+…+h(N-1)×(n-N+1)y(n+1)=h(0)×(n+1)+h(1)×(n)+h(2)×(n-1)+…+h(N-1)×(n-N+2)y(n+2)=h(0)×(n+2)×h(1)×(n+1)+h(2)×(n)+…+h(N-1)×(n-N+3)y(n+3)=h(0)×(n+3)×h(1)×(n+2)+h(2)×(n+1)+…+h(N-1)×(n-N+4)為了同時計(jì)算此4項(xiàng)公式,相同的系數(shù)h(k)同時饋到所有4個乘法器,而其他輸入通過延遲線饋至各個乘法器。圖3示出該邏輯實(shí)施圖。
圖3是FIR濾波器和相關(guān)加速度模式的邏輯圖。為了獲得這種配置,使用如圖2所示的硬件設(shè)定,程序器必須執(zhí)行適合2只核心MAC的指令,以保證正確工作。取自寄存器堆輸出口PO2的且用作各個協(xié)同處理機(jī)MAC單元輸入的同樣的寄存器必須也從輸出口PO4取出。程度器也必須保證從PO5取出的寄存器在送至PO3并通過由寄存器IS1(122)和IS2(138)組成的硬件延遲線傳播出去之前,利用寄存器平行移動來延遲1周(152)。2個核心MAC通過取出和存貯結(jié)果至寄存器堆(100)進(jìn)行累加,同時協(xié)同處理機(jī)MAC使用它們的局部OS1(134)和OS2(148)累加器進(jìn)行累加。利用此配置也可以相似方式來加速相關(guān)性操作。
圖4示出另一種配置,單周復(fù)數(shù)乘法模式。為了加速FFT和CDMA碼元解調(diào),協(xié)同處理機(jī)可配置為進(jìn)行單周復(fù)數(shù)乘法。當(dāng)各個核心MAC單元的輸入送至協(xié)同處理機(jī)進(jìn)行交叉項(xiàng)乘法時,核心MAC單元的輸出加在一起,通過輸入口PI1送至寄存器堆(100),同時協(xié)同處理機(jī)MAC單元的輸出加在一起,通過輸入口PI3存貯至寄存器堆(100)。
圖5示出又一種配置,單周復(fù)數(shù)乘法累加模式。復(fù)數(shù)乘法累加配置對加速DFT和32×32相乘的累加是有用的。如圖5所示,乘法器輸入連接的設(shè)定類似于單周復(fù)數(shù)乘法,但累加的設(shè)定類似于FIR濾波器加速度模式。在32×32MAC情況下,核心MAC進(jìn)行有符號對有符號相乘;無符號對無符號相乘,同時協(xié)同處理機(jī)MAC進(jìn)行有符號對無符號相乘。
示出了使用40位加法器和17×17位乘法器。這是常規(guī)的,任何合宜的位數(shù)均可使用。
工業(yè)應(yīng)用本發(fā)明能利用于工業(yè),當(dāng)想要加速信號處理計(jì)算時,就可作成裝置和加以應(yīng)用。本文所述的裝置和方法中的元件均系分立的,它們相互之間毫無關(guān)系,全是常規(guī)的,本發(fā)明要求了它們的組合。
雖然已描述了各種模式的裝置和方法,但本發(fā)明真正精神和范圍并不局限于此,而只受限于下述權(quán)利要求書及其等效范圍,這些是本發(fā)明所要求的。
權(quán)利要求
1.一種電子電路,其特征在于,它包括a.具有第1至第3輸入和第1至第6輸出的寄存器堆;b.接收寄存器堆的第1輸出的第1移位器;c.接收寄存器堆的第2和第3輸出并具有1個輸出的第1乘法器;d.接收寄存器堆的第4和第5輸出并具有1個輸出的第2乘法器;e.接收第1乘法器的輸出并具有1個輸出的第2移位器;f.接收第2乘法器的輸出并具有1個輸出的第3移位器;g.接收第1移位器的輸出并具有1個輸出的循環(huán)多路復(fù)用器;h.在第1輸入端接收第2移位器的輸出并具有1個輸出的第1加法器;i.接收零位或第3移位器的輸出并將輸出加至第1加法器的第2輸入的第1外部控制多路復(fù)用器;j.接收循環(huán)多路復(fù)用器和第1加法器的輸出,并具有1個輸出反饋至寄存器堆第1輸入的第2加法器;k.接收第3移位器的輸出和第6寄存器輸出,并具有1個輸出反饋至寄存器堆第2輸出的第3加法器;l.接收寄存器堆第3輸出的第1輸入存貯元件;m.接收第1輸入存貯元件的輸出和寄存器堆的第3輸出的第2外部控制多路復(fù)用器;n.接收寄存器堆的第2和第5輸出的第3外部控制多路復(fù)用器;o.接收第2和第3外部控制多路復(fù)用器的輸出的第3乘法器;p.接收第3乘法器的輸出的第4移位器;q.在第1輸入端接收第4移位器的輸出的第4加法器;r.接收第4加法器的輸出的第1輸出存貯元件,第1輸出存貯元件的輸出加至第4加法器的第2輸入;s.接收第1輸入存貯元件的輸出和寄存器堆的第4輸出的第4外部控制多路復(fù)用器;t.接收第4外部控制多路復(fù)用器的輸出的第2輸入存貯元件;u.接收第2輸入存貯元件的輸出和寄存器堆的第4輸出的第5外部控制多路復(fù)用器;v.接收第5外部控制多路復(fù)用器的輸出和寄存器堆的第2輸出的第4乘法器;w.接收第4乘法器的輸出的第5移位器;x.在第1輸入端接收第5移位器的輸出的第5加法器;y.接收第5加法器的輸出的第2輸出存貯元件,第1輸出存貯元件的輸出加至第6外部控制多路復(fù)用器的第1輸入,第6外部控制多路復(fù)用器在第2輸入端接收第4移位器的輸出,第6外部控制多路復(fù)用器的輸出加至第5加法器的第2輸入。
2.一種電子電路,其中a.此電子電路包括一個寄存器堆,該寄存器堆包含至少1個輸入和至少4個輸出;和b.此電子電路其特征在于,它還包括①第1,第2,第3和第4乘法器,各個乘法器至少具有2個輸入;②第1,第2,第3和第4加法器,各個加法器具有相應(yīng)乘法器的輸出作為第1輸入;③使寄存器堆的輸出與至少一些乘法器的輸入相聯(lián)系的裝置;和④使至少一些加法器的另一輸入與另一乘法器的輸出,或與寄存器堆的輸出相聯(lián)系的裝置;因此乘法器、加法器和寄存器堆在單時鐘周期內(nèi)一起運(yùn)作。
3.如權(quán)利要求2所述的電子電路,其特征在于接至乘法器的寄存器堆輸出數(shù)目是4。
4.如權(quán)利要求2所述的電子電路,還包括至少1個輸入存貯元件;a.輸入存貯元件的輸入接至①寄存器堆的1個輸出;或②另一個輸入存貯元件的1個輸出;和b.輸入存貯元件的輸出接至①至少1個乘法器的1個輸入;或②另一個輸入存貯元件的1個輸入;因此乘法器、加法器、輸入存貯元件和寄存器堆在單時鐘周期內(nèi)一起運(yùn)作。
5.如權(quán)利要求4所述的電子電路,其特征在于設(shè)有多個輸入存貯元件。
6.如權(quán)利要求2所述的電子電路,還包括至少1個輸出存貯元件,接至至少1個加法器的1個輸出,因此乘法器、加法器、輸出存貯元件和寄存器堆在單時鐘周期內(nèi)一起運(yùn)作。
7.如權(quán)利要求6所述的電子電路,其特征在于輸出存貯元件是外接至寄存器堆。
全文摘要
本發(fā)明是數(shù)字信號處理機(jī)結(jié)構(gòu),其設(shè)計(jì)可加速頻繁使用的信號處理的計(jì)算,如FIR濾波器、相關(guān)性、FFT和DFT等。此結(jié)構(gòu)使用耦合的雙MAC結(jié)構(gòu)(MAC1)(MAC2),并在此結(jié)構(gòu)中以一種獨(dú)特的方法附加使用雙MAC協(xié)同處理機(jī)(MAC3)(MAC4),以便取得處理能力的大大提高。
文檔編號G06F7/48GK1489728SQ01805597
公開日2004年4月14日 申請日期2001年2月23日 優(yōu)先權(quán)日2000年2月26日
發(fā)明者G·C·西, G C 西, H·庫馬爾, 磯, 李維新 申請人:高通股份有限公司