TWI263167B - Method and system for performing calculation operations and a device - Google Patents

Method and system for performing calculation operations and a device Download PDF

Info

Publication number
TWI263167B
TWI263167B TW092130873A TW92130873A TWI263167B TW I263167 B TWI263167 B TW I263167B TW 092130873 A TW092130873 A TW 092130873A TW 92130873 A TW92130873 A TW 92130873A TW I263167 B TWI263167 B TW I263167B
Authority
TW
Taiwan
Prior art keywords
data
pipeline
input
interface
multiplication
Prior art date
Application number
TW092130873A
Other languages
English (en)
Other versions
TW200411540A (en
Inventor
David Guevorkian
Aki Launiainen
Petri Liuha
Original Assignee
Nokia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Corp filed Critical Nokia Corp
Publication of TW200411540A publication Critical patent/TW200411540A/zh
Application granted granted Critical
Publication of TWI263167B publication Critical patent/TWI263167B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Hardware Redundancy (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Forklifts And Lifting Vehicles (AREA)
  • Preliminary Treatment Of Fibers (AREA)
  • Fishing Rods (AREA)
  • Advance Control (AREA)

Description

1263167 玖、發明說明: 【發明所屬之技術領域】 本發明係關於使用由―組 個資料輸入介面,及至少—彻次上丨从s民丨白杈至乂 i卜辞曾壯罢由、》 個-貝料輸出介面所構成的管線 义料:衣人Λ仃運异的方法’該管線階段包括至少-個 ,枓輸…及一個資料輪出介面,此方法 第?運算所用資料是輸入該装置;本發明也是關於由一组 系少兩個管線階段,至少-個資料輸入介面,及至少一;: #料^介面㈣成的管線化計算裝置内實行運算的系 統’该官線階段包括至少—個資料輸人介面及—個資料輸 出介面’且該計算裝置還包括第—與第二運算用的資料輸 二本發明還是關於由-组至少兩個管線階段,至少—個 貝,輸入"面,及至少—個資料輸出介面所構成的管線化 計算裝置内實行運算的I置,該管線階段包括至少__ 料輸入介面及-個資料輸出介面,且該計算裝置還包括第 一與第二運算用的資料輸入。 【先前技術】 有許多應用系統是須要使用乘法運算、乘法累加運算 (AMC)及其他運算的。纟一非限制性的例子中,多訊號: 理應用系統,例如數位訊號過濾應用、視訊/圖像處理應= 等等,是實行即時乘法運算的應用。其他須使用向量且 或矩陣的應用也須使用乘法及MAC運算。乘法運算通常以 求和及順位元運算實行。如此之乘法運算是高資源要求的 作業,因為一個介於兩個運算元的乘法運算是須要大量的 1263167 即時計算。因此,高速效率是對不同的視訊/圖像處理運 算法或次作業發展平行專門結構(加速器)的動力。先矿 的視訊/圖像處理系統技術包括數種類似的加速器(例J 如,絕對差和(SAD),餘弦變換,等等),每一種皆包括了 大量的硬體元件。然而,由於行動通訊系統之發展,在硬 體方面,其影響系統的成本以及電源//能源的消耗,與高 速效率為同等重要的特性。一種趨向滿足所有這些要求的 方法是更現代化的數位化訊號處理器(DSPs),並減少專門 加速器的數目。縱然在這些方面有所改進,但是這樣的系 統仍然無法滿足高速率及能量消耗的要求。 ” 表1概括一些主要的計算模式及經常使用這些模式的 視訊/圖像處理運算法的例子。這些模式中的運算是报基 本且相當為人所熟悉的。許多的文章已陳述過這些運: 的執:。在此強調與視訊/圖像處理運算相關的兩個特 ,。第-,運算元通常為中精確度(8至16位元)整數值。 第二,大部分的運算法利用大量平行運算。在某些情兄, ^平,運算共用同樣的運算元,例如,在數值量化方面, 陣乘二多的影像的像素(pixels)相乘;在向量矩 不同的列被乘以相同的輸入向量;在有 回應(FIR)濾波器中,相同的系數被包括在若干 MAC運算中,等等。 1263167 表1 計算模式 列式 運算法 平行加/減法 di二cti:hbi,i=1,.·.,k 動態補償,明度改變,離散餘弦轉換 (DCT)、離散波元轉換(DWT)、絕對 差和(SAD)之次運算,等等。 累加計算 κ ^ = Σ ΐ=\ 前置,後置處理之平均過濾,DWT 之次運算,向量對向量及矩陣對向量 之内積,捲積,等等。 平行乘法 mi^axxh or m^aiX, i=l, ...,Κ 量化,DCT,DWT,向量對向量及矩 陣對向量之内積,捲積,等等之次運 算。 乘法累加計算 (MAC) Sf = + i — \,···,iC, 印是未知整數 FIR濾波器之基本運算及矩陣對向量 運算 向量對向量之内 積 Κ s = aixi i=l DCT,DWT,向量對向量及矩陣對向 量之内積,捲積,等等之前置,後置 處理,次運算。 矩陣對向量乘積 P = Σαυχ] i = 1,..., K 顏色轉換,幾何操作,仿射運動估計 ,DCT,等等之前置,後置處理,次 運算。 HR濾波(捲積) P si = Hajxi-j 7=1 i = 1,..., K 前置,後置處理(圖像濾光強化,内 插,外插),DWT之基本運算。 絕對差和(SAD) K s = Σ~bi\^ /=1 動態估計,圖像逼真度標準平均絕對 誤差(MAE)。 視訊/圖像處理以及其他訊息處理之先前技術結構是 基於傳統的乘法運算。許多執行乘法運算及/或乘法累加 運算的方法及裝置已經發展出。以下所要考慮的情況是祇 有當乘法運算方法及一般乘法結構的兩個運算元(被乘數 與乘數)皆未知,兩個符號定點整數以2之補數表示的乘法 1263167 運算’即所謂的基數T(radix-T)方法。 &續元(包括符號)乘數一2之補數表示為 “H2,,及讀7^ (包括符號)被乘數X表示為 抑。α與^同樣的關係於1與巧表示如下’ η—2 …χ r=〇 -χ m~l 2m'] m-2 Ο) 在基數T的乘,法運算方,法中, T 木知少= α.χ的2之補數 少w+/7-的公式如下: 〜Mradix—T — 1 (2) y ~ Σ {Arx)2rtradi^-T r~〇 其主要兩個步驟是: 步驟1·產生部分乘積(pp)4.u 有效。 ,—,···,〜-&—Γ-/ 使式(2) 步驟2_平行地將所有初步向左 分乘積J „ —x-r位置的^個部 、r ’ ”··’%也-7·-/總和起來。 基數TMAC單元以類似的方 個數字(累加項)被加在第2步驟的二:不同的是另- j現Γ驟1作更進一步考慮^同的乘·ί7方^ 法運算方法。A Q 隹蛉出不同的乘 之表示法而定。一Η的選擇事實上是依乘數α I263l67 、最簡單的乘法運算方法是為基數2之方法,其使用α 、之補數表示於式(1 )的左邊。於此情況,乘積的2之 補數可依以下求得: 〜nradix—2 -I fl—2 y ^ ^ytrad^2 - Σ〇 i^rx)2r - ? (3) 即"Wx—2二”,及部分乘積 4.x,r = 〇,···,” —7 由 〜 土,2,且7—一% 一^當尸二”一7所定義。這些部分乘 積可簡單地(並通常地)形成於使用一個2輸入及閘(AND Gates)陣列於乘數3被乘數y的2之補數位元間。 士·Χ,Γ = 〇,.·4 —7之值乘以/ (及向左移r個位置)於累加至 苐们^驟之韵。應注思的是此方法中的部分乘積4厂χ有 時也稱為修正因數,其視為不同於其他的部分乘積。/ 部分乘積之非一致性的性質可避免於使用另一種基數 2、紐運算法,其基於㈤㈣重新編碼使乘數的補數位元& 成為額外的符號位元。該乘積可表示為: 〜nradix-2 -1 n_^ y= Σ (Arx)2r=±(-ar+ar_j)xr, α_]=〇 (4) ’Ji、叫,nradbc—2 ..... ^ /刀、米積 一/現在都定義“一〜。與之前的方法 ㈣,將今^嗔少7之值乘以^於加至第2步驟之 W °在此方案中’部分乘積於恤中選擇一個。這些 其中兩個(0鱼X、Η4 口从 、 /、幻疋即付的,而1之求得要反轉3?的位元 10 1263167 並加上單位元。通常’單位元加法執行於部分乘積加總的 第2步驟中。 無論是BOOTH重新編碼或是非重新編碼,在基數2 乘法運异中共有”個部分乘積。為了減少部分乘積 的數目,即減少第2階段(部分乘積加總)的延遲,:是發 展出基於基數4修正BOOTH重新編碼(Mba)的方法/ ΜΒΛ是最通用的乘法運算之一,且被進一步的研究及優化 中。 為了簡化以下之公式,在任何情況下,當有一項,例 如π/Α發生時,即假設η是k的整數倍。這是有效的假設, 因為2之補數可由任一數目的位元作補數(重覆最高有效位 元)。 在MBA中,乘積的2之補數由而一個部分乘積 之總和獲得: (5) 〜nmdix—4 -1 η / 2—1 Σ (Arx)2 r = £ ([~2α2Γ+1+α2Γ+α2Γ.1]χ)22Γ, r=〇 r^〇 a—1 二 0 2,-/,0,/,2,Γ4,7,.··,”/2 —7,是依據乘數 3的 2 之 補數表示的3個連續位元α>+7,❻,%—7(α—尸〇而選擇。Λχ, /,乘以A (即在硬體中移左2r個位置)於加入 步驟2之前。 使用高於基數2非重新編碼的乘法運算以減少部分乘 積數目也是可能的。例如,在基數4非重新編碼運算法中, 1263167 依據乘數的2個連續位元 讀邙,气…。此;有擇樹… 產生。奇數邱能部分乘積:向左-次而 法運算也使用,頁再加—個X求和而得。若負數乘 效位元(即二 伸必須使用,部分乘積的最高有 Λ* )複製多次直至達到所須的位元長度。 ^,1,2,3,4,5,6,7卜\重:广碼”運算中’部分乘積心 遠婷你- —,的選擇是依據乘數的Μ固
二:。可能部分乘積列是W,A ,仃3個分別的加/減法以得到 個x:可能部分乘積知可移動可能部分乘積氕向左-八乘j件。對於較高基數的情況(> =16),有些可能部 U、例如及)無法由一次的加/減法求得。 圖1表不用以實行修正boo™運算法的裝置101。共 個booth編碼/解碼列,每一列包括i個Β〇〇τ_ 碼器102,及m+H„〇〇TH解碼器、1〇3,每兩個列為一組。 母個BOOTH編碼器、102解析乘數3的2之補數的3個連續 位7,有一位凡重疊,且輸出Q個訊號對應至解碼器103列。 在一些先前的設計中U。根據此一訊號,解碼器列與 =乘數位兀x輸入形成部分乘積⑷*机紅边}。X非負值 ^數可即時求得,因為2χ是由固線式移位形成。X的負值 化數的求彳寸方式是將相應的X正值倍數的位元反向並加1, 此通常於步驟2中實施。例如,美國專利6,173,304是一執 行BOOTH編碼及解碼的系統。於基數2的方法中,部分乘 12 1263167 知的獲得比修正b〇〇th運算法 運算法時,部録積㈣目減至1/2, 面積及電源消耗上顯著之優勢。 但是使用修正booth 如此,導向速度效率, 夕 為進一步減少部分乘積數 夕位元(任意基數T)編碼。 目,booth編碼已更延伸至 該乘積的一般方程式如下: Σ (Arx)2 r-〇 ,nit—1( Σ r~〇
X 2tr ⑹ a~l - 〇,T 二 = 2tradix-丁
^ nradix-T 乘積是依據乘數、 分乘積(Γ = 2,),且每個部分 數列,該勸可崎乘積办 對地容易形成於兩個;…)能(::输能相 二方倍:之相加,及可能地位元反轉後的:的2 例如,基數8會報抱成从法 '弟2步驟)〇 土數8重新編碼的情況,可能部 咖,±2x,±h,±〇。所有數列中的、J為 自於m仙外,皆為即時可° ^除—了办得 倍數可依反向加丨之方法求得。在基數16 ==,負數 可能部分乘積列為㈣边执重^ 3個分別的加/減法以得到jx = x + 2x,5坆二可藉由執行 7x二8x-X。可能部分乘積分可 JX —x + 個位置而得。對於較古美翁 此口P分乘積h向左一 如’仏及说)無法由-次的加/減法乘積(例 圖2表示先前技術之基數τ (τ>=: 夕位元B〇〇Tii 13 1263167 及基數τ(τ>=4)新的非重新編碼(基數高㈣ : 又結構20卜此結構包括加法器陣列202以叶营 乘積數列,一個選擇區塊2〇3以選擇補部^ 二塊2〇4將被選擇的部分乘積加總,最後 項由總和區塊心 典型先進技術的基數高於4之乘法器的加法器陣 減法器,其“是可能部分乘積列内^值的 乘法,於T=8 B〇〇TH重新編碼或Τ=4非重新編碼 非重二以及s=3,於Τ=16Β00ΤΗ重新編碼或τ=8 ㈣通常快速進位預測(CLA) 吏用’因為可能部分乘積形成於如此的乘法器是相 =㈣。在專利us_5,875,125中提出申請的特殊仙加 ㈣基數8乘法H卜應注意的是混合式基數4/8乘 /益也已提出中請’例如,在美國專利號碼4,965 762中, =用在相互作用的(非平行的)乘法器,其中部分乘積 疋序列地產生及累加。美國專利號碼5,64M77揭示一種乘 法結構’其中任—基數的所有可能部分乘積由 式’以及包括-個產生办之仙加法器,兩個移位 個加/減法器之加法器陣列的χ之求和或差數而得。 典型先前技術的基數高於4乘法器的選擇區塊包括n/t 個基數TBOOTH編碼器及相同數目的解碼器列。每一個編 碼器解析相應乘法器的⑻)元組(tuple),及輸出複數控 制訊號,依據該訊號,相應的部分乘積由解碼器列形成。 14 I263l67 關於如何延伸基數4 BO〇TH編碼器及解碼器至更高階的基 數’可以專利US-6,240,438為例。 以下,對部分乘積之加總,即第2個步驟,作更細節之 考慮。大部分的平行乘法器/MAC單元結構用包括一個壓 縮陣列跟隨著一個快速加法器(最終加法器)的總和區塊 作為步驟1部分乘積之加總(見圖1及圖2)。壓縮陣列將 的部分乘積數列減至2個數列對應到總和s及進位 C項,其於最加法器中相加。壓縮陣列通常包括全部或半個 ^法器(進位儲存加法器樹或Wallace樹)或4: 2壓縮器。 取終加法器通常為快速預先進位加法器,其是依據壓縮陣 列的不同位元的延遲詳加設計。 應注意的是,如果利用BOOTH重新編碼之方案,則實 行皁位元加法之結果於第丨步驟而非第2步驟,每個部分乘 積列伴隨一個位元值,若部分乘積是被乘數的負數倍,該 值為0 ’否則為單位元值。如此,實際上,數列的數目是 Γ。僅管這些i位元值可能合併至部分乘積列中,如 此數列的數目是〜—或〜逢—Γ + 7,但所須付的代價是增 加乘積列的長度⑴固位元)及變得不規則。在非重新編; 的方案中,至多祇有i個額外的位元值,所以可設 的壓縮陣列。 早 個與booth重新編碼乘法器之總和區塊相關聯 的問題疋如何處理訊號延伸,因為部分乘積列在加總前須 彼此相對地移位。一個簡單的執行是每個部分乘積(移位 後)應延伸至(科m)位元數,這是非常耗時的作法。特殊 15 1263167 符號的延法及電路已經發展可以減少#號延伸位元數 至每列中兩個。在非重新編碼乘法器_,符號延伸可處理 的更簡單’而沒有額外的符號位元,因為所有的部分乘積 除了一個以外皆是同符號的。 原則上有兩個延伸乘法器結構至mac單元的方法如圖 3&及3b所示。在第1個方案(圖20,兩個壓縮陣列301 ^輸出(總和項S及進位項c)回饋至其輸人,以使目前的
部分乘積與目前累加值的兩個加數作累加。最終的總和項S 及進位項c然後於最終加法器3G2内相加。在第2個方案 (圖3b),這些輸出供給另一個壓縮陣列3〇3,其輸出再回 饋至自身(第2個I缩陣列)的輸入。再來,目前乘積的總 ,=及進位項C累加至目前的累加值直至最後一個循環 /最終的總和項SA進位項C於最終加法器3〇2内相加 t整個壓縮陣列的較(即所有的延遲)可能於第i個方 ”為較小’但寬度’即因此,面積及電源消耗卻是以 個方案為較小。 弟3
一種%為官線的方法可以用在與運算連接。亦 用管線的裝置包括2個或以上的管線階段,每個管線 一個 階段 16 1 f Λ Γ 的總結,纽意的是基崎高則步驟 2
數高於4的乘法運算法尚未穫得普及,或許因為其使用相I 3 ^產生部分乘積)愈㈣雜,但是步驟2則愈 4 的時間;面積於部分乘積器,包括加法陣列及選擇區塊: 通吊’基數4ΜΒΑ被視為是最好的先前技術乘法運算 且被用在許多實業上之乘法器中。 # 1263167 用以貫仃運异中的特定的某一或數個部分(即子運算),管 線間彼此聯繫,每個管線階段實行1或多個子運算,並於最 ,一個管線階段輸出計算結果。在此管線装置中,不同的 吕、之^作疋才木接績式地,因在匕,下一個管線階段開 始刼作子運算於前一個管線階段完成子運算之後◦若管線 階段是純粹地平衡(即某些階段顯著地快於其他的階段), 這意謂著所有的管線除了一個以外大部分的時間皆在等待 或閒置。此外,所有的管線皆保留給某一特定的作業(計 算子運算)而無法實行其他的運算。 3有~乘法器/MAC單元的特性,從視訊及圖像的觀點 是希望具備的,但是先前技術的解決辦法是缺乏或不足 的,此將揭示於後。f先,最普及的絲4BOOTH重新編 碼的乘,器/MAC方法將被考慮。這個方法的—般缺點是 比起較高基數的方法消耗更多的電源。另—個—般的缺點 是,即使純於基數2乘法運算方法,部分乘積的數目減 半,但其仍可減至更少若使用更高的基數。亦即,這個方 法的複雜性主要集中在第2個步驟(部分乘積的加總)。當 管線化一個基數4 BOOTH重新編碼乘法器/MAC之結構 ,通常部分乘積產生區塊被考慮作第丨個管線階段,然而是 平衡於(即,較快於)其他的管線階段。 就基數高於4的BOOTH重新編碼器而言,已有不同的 此類乘法器實現,當僅考慮乘法運算的實行,其與基數4 的乘法器就時間及面積的標準而言,有相當的競爭性,然 而在能源消耗的表現上,卻遠勝過基4數乘法器。基數高於 17 1263167 4的主要缺點是在部分乘積產生區塊内須要有一個加法哭 陣列。 '口° 基數高於4的BOOTH重新編碼乘法器還有一項缺點是 關於必須處理被乘數的負倍數及符號的延伸。 基數T非重新編碼與基數2τ B00Th重新編碼於部分 乘積產生區塊内包括有相同數目的加法器。當使用基數高 於8的非重新編碼或基數高於163〇〇111重新編碼之乘法 器,須要使用1個階層以上的加法以產生可能部分乘積\ 表2a
乘法器型式 BR, T=4 BR, T=8 BR, T=16 AA寬度,s — 1 3 可能部分 乘積數目 5 9 17 SB之部件 編碼器 n/2BR4 n/3 BR8 n/4BR16 解碼器 n/2 (m+l)-BD4 n/3 (m+2)- 4:1 t/c n/4 (m+3)-8:l t/c SE Yes Yes Yes SB之延遲 6t 12t 16t CA之輸入數 n/2 (m+l)-bit + 3n/2 n/3 (m+2)-bit n/4 (m+3)-bit 1-bit +4n/3 1-bit +5n/4 1-bit FA-CA5 之 n=13,x 7 / 4 / 8t 5 / 3 / 6t 4 / 2 / 4t 輸入數/ MAC 9/5/ lOt 8 / 4 / 8t 6 / 3 / 6t 階層/延遲 n=\6,x 8/4/8t 6 / 3 / 6t 4 / 2 / 4t MAC 10/5/ lOt 8 / 4 / 8t 6/3/6t n=64,x 32/8/16t 22/7/ 14t 16/6/12t MAC 34/9/18t 24 / 7 / 14t 18/6/12t 4:2-CA 之 n=13,x 7/2/6t 5 / (4:2)+FA / 5t 4 /1 / 3t 輸入數/ MAC ~~——---- 9/2(4:2)+FA/8t 7 / 2 / 6t 6 / 2 / 6t 階層/延遲 n=16,x 8 / 2 / 6t 6 / 2 / 6t 4 /1 / 3t MAC -----— 10/3/9t 8 / 2 / 6t 6 / 2 / 6t n=64,x 32/4/ 12t 22/4/ 12t 16/3 /9t __— MAC 34/5/ 15t 24/4/ 12t 18/4/ 12t 18 1263167 表2b 乘法器型式 NR1, T=4 NR1,T=8 NR2, T=4 NR2, T=8 AA寬度 ,S 2 4 1 3 可能部分乘積數目 4 8 4 8 SB之部件 編碼器 No No 1 BR4 1 BR8 解碼器 n/2 (m+1)-4:1 n/3 (m+2)-8:l (m+l)-(BD4+n/2(4:l)) (m+2)(4:l t/c +n/3(8:l)) SE No No No No SB之延遲 5t 6t 6t 12t CA之輸入數 ((n-l)/2+l) (m+2)-bit ((11-1)/3+1) (m+3)-bit (n-l)/2 (m+4)-bit + 1 1-bit (n-l)/3 (m+6)-bit + 1 1-bit FA-CA5 之 η=13,χ 7 / 4 / 8t 5 / 3 / 6t 6 / 3 / 6t 4/2/4t 輸入數/ MAC 9 / 4 / 8t 7/4/8t 8/4/8t 6 / 3 / 6t 階層/延遲 n=16,x 9 / 4 / 8t 6 / 3 / 6t 8/4/8t 5 / 3 / 6t MAC 11 / 5/ lOt 8 / 4 / 8t 10/5/lOt 7 / 4 / 8t n=64,x 33/8/16t 22/7/ 14t 32/8/ 16t 21 / 7/ 14t MAC 35/9/ 18t 24/7/ 14t 34/9/ 18t 23/8/16t 4:2-CA 之 n=13,x 7 / 2 / 6t 5/(4:2)+FA / 5t 6/2/6t 4 /1 / 3t 輸入數/ MAC 9 / 2(4:2)+FA/8t 7/2/6t 8/2/6t 6 / 2 / 6t 階層/延遲 n=16,x 9/2(4:2)+FA/8t 6/2/6t 8/2/6t 5/(4:2)+FA/ 5t MAC ll/3/9t 8/2/6t 10/3/9t 7 / 2 / 6t n=64,x 33/4(4:2)+FA/14t 22/4/ 12t 32/4/12t 21/4/12t MAC 35/5/15t 24/4/ 12t 34/5/15t 23/4/12t 表2c BR Booth重新編碼基數_T乘法器 NR1 非重新編碼基數-T乘法器類型1 NR2 非重新編碼基數-Τ乘法器類刑2 SE 符號延伸電路 ----- BR4,BR8,BR16 相應基數Booth重新編碼器電路 BD4 基數-4 Booth解碼器電路 4:1,8:1,4:1 t/c, 8:1 t/c 相應輸入數目之多工器或實/補多~ — SB 選擇區塊 ~~-----— CA, FA-CA, 4:2 CA 加法器_及半加法器_之壓縮陣列,含4:2 Μ細态之壓縮陣列 19 1263167 表2a表tf不同區塊之不同特性,該區塊用於先前技術 ^ B00th重新編碼基數τ乘法器/mac單元作為n位元乘 ,與m位元«數之乘法運算。表2b表示不同區塊之不同 寸性’該區塊用於非重新編媽基數τ乘法器作為η位元乘 數與m位元被乘數之乘法運算。表&表示^以内 ㈣縮寫。當分析表2#21)時,可以發現對於大部份的η 每個乘法器/MAC單元型態内每個乘法器區塊的 =質上的不同。亦即,這些乘法器之直接管線化實施 2官線階段間之不良平衡而受阻礙。為使管線階段間有 父佳平衡,可藉由設料—個進位傳遞區塊时不同W ,目的進位賴(CLA)加法器,轉性地增加第丨與最後管 2線階段的傳輸率。此即何以這些區塊的延 …之中。某些情況,例如,小n、較高基數τ,:: =小的進:傳遞區塊,而因此大的面積。無論如; AS可旎為此兩階段增速之解決方法,侔管苴 ,最有效率的。此狀況對於中間之兩個管線階段;…:) 疋不同的,因為用於這些區塊的最先 最大效益而設計,以致於使得这此中」路疋為揮要技 τ錢於使传k些電路的内部管線作業並 =。 這些區塊的延遲對於每個先前技術之乘法 VMAC早70結構之每個型態(BR(T=8,16),NR1 / 聯不同讀,彼此間之相對差異是非 , 較高基數丁(例如丁二16乃#_ 伯、於更小II、 為慢,铁於里们主 M ) ’堤擇區塊較I縮陣列 為k…、於其他情況則相反。這意指著為一個 塊設計較快之電路並無法解決階段之間平衡的_般問題。。口 20 1263167 所有14些皆使得為先前技術之乘法器/MAC結構具有良好 管線化平衡而發展系統化之方法發生困難。 ” 、,另方面,若將獨立之先前技術乘法器/MAC單元之 平行陣歹i應用於複數個相應之運算,即使較快的區塊可以 用而不影響整體傳輸率,大的矽面積使用是必須的。此 卜如上所述,官線階段會產生不良平衡,若將管線化乘 法器/MAC單元應用於該陣列十。 “先。前技術的矩陣向量算術平行架構的設計是用複數獨 立乘法器結合加法器或複數獨立MAC單元。同時,對於不 同的運f通常有複數特定的電路。然而高基數乘法器包括 區塊(官線階段)其可再使用於其他的運算,例如,加/ 累加運异,等等。同時應提及的是,在矩陣向量算 :中’ 4寸別是用於視訊/圖像處理方面,如果高基數乘法 被使用,在許多情況,一個被乘數被乘以數個乘數意味著 、乘數的可犯部分乘積可能已被使用在所有的乘法運算 :j例如,在向量與矩陣運算中,同樣的乘數將使用許多 二,同樣的部分乘積將使用超過一次以上。當此種運算實 仃於先則技術架構,其計算部分乘積於每次須要時,而導 2體資源的無效率使用及增加電源之消耗。此外,如上 所述,有許多情況,先前的管線階段技術的乘法器是純粹 的平衡,因此減低裝置的效率。 【發明内容】 ―本發明的目標是提供一改良的計算結構及方法以實行 運异,其能夠儲存運算過程中的中間結果,特別是儲存乘 21 1263167 =運算之可能部分乘積之能力。依據本發明之方法,至少 ::運,計算階段’例如管線階段,之輪出資料是儲 體中,而儲存的f料作為另—個運算的輸入資 =許=存可rt乘積之外’計算裝置之記憶體可用 -电二广本鉍明之—有效計算裝置實施例是可依 、:““fl號而多功能化/可組態化成數種不同之结構。 本1之結構可有效地實行騎大型積體電路(VLSI)架構。 本發明有不同的實施例,复Φ一此 /、中些將於下文中揭示。 "二:疋利用—個記憶體單元儲存及再使用可 二數二=於㈣的被乘法被乘以數個乘數的情況時。有 ^的如矩陣向量乘法運算,FIR據波器,等等。 個具有相同被乘數的乘法運算中,祇有最初的 二:被執行’而避免了最須資源的可能部分乘 曾的 例如,當矩陣乘以向量時,祇有輪 、 完全的乘、、#、S I ^ # ^ σ里的弟1個分量須作 的宋法運开,而其他輸出分量的乘法運 執行。當實施FIR過濾時,完全的乘 、二“邛伤 乃非完全地執行。㈣其他《輸出時,乘法運算 第2個實施例是在矩陣向量中運用一 ,並同時彈性地將其組構成較小的作業。 去时…構 第:個實施例的結構可组構成執行 括:⑷複數乘法運算;(b)複數Mac 精確度(位元)的複數加/減 )不同 累加運算。 建才,且/或(d)平行 22 1263167 第3個實施例是結合 (sad)加速結構的視 結構與絕對差和 架構,依-組不同的” 理結構。此結構是多功能 確切地說成不同叫 第一個運算中,至少一個法的主要特徵在於所述之 憶體,而於所述之第-個=段的輸出資料被儲存至記 線階段的輪入資料該被儲存之細^ 括-_作為儲存主要特徵在於包 段的輸出資料,且有一個=取=少一個管線階 之第二個運算中之管線階段輸入=將::資料用於所述 的主要特矜/Μ44 又翰入貝科。根據本發明之裝置 *至少-個管線階段的輸出資料,且有一== 儲存3用於戶 3電路_構適用於廣泛的計算模 方、以、目 "圖像處理運算。藉由使用本發明之 之比車=圖像處理方面,乘法運算與先前技術及裝置 數乘^運3=得較快Μ較節省電源。本發明在執行複 s及有—個共料h (共用被乘數) 邙:乘:法,/MACS時特別有效率。由於可儲存可能 使用它刚的運算中’可達成顯著面積及 面之減少。另外一個本發明的有效實施例能夠 叹疋不同管線階段為節省能源模式,當其不須且/或實質 同步地使用不同管線階段實行不同的運算時,可明顯地減 23 1263167 少電源的消耗。高速效率 彈性可能性的管線以平衡不;;=率)是歸因於運用具有 結構區間對最快速區塊的 1階段的延遲並減少總體 先前技術(基數4或更高)乘€ °=士加傳θ輸率相較於單管線 及不增加輸入/輪出n。。r疋以增加最少的面積 記憶體單元d:寬度而達成。 行加/減法運算(不同精確執;^乘法為基礎的運算時,平 、夢七s ^ 萑度)可旎執行於其他的作業。 段,二二、算二?f:例的優點是架構的第1管線階 & 〇靶0卩分乘積的加法器陣列,不須盥:M:他 ,階段平衡,因為在大部分的循環中,其並不:要: 置成化結構使得對於不㈣運算重覆使用相同的裝 成為可:。此外’運算可用以執行不同精確度的參數, 例如,W行8位元加法,或4個平行16位元加法。 次丹著^間與電源/能源消耗的節省可達成,因為耗 :取大綱可能部分乘積的計算從大部分的乘法運算中 去除。 ^ Τ 直你2夕功月匕木構’本發明的一有效實施例可取代數個 專作為某一訊號處理運算的硬體加速器,例如,視訊/圖
像處理運算。 U 【實施方式】 ^以下,疋第1個有效實施例的詳細說明。根據本發明 第1個實施例的裝置的-般結構如圖7所示。該裝置!以 24 1263167 不同笞線階段P1到P4為一組。本實施例裝置1含4個管線 階段,但是本發明的範圍可包括4以外之不同管線階段。此 結構還可組入一個記憶體區塊,使得相應於一個運算之第 一管線階段的輸出可以被寫入及再使用於相應之另一個運 算之第二管線階段的輸入。 管線技術是一通常用於實行複數個類似的操作以增加 系統的傳輸率,例如,乘法運算且/或MAC。考慮一典型 的先前技術基數T Booth重新編碼(τ=8,16)或非重新編碼 (Τ〜4 ’ 8)乘法結構的管線化實施,第1管線階段ρι是表“ 中的s加法器陣列,第2管線階段P2是選擇區塊,第3管 線階段P3是壓縮陣列,及最後數個階段p4(其數目將因不 同實施而有所不同)。 依據本發明第1個有效實施例的裝置組入了複數(排) 乘法器/MAC單元。基數T BOOTH重新編碼(T=8,16) 或非重新編碼(Τ=4,8)乘法器之不同排的一般結構顯示在 圖7。一排乘法器/MAC單元的有效實施例結構通常可描 述為一個管線化裝置1,其中第一個管線階段ρι含複數個, 如P ’包括s個加法器的陣列(AA,S)2,且所有陣列之$個加法 器2共用同一個輸入線6。第2個管線階段P2是複數個, 如?,選擇區塊(SB,s)3,第3個管線階段P3是複數個,如 w ’壓縮陣列(CA,s) 4,及第4個管線階段P4是複數個,如v, 隶終進位預測加法器(CLA,s)5。這些基本功能區塊(AA,s,SB,s, CA’s,及CLA,S)實際上與用在先進技術的乘法器且/或 MAC單元之相應的類型相同。因此,當p=q=u=v=i的情況, 25 1263167 對應至先進技術的乘法器且/或MAC單元結構,主要 在於該裝置包括-個記憶體21可用以儲存一個或多個運曾 ,程:中間結果,一非限制性的例子,譬如可能部分乘積T 夕工器2 2可用以選擇第_答綠β比π ΛΑ ^ , 管線階段P2的輸入。本/置輸出3或_21作為 號路徑至裝置且從-組内部4_換内部訊 擇裝置。該選擇裝置是由至個輸出訊號的選 由至夕兩個不同的選擇中,選擇至 少一個管線階段的輸入。在一個有效的實施例中,至少一 區ΐ於先前技術結構中被取代—個基本區塊以上。 ===個參數(ρ,"及V),適當的選擇該參 數了^十出有良好均衡的管線階段裝置。一管線 區塊以時差的方式操作較優 、” 改變一此大致相 區塊的時間交錯操作原則 較大系統中的管線階段,咖 π你难认t 戈此,為使管線階段P1, ,P4 ,作傳輸率配合步驟區間,此功能區塊 數W固功能區塊,碼碼劭 被代之以稷 存器)“於其輸入,’及—:’:·,有管線暫存器(鎖 13於其輪出。參數%依問 ^夕工S 1G’ 11 ’ 12’ 管線階段pi,參數w對hit官線階段而定。對於第1 及第^管線階段的多工;J選:有 出。對於第2管線階段!>2,表:的-中之-至其輸 夕 w對應至q,即有q個管 26 1263167 及7,···,ν及第2管線階段的多工11 11選擇q輸入 5 '之至其輸出。對於第3管線階段P3,參數w對應 哭:,,即有u個管線暫存器〜"為,及第3管線階段的多工 :鈐ψ其包含兩個多工器(未圖示),各選擇u輸入之-為 個對於第4管線階段P4’參數W對應至V,即有v B、、- «存斋々,··.,心,及第4管線階段的多工器13選擇v 二:白其中之一至其輸出14。至管線階段P卜P2,P3,P4 。:二?輸入連接到每個w暫存器κ然而,這些暫存 W母—個僅開放於每评個操作步驟的其中之一,各步驟 =時間!。如此,在每個操作步驟,輸人z實際上祇連 =-個功能區塊的輸入’而其他的連接則是不活動的。 :關閉:::他形成!線階段的功能區塊群之輸入暫存器 ‘、入。在每w操作步驟的第丨個步驟中,第1 =能區塊刚的輸人是開放的,在每w 個步驟中’第2個功能區塊FB2的輸人是開放的,等等弟。2 大體而言,於操作步驟,υ中,輸入7實際 ==的丘輸出’其中’ /=(㈠)⑽dw+卜於是,輸入/在空 b1疋J的,而暫時分配至管線階段的功能區塊 碼,…馬之間。於系統操作過程之步驟 至該階段之輸入資料流的取樣A進入功能區塊·; ’―個 於該階段設定。一但,於操作步驟^ 之最,完成其對a的操作,在多功能區塊之, ^ I 1夕工裔Μ ’ U ’ 12,13傳遞由,所得之結果至 該階段之輸出於下個操作步驟㈣“U。因此,^ 27 I263167 态10,11,12,13依循環卿規則操作。 由替換每個先前技術乘法器/MAC單元結構的功 區塊為複數個相似的功能 刀犯區塊,及由日寸間差操作的原則, :個較平衡的管線階段或可達成於適#地選擇在每個管線 t(即^、及0的區塊數目於預定的操作步驟。 :设f先前技術乘法器/MAC單元結構的4個階段的延遲 刀別=Dw,/)從,,乃⑴,且希求的系統傳輸率是#如乘 法運异MAC/運算每移、,則所希求的操作步驟區間將選擇為 心以,使,及上述之設計參數將為, P「一~/7^’ W =「如41,及^「^/7^ ,其中,符^厂^ 表示進位至下一個整數。 圖8揭示依據本發明的第2個有效實施例的計算裝 置,結構的可組態性依據本發明的第2個有效實施例是藉由 匕括或數個遙擇裝置而達成,例如,位於第1個p 1,第 3個P3 ’及第4個P4輸入管線階段的多工器丨5,丨6,17。 多工器15, 16, 17是2:丨多工器,其分別由對應的〇1, c2,c3汛號控制。此結構還包括一個輸出選擇器2〇,其由 第1個汛號c 1控制’以及第2個訊號及第3個訊號的〇R 組合(即巧〜3)。輸出選擇器20選擇資料於第!管線階段 P1,或於第4管線階段P4的輸出連接至結構的輸出匯流排 14夕工崙15,16,17的苐1個輸入連接至對應的輸入匯 流排6,多工器15,16,17的第2個輸入是彼此相連的, 當第2個輸入啟動時,結構作為乘法器/ mac運算裝置。 使用不同的控制訊號cl,c2,C3組合可能產生不同的結構 28 1263167 組態。選擇裝置可用以重新選擇内部訊號路徑至計算裳 置,且從一組内部訊號中選擇一個輸出訊號。選擇裝置由 至少兩個可供選擇中選擇至少一個管線階段的輸入^據些 訊號所產生的組態揭示於後。 當所有控制訊號cl,C2 ’ c3設定為邏輯1狀態,即 cfcecf;!,結構作為乘法器/ MAC裝置。當第i個控制訊 號cl為邏輯〇狀態,而其他控制訊號c2,c3是邏輯丨狀態, 即==〇, c2=c3 = l,結構作為sp加/減法陣列。祇有第\ 個管線階段P1 (即加法器2陣列)是啟動的,其他則是閒 置的。第3個可取組合是第丨個控制訊號為邏輯丨狀態, 其=控制訊號C2,C3是邏輯〇狀態(cl=〇,c2=〇 , c3 = i)。 此時,結構作為累加器。祇有壓縮陣列4及最終加法器運 作,其他的加法器陣列及選擇區塊則閒置。帛4個可取组合 J第1個控制訊號Cl及第2個控制訊號c2為邏輯"大態, 第3個控制訊號c3設定為邏輯〇狀態。 此時’結構作寬精確度器快速加法器。尚有另—可取组合, 當Cl=C2=c尸〇’結構同時作為sp加/減 。 很顯然的,上述之選擇穿f 17 ^禪展置16,17,20及依控制訊號cl, …之狀態而定的結構/運算模式祇是可能的方式之 、尚有他不同的可能方式可資應用於本發明範圍之 内。沒包括了運用其他的控制訊號,此將揭示於後。 圖8之、、、。構有另兩個其他的控制訊號c4及,其增加 結構的多功能性而不用重 ^ .y t 重新、、且構。弟4個控制訊號c4啟動 (例如c 4二1 )或停止f办丨丨、 丁止(例如c4=〇)介於第3管線階段内之 29 1263167 壓縮陣列4的輸出與輸入之間的回饋迴路。於是,若 ^ C2—C3 = 1,C4=〇時,該結構作為乘法器,·若心2吩c4】 守,该結構作為MAC單元。第 1,2或3你分f w 制況號c5 (其可能為 次3位㈣虎)控制第i管線 Γ度,以允許(例如C5為邏輯。或停止(二= 1Γ ΐΓ"σ" 5^4fa1"^^#^(carrypr~^^^ 後數加h陣列包括spj@ m位元輪人的加/減法哭 :刼作為複數2sp個m/2位元輸入的加/減法器,或可; 作為複數_個m/4位元輸入的加/減法器,等等。另外 選擇區塊3, I縮陣列4,及最終加法器5可稍作修改,以 由一個訊號控制及實行不同精確度的乘法器/mac運曾 也是可能的。 t 矩陣向量算術架構 以下,依據本發明的有效實施例之乘法器/MAC單 元結構用於實行矩陣向量運算,例如,純量至向量,或純 量至矩陣之運算。矩陣至向量乘法運算(及矩陣至矩陣乘法 運算,反矩陣計算,顏色反轉,快速正交變換,例如卯丁, 快速DCT,等等),以及捲積,有限脈衝回應濾波,及濾波 器組,特別是分離小波轉變應用。這些運算的共同點是被 乘數X是被乘以若干乘數屮,ί = 1,···,Γ。另一方面,一個高基 數乘法的重要特徵是顯著的複雜性從第2步驟(部分乘積加 總)移至弟1步驟(形成部分乘積)。基數越高,越多複雜 性轉移。 此可取之應用的主要構想是共同被乘數χ與第1個乘 30 1263167 數al的可此σ卩分乘積祇計算一次,然後重複使用這些部分 乘,於Χ吳其他乘數、2,...,Α:,相乘時。如此,k個乘法 ,二中祇須-個,皮完全執行,其餘的k_i的乘法運算則為非 凡王地三亦即不執行基數高於4乘法運算中最複雜的部分 (即计异可能部分乘積)。很明顯地,如此將可在時間及電 源/能源消耗方面達到顯著的節省。 依據此構想,為矩陣向量算術設計的架構之一般結構 可推&自本發明的第i個有效實施例中的乘法器單 元結構及第2個有效實施例中的可組態化裝置。此可由組入 -個記憶體21而達成,如圖7及圖8所示。存在一第㈣ 控制訊號C6,記憶體21據之以開放(第6個控制訊號c6 例如設定為邏輯〇 (低))或關閉(第6個控制訊號c6例如 設f為邏輯1 (高))寫人。當狀記憶體為開放寫入, 可能部分乘積可由複數加法器陣列2的輸出儲存至記憶體 21。同一個控制訊號〇6可用在控制2: i多工器22。多工 為22的第1個輸入是連接到複數加法器陣列2,且多工器 22的第2個輸入是連接到記憶體21的輸出。於是,可能部 分乘積可直接由複數加法器陣列2 (第6個控制訊號“例 如設定為邏輯0)或記憶體21 (第6個控制訊號例如設 定為邏輯1)進入複數選擇區塊3。 圖9揭示矩陣向量算術結構之例子,其中兩個仲⑼ ,兀倍數累加運算可以同時實行。此結構組入分開的選擇 區塊3a及3b’由兩個不同的乘法器位元所控制。相同被乘 數(若C2,的可能部分乘積,或不相同兩個被乘數(若 31 1263167 C2矣q)的可能部分乘積可選擇作為選擇區塊仏,几的輸 入。兩個選擇區塊的輪出接著輸入至兩個各別有31個位元 回饋(於此例’ b=32是最終累加結果的最高位元精確度) 的麼縮陣列。這些壓縮陣列的總和s及進位c的輸出可合 :於(4x31)輸人壓縮陣列,其後跟隨—個最終加法器形成的 累加項,或可成對相加形成兩個累加項。如此,兩個分開 的塵縮陣列各有一個較小深度,即較短的回饋迴路,操作 ^累加階段。之後,兩對的總和項與進位項,或分開地(以 、對方式)相加於兩個CPAs(carry_pr〇㈣咖礙u,進位 味达加法器)’或共同地相加於第3個總和區塊。在第Hg) 二況兩個分開的運算的結果(例如,矩陣向 ㈣個輸出元素)是同時得到,在第2個情況,—個複^ 异被^成兩個較小的運算,再將所得結果合併。 μ貫際上’任何讀/寫記憶體可用在設計的矩陣向量計 ^結構中。兩個可取的記憶體形式揭示於圖10a及10b中。 中的記憶體形式相當於以個長度 存記憶體,其中L之异谇θp %什时之皙 能部分乘積於-個暫存」足以儲存一個被乘數的可 曰疋乘法運异中所用的基數,以及s ::二ί::中的加/減法器的數目。這個記憶體的定 位址環咖0規則對於每個正整數㈣產生 位址。^表示在運算階段叫,…,定址單元產生 為目前的位址值。然後,在輸入線上的可 以刀宋積值寫到暫存器會α㈣,WM,若第6個控 32 1263167 制訊號c6是低值(至記憶體 ♦ 的内容,即之前^者’暫存器會 至輪出線,若第6個控制訊號〇6是=能:分«值被寫 第2個記憶體形式揭示在圖i :了思體)。 每個運瞀步驟,笛Λ 制回饋的移位暫存器。在 ㈣,步驟’ ¥ ρ個暫存器單元 移至第㈣個暫存器單元,如者J Τ,广:2 ’被 存器單元都有回饋線,所古从 曼者/又有停止。母個暫 器,該多工器有_輸入線===輸入至㈣·」多工 (Ιορ/^〜上 深作為輸入(至記憶體)。多工哭由 § )位兀矾唬控制,該值設定為 (若c6=〇),或者由箆使侍由輸入來的資料 (若
罵至弟〇個暫存器中。 A 第0個暫存器作輪出。 a體通电都疋由 更詳:二:個:常應用於視訊及圖像處理的執行過程將 本2 應注意的是這些應用例子祇是特定的運算 本魯月不设限於祇有這些運算, 明。所有其他的運算包括一丘⑽士μ ]子也非即本發 法運曾括/、同被乘數乘以數個乘數的乘 外^依本舍明矩陣向量算術之架構作相 外,其,類似的運算法可發展於以下考量中。- 考慮純量對向量的運算xa,此乃最明顯的有效 貝一 & 一共同被乘數(純量)被乘以多數個乘數屮, 的 二第:個步驟,當執行共同被乘數與第-個乘婁“1 的采法運异時,第6個控制訊號e6設定為低值,使 部分乘積x直接由第1管線階段P1的加法器陣列2傳遞: 33 1263167 弟:B線階段P2的複數選擇區塊3,同時寫… 記憶體21依據m〇dl模式扭a 、寫至记憶體21。 個外皆停止。第1管線^’而其他的暫存器除第〇 個外也皆停止,若祇有^的^有的加法器陣列以除第! 運算實行時。由第二個運:::與一個或數個向量之乘法 設定為高值,使得記憶體始,第6個控制訊號“ 之後,寫入記憶體的可能邛八丁籍’ A亚將在弟-個步驟 由對應的多工哭的第'乘積X由記憶體21取出,經 所有加法器陣/2(=Γ 至選擇區塊3。同時, ,,^ (括弟—個)或停止,戋韓撫5足_/ 作業。如此時間節省的目 & 、另一個 部分’即計算可能部分乘積,n口:去除了最耗時的 及能源的節省可達成、 要I㈣了。顯著電源 …々 達成因為於K中的K-1個運算步驟中, 第管線階段是停止或轉移至# 在此計算李統中,第二另個作業。另-個優點是, 至以平:階段P1無須與其他線階段Ρ2 上。選有_ Κ中的K-1個運算步驟,其並不在要徑 祇須——,是t乘數x由外部記憶體(未圖示)提取 、#人,然而於先前技術中,必須提取K次。 第二,考慮矩陣向量運算,
Ux,或等同地 Ρ Σα/',7Χ7 7=1 :l,u 、此運算是許多代數及視訊/圖像處理運算法的一部 二::,矩陣對矩陣乘法運算,反矩陣計算,圖像顏色 、’快速正父轉換(例如TFT,快速DCT,等等), Μ操作’邊㈣查’等等。矩陣向量乘法運算可視為多 34 1263167 重的向量對向量乘法運算,所以 執行運算。然而,瘅注音的θγΛ β Θ或—排MAC單元 〜,Μ户,乗以tf::的疋輸入向量X的分量(被乘數) 依據本發明的〜其為矩陣A的第j行分量。 量ί=:二例,結構中的記憶體2"乍為矩陣向 并對輸入向置X的每個分詈 = = = Γ可能部分乘積則儲存於 ,、已3足夠的暫存器(即户以)。 長路f述^⑫,在圖形理論巾是表示起始點至終點的最 =理:f用於本發明時’要徑表示在管線化系統中’ 過程的起點至終點的最長路線。要徑的長度表示 声的“…、 析,可發現影響要徑長 二的糸、、先某‘刀。當發現後,可解析並找尋縮短該部分長 ς ^性。相對地’試圖縮短不屬於要握的部分通常是 不須要且也是無助益的。 〃為初始化(hP)矩陣對向量的乘法運算,依據本發明實 把例’結構應依適當的控制訊號值組構如下。依_dp模 式’記憶體21設定啟動,且暫存器從記憶體的?至r停止、。 架構,壓縮陣列4藉由將控制訊號以設定為高值,而作為 累加器使用。第6個控制訊號C6^開始時設定為低值,當 每個分量勹,/ = 1,.·.,ρ的可能部分乘積於p個操作步驟田 Ρ +1’··.,/? + Ρ中形成,其中步驟Ρ是第一個管線階段的延遲, 其等^管線階段内加法器陣列的數目。在這些操作步驟 中刀畺xy,J =丨,.··,户的可能部分乘積直接從第1管線階段 pi的加法器陣列2經由多工器22傳至第2管線階段?2的 35 1263167 :旻數選擇區塊3,並於同時寫至記憶體21。於是陣列a的 弟1列與輸入向量χ的乘法運算得以實施,並且同時地將每
個分暑Y 7 yM,.·.,户,的可能部分乘積儲存於連續的暫存器 =贼在P + P運算步驟後,控制訊號C6設定為高值,使得記 f思體21關閉耷λ η . ”、、,且χ厂,可能部分乘積循環地由 ^ 、、二由2 ··1多工器的第2個輸入擷取複數選擇區塊 ^ 第5個控制訊號C5於一個步驟設定為低值以重 ^二新的累加器。如此重複Κ_1次,直至矩陣A所有的 J白乘,向里χ。由操作步驟^户開始,所有加法器2陣列 包括第1個)若非停止就是轉移至另一個作業。如此, ρκ曰個立乘法運算中的ρ個是完全實施的,而其餘的ρ(κ])個 5部分:施,即不包括最複雜的第-步驟。與純量對向 里乘法運算之案例相似,這個運算也導向顯著時間及電源 /能源消耗的節省。 、下將依據本發明的捲積或FIR濾波作更詳細的考 慮。該運算式為 p 〜= Σϋ,i=i,.··,尤, 7=1 中,通常P<<夂。有兩個方案是可能實行FIR濾波於 依據本發明矩陣對向量運算的結構。 2 一個方案中,FIR濾波被視為p-對角線矩陣A與輸 向乘去運异’該向量有P個分量X/,卜-尸+ 7,·..,0對應 至負2標並向下移動P個位置。基於矩陣A是稀疏的(祇 有p料線有非〇項),上述之矩陣向量乘法運算的—般方案 1263167 ^為™濾波稱作修改。矩陣Al列”U,祇有?個 非〇項目,濾波系數~,风.·,户於行讲1,/ + p —!。在此實 :::二對輸入向量的所有分量而言,可能部分乘積非同 二 =記憶體中,而是祇有p個分量的可能部分乘積被 =儲存。母P個運算步驟,一組新的目前輸入之可能部 於複數加法陣列内’並取代記憶體21中較早的 卢這是藉由每p個運算步料定第6個控制訊 C6至低值而達成。因此加法器陣列2無法完全停止,作 =了時緩慢P倍,且不儲存可能部分乘積。祇-的㈣個乘法運算是完全實施,而其他祇有部分實施。 的可案’當計算第—個輸出取樣時,P個瀘、波系數 輪存,記_ 21 °然後’當計算其他κ·ι 這音著能部分乘積循環地從記憶體21取出。 PK中的p個乘法運算是完全實施,其 纪施所:旦所有的濾波系數的可能部分乘積儲存於 業 > 茶疋更有利於第1個方案。然而,筮9 度二官線階段P1的加/減法器2有足夠精確 ;ί 可能部分乘積時,才有可能實施。 現訊/圖像處理之多功能架構 =發明的結構可有效地應用為視訊/圖像處理多功& AVIP)。圖11揭示—個依據本發明視訊處理杜構= 有效貫施例。此實施例έ士播 ϋ冓的 構24。湖架構之_^= /謂絕對差和(,架 般釔構揭不於圖4,其中包括以時間 37 1263167 差方式操作所謂訊號差(DS)單元25的複數陣列,一有回饋 的壓縮陣列4,及一個最終加法器5其後跟隨一個最小評量 器(M)單元26,此單元須用於動態評估處理(基於SAD), 但對SAD的計算本身是不須要。每個ds單元25(DS陣列 或縮寫為DSA)包括S個DS單元27(圖5),其中每一個是8 位元減法器,其後跟隨著XOR閘28介於符號位元及其他的 差值位元之間。壓縮陣列的輸入是由s個丨位元(符號資 料),S個n位元(差值資料,通常n=8 ),及兩個 位元回饋(通常,K=256)。最終加法器可能有(w+1〇g幻位 元精確度。一個SAD架構的例子包括8個DS單元(減法 器)及對應至尸7,fS,Η,及尺ϋ的情況顯示於 圖6 〇 比較圖4的SAD結構與基於圖8之結構的乘法器,及 特別是比較圖6與圖8或圖9之結構,可注意到兩個結構間 一些重要的相似處。兩種結構類型主要皆包括一含複數加 法器或減法器的區塊4,27 (在SAD實例,其跟隨著一個 XOR閘),資料選路區塊(data routing M〇ck),其在以乘法 器為基礎的結構之情況是選擇區塊3,在SAD之情況則是 直接連接,以及總和區塊包括壓縮陣列及最終加法器。= 些相似性可作為統一這兩種結構,並結合為一可組態化架 構,其可使用少許控制訊號而組構成這兩種結構任何之、 一。如此,更進一步的架構之多功能性可用極少的簡單邏 輯訊號控制之代價而達成。 有數個可選擇方式用以結合SAD結構與乘法器結構。 38 1263167 圖11表示可選擇方式之一的視訊/圖像處理多功能架構的 一般結構。此結構是經由簡單修改基本乘法器為基礎之結 構的每個區塊而得。此情況,基本結構是圖8所示的矩陣向 置计异架構。圖13表示由圖9之矩陣向量計算架構推導得 之視訊/圖像處理多功能架構之實施例。 在一個實施中,視訊/圖像處理多功能架構包括加法 器2陣列,其可依第1個控制訊號C1及第5個控制訊號C5 組構成加/減法器或DS單元,因此可表示為Aa/dsa。一 個AA/DSA單元之可能實施例表示於圖12。每m位元加 /減法器陣列由r個連續(m/r)位元加/減法器跟隨著一 XOR閘組成(於圖13, m=16, r=2)。因此,X〇r閘祇活 動於當時,即(Cl,C5)=(1,〇),當架構操作為sad架 構時。另一方面,介於r個連續(m/r)位元加/減法器之間 的進位延伸可提供於祇當h =〇時。第1個控制訊號C1及第 5個控制訊號C5的結合也可用於控制是否數個不同輸入 (W4)(加數或SAD運算元)或者一個輸入(被乘 數)進入陣列中。無論是實施加法或減法皆由訊號控 制,其依據乘法運算法及位於AA/DS A單元内之m位元加 /減法器的位置而定。如此,依控制訊號c丨及C5, AA/DSA早元可以組構成不同型態的運算如下· 39 1263167 (Cl,C5) AA/DSA運算模 式 — 輸入 輸出 _ π平行加/小位元 加/減法 π 酉己 對(XA), i=l, ...,r rs (m/r+1)-位元 總和 ^=1/+乂·, 平行加/減法器 (〇J) s平行6^-位元加 /減法 —------- nsYm/rj-位元配 對(X妙/), i=l,…,r rs (m/r+1)-位 元差值 (1〇) a (m/r)-位元平行 減法,然後X〇Rs rs 位元配 對(χπλ i=l,…,r rs 位元 Μ: 值資料,及μ [ 位元資料 SAD架才 階段(複數DS單 元) (U) s加法或減法依據 基數-T乘法運算法 ------ l(m-t)-位元乘 數(MogT) s m-位元部分 乘積及a 7-bit 0值 基數-Τ乘法ΐΐ 第一階段(ΑΑ) 圖11的MAVIP實施例中,有一個資料選路區塊介於 AA/DSA單元區塊與壓縮陣歹區塊之間,其由與aa/DSA單 元相同的訊號C1與C5控制。選擇區塊的時鐘訊號(未圖 示)藉由一個及閘結合訊號C1使得選擇區塊停止於當C1=0 時。架構在此情況操作為加/減法器的平行陣列。依據控 制訊號C5,資料選路區塊或組構成直接連接,如同在SAD 架構内(若C5=0)直接由AA/DSA單元的輸出傳送r個(m/r) 位元差資料及r個1位元資料至壓縮陣列,或作為相應的乘 法器結構内的標準選擇區塊,由AA/DS A單元或記憶體傳 送S個m位元平行乘積至壓縮陣列區塊。此藉由插入一個 資料一體化編碼器/多工器區塊(data unifier / multiplexer) 23從相應的線路選擇資料而達成。資料一體化編碼器/多 工器區塊23或選擇AA/DSA單元區塊的輸出,若C5=0,或 選擇區塊的輸出,若C5 = l,並將資料類型轉換為適於壓縮 陣列4的型態。例如,圖13中的壓縮陣列的輸入包括兩組 40 1263167 以較快速地累加更多的部分結果。 表3列出一些運算其可實行於圖13的MAVIP實施例伴 隨著相關控制訊號c Y,·.·,9之選擇。 表3
Ϊ~~W ~---- 控制訊號 ^^ Cl C2 C3 C4 C5 C6 C? 平行8-位元加/減法 一'一'-- SAD ~~~~~--——- 0 x x x 0 1 1 fjrv 1 3fe 〇4- -----—_—- 1 x x x 0 0 1 rkx 1 ^ 5 (1 v1JVTq~7Z a~~~~--~~-—-- 1 x 0 0 1 1 〇 ()至(lxk)13位几向量對向量内積(k<65) 10 0 110 (記憶體不在使用) _)至(lxk)13位福量對向量内積(k<65) 111110 ~~〇~ (記憶體在使用) (P )至(kXl) 13 位 長度P tfL號灸-查汉敏τπτ> ------- 1 C2 C3 1 1 0 〇 C2=c3=0 first (k/2) cycles and C2=C3=1 after that ----------_____________ 1 c2 c3 1 1 0 0 C2=c3=0最初(k/2)楯環反 之後 C2=C3==J 許多不同的可選擇方案,因為乘法器/ 個社Μ Γ 干不同類型的延伸可供制。此外,每 ==設計參數的選擇導致不同的可選擇方案。本 裝置。-可選擇的方案是蜀立(緊密或分開成對) 這種配置可取代處理器内的乘=處理器内的功能單元。 擇方案可達相同目H中I早7"。尚有其他許多可選 部分,不包括複數加法哭陣列/貫施於不同實施例之一 ° "弟1管線階段Pi)及記憶體 43 1263167 21 ’而用作為處理器内的功能單元。處理器的加/減法哭 則作為複數加法器陣列,而暫存器作為使用於矩陣對向二 運异結構内的記憶體。 、。里 爲 π 1我器(Texas lnstrUments)TMS32〇C64x DSi
p包括8個功能單元,其中6個可操作為料位元的加/減g 器,這每一個可操作2個32位元或4個16位元或8個/8必 兀之加/減法器。其尚包括128個64位元暫存器,這每一 個可用為2個32位元或4個16位元或8個8位元之暫存哭 假設另-個功能單元(FC)類似圖6所示,但沒有加法器^ =區:包括ΐ處理器内。如此,此功能單元包括複數個選 -鬼,禝數個壓縮陣列,個及複數個快速最終加 法運算或乘法為基礎的運算於以下兩個循環(目前 士 〇C64x乘法器之乘法運算也採兩個循環)。於第工個 、:吉=暫力;C咸☆器計算被乘數χ的可晴^ 選並、她子為。接下來步驟中,適當的部分乘積組將被挑 使用二ΐίΓΓ單71。在此實例中,被乘數X被重複 祇^涉人的乘法運算時,第1個循環可能 紙執仃一次,但 b 時間盥能源d M則省略而導向顯著 地小的系數,實施FIR遽波(捲積)以—合理 用於數個(可铲_個)oc?x的加/減法器於開始時,將祇被 積,並料、纟^㈣:能部分乘 貫行於功能單元,而載入 ^、之冲具則依本發明 減法器於其他的目的 子早7^則給予機會使用加/ 、他的目峨料使肋節 44 1263167 ™S32GC64X1前實行™滤波時,所有功能單元包括乘法 恭及加/藏法益皆忙碌於該作業中。 宋去 尚有其他的可選擇方案可對不同的位元精確度 發明的可取結構,„BI例如,—法I器單心二 -個㈣乘法運算,或兩個㈣…或似㈣乘法運 4個(《/2)+/2)乘法運算於一個操作步驟。 '-或 圖14揭示-個依據本發明的有效實施例 f置包括一個控制單元30以控制裝置的操作。此裝置還t 括一個數位訊號處理單元3】作垚每一 ^ 替㈣m义 貫订其他處理作業,例如 據本發明—有效實_的計«置1適合應用 體:。理為二3二此t理t元也可包括-個有效的共同記憶 41由/理二衣/控制單元3〇所用,及一個内部記憶體 奸壯:早7^ 1作為内部使用,例如儲存可能部分乘積。 =置的制者介面33包括顯示裝置34,音 積 :36:及例如一個視訊相機37。裝置29包括通訊裝置%建 :J:I動通訊裝置,以與通訊網路聯通及與其他類似的裝 :貧訊(未圖示)。記憶體裝置39用於儲存不同的資料 王式例如控制單元30的操作指令。
本么明不受限以上揭示的實施例,而可依據下 h專利範圍作修改。 T 45 Ϊ263167 【圖式簡單說明】 基數4 BOOTH重新編碼乘法器的標準結構, 圖2基數TBOOTH重新編碼(⑺)或非重新編碼(Μ) 乘法器的一般結構, 圖在平行基數T MAC單元結構内之總和區塊的實施 例,其中總和區塊是作為n/t選擇部分乘積及回饋與 進位項的一般壓縮區塊,
^另^固在平行基數T MAC單元結構内之總和區塊的 實施例,其中總和區塊被實行為分開的壓縮陣列, β 4絕對差和的-般結構,其中Ds單元作為減法器, XOR(互斥或)閘跟隨其後, 圖5 Ds單元的一般結構, ,6絕對差和結構,其中㈣,dn θ根據本發明第一個有效實施例之計算裝置社 構簡化圖, θ根據本發明第三個有效實施例之複數個乘法/财〔
圖9 Γίί可組態化計算裝置的一般結構方塊簡圖, 根據本㈣的兩個同步⑺奶)位元倍數累加運省 的矩陣向量計算架構的有效實施例, ' 圖心備有—個在循環_d Ρ模式的暫存記憶體, ϊ :Γ:ί:個在循環m°dp回饋迴圈的移動暫存記憶體, " 根據本發明作為視訊/圖像處理多功能竿槿Μ## 圖U AA/DSA單元的實施例, 力月匕木構的結構, 圖13將圖6中的SAD結構及圖9中的矩陣向量計算架構 46

Claims (1)

1263167 拾、申請專利範圍: 【申請專利範圍】 !•一種使用由-組至少第一及第二之兩個管線階段、 至少-個資料輸入介面、及至少一個資料輸出介面所 的管線化計算裝置實行運算的方法,該管線階段含至少一 個資料輸入介面及至少一個資料輸出介面;在該方法中, 實行第:與第=運算之資料是輸入至該計算裝置,其特徵 在於該第一運算中,至少-個管線階段的輸出資料 园ί·> 式土 於§己憶體’而在弟二運算中,將兮性左一 段的輸入資料。,中將《存之㈣作為管線階 -= Γ 1項之方法,其特徵在於該方法為 回基數非Booth重新編碼運算方法。 3·如申請專利範圍第1 作為第一個、方法,八特徵在於該運算分 果儲存起來,^ 運"' 弟一次運算的結 子起來再運用於複數個第二次運算中。 4·如申請專利範圍第1 為乘法運算,苴中被^ : 徵在於該運算是 被宋數乘以一個乘數,於第一管蟑 於記憶體。 ^卩刀乘積,並將可能部分乘積儲存 5.如申請相範圍第1奴方法,其特徵在於該運算是 48 ί ι·;Κ. 1263167 為乘法運算,其中被乘數χ乘以數 算共同被乘數(X)的可能部分乘積;春(^㈠…欠)以計 數幻時,可能部分乘積儲存於記憶三?,&數乘以第—個乘 乘積用於乘數(χ)與其他乘數0,, ❼儲存之可能部分 1, , 幻相乘時。 6·如申請專利範,項之方法 少部分地是以時間差方式實行, 、$ 運算至 個部分次運算,並指定每個部欠们人運异分為數 刀大運异予不同的時間。 7. 如申請專利範圍第!至第6項之任 徵在於該方法係用於視頻資訊處理。 、之方法,其特 8. 如申請專利範圍第1至第6項之任一項 徵在於一個乘法運算與另一 、之方法,其特 另-=運算開始操作於前此 r個乘法運算至少分為第!與第2個次運曾’ί之則,此 异於一個管線階段中實行,、 斤母一個次運 於-個管線,第二個乘法運*二财運异是平行實施 運算完成之前。運异的次運算開始於第—個乘法 9·如申明專利範圍第j至第 徵在於選擇資料路徑是實行於計算裝置,其特 個資料介面選擇於其他至 -中對於至少- 一個資料介面與所選擇M 以連接該至少 谇貝科介面作為資料選路。 49 1263167 i〇. —種使用由一組至少第一及笙一 a .η 乐一之兩個管線购 &、至少一個資料輸入介面、及至少— 八 構成的管線化計算装置實行運算的系統,該管:= =!料輸:介面:及至:一個資料輸出介面二: t衣置還包括第一與第二運算用之資 在於包括一個記憶體(21)以儲存上述至少"二個总:”徵 第-運算輸出資料’及一個資料取出器蚀又的 作為第二運算中管線階段的輸入資料。()將所儲存之資料 n· Μ請專職圍第⑴m其特徵在於該計 名置為一咼基數非B〇〇th重新編碼乘法器。 管八12·如中請專利範圍第1Q項之系統,其特徵在於 ^刀成為一個實行於第一管線階段的第一次運曾, 個實行於其他管線階段的第二次. :设數 算結果被難於記⑼,而1;:’弟—個次運算的計 于、匕u骽U1),而一個貧料取出哭,1 個多工器連接記憶體之輸出至其他至少一個管線階匕二 次㈣存料算結果使用於上述之複數個第二 13·如申請專利範圍第10項之系統,其特徵在於當一 官線階段包括加法器⑺陣列,第二管線階 擇 ⑺’第三管線階段包括厂堅縮陣列(4),及第四管線=鬼 50 1263167 進位預測力σ法器(5);第一管線一 記憶體之輪Α @ 5次 又、輸出資料介面連接至 連'至資料取出器之另一個輸入二二;體之輪出 接至弟二管線階段的資料輸入介面。 ☆之輪出連 14· ’申請專利範圍第1 〇項之系絲,甘 憶體包括複數個斬广σσ 、 …、、,、特徵在於該記 括-個定:!"',每一個暫存器儲存-個值,及包 们疋址早7C當於暫存器之一 及包 器讀/寫資料。 Τ,作為從/至暫存 15·如申請專利範圍第1〇頊之糸紅^ 憶體包括複數^ 、.糸、、先,/、特徵在於該記 ⑬數個暫存杰,母_個暫存 值,及包括_個多工顿女排錯存一個 一的於屮、, —。口 、擇體的輸入或暫存器之 存器的輸出連接至記憶體之輸出弟,存…第-個暫 統,1盆6特1〇至第15項之任一項之系 一符徵在於其包括至少一個吝工哭从去w -輪出資料介面及一個第 I…攸至少一個第 (IM,P2,pw^ 出貝料介面選擇至管線階段 在門題中1 、輸入貧料介面,此第-輸出資料介面是 在另碭中則一個管線階段的輸出。 17·如申請專利範圍第10至第15項之任一項之奉 統’其特徵在於其包括視頻資訊處理之裝置。、” 51 1263167 1δ· 一種使用由一組至少第一及第二之兩個管線階 至;一 4固貝料輸入介面、&至少—個資料輸出介面所 的管線化計算裝置實行運算的裝置,該管線階段含至 二7個資料輸入介面’及至少一個資料輸出介面,而該計 2置還包括第一與第二運算用之資料輸入;本裝置之特 二在於包括-個記憶體⑼以儲存上述至少—個管線階段 料運算輸出資料,及一個資料取出器(22)將所儲存之資 艸作為第二運算中管線階段的輸入資料。 19· μ請專㈣㈣18項之裝置,其特徵在於該計 ν、置為阿基數非Booth重新編碼乘法器。 曾八士、力y ^ 、衣1 ’具特徵在於該運 二成^個貫行於第—管線階段的第_次運算,及複數 ^订於其他管線階段的第三次運算;第—個次運 异結果被儲存於記憶體⑼,而一個資料取出器,其:。— :多連接記憶體之輸出至其他至少一個管線階 : =面’將儲存的計算結果使用於上述之複數個第: 如申請專利範圍第18項之裝置 52 1263167 進位預測加法器(5);第一管線階段的輸出資料介面 :憶體之輸入及至資料取出器之一個輸入,記憶體 接ϊί她出器之另一個輸入,而資料取出器之輸出連 接至弟二管線階段的資料輸入介面。 22 ·如申請專利範圍第18項之裝置,i特微名## :體::複數個暫存器,每一個暫存器錯存—個值,: 器讀% =元當於暫存器之一定址時,作為從/至暫存 划Τ謂·寻利範圍第 值,及包括-個多工器用以選擇記情 女排储存—個 -的輪出’並將選資料儲存於第一個::入或暫存器之 存器的輸出連接至記憶體之輸出。9 且弟一個暫 24·如申請專利範圍第18至 置,其特徵在於其包括至少—個夕σσ 、之任一項之裝 -輸出資料介面及—個第 =器作為從至少-個第 (PI,Ρ2, Ρ3,Ρ4)的輸入資料;面貝料介面選擇至管線階段 在問題中前一個管線階段的輪出。’此第一輸出資料介面是
25· 如申請專利範圍 其特徵在於其包括視 第18至第23項之任— 頻資訊處理之裝置。 項之裝 53 1263167 26·如申請專利範圍第is至第 置,其特徵在於一個乘法運算與另 -個管線階段的輸入資料介:置至包;::㈣位於至少 至少-個管線階段的輸出,以及 α夕工杰位於所述 管線暫存器,使得祇有—個管㈣控制上述之 至所述管線階段的輸人資料介面^開發於寫入資料 至少第-與第二次運算,料·— .Λ之乘法運算被分成 個第 行於-個管線階段,而其中至少―個=次運算被執 實行於一管線,其中第二個乘法運I 破女排平行地 於相應的第-個乘法運算的次運算、^^運异破安排開始 27·如申請專利範圍第18至第23 置,其特徵在於其包括選擇資料路徑之穿員1壬:項之裝 此選擇裝置包括連接一個資 二(,3,4,5), 面之一作為資料選路。”丨▼夕兩個其他資料介 罢2甘8·如申請專利範圍第18至第2S項之任一頂之壯 /、特被在於其包括一個無線通訊裝置。 、衣 置I·特:二範圍第18至第23項之任-㈣ 在於其為一積體電路。 其特徵在18至第23項之任一項之裝置, 54
TW092130873A 2002-11-06 2003-11-05 Method and system for performing calculation operations and a device TWI263167B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FI20021984A FI118612B (fi) 2002-11-06 2002-11-06 Menetelmä ja järjestelmä laskuoperaatioiden suorittamiseksi ja laite

Publications (2)

Publication Number Publication Date
TW200411540A TW200411540A (en) 2004-07-01
TWI263167B true TWI263167B (en) 2006-10-01

Family

ID=8564893

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092130873A TWI263167B (en) 2002-11-06 2003-11-05 Method and system for performing calculation operations and a device

Country Status (10)

Country Link
US (1) US7536430B2 (zh)
EP (1) EP1576494B1 (zh)
KR (1) KR100714358B1 (zh)
CN (1) CN100405361C (zh)
AT (1) ATE359559T1 (zh)
AU (1) AU2003276292A1 (zh)
DE (1) DE60313215T2 (zh)
FI (1) FI118612B (zh)
TW (1) TWI263167B (zh)
WO (1) WO2004042600A1 (zh)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565390B1 (en) * 2005-03-23 2009-07-21 Altera Corporation Circuitry for facilitating performance of multiply-accumulate operations in programmable logic devices
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8266198B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8041759B1 (en) * 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
WO2013184801A2 (en) * 2012-06-05 2013-12-12 P-Wave Holdings Llc Reconfigurable variable length fir filters for optimizing performance of digital repeater
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
CN107315718B (zh) * 2016-04-26 2020-08-21 中科寒武纪科技股份有限公司 一种用于执行向量内积运算的装置和方法
CN106168941B (zh) * 2016-06-30 2019-06-14 中国人民解放军国防科学技术大学 一种支持复数乘法的fft蝶形运算硬件实现电路
KR102631381B1 (ko) * 2016-11-07 2024-01-31 삼성전자주식회사 컨볼루션 신경망 처리 방법 및 장치
CN106970896B (zh) * 2017-03-30 2020-05-12 中国人民解放军国防科学技术大学 面向向量处理器的二维矩阵卷积的向量化实现方法
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device
US10678507B2 (en) 2017-12-22 2020-06-09 Alibaba Group Holding Limited Programmable multiply-add array hardware
CN110190843B (zh) * 2018-04-10 2020-03-10 中科寒武纪科技股份有限公司 压缩器电路、华莱士树电路、乘法器电路、芯片和设备
JP7183079B2 (ja) * 2019-03-08 2022-12-05 株式会社東芝 半導体装置
TWI798640B (zh) * 2021-02-09 2023-04-11 新唐科技股份有限公司 常數乘法器
CN113870918B (zh) * 2021-09-30 2023-03-28 华中科技大学 存内稀疏矩阵乘法运算方法、方程求解方法以及求解器
CN115718724B (zh) * 2023-01-09 2023-05-09 阿里巴巴(中国)有限公司 Gpu、数据选择方法及芯片

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3732410A (en) * 1969-12-22 1973-05-08 Postmaster Department Res Labo Self adaptive filter and control circuit therefor
GB8718488D0 (en) * 1987-08-05 1987-09-09 British Petroleum Co Plc Chemical process
US5220525A (en) * 1991-11-04 1993-06-15 Motorola, Inc. Recoded iterative multiplier
JP3140187B2 (ja) * 1992-07-23 2001-03-05 アイシン・エィ・ダブリュ株式会社 車両用経路誘導装置
JP3546437B2 (ja) * 1993-03-31 2004-07-28 ソニー株式会社 適応形ビデオ信号演算処理装置
US5825680A (en) * 1996-06-21 1998-10-20 Digital Equipment Corporation Method and apparatus for performing fast division
US5935202A (en) * 1997-03-25 1999-08-10 International Business Machines Corporation Compressor circuit in a data processor and method therefor
US6085214A (en) * 1997-09-04 2000-07-04 Cirrus Logic, Inc. Digital multiplier with multiplier encoding involving 3X term
US6367003B1 (en) * 1998-03-04 2002-04-02 Micron Technology, Inc. Digital signal processor having enhanced utilization of multiply accumulate (MAC) stage and method
US6141674A (en) * 1998-06-10 2000-10-31 Hewlett-Packard Company Reducing the hardware cost of a bank of multipliers by combining shared terms
JP2000047852A (ja) * 1998-07-27 2000-02-18 Mitsubishi Electric Corp 乗算装置、該乗算装置を複数備える固定係数型firディジタルフィルタ
JP3619456B2 (ja) * 1998-11-26 2005-02-09 松下電器産業株式会社 演算装置およびこれを用いた画像処理装置
US6353843B1 (en) * 1999-10-08 2002-03-05 Sony Corporation Of Japan High performance universal multiplier circuit
US7127482B2 (en) * 2001-11-19 2006-10-24 Intel Corporation Performance optimized approach for efficient downsampling operations

Also Published As

Publication number Publication date
US7536430B2 (en) 2009-05-19
US20040139131A1 (en) 2004-07-15
CN100405361C (zh) 2008-07-23
DE60313215D1 (de) 2007-05-24
FI118612B (fi) 2008-01-15
CN1735881A (zh) 2006-02-15
DE60313215T2 (de) 2007-12-20
ATE359559T1 (de) 2007-05-15
EP1576494B1 (en) 2007-04-11
FI20021984A (fi) 2004-07-15
EP1576494A1 (en) 2005-09-21
KR100714358B1 (ko) 2007-05-02
FI20021984A0 (fi) 2002-11-06
KR20050065673A (ko) 2005-06-29
WO2004042600A1 (en) 2004-05-21
AU2003276292A1 (en) 2004-06-07
TW200411540A (en) 2004-07-01

Similar Documents

Publication Publication Date Title
TWI263167B (en) Method and system for performing calculation operations and a device
TW200414023A (en) Method and system for performing a calculation operation and a device
TW310406B (zh)
US5500811A (en) Finite impulse response filter
TW550498B (en) Method and apparatus for modular multiplying and calculating unit for modular multiplying
JP5544240B2 (ja) マルチmacアーキテクチャにおける低電力firフィルタ
JP2001142678A (ja) 処理コアの操作方法および乗算実行方法
TWI227840B (en) Method and apparatus for multiplying based on Booth's algorithm
JP2001147804A (ja) パッケージデータのシフト方法および処理コア
WO1999038088A1 (fr) Procede et dispositif pour operation arithmetique
Alam et al. Efficient distributed arithmetic based DWT architecture for multimedia applications
EP2003547A1 (fr) Operateur de reduction modulaire amélioré
JP2001147799A (ja) データ移動方法および条件付転送論理ならびにデータの配列換え方法およびデータのコピー方法
CN116888591A (zh) 一种矩阵乘法器、矩阵计算方法及相关设备
TWI220716B (en) Method and apparatus of constructing a hardware architecture for transfer functions
TWI235954B (en) Method and system for performing a multiplication operation and a device
WO2002073395A2 (en) A method and apparatus for multiplication and/or modular reduction processing
Chakraborty et al. A multiplier less VLSI architecture of modified lifting based 1D/2D DWT using speculative adder
Patil et al. Low Power High Speed VLSI Architecture for 1-D Discrete Wavelet Transform
Madhuri et al. Analysis of reconfigurable multipliers for integer and Galois field multiplication based on high speed adders
Patronik et al. Design of an RNS reverse converter for a new five-moduli special set
Su et al. A novel recursive digital filter based on signed digit distributed arithmetic
KR100434391B1 (ko) 디에스피 프로세서 및 마이크로프로세서의 실시간영상데이터 처리를 위한 연산회로 및 그 연산방법
PADMAVATHI et al. Design of High Throughput VLSI Architecture for Montgomery Modular Multiplication
MOUNIKA et al. Montgomery Modular Multiplication by using High Throughput VLSI Architecture

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees