專利名稱:計算上高效數(shù)學(xué)引擎的制作方法
技術(shù)領(lǐng)域:
本發(fā)明有關(guān)使用數(shù)學(xué)引擎來計算復(fù)雜乘數(shù)陣行的輸出。更特別是,本發(fā)明為可存取執(zhí)行多個數(shù)學(xué)計算的計算上高效數(shù)學(xué)引擎。
背景技術(shù):
最新無線通信系統(tǒng)通常需大量數(shù)學(xué)計算來執(zhí)行信號處理。該計算通常借由處理器及特定應(yīng)用集成電路(ASICs)來執(zhí)行。
用于接收器的標準特定應(yīng)用集成電路設(shè)計需執(zhí)行及計算許多算法,其于規(guī)定期間通常需要許多平行相乘來完成該計算。這些算法通常包含許多矩陣對矩陣及矩陣對向量乘法,及許多離散富利葉轉(zhuǎn)換(DFT)及快速富利葉轉(zhuǎn)換(FFT)計算。因為乘法器占用特定應(yīng)用集成電路大量空間,所以預(yù)期設(shè)計可施加相同乘法器跨越若干算法的解決方案。
特定共享計算可被用來支持各種目前無線技術(shù),如WCDMA,WTT,CDMA2000,802.1X,TDSCDMA,F(xiàn)DD,TDD,及不被呈現(xiàn)的其它未來系統(tǒng)架構(gòu)。普遍被執(zhí)行之一該類計算為點乘積乘法。執(zhí)行點乘積計算為兩矩陣間操作的標準函數(shù)。例如,執(zhí)行頻道估計及數(shù)據(jù)估計需點乘積計算。寬頻分時雙工系統(tǒng)中,該計算可包含主要因子快速富利葉轉(zhuǎn)換計算,一矩陣乘上另一矩陣的乘法,一矩陣乘上其復(fù)雜共軛轉(zhuǎn)置的乘法,及一矩陣乘上一向量的乘法。
通常,若干點乘積計算必須借由單通信裝置來執(zhí)行,因此通信裝置必須具有充足處理功率來支持該所需計算。目前,各算法是使用專用硬件來執(zhí)行其自我數(shù)學(xué)函數(shù)。發(fā)展再使用硬件來最大化操作效率的系統(tǒng)是有利的。操作效率包含但不限于處理時間,執(zhí)行處理的硅面積,及處理其間硅所需的功率。
發(fā)明內(nèi)容
依據(jù)本發(fā)明,數(shù)學(xué)引擎是提供用來執(zhí)行多類數(shù)學(xué)計算使硬件得以被有效使用。本發(fā)明包含一存儲器,具有一并聯(lián)輸出,被用來儲存一個或更多被選擇輸出于邏輯近似值的并聯(lián)輸出中的值。如向量的被儲存值長度超過計算區(qū)段容量的例中,存儲器是尋址來提供促進完成全向量的數(shù)學(xué)執(zhí)行的邏輯序行中被稱為折疊(fold)的向量部件。
不同演算結(jié)果是借由選擇性使用致動數(shù)據(jù)轉(zhuǎn)移及正確數(shù)學(xué)計算來控制數(shù)學(xué)引擎操作的賦能信號而產(chǎn)生。當設(shè)計信號處理器時,此具有增加數(shù)學(xué)引擎執(zhí)行不同類型計算的彈性,且提供節(jié)省處理器電路降低半導(dǎo)體固定資產(chǎn)所需量的優(yōu)點。
圖1為本發(fā)明數(shù)學(xué)引擎的大致方塊圖。
圖2A-C顯示具有其復(fù)雜共軛轉(zhuǎn)置(A)用來計算自我相關(guān)矩陣(AHA)的系統(tǒng)響應(yīng)矩陣(AH)。
圖3A-G顯示執(zhí)行AHA函數(shù)所需計算的圖1的數(shù)學(xué)引擎。
圖4A-D顯示AH矩陣與該被接收信號向量(r)的乘法。
圖5A-I顯示執(zhí)行AHr函數(shù)所需計算的圖1的數(shù)學(xué)引擎。
圖6A-D顯示執(zhí)行離散富利葉轉(zhuǎn)換所需計算的圖1的數(shù)學(xué)引擎。
圖7A-C顯示選擇性使用輸入源。
具體實施例方式
本發(fā)明可參考附圖來說明,其中遍及全文的相同標號是標示相似組件。
本發(fā)明為處理多個獨立及不同算法的單數(shù)學(xué)引擎。該數(shù)學(xué)引擎可針對所有算法使用相同硬件。因為乘法器需要特定應(yīng)用集成電路上顯著空間,所以本發(fā)明降低特定應(yīng)用集成電路所需的空間量。本發(fā)明的數(shù)學(xué)引擎亦借由較多時間使用硬件來非常有效執(zhí)行所需計算。數(shù)學(xué)引擎的效率是視輸入矩陣大小及處理組件數(shù)量而定。
通常,數(shù)學(xué)引擎具有至少兩輸入及一輸出。該輸入包含一串聯(lián)輸入及一并聯(lián)輸入,其中該并聯(lián)輸入是與該處理組件數(shù)量一樣寬。處理組件數(shù)量可被最佳化為整個向量、一部分向量、或矩陣的向量。并聯(lián)及串聯(lián)輸入均可針對不同操作類型被加載移位寄存器或另外類型串聯(lián)存取寄存器。并聯(lián)輸出移位寄存器為一種具有一并聯(lián)輸出且可快速輸出被儲存數(shù)據(jù)的存儲器。移位寄存器的并聯(lián)輸出是多路傳送使得可執(zhí)行串聯(lián)存取寄存器功能的其寬度借由處理組件數(shù)量決定的邏輯近似值,可執(zhí)行具有可選擇輸出的并聯(lián)輸出移位寄存器的功能或可提供對次要并聯(lián)輸入的存取。主要并聯(lián)輸入及移位寄存器的被多路傳送并聯(lián)輸出及次要并聯(lián)輸入可當作對復(fù)雜乘法器及加法器樹的輸入,其增加數(shù)學(xué)引擎所執(zhí)行的計算效率。此使數(shù)據(jù)可針對各被執(zhí)行操作盡快地被移入寄存器,亦使數(shù)據(jù)針對被有效執(zhí)行的操作內(nèi)步驟而再組織。
在較佳實施例中,并聯(lián)輸出移位寄存器是從邏輯近似數(shù)據(jù)值輸出數(shù)據(jù),使該輸出得以被用來儲存被選擇性并聯(lián)輸出至計算區(qū)段的值。被儲存向量長度超過計算區(qū)段容量的例子中,并聯(lián)輸出移位寄存器被尋址來提供促進完成全向量的數(shù)學(xué)執(zhí)行的序行中的向量部件。結(jié)果,幾乎每隔時脈均產(chǎn)生一計算,而非多步驟來準備用于操作的數(shù)據(jù)。當被與被給定長度的輸出電路耦合時,并聯(lián)輸出移位寄存器為并聯(lián)輸出非折疊移位寄存器,意指其存儲器儲存為計算區(qū)段的數(shù)據(jù)寬度(也就是處理組件的數(shù)量)的n倍。
加法器樹是饋送一累加器,其可促成許多不同矩陣對矩陣及矩陣對向量乘法,及促成如AHA及AHr的有效計算。
依據(jù)本發(fā)明,數(shù)學(xué)引擎所執(zhí)行的點乘積計算包含但不限于頻道估計及數(shù)據(jù)估計所需的多個不同類型乘法,如主要因子快速富利葉轉(zhuǎn)換;一矩陣乘上另一矩陣的乘法,一矩陣乘上其復(fù)雜共軛轉(zhuǎn)置的乘法,及一矩陣乘上一向量的乘法。
參考圖1,依據(jù)本發(fā)明的數(shù)學(xué)引擎30簡單方塊圖顯示。數(shù)學(xué)引擎30包含一主要并聯(lián)數(shù)據(jù)輸入源(PPDIS)31,一多任務(wù)解訊器32,一n折疊移位寄存器33,一串聯(lián)數(shù)據(jù)輸入源(SDIS)34,一多任務(wù)器35及一次要并聯(lián)數(shù)據(jù)輸入源(SPDIS)36。亦被包含者為一復(fù)雜乘法器處理組件(PE)陣行40,包含多個陣行組件(圖標41-44),一復(fù)雜加法器樹55及一復(fù)雜累加器56。復(fù)雜累加器56包含一起始條件輸入多任務(wù)器58,一加總器57及一加總器輸出寄存器59。加總器輸出寄存器59提供一累加輸出。復(fù)雜乘法器處理組件陣行40提供包含點乘積輸出的并聯(lián)復(fù)雜乘法功能。操作時,主要并聯(lián)數(shù)據(jù)輸入源31的輸出包含Q位置。串聯(lián)數(shù)據(jù)輸入源34提供復(fù)雜接收芯片序行給移位寄存器33。來自串聯(lián)數(shù)據(jù)輸入源34的輸出是用來并聯(lián)負載該移位寄存器33。移位寄存器33具有n折疊,其中各折疊具有Q位置,各位置包含一復(fù)雜值。此外,其可負載具有來自主要并聯(lián)數(shù)據(jù)輸入源31的Q位置的值的任何折疊,或每個時脈移位零點的X位置。多任務(wù)器35接收來自移位寄存器33的輸出及來自次要并聯(lián)數(shù)據(jù)輸入源36的復(fù)雜Q位置值。
來自多任務(wù)器35的輸出是提供至復(fù)雜乘法器陣行40,其被用來提供對應(yīng)輸入至復(fù)雜加法器樹55。復(fù)雜加法器樹55為一Q輸入復(fù)雜加法器樹。
復(fù)雜加法器樹55提供其輸出至累加器56。累加器56是于加總器57處被提供一起始條件,其經(jīng)由多任務(wù)器58來提供。加總器57的輸出結(jié)果儲存于輸出寄存器59中。
圖1所示本發(fā)明數(shù)學(xué)引擎30可執(zhí)行若干不同類型計算,借此減少獨立處理器的需要,因此大為降低該數(shù)學(xué)計算所需的特定應(yīng)用集成電路實際資產(chǎn)數(shù)量。寬頻分時雙工通信系統(tǒng)中的較佳實施例三個不同應(yīng)用說明如下但不限于1)自我相關(guān)矩陣(AHA)的產(chǎn)生;2)白匹配濾波器(AHr);及3)經(jīng)由Steiner算法執(zhí)行頻道估計。然而,熟悉本技術(shù)人士應(yīng)了解只要不背離本發(fā)明精神及范疇,其它算法亦可被實行。
執(zhí)行AHA函數(shù)的本發(fā)明一例將參考圖2A-C及圖3A-G來說明。此例將說明使用依據(jù)本發(fā)明的圖1的數(shù)學(xué)引擎來執(zhí)行AHA函數(shù)的處理。AHA函數(shù)為數(shù)學(xué)引擎所計算的最復(fù)雜函數(shù)之一,因為其是計算自部分儲存矩陣且該相同部分儲存矩陣是以僅具有部分計算結(jié)果的不同方式存取。該操作的順序并不以矩陣邏輯級數(shù)為基礎(chǔ),而是矩陣如何借由數(shù)學(xué)引擎既存功能來配適。
圖2A為AH,A,AHA矩陣的簡單字段矩陣表示。僅AH行塊被儲存于存儲器中,所以整個AH及A矩陣表示為可以被轉(zhuǎn)換來使用如A矩陣中的數(shù)據(jù)的數(shù)據(jù)虛數(shù)部分來存取數(shù)據(jù)的被儲存行塊上的尋址函數(shù)。最終AHA矩陣是壓縮處理,彷佛其被建構(gòu)自AH及A矩陣。
因為AH子塊僅被儲存于一單存取存儲器中(圖1中的主要并聯(lián)數(shù)據(jù)輸入源32),所以第一步驟復(fù)制AH存儲器的內(nèi)容進入移位寄存器33,其中當其僅借由被用于計算中的數(shù)據(jù)窗察覺時,其亦可被操縱呈現(xiàn)第二及第三行塊。因為AH矩陣為擴充因子(SF)+頻道響應(yīng)長度(W)-1值寬,所以僅有20處理組件,各AH文字為20值。數(shù)據(jù)移入20值塊稱為折疊(此例中如SF+W-1=44,所以具有3折疊)。圖3A,B及C顯示呈現(xiàn)將第一AH行加載移位寄存器的首三個時脈周期。
圖3A中,AH塊的第一行的第一折疊是加載移位寄存器中的第一折疊儲存。圖3B中,AH塊的第一行的第二折疊是加載移位寄存器中的第二折疊儲存。圖3C中,AH塊的第一行的第三折疊是加載移位寄存器中的第三折疊儲存。
將被計算的矩陣部件強調(diào)于圖2B。整行是強調(diào),但僅需線內(nèi)的矩陣部件被用于該計算中。圖2B顯示AH矩陣第一行乘上A矩陣第一欄,產(chǎn)生AHA矩陣的第一值。
因為AH及A矩陣行及欄塊大于處理組件數(shù)量(此例中為44的行及欄大小),所以以一次一折疊來計算。各折疊片段是相乘及累積于累積寄存器59中(被顯示于圖1中)直到整行被達成為止,該時點結(jié)果是儲存外接數(shù)學(xué)引擎。AH矩陣借由移位寄存器中的值來表示,而A矩陣值以借由采用復(fù)雜乘法器陣行40中的其共軛來執(zhí)行的虛值反函數(shù)而被呈現(xiàn)于AH存儲器中。
圖3D顯示AH矩陣第一行的第一折疊乘上A矩陣第一欄的第一折疊。此乘法結(jié)果儲存于累積寄存器59中。圖3E顯示AH矩陣第一行的第二折疊乘上A矩陣第一欄的第二折疊。此乘法累積結(jié)果是加至先前累積值且被儲存于累積寄存器59中。圖3F顯示AH矩陣第一行的第三折疊乘上A矩陣第一欄的第三折疊。此乘法累積結(jié)果加至先前累積值且被儲存于累積寄存器59中。被儲存于累積寄存器59中的值代表AHA矩陣的第一位置且被外部儲存以進一步處理。此乘法采用3時脈,一個用于各折疊,但僅第一時脈被呈現(xiàn)于圖3G中,其顯示AH矩陣第一行的第一折疊乘上A矩陣第二有效欄的第一折疊。此乘法結(jié)果儲存于累積寄存器59中。此處理進行3個時脈直到該累積結(jié)果被外部儲存以進一步處理為止。
圖2C中,可看到16零點如何被移位至移位寄存器33左側(cè)使AH矩陣第二行塊可經(jīng)由被用于計算窗的輸入窗來看到。此處理僅采用一時脈且可被與剩余計算平行處理,借此明顯節(jié)省時間。針對被用于計算窗的值中的AH子塊的各移位版本,AH矩陣子塊第一行的此移位版本必須被乘上A矩陣子塊所有有效欄。
第一有效AH行的每個折疊均被乘上被包含于可計算的輸入窗中的A矩陣子塊每個有效欄之后,針對隔一有效行做全部相同處理。該失序處理執(zhí)行使AH行不必針對AH子塊的移位版本被重新加載。
作為第二例,借由圖1的數(shù)學(xué)引擎所執(zhí)行的AHr函數(shù)將參考圖4A-D及圖5A-I做說明。AHr函數(shù)為整個AH函數(shù)乘上被接收向量(r)。AH矩陣并非全部被儲存,僅較小部份稱為AH行塊被實際儲存;AH矩陣中所有其它值被實際重復(fù)AH行塊或零點。于是,AH可被儲存為AH行塊的復(fù)雜尋址方案。
例如,寬頻分時雙工第三代(3G)數(shù)據(jù)叢集類型1或3中總共具有61AH行塊,而叢集類型2時槽中的總共具有69AH行塊。實際上具有兩r向量,此功能將針對一r向量來說明;此處理接著針對第二數(shù)據(jù)組向量做重復(fù)。
圖4A為表示AHr矩陣乘法的圖標。AH行塊于AH矩陣各處被重復(fù)所有剩余零點。AH行塊行中,四行的二個因先前處理而失效。
計算AHr函數(shù)的第一步驟以r向量值預(yù)載數(shù)學(xué)引擎的整個移位寄存器33。(圖1所示)移位寄存器33借由串聯(lián)數(shù)據(jù)輸入源34串聯(lián)加載。AH矩陣是提供于主要并聯(lián)數(shù)據(jù)輸入源31。
為了開始一步一步處理計算AHr,以r向量計算AH矩陣第一行顯示于圖4B。因為僅AH向量的第一SF+W-1值包含非0值,所以僅行乘積的第一部份被計算。因為僅有20處理組件,所以必須以多步驟來相乘(如折疊)此例中,W為29,所以SF+W-1為44。以處理組件數(shù)量(20)除以SF+W-1且進位成整數(shù),則總共具有3折疊,或乘上3時脈并累積以r向量有效部分來計算AH行有效部分的全部點乘積。圖5A,B及C所示的這些前三個時脈顯示一步一步處理計算此矩陣行及向量的此點乘積第一值。
圖5A顯示第一AH行的第一折疊乘上r向量的第一折疊,而該結(jié)果儲存于累積寄存器59中。圖5B顯示第一AH行的第二折疊乘上r向量的第二折疊,而該結(jié)果是添加于目前位于累積寄存器59中的結(jié)果。圖5C顯示第一AH行的第三折疊乘上r向量的第三折疊,而該結(jié)果是添加于目前位于累積寄存器59中的結(jié)果。最終累積現(xiàn)在被儲存為第一AHr計算點。
下一步以目前被計算符號來計算AH行塊的下一有效行。此牽涉r向量的相同部分乘上圖4C所示新AH行。r向量可保持相同而AH不同行是存取于AH存儲器中。再次,三時脈顯示于顯示所有三折疊的乘法累積的圖5D,E及F。圖5D顯示第三AH行的第一折疊乘上r向量的第一折疊,而該結(jié)果儲存于累積寄存器59中。圖5E顯示第三AH行的第二折疊乘上r向量的第二折疊,而該結(jié)果是添加于目前位于累積寄存器59中的結(jié)果。圖5F顯示第三AH行的第三折疊乘上r向量的第三折疊,而該結(jié)果是添加于目前位于累積寄存器59中的結(jié)果。最終累積現(xiàn)在被儲存為第二AHr計算點。
下一步開始以r向量來計算第二AH行塊。此牽涉將各有效AH第二行子塊行乘上r向量。因為下一行從最后被移位16值,所以被乘上AH子塊的r向量部分是不同。圖4D中,被牽涉于計算中的部分是強調(diào)。
因為被儲存的AH行塊并不移動,所以r向量必須被移位來重新校準被乘上新AH行塊中的行的r向量部分。此借由使用移位寄存器33對16時脈移位16新值,及下降r向量第一值來達成。此處理的首兩個時脈是顯示于第五G及H值,其余是推論。此后,相同如第一AH行塊的處理是激活,所以此重復(fù)操作的第一時脈是顯示與第一AH行塊的第一時脈相比。
圖5G顯示被放入移位寄存器的第一值遺失時,被轉(zhuǎn)移入移位寄存器右側(cè)的r向量的一值。圖5H顯示被放入寄存器的第二值遺失時,被轉(zhuǎn)移入移位寄存器的r向量的第二值。圖5I顯示第一AH行乘上最新移位r向量的第一折疊,而該結(jié)果正如第一AHr行塊第一計算而被儲存于累積寄存器59中。此處理針對每一個AH行塊繼續(xù)每個有效AH行塊行的每個折疊。
作為第三例,借由圖1的數(shù)學(xué)引擎所執(zhí)行的Steiner算法將參考圖6A-D做說明。圖標顯示使用數(shù)學(xué)引擎來操作456pt Steiner的3pt離散富利葉轉(zhuǎn)換。圖6A-C顯示第一離散富利葉轉(zhuǎn)換計算,各圖顯示不同時脈。如圖所示,離散富利葉轉(zhuǎn)換的首三個地址已被串聯(lián)加載存儲器,所以其全部可以并聯(lián)方式經(jīng)由主要并聯(lián)數(shù)據(jù)輸入源31被一次存取(圖1中)。被用于離散富利葉轉(zhuǎn)換的抖動(Twiddle)因子經(jīng)由次要并聯(lián)數(shù)據(jù)輸入源36被輸入(圖1中)。
各這三個時脈中,地址0,152及304處的第一離散富利葉轉(zhuǎn)換輸入是乘上對該離散富利葉轉(zhuǎn)換唯一的三個抖動因子組之一。這三個計算結(jié)果是外接圖1的數(shù)學(xué)引擎。
圖6A中,抖動組1的三點乘上離散富利葉轉(zhuǎn)換1的三點,而該結(jié)果是外部儲存。第二離散富利葉轉(zhuǎn)換的第一點加載存儲器下一行。圖6B中,抖動組2的三點乘上離散富利葉轉(zhuǎn)換1的三點,而該結(jié)果是外部儲存。第二離散富利葉轉(zhuǎn)換的第二點加載存儲器下一行。圖6C中,抖動組3的三點乘上離散富利葉轉(zhuǎn)換1的三點,而該結(jié)果是外部儲存。第二離散富利葉轉(zhuǎn)換的第三點加載存儲器下一行。
圖6D顯示下一離散富利葉轉(zhuǎn)換第一點是如何被以第一抖動因子組,而其它兩組將遵循以下時脈。64點離散富利葉轉(zhuǎn)換以些微不同方式來達成,其中各離散富利葉轉(zhuǎn)換組乘上抖動組是采用儲存前被一起累積的四個連續(xù)時脈。
圖6D中,抖動組1的三點是乘上離散富利葉轉(zhuǎn)換2的三點,而該結(jié)果是外部儲存。第三離散富利葉轉(zhuǎn)換的第一點加載存儲器下一行。此乘法針對每一個3pt離散富利葉轉(zhuǎn)換被繼續(xù)用于所有三個抖動因子組。其它離散富利葉轉(zhuǎn)換以8抖動組被同樣達成8pts,以19抖動組達成19pts,而以64抖動組達成64pts。
參考圖7A-C,其可見選擇性輸入本發(fā)明數(shù)學(xué)引擎允許數(shù)學(xué)引擎執(zhí)行AHA,AHr及Steiner函數(shù)。如圖7A所示,針對AHA函數(shù),僅主要并聯(lián)數(shù)據(jù)輸入源輸入于AHA操作期間被用來提供系統(tǒng)響應(yīng)矩陣(AH);系統(tǒng)響應(yīng)矩陣乘上其復(fù)雜共軛轉(zhuǎn)置值。由于使用移位寄存器的并聯(lián)負載能力且因為復(fù)雜乘法陣行包含共軛其輸入之一的能力,所以各點視需多少折疊而被計算于x時脈循環(huán)中(其中1=<x=n,n為折疊最大值#)。
參考圖7B,針對AHR函數(shù),主要并聯(lián)數(shù)據(jù)輸入源提供系統(tǒng)響應(yīng)矩陣(AH)。于是,串聯(lián)輸入于AHA操作期間被用來提供被接收向量(r)的數(shù)據(jù)欄。系統(tǒng)響應(yīng)矩陣AH針對時槽被乘上該被接收向量(r)的數(shù)據(jù)欄。由于使用移位寄存器的串聯(lián)負載能力,所以當系統(tǒng)響應(yīng)矩陣被提供至主要并聯(lián)輸入時,數(shù)據(jù)字段是加載移位寄存器。最終向量的各組件視需多少折疊而被計算于x時脈循環(huán)中(其中1=<x=n,n為折疊最大值#)。
如用于圖7C所示用于Steiner操作(FFT),主要并聯(lián)數(shù)據(jù)輸入源提供快速富利葉轉(zhuǎn)換輸入數(shù)據(jù)組,而次要并聯(lián)數(shù)據(jù)輸入源提供快速富利葉轉(zhuǎn)換抖動因子??焖俑焕~轉(zhuǎn)換操作期間,m點快速富利葉轉(zhuǎn)換中,數(shù)據(jù)組的適當m點借由次要并聯(lián)數(shù)據(jù)輸入源提供至復(fù)雜乘法陣行,而適當快速富利葉轉(zhuǎn)換抖動因子借由次要并聯(lián)數(shù)據(jù)輸入源提供。
權(quán)利要求
1.一種數(shù)學(xué)引擎,包含接收待處理的數(shù)據(jù)的一并聯(lián)輸出移位寄存器;一處理器,包含使用多個算術(shù)邏輯單元(ALU)電路的一加法器樹,用于接收該移位寄存器的輸出及提供數(shù)據(jù)輸出;借此該移位寄存器包含一可選起始位置,以該處理器的容量為基礎(chǔ)來選擇性輸出。
2.如權(quán)利要求1所述的數(shù)學(xué)引擎,其特征在于進一步包含一多任務(wù)器,用于接收來自該并聯(lián)輸出移位寄存器的輸出,及把來自該并聯(lián)輸出移位寄存器的數(shù)據(jù)供至該處理器。
3.如權(quán)利要求2所述的數(shù)學(xué)引擎,其特征在于進一步包含選擇性致動來自該移位寄存器的輸出的至少一致動電路。
4.如權(quán)利要求1所述的數(shù)學(xué)引擎,其特征在于該數(shù)據(jù)包含實部及虛部組成。
5.一種執(zhí)行多個不同類型計算的計算單元,該計算單元包含一并聯(lián)輸出移位寄存器;一多任務(wù)器,用于接收來自該移位寄存器的輸出,及提供輸出至該加法器樹;該加法器樹包含多個算術(shù)邏輯單元;及一選擇電路,可選擇性致動該移位寄存器及該多任務(wù)器以把該輸入數(shù)據(jù)特定部分施加至該加法器樹以執(zhí)行不同計算。
6.如權(quán)利要求5所述的計算單元,其特征在于進一步包含至少一具有該加法器樹至少一倍數(shù)據(jù)寬度的可選擇存儲器。
7.一種執(zhí)行計算的數(shù)學(xué)引擎,該數(shù)學(xué)引擎包含可儲存輸入數(shù)據(jù)的至少一輸入存儲器;一可選擇存儲器,接收來自該至少一輸入存儲器的輸入數(shù)據(jù),及經(jīng)由多個折疊提供可選擇輸出,其中各折疊包含該可選擇存儲器內(nèi)的至少一位置;及一處理器陣行,具有多個處理器,用來接收來自該可選擇存儲器的輸出及選擇性提供一輸出。
8.如權(quán)利要求7項所述的數(shù)學(xué)引擎,其特征在于進一步包含視該預(yù)期數(shù)學(xué)計算來選擇性控制該至少一輸入存儲器及該可選擇存儲器的一致動電路。
9.如權(quán)利要求8所述的數(shù)學(xué)引擎,其特征在于進一步包含一加法器樹,具有用于接收來自該處理器陣行的輸出及處理該輸出的多個算術(shù)邏輯單元電路;及一累積電路,用于接收及累積來自該加法器樹之各輸出;借此該致動電路進一步控制至少一部份該加法器樹來支持該預(yù)期數(shù)學(xué)計算。
10.一種可解決復(fù)雜函數(shù)的計算電路;該計算電路包含一存儲器,接收用于復(fù)雜解的輸入數(shù)據(jù);一儲存體,儲存該復(fù)雜函數(shù)的運算因子;一多任務(wù)器,接收來自該存儲器及該運算因子的一輸入;一處理陣行電路,依據(jù)被該存儲器儲存的若干位位置來處理,該處理陣行電路包含來自該多任務(wù)器的輸出及至少某些該輸入數(shù)據(jù);一復(fù)雜加法器樹,接收來自該處理陣行的輸出及提供一添加輸出;及一累積器電路,接收來自該加法器樹的輸出及提供所累積的復(fù)雜輸出。
11.如權(quán)利要求10所述的計算電路,其特征在于該存儲器包含具有一可選擇起始位置的并聯(lián)輸出移位寄存器。
12.如權(quán)利要求10所述的計算電路,其特征在于進一步包含提供一抖動因子為執(zhí)行離散富利葉轉(zhuǎn)換的運算因子,其中該多任務(wù)器接收來自該存儲器及該運算因子的其輸出。
13.一種可解決復(fù)雜函數(shù)的計算電路,包含一存儲器,接收用于解答的復(fù)雜輸入數(shù)據(jù);一儲存體,用于儲存抖動因子;一多任務(wù)器,接收來自該存儲器的復(fù)雜輸入數(shù)據(jù)及來自該儲存體的該抖動因子;一處理陣行電路,依據(jù)被該存儲器儲存的若干位位置來處理數(shù)據(jù),該處理陣行電路包含來自該多任務(wù)器的輸出及至少某些該輸入數(shù)據(jù);一復(fù)雜加法器樹,接收來自該處理陣行的輸出及提供一添加輸出;及一累積器,可計數(shù)該被添加輸出。
14.如權(quán)利要求13所述的計算電路,其特征在于該存儲器包含具有包含一可選擇起始位置的并聯(lián)輸出移位寄存器。
15.一種電子解決復(fù)雜函數(shù)的方法,該方法包含提供來自第一存儲器而用于復(fù)雜解答的輸入數(shù)據(jù);提供來自第二存儲器而用于復(fù)雜函數(shù)的運算因子,并以來自該第一存儲器的數(shù)據(jù)與該運算因子相乘以提供多任務(wù)數(shù)據(jù);及供應(yīng)該多任務(wù)數(shù)據(jù)的選擇部分至處理陣行以作為并聯(lián)輸出,該選擇部分乃視該復(fù)雜函數(shù)而定。
16.如權(quán)利要求15所述的方法,其特征在于該處理陣行包含多個加法器。
17.如權(quán)利要求15所述的方法,其特征在于進一步包含提供一抖動因子以便作為執(zhí)行離散富利葉轉(zhuǎn)換的該運算因子;及選擇性致動至少一部份該處理陣行,借此控制被該處理陣行所處理的數(shù)據(jù)大小。
18.如權(quán)利要求15所述的方法,其特征在于進一步包含累積來自該處理陣行的數(shù)據(jù)輸出。
全文摘要
本發(fā)明涉及在運算法使用一個單一數(shù)學(xué)引擎以使得所述數(shù)學(xué)引擎能夠?qū)λ羞\算法使用相同的多任務(wù)器時,用于執(zhí)行許多不同形式的方法與系統(tǒng)。所述數(shù)學(xué)引擎包含一個選擇性控制并聯(lián)輸出寄存器,至少一個選擇性控制存儲器以及多個處理組件。所述輸出寄存器、存儲器以及處理組件都選擇性受到待使用的運算法所控制。
文檔編號G06F7/52GK1685309SQ03822699
公開日2005年10月19日 申請日期2003年9月24日 優(yōu)先權(quán)日2002年9月24日
發(fā)明者里安·S·布杰特, 夏伊·S·庭爾曼, 史蒂芬·S·蘇普利 申請人:美商內(nèi)數(shù)位科技公司