TWI235954B - Method and system for performing a multiplication operation and a device - Google Patents
Method and system for performing a multiplication operation and a device Download PDFInfo
- Publication number
- TWI235954B TWI235954B TW092130871A TW92130871A TWI235954B TW I235954 B TWI235954 B TW I235954B TW 092130871 A TW092130871 A TW 092130871A TW 92130871 A TW92130871 A TW 92130871A TW I235954 B TWI235954 B TW I235954B
- Authority
- TW
- Taiwan
- Prior art keywords
- multiplication
- pipeline stage
- pipeline
- scope
- stage
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/386—Special constructional features
- G06F2207/3884—Pipelining
Description
1235954 坎、發明說明: 【發明所屬之技術領域】 本發明侧於⑽線化μ實行—個乘法 2法運算的方法,其t,另-個乘法運算開始於前 運鼻、2之前,乘法運算皆至少分為第-及第二個次 ,异,且母第-與第二個次運算執行於—個管線階段内。 本發明也關於以管線化方式實行—個乘法運算與另—個乘 法運异的裝置,此裝置包括可將乘法運算至少分為第一及 第二個次運算的裝置,且每第—與第二個次運算被安排執 仃於-個管線階段内。本發明也關於以管線化方式實行一 個乘法運算與另-個乘法運算的無線終端機,此包括可將 乘法運异至少分為第一及第二個次運算的裝置,且每第一 與第二個次運算被安排執行於一個管線階段内。本發明還 關於以管線化方式實行一個乘法運算與另一個乘法運算的 系,,此系統包括可將乘法運算至少分為第一及第二:次 運算的裝置,且每第一與第二個次運算被安排執行於一個 管線階段内。 【先前技術】 有許多應用系統是須要使用乘法運算且/或乘法累加 運算(AMC)。在一非限制性的例子中,許多訊號處理應用 系統,例如數位訊號過濾應用、視訊/圖像處理應用等等, 是實行即時乘法運算的應用。其他須使用向量且/或矩陣 的應用也須使用乘法及MAC運算。乘法運算通常以求和及 順位元運算實行。如此之乘法運算是高資源要求的作業, 1235954 因為一個介於兩個運算元的乘法運算是須要大量的即昉寸 算。因此’高速效率是對不同的視訊/圖像處理運_ 次作業發展平行專門結構(加速器)的動力。先^ = / θ y. . m, 尤μ的視訊 /圖像處理糸統技術包括數種類似的加速器(例如,絕對 差和(SAD),餘弦變換,等等),每一種皆包括了大=的 硬體元件。然而,由於行動通訊系統之發展,在硬體方=, 其影響系統的成本以及電源/能源的消耗,與高速效率為 同等重要的特性。一種趨向滿足所有這些要求的方法是更 現代化的數位化訊號處理器(DSPs ),並減少 ㈣目。,然在這些方面有所改進,但是這樣專 播法滿足南速率及能量消耗的要求。 視訊/圖像處理以及其他訊息處理之先前技術結構是 基於傳統的乘法運算。許多執行乘法運算及/或乘法累加 運算的方法及裝置已經發展出。以下所要考慮的情況是祇 有當乘法運算方法及一般乘法結構的兩個運算元(被乘數 與乘數)皆未知,兩個符號定點整數以2之補數表示的乘 法運算,即所謂的基數T(radix_T)方法。 «位元(包括符號)乘數“的2之補數表示為 α = ’及w位元(包括符號)被乘數X表示為 2.··Χ/Χ0。“與3(同樣的關係於1與无)表示如下: a 二-αη—βΊα/,x = —x ! r=° to V } 在基數T的乘法運算方法中,乘積的2之補數 5954 ^ = ym^iy y 料卜的公式如下 nradix-Τ 〜1Σ (Arx)2rtradix - τ (2) 其主要兩個步驟是:
〇,…,nradix—T W使式(2) 步驟1·產生部分乘積(ΡΡ) 有效。 步驟2·平行地將所有初步向左 ί 口厂 八 π左移心诚C-Γ位置的第 I 積4 x’r— 0,·.·,〜_—r -人總和起來。 i ":AC、單疋以類似的方法運算,所不同的是另-個# 子(累加項)被加在第2步驟的今中。 現將步驟1作更進一步考慮。不同的乘法運算方法係 二广二0”^_4一7的定義及取得方式可推導出不同的乘 >運算方法。岑.x,r=0,選擇事實上是依乘數< 之表示法而定。 、最簡單的乘法運算方法是為基數2之方法,其使用“ 的2之補數表示於式⑴的左邊。於此情況,乘積的2之 補數可依以下求得: ,“认 K/V —‘ - ^ 少一 ,¾ (心)2〜泰2 = - (an-7x)y7, (3) r=0 即”rcwfcc = «,及部分乘積 4 · x,r := 〇,···,w 一 ^/由 4 〜 〇’···’” 2 ’且〜當7所定義。這些部分乘積 可簡單地(並通常地)形成於使用一個2輸入及閘(AND GateS)陣列於乘數2被乘數7的2之補數位元間。 1235954 4 · x,r = 0,··.,η-/之值乘以’(亦即向左移r個位置)於累 加至第2個步驟之前。應注意的是此方法中的部分乘積’、 牟一/.X有時也稱為修正因數,其視為不同於其他的部分乘 積。 刀匕 部分乘積之非一致性的性質可避免於使用另一種基數 2乘法運算法,其基於BOOTH重新編碼使乘數的補數:元 3成為額外的符號位元。該乘積可表示為: 〜nradix-2 -1 Yl—1 X (Arx)2r = Σ (-+ ar^j)x2r ? a 1^0 r4、 r=0 r=0 K } 亦即,2 = w,如同之前的表示式,但部分乘積 4 = 〇,···,《-/現在都定義為4 +α〃—7。與之前的方法 相似,將戽·Χ,Γ = 0,···,/2-i之值乘以γ於加至第2步驟之前。 在此方案中,部分乘積於0,±χ中選擇一個。這些值的其中 兩個與X)是即得的,而-X之求得要反轉?的位元並加 上單位元。通常,單位元加法執行於部分乘積加總的第2 步驟中。 無論是BOOTH重新編碼或是非重新編碼,在基數2 乘法運算中共有個部分乘積。為了減少部分乘積 的數目,即減少第2階段(部分乘積加總)的延遲,於是 發展出基於基數4修正BOOTH重新編碼(MBA)的方法。 MBA是最通用的乘法運算之一,且被進一步的研究及優化 中。 在MB A中,乘積的2之補數由= ”/2個部分乘 1235954 積之總和獲得: nradix-4 —1 η 丨 2-1 Σ (Arx)22r = Σ ^-2a2r^l+a2r^^2r-lW2r ^ (5) r=〇 r=0 a_i = 0 為· € {-2,-7,0,7,2,r = 0,7,···,w / 2 - 7 ’是依據乘數β的2之補數表 示的3個連續位元a2r+7,a>,a2r—7 ( = (9)而選擇。為^, 广=0,7”..,^7/2一7,乘以2>(即在硬體中移左21*個位置)於加入 步驟2之前。 為了簡化公式,在任何情況下,當有一項,例如&發 生時’即假設η是k的整數倍。這是有效的假設,因為2 之補數可由任一數目的位元作補數(重覆最高有效位元)。 圖1表示一般的修正BOOTH運算法之裝置1〇1。共有 «/2個BOOTH編碼/解碼列,每一列包括1個b〇〇th編 碼器102,及m+i個B00TH解碼器1〇3,每兩個列為一組。 每個BOOTH編碼器1〇2解析乘數&的2之補數的3個連續 位兀,有一位疋重疊,且輸出7個訊號對應至解碼器1〇3 列。在一些先前的設計中,9 = 3。根據此9個訊號,解碼器 列與被乘數位兀7輸入形成部分乘積(牟χ)日机垃,±2y。^非負 值倍數可即時求得,因為h是由輯式移位形成。X的負 值倍數的求仵方式是將相應的^正值倍數的位元反向並加 1 ’此通韦於步驟2中實施。例如,美國專利6,173,3〇4是 -執行BQGTH編碼及解碼的㈣。於基數2的方法中, 部分乘積的獲得比修正B()qth運算法簡單,但是使用修 正BOOTH運算法時,部分乘積的數目減至^,如此,導 10 1235954 向速度效率,面積及電源消耗上顯著之優勢。 為進一步減少部分乘積數目,BOOTH編碼已更延伸至 多位元(任意基數T)編碼。該乘積的一般方程式如下: nradix-T—l nl t—1y- Σ χ r-〇 r-0
X 2tr i=0 (6)
a—i 二 0、T = = 2tradix-T 亦即,有個部分乘積= ,且每個部分 乘積是依據乘數3的個連續位元選擇於可能部分乘積 沦數列,該乂介於-2卜;與2卜7之間。每個可能部分乘積可 能相對地容易形成於兩個(Γ=5 7<5)或更多Γ>7(5)的X的 2次方倍數之相加,及可能地位元反轉後加丨(於第2步 驟)。例如,基數8重新編碼的情況,可能部分乘積列為 0,±χ,±2χ,±3χ,±^χ。所有數列中的非負數倍數,除了打得自於 一加法:Jx = x + 2x外,皆為即時可得。如同之前,負數倍 數可依反向加1之方法求得。在基數16重新編碼的情況, 可旎部分乘積列為0,±χ,±2χ,土3χ,···,±(§χ,所有這些可藉由執行3 個分別的加/減法以得到= x + 2jc,5χ = x + ^,Up 可能部分乘積分可移動3χ向左一個位置而得。對於較高 基數的情況,有些可能部分乘積(例如,及7九)無法 由一次的加/減法求得。 …/ 圖2表示先前技術之基數τ (τ>=8)多位元β〇〇τη 重新編碼乘法器之—般結構2G1。此結構包括加法器陣列 2〇2以計算可能部分乘積數列,一個選擇區塊203以選擇…? 1235954 個部分乘積,以及一個總和區塊204將被選擇的部分乘積 加總,最後一個是加法器205由總和區塊204產生之總和s 及進位C項以產生乘積歹。 典型先進技術的基數高於4之乘法器的加法器陣列包 括與可能部分乘積列内之乂值正奇數倍相同數目的加法器 (等於1當T=8,等於3當T=16,等等)。通常,快速進 位預測(CLA)加法器被使用,因為可能部分乘積形成於 如此的乘法器是相當耗時的。在專利US-5,875,125中提出 _ 申請的特殊x + 2x加法器可用於基數8乘法器中。應注意的 是混合式基數4/8乘法器也已提出申請,例如,在美國專 利號碼4,965,762中,主要用在相互作用的(非平行的)乘 法器其中邛为乘積疋序列地產生及累加。美國專利號碼 5,646,877揭示一種乘法結構,其中任一基數的所有可能部 分乘積由的移位形式,以及包括一個產生分之χ+△加 法1§,兩個移位器及一個加/減法器之加法器陣列的X之 求和或差數而得。 典型先前技術的基數高於4乘法器的選擇區塊2〇3包 · 括n/t個基數T BOOTH編碼器及相同數目的解碼器列。每 一個編碼器解析相應乘法器的(t+1)元組(tuple),及輸出 複數控制訊號,依據該訊號,相應的部分乘積由解碼器列 形成。關於如何延伸基數4 BOOTH編碼器及解碼器至更高 階的基數,可以專利US-6,240,438為例。 以下’對部分乘積之加總,即第2個步驟,作更細節 之考慮。大部分的平行乘法器/MAC單元結構用包括一個 12 1235954 壓縮陣列跟隨著-個快速加法器(最終加法器)的總和區 塊作為步驟1部分乘積之加總(見圖丨及圖2)。壓縮陣列 將^^ά-Γ的部分乘積數列減至2個數列對應到總和s及進 位C項,其於最加法器中相加。壓縮陣列通常包括全部或 半個加法器(進位儲存加法器樹或Walhw樹)或4 ·· 2壓 縮器。最終加法器通常為快速預先進位加法器,其是依據 壓縮陣列的不同位元的延遲詳加設計。 原則上有兩個延伸乘法器結構至MAC單元的方法如 圖3&及3b所不。在第1個方案(圖3a),兩個壓縮陣列 3〇1的輸出(S項及C項)回饋至其輸人,以使目前的部分 乘積與目前累加值的兩個加數作累加。最終的S項及(:項 」後於最終加法器302内相加。在第2個方案(圖%),這 些輸出供給另-個壓縮p車列3〇3,其輸出再回饋至自身(第 2個壓縮陣列)的輸人。再來,目前乘積的§項及c項累 加至目前的累加值直至最後—個循環,#最終的s項及c 項於最終加法器302内相加時。整個壓縮陣列的深度(即 斤有的延遲)可⑨於第!個方案為較小,但寬度,即意謂 面積及電源消耗,卻是以第2個方案為較小。 。 作為高基數乘法器的總結,應注意的是基數愈高則步 _ 1 (產生部分乘積)愈驅複雜,但是步驟2則愈驅簡單。 基數高於4的乘法運算法尚未穫得普及,或許因為其使用 相當的時間及面積於部分乘積器,包括加法陣列及選擇區 塊。通常,絲4MBA被視為是最好的先前技術乘法運算 法’且被用在許多實業上之乘法器中。 13 1235954 【發明内容】 本發明之主要目標在於加強乘法器/ MAC單元的特 性,該特性從視訊及圖像的觀點是極須要的,但是先前技 術的解決辦法是缺乏或不足的,此將揭示於後。首先,考 慮最普及的基數4 BOOTH重新編碼的乘法器/ MAC方 法。這個方法的一般缺點是比起較高基數的方法消耗更多 的電源。另一個一般的缺點是,即使相較於基數2乘法運 rr方法 ^刀乘積的數目減半,但其仍可減至更少若使用 更咼的基數。亦即,這個方法的複雜性主要集中在第2個 v驟(°卩刀乘積的加總)。當管線化一個基數4 BOOTH重 新編碼乘法器/MAC之結構,通常部分乘積產生區塊被考 慮作第1個管線階段,然而是平衡於(亦即較快於)其他 的管線階段。 ^ 就基數南於4的乘法器而言,已有不同的此類乘法器 實現,當僅考慮乘法運算的實行,其與基數4的乘法器就 時間及面積的標準而言,有相當的競爭性,然而在能源消 耗的表現上,卻遠勝過基4數乘法器。基數高於4的主要 缺點是在部分乘積產生區塊内須要有一個加法器陣列。 BOOTH重新編碼乘法器還有一項缺點是關於必須處 理被乘數的負倍數及符號的延伸。更重要的是基數高於16 BOOTH重新編碼乘法器須要使用1個階層以上的力口法以產 生可能部分乘積。 因此’本發明之目標之一在於發展非Booth重新編 碼南基數乘法器。 14 1235954 若將獨立之先看技術或最近申請的乘法器/ MAC單 兀之平行陣列應用於複數個相應之運算,即使較快的區塊 可以共用而不影響整體傳輸率,大的矽面積使用是必須的。 因此,本發明之另一目標是發展有一些共同區塊的乘 法器且/或mac單元排。 一個管線化先前技術乘法器且/或MAC單元的主要 缺點在於管線階段之不良地平衡。 此揭示於兩個表中。表la表示不同區塊之不同特性, 該區塊用於先前技術之B〇〇th重新編碼基數τ乘法器/ MAC單元作為n位元乘數與111位元被乘數之乘法運算,及 表lb表示不同區塊之不同特性,該區塊用於新的非重新編 馬基數T乘法器作為n位元乘數與m位元被乘數之乘法運 异。表1C表示la及lb内所使用的縮寫。當分析表“與 lb時,可以發現對於大部份的11與m值,每個乘法器/ MAC單元型態内每個乘法器區塊的延遲實質上的不同。亦 即廷些乘法器之直接管線化實施將因管線階段間之不良 平衡而受阻礙。為使管線階段間有較佳平衡,可藉由設計 於7進位傳遞區塊内有不同FAs數目的進位預測(C以) 加法益’而彈性地增加第i與最後管線階段的傳輸率。此 即何以這些區塊的延遲沒有表示在表&與lb之中。某些 ,況合J如’小n、較雨基數τ,意謂著非常小的進位傳遞 區塊’而因此大的面積。無論如何,使用CLAsT能為此 兩又增速之解決方法,儘管其未必是最有效率的。此狀 況對於中間之兩個管線階段⑽及CA)是不同的,因為用 15 1235954 於這些區塊的最先進電路是為發揮要徑最大效益而設計, 以致於使得這些電路的内部管線作業並不合理。此外,這 些區塊的延遲對於每個先前技術之乘法器/ MAC單元結 構之每個型態(BR(T=8,16),NR1(T=4,8))於不同n值, 彼此間之相對差異是非常的大。於更小η、較高基數丁(例 如Τ-16及任一 η值),選擇區塊較壓縮陣列為慢,秋於其 他情況則相反。這意指著為__個或另—個區塊設計較快:
電路並無法解決階段之时衡的—般問題。所有這些皆使 技術之乘法器/MAC結構具有良好管線化平衡 而毛展系統化之方法發生困難。 16 1235954 表la 乘法器型式 BR, T=4 BR, T=8 BR,T=16 AA寬度 ,S - 1 3 可能部分乘積數目 5 9 17 SB之部件 編碼器 n/2BR4 n/3BR8 n/4BR16 解碼器 n/2 (m+l)-BD4 n/3 (m+2)- 4:1 t/c n/4 (m+3)-8:1 t/c SE 是 是 是 SB之延遲 6t 12t 16t CA之輸入數 n/2 (m+l)-bit + 3n/2 1-bit n/3 (m+2)-bit +4n/3 1-bit n/4 (m+3)-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=16,x 8/4/8t 6/3/6t 4/2/4t MAC 10/5/lOt 8/4/8t 6/3/6t η=64,χ 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/l/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/61 n=64,x 32/4 / 12t 22/4/12t 16/3/9t MAC 34/5/15t 24/4/12t 18/4/12t
表lb 乘法器型式 NR1, T=4 NR1,T=8 NR2, T=4 NR2, T=8 AA寬度,s 2 4 1 3 可能部分乘積數目 4 8 4 8 SB之部件 編碼器 否 否 1BR4 1 BR8 解碼器 n/2 (m+l)-4:l n/3 (m+2)-8:l (m+l)-(BD4+n/2(4:l)) (m+2)(4:l t/c +n/3(8:l)) SE 否 否 否 否 SB之延遲 5t 6t 6t 12t CA之輸入數 ((n-l)/2+l) (m+2)-bit ((n-l)/3+l) (m+3)-bit (n-l)/2 (m+4)-bit + 1 1-bit (n-l)/3 (m+6)-bit + 1 1-bit FA-CA5 之 輸入數/ n=13,x MAC 7/4/8t 9/4/8t 5/3/6t 7/4/8t 6 / 3 / 6t 8/4/8t 4/2/4t 6/3/6t 17 1235954 階層/延遲 n=16,x MAC 9 / 4 / 8t 11 / 5/ lOt 6 / 3 / 6t 8 / 4 / 8t 8 / 4 / 8t 10/5/ lOt 5 / 3 / 6t 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 i met 5/(4:2)+FA / 5t 6/2/6t 4 /1 / 3t 輸入數/ 階層/延遲 MAC 9/2(4:2)+FA/8t i met 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 11/ 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
表lc 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, 壓縮陣列,含全加法器(FA)及半加法器(HA)之壓縮陣列,含4:2壓縮器 4:2 CA 之壓縮陣列 本發明之目標是為以平行管線化方式的定點乘法運算 實行一種改良的計算結構及方法,其中管線階段有較佳的 平衡。 本發明基於的概念是平行乘法器或MAC單元至少一 部分是以時間差方式實行運算。簡而言之,本發明之結構 是推導自基數T Booth重新編碼(T=8, 16)乘法器/MAC單 元之先前技術或新的非重新編碼乘法器/ MAC單元(T=4 18 1235954 ,8),藉使用管線操作使每個管線階段平行化於不同的平 打處理階層,使得更多的平行處理使用於相對較慢的區 塊。如此,大的彈性程度被引介至設計乘法器/MAC單 凡。一方面,如此可允許達成較高的傳輸率相較於先前技 術的單一乘法器/MAC單元,而伴隨著硬體/電源方面最 小價格之增加。另一方面,如此可導致顯著面積上的節省、 較好的官線階段平衡,因此相較於有一排獨立的先前技術 乘法器/ MAC單元,有較好的硬體利用及電源消耗的節 _ 省。另一個根據本發明之方法的重要優點是達成更多的平 行處理而不增加輸入/輸出匯流排寬度。 高基數乘法器/MAC單元結組入可被獨立地使用於 其他有用的運算之區塊,該區塊是為加//減法器陣列或總 和區塊。本發明的目標是設計可組態化高基數乘法器/ MAC單元結構,其可被組構成僅組入乘法器區塊的次組合 使得乘法運算之次運算也可使用於相同裝置。 確切地說’根據本發明之方法的主要特徵在於至少一 個在尚基數乘法運算的次運算是平行地實行於一個管線階 麵 ^又’其中第2個乘法運算的次運算開始於相應的第1個乘 法運算的次運算結束之前。根據本發明之裝置的主要特徵 在於此至裝置還進一步包括一裝置以使得至少一個在高基 數乘法運算的次運算是平行地實行於一個管線階段,其中 第2個乘法運算的次運算開始於相應的第1個乘法運算的 次運算結束之前。根據本發明之無線終端機的主要特徵在 於此至裝置還進一步包括一裝置以使得至少一個在高基數 19 1235954 乘法運算的次運算是平行地實行於一個管線階段,其中第 個來法運异的次運鼻開始於相應的第1個乘法運瞀的一欠 運算結束之前。根據本發明之電腦裝置的主要特徵:於= 至2置還進一步包括一裝置以使得至少一個在高基數乘法 運算的次運算是平行地實行於一個管線階段,其中第2個 乘法運算的次運算開始於相應的第1個乘法運算的次運算 結束之前。根據本發明之系統的主要特徵在於此至裝置還 進一步包括一裝置以使得至少一個在高基數乘法運算的次 運异是平行地實行於一個管線階段,其中第2個乘法運算 的次運算開始於相應的第1個乘法運算的次運算結束之 前。 本發明相較於先前技術的解決辦法顯示了顯著的優 點。藉由使用本發明之方法,相較於先前技術的方法與裝 置,乘法運算在視訊/影像處理的情況下,可以實行的較 快且使用較少電源。本發明特別有效於實行複數個乘法運 算/MACs。顯著面積及電源消耗上可達到顯著的減少,歸 因於較好的管線平衡相較於獨立乘法器之案例。高速率效 能(高傳輸率)歸因於使用管線技術伴隨平衡不同管線階段 (乘法器區塊)的延遲的彈性可能性及減少整體結構期間對 最快速區塊的延遲。相較於單一管線化先前技術(基數4或 更高)乘法器,達成增加傳輸率以最少面積之增加及不增加 輸入/輸出匯流排寬度。 以下將本發明對照附圖作更詳細的說明。 【實施方式】 20 1235954 以下,將本發明之有效實施例作更詳細之說明。依據 本發明之裝置之一般結構揭示於圖4。梦罟! A t 衣罝4υι包括一組 不同的管線階段Ρ1,p 2,p 3,Ρ 4。本實施例裝置1含4個 管線階段’但是本發明的範圍可包括4以外之不同管線階 段。 、白 本發明有效實施例的一個非限制性的例子是作為一系 列乘法運鼻力=,/=1,.··,&或為一複數個mac運瞀,盆為 向量對向量之内積〃=2^内之裝置。此裝置事實上操作為一 個高基數Booth重新編碼或非重新編碼平行乘法秀咬 單元之平行陣列,其中之一些區塊由陣列的乘法器/mac 單元所共用。 管線技術是一通常用於實行複數個類似的操作以增加 系統的傳輸率,例如,乘法運算且/或MAC。考慮一典型 的先前技術基數T Booth重新編碼(τ>8,16)或非重新編碼 (T=4,8)乘法結構的管線化實施,第1管線階段ρι是表以 中的s加法器陣列,第2管線階段P2是選擇區塊,第3管 線階段P3是壓縮陣列,及最後數個階段p4(其數目將因不 同實施而有所不同)。 為應用本發明於一個乘法運算過程,一為任意符號2 之補整數用的非重新編碼基數高於4之乘法運算法已由式 (3)修改推導求得如下: 21 1235954 y = nradix - T 一1 (Arx)2 rt r=0 7Ζ~1 —1 t Σ 1 - Σ atr+i 2 X V LM) _ / f -(%一ix)2 卜1, ⑺ where 7 = 2’ 或如下: nl t - 2( 2% /- y- Σ Σ〜+丨2 X r=0 V J=0 - J V» 2 an-l + Yaan-t+i21 i=0 t-2 x ⑻ 若使用式(7) ’則將有卜一7)/i + /可能部分乘積,其中前 面(”-7)/H固可能部分乘積是為被乘數之非負值倍數戽〜 r = (U··.,/卜i,4介於〇與/一7之間且最後一個可能部分 乘積是若使用式(8),則將有可能部分乘積水χ, 尸=以···,//-/,其中對於前面域可能部分乘積,々介 於0與/ -/之間且最後一個可能部分乘積介於—2 ;與 2卜7-i之間。在此情況,只有最有效以7位元是近似B〇〇th 重新編碼,其餘位元僅以t個為一組。一個基於式(?)咬(8) 之乘法|§有類似圖2所不之結構,所不同在於選擇區塊2 〇 3 及可能部分乘積的數目。既然乘法器不被編碼,選擇區塊 可單純地實施為多工器陣列,若使用式(8),祇須要一列最 高有效ί + 7位元用之Booth重新編碼/解碼器。所以於加總 區塊内,除了若使用式(8)有一個位元以外,不須操作任何 早位元加法。如此使得選擇區塊必定較小且通常使用較簡 易的互連網路。 依據本發明有效實施例的裝置組入了複數(排)乘法 22 1235954 =/ mac單元。此裝置之操作決定於數個參數,藉由其適 田的選擇可以設計出良好平衡的管線階段裝置。基數τ BOOTH重新編碼(τ=8,丨6)或非重新編碼(τ=4,8)乘法 态之不同排組的一般結構表示在圖4。依據有效實施例之 一排乘法器/MAC單元的結構通常可描述為一個管線化 裝置401,其中第一個管線階段ρι含複數個,如p,包括$ 個加法器402的陣列(AA’s),且所有陣列之^個加法器4〇2 共用同一個輸入線406。第2個管線階段!>2是複數個,如 分,選擇區塊(SB’s) 403,第3個管線階段P3是複數個,如w, 壓縮陣列(CA’s) 404,及第4個管線階段P4是複數個,如v, 最終進位預測加法器(CLA,S) 405。這些基本功能區塊(aa,s ,SB’s’ CA’s,andCLA’s)實際上與用在相應先進技術的基 數4 ’ 8或16 BOOTH重新編碼乘法器且/或MAC單元, 或最近提出之基數4, 8或16 BOOTH非重新編碼乘法器且 /或MAC早元之類型相同。因此,當的情況, 對應至先進技術的乘法器且/或MAC單元結構。主要差別 在於依據本發明實施例之裝置中將先進技術之每個基本區 塊代之以複數個不同數目之基本區塊。一管線階段内之區 塊以時間差的方式操作較優,如此管線階段的傳輸率可以 改變,以使得彼此大致相同,而符合希求的操作步驟區間。 複數個功能區塊的時間差操作原則參見圖4, 5a及5b 說明於下,其中FB表示乘法器/MAC單元之功能區塊 (AA,SB,CA,CLA)。功能區塊FB使用於較大系統中的 管線階段,及假設其有一估計延遲AM w (但是 23 1235954 巧^ < PKfes) ’其中是系統希求的操作步驟區間。如此, 為使管線階段P1,···,P4操作傳輸率配合步驟區間,此功 能區塊序列可被代之以複數“固功能區塊,%,仲2,…,/^, 該區塊有管線暫存器(鎖存器)心,…,、於其輸入4〇6,’4〇;, 408,409,及一個 w:7多工器 41〇,411,412,413 於其輸 出。參數w依問題中的管線階段而定。對於第丨管線階段 ^1,參數w對應至p,即有p個管線暫存器沁,,心,及第i 笞線P白段的多工器410選擇p輸入的其中之一至其輸出。 對於第2 |線階段P2,參數w對應至q,即有q個管線暫 存器々,··.,',及第2管線階段的多工器411選擇q輸入的 其中之一至其輸出。對於第3管線階段p3,參數w對應至 11即有u個管線暫存器々,·.·,&,及第3管線階段的多工器 412,其包含兩個多工器(未圖示),各選擇u輸入之一為 其輸出。對於第4管線階段P4,參數w對應至v,即有v 個管線暫存器A,···,尽,及第4管線階段的多工器413選擇 V輸入的其中之一至其輸出414。至管線階段p 1,p2,P3,P4 的各共用輸入406,407,408,409連接到每個w暫存器 心”··’及w。然而,這些暫存器的每一個僅開放於每w個操作 步驟的其中之一,各步驟有一時間差。此表示在圖6a之計 寺圖解中。如此,在每個操作步驟,輸入/實際上祇連接 / 個功此區塊的輸入’而其他的連接則是不活動的,因 為所有其他形成管線階段的功能區塊群之輸入暫存器皆關 閉無法寫入。在每w操作步驟的第1個步驟中,位於第1 個功能區塊FB1之輸入的暫存器R1是開放的,在每〜操 24 1235954 作步驟的第2個步驟中,位於第2個功能區塊咖之輸入 的暫存器R2是開放的,等等。大體而言,於操作步驟 ί = /,;·.·,尤中,輸入/實際上僅連接到的輸入,其中, / = (/-於是,輸入/在空間上是共用的,而暫時 分配至管線階段的功能區塊仰厂…,仰冰之間。於系統操作過 程之步驟k/,2,···,尤中,一個至該階段之輸入資料流的取樣 ;進入功能區塊,/ = (/-从+/於該階段設定如圖6b 之計時圖解所揭示。一但/於操作步驟? + ,kU,..,尺 之最後完成其對A的操作,在多功能區塊之輸出的w: i 多工器410,411,412,413傳遞由仰/所得之結果至該階 #又之輸出於下個操作步驟i + w,卜人2,,尺。因此,多工器 410 ’ 411 ’ 412 ’ 413依循環⑽心規則操作如圖6c所揭示。 第1管線階段P1之輸出連接至2管線階段P2之輸入。 相對地,第2管線階段P2之輸出連接至3管線階段p3之 輸入,及第3管線階段P3之輸出連接至4管線階段p4之 輸入。最後管線階段之輸出,即根據本發明有效實施例之 裝置的第4管線階段P4,連接至系統之輸出。 因此,由替換母個先刚技術乘法器/ mac單元結構的 功能區塊為複數個相似的功能區塊,及由時間差操作的原 則,一個較平衡的管線階段或可達成於適當地選擇在每個 管線階段(即參數P,“,及V)的區塊數目於預定的操 作步驟。假設在先前技術乘法器/MAC單元結構的4個階 段的延遲分別是,乃切,/½,Z)CL4,且希求的系統傳輸 率是^心乘法運算MAC/運算每秒,則所希求的操作步驟持 25 1235954 績時間將選擇為r如,使得Γ如及上述之設計參數將 為 Ρ ,9 =「~/7^1,“ =「如/7^1,及 v =「Dc^/7^, 其中’符號「/|表示進位至下一個整數。 提出申請的乘法器/MAC單元結構操作於時鐘Γί^秒 的表面積可估异為:= pSM + qSsB + uSQ +vSCM + , 其中$乂4 ’’ *5(^4 ’及^是相應區塊之面積,且 是連接與控制裝置用以整合複數個功能區塊於每個 产白段所須之面積。另一方面,對於一個單獨傳統的高基數 管線化乘法器,傳輸律可定義為&如=//义和,其中 rpipe 。即使 NpipekNdes,意指一個單 獨管線化乘法器可能可以處理該作業,結構將因階段之間 的低平衡性,If因於〜,~,如,知彼此間大的差 異如表la所示,而遭受困難。不良的平衡性導致低硬體使 用率,因此使得電源無效率地消耗。然而,例如在訊號處 ,,程中,傳輸率數倍高於單獨一個,甚至管線化的乘法 為疋須要的。這意謂著於許多情況下,一個單獨處理系統 須要包括-陣列(排)含仏[列個獨立乘法器,MAC單 、Pipe 元明顯地,Λ = 。傳統乘法器陣列/MAC單元 之』積可估异為·〜— 比車乂 Spr印及6^爪可以看出本發明與傳統的獨立乘法器 /MAC單元比較下,可於結構面積方面達到顯著之減少。 本發明的優點不僅表現在訊號處理處理⑽如影像/視訊 處理)’而且也表現在其他須即時乘法運算之處理方面。 26 1235954 線階段PI i P4之平衡,i能夠㉟加一單獨高基數管線化 乘法器/MAC單元之傳輸率而伴隨最少面積之增加。該結 構傳輸率之增加快於面積之增加,因為良好之硬體利用來 自於較好之管線階段平衡。此外,應注意的是傳輸率之增 加是不須增加輸出/入匯流排之寬度,此點是重要的,^ 為許多數位訊號處理器提供相當細窄的匯流排寬度。 圖7揭示應用本發明之典型實施例,類型1非重新編 碼(亦即,基於式(7))基數8乘法器結構(NR1,T=8)。乘法 器701之操作基於以下之觀察。 口又0 及λ: = 相對地為η位元(包 括符號位元)乘數及m位元(包括符號位元)被乘數χ的之補 數。δ又乘數為符號延伸,使得w = 3〃’ +1 ( 是整數)。則乘積 >-α·χ之(《切)(包括符號位元)的2之補數表示式可求得如 下: Υ-1 y^Yr2Zr^2kx r=0 其中 m+2 times 1爪-1 〇〇···〇,if A* = 〇 (m+2), otherwise 為-α3/·+2α3Μ·ια3;· = 22a3r+2 + 2a3r+1 + a3r ’ r = 0,···,w’ - /, 是部分乘積值,其由枣的2之補數表示式的最低有效 m + 2位元形成,& = —i,w + 2} ’及X符號改正項之值如下· 27 1235954
文=(',卜丨C⑻2m+2-* uW xm^\C(n)2m+2^k if an^x = 0 [xm^C(n)2m+2^ if an^{=l 271 -1 其中,C(77) 1 pll oil …Oil ----------f n-\ times 〜〜々w的是’若〇〇,則/之值是由截除 二之符號位兀而得,戽J乃由心mC⑻严24項取得。然而, 〇、’則負值(10· ·0)或正值(〇〇 ··〇)應依被乘數X的符號 "决定使用。依據以上之觀察來使用以下之乘法運算 /ίτ ° 運算法1 X的2乘數3的〜2之補數β=αη_^_2...α;β0 (W = 3W+1)及被乘數 、重*之補數X_Xw-/Xw-2.·*%作為運算法1之輸入資料。而 建异法1之輸出則為乘積〜.讀2之補數 少外。運算法i包括以下各步驟: 〜^驟1.形成可能部分乘積茲=23? + ?,5^ = 43? +〒及 7 ^此可刀別由合併裝置’例如加/減法器702b, ^ ^*ί.7〇2ί1^^1^ 〇 = xm-iC(n)2m+2-k-x2n~k ^ 2 之補數可形成㈣如第丨加/減法器繼 3於被乘數X之各別移動1,…個位置至左而;: ;二移動菸至左i個位置而得。基本上,所有被乘數X的 負^到於本階段。每個得自於本階段之數是由運算元无之 加法或減法,以及其他由x〜向左移動某_特定位置而得。因 28 1235954 此’本階段可實行於4個平行加/減法器702a,鳩, 702c,7〇2d之陣列於—運算步驟中。 步驟2.依據每一組3個連續位元牟= i···,/之乘數,,部分乘積? 叫::由二 =裝置7〇3b,703c,則執行。同時 符號改正項之值將設定為又^糊2_,否則 】 广二。其中謂自於步^,此可由第i選擇裝η。— 仃。其可依%值選擇任一輸入值又=4 巧出。部分乘_形成於截除之符號位元的 斜2位元數’因此其恆為正值而與X之符號無關。 〜步驟3·乘積?由以固選擇的部分乘積及 I值之加總所形成。在加總執行之前,例如在壓縮陣列 鳩,fr值乘以,,及戈值乘以。這些乘法運算圖示於 圖7,將移位操作之箭頭標示在選擇區塊7〇3及總和區塊 704之間。共有v + 個數值(部分乘積列)相加於本 發明之乘法運算法之步驟3中,然而在B〇〇th乘法運算法 中該數子為|^//|為「w//|十7,乃依符號延伸處理方式而 定。此外,既然部分乘積值及符號改正項是相對地移動3 個位置,有些列是可合併的。例如,000101及011000兩列 可合併為一 011101。合併後的可能部分乘積列總數可簡易 1表,為min^/3]^/3!^.。因為所有的部分乘積&是正值且 2戈是一(w + w)位元數字,符號延伸在實行加總時是不須要 的。符號改正項之值的形成與加總尚有其他可能之方法, 29 1235954 然而都應視為由運算法1之稍許變更。明顯地,此提案之 乘法運算方法可被簡易地延伸為乘法累加(MAC)方法,若 將步驟3之結果累加至之前的結果。 圖7之乘法器701是基於運算法1,其包括一個加法 器702陣列用以計算符號改正項f及由被乘數无而得之可 能部分乘積組开,57, 77,及一個選擇區塊703依據乘數& 之位元形成可能部分乘積組}^ ,r = 0,···,//-/及項Ζ,以及 包括一個總和區塊704用以計算乘積歹,此乃將輸出值g與 選擇區塊703之X項加總,初始fr值向左移位介位置及戈值 向左移位尺位置。 圖7之乘法器結構可簡易地延伸為乘法累加結構,此 乃藉由包括一個從整體總和區塊或壓縮陣列之輸出至其輸 入之回饋以累加選擇區塊7 0 3之值至前一操作階段所得之 值。圖7乘法結構中不同區塊之完成不同工作是可能的。 以下之假δ史疋被乘數X以有可能移位之位元平行方式進入 4個加/減法器702a、702b、703c、704d中之每一個。第i 個加法器702a執行由常數、—lC«^減去a—a;得到結果 f。此加法器可用m個反向器替代,若加上%值是執行於總 和區塊704。第2個702b及第3702(:加法器接受?為其第2 輸入,且7相對地移位至左1或2位置於其第丨輸入(加法 器祇有一個輸入也可列入考慮)。其結果分別是孖及兄。同 樣地,第4個加法器702d執行由好減去以寻到結果75?。加 法器702a、702b、703c及704d陣列構成第1管線階段pl。 加法器702陣列之輸出進入選擇區塊7〇3,其在本實施 30 1235954 例中,構成第2管線階段P2且包括一個(n+m-it)位元2:1 多工器703a及Y選擇單元(SEL) 703b,703c,703d。多工 器703有1於其第1輸入及⑻於其第2輸入,且由 〜控制使得有文=⑻w項於其輸出。每個選 擇單元703b,703c,703d有0,3?,3元5歹及7?值於其輸入,且 由乘數3相應之3個位元控制。輸出依表3形成。 表3 Λ 選擇輸入 左移位 輸出值 編號 值 000 0 0 0 X/w-1 〇 …〇 001 1 X 0 3c 010 1 X 1 23c 011 2 3x 0 3x 100 1 X 2 4x 101 3 5x 0 5x 110 2 3x 1 6x 111 4 lx 0 lx 圖8表示一個可實行為選擇單元703b,703c,703d之 電路的非限制性例子。此電路包括8對1多工器,其有些 輸入形成於將其他某些輸入之位元移動而得。一般而言, 選擇單元703b,703c,703d可以為任一依據表3操作之電 路。 本實施例乘法結構之總和區塊由壓縮陣列(C A)704a 跟隨著一個加法器705(稍後被提作為最終加法器)。總和區 塊704構成結構之第3管線階段P3及第4管線階段P4。壓 31 1235954 縮陣列704a將Y + 7部分乘積列減至2列。其可由3 · 2 “ 之全加器(FAs)、半加器(HAs)且/或4 : 2之壓縮陣列構^率 用於構成壓縮陣列及最終加法器的不同技術是由先前技術 獲知。然而,應注意的是,於總和區塊内相加列之數目比 先前技術基數4 Booth重新編碼乘法器内相加之數目來的 小。相應地,壓縮陣列之階層數目及因此其延遲與尺寸都 顯著地減少。例如,當使用基數8而不用基數4方法作為 乘法器及MAC之實行時,於13位元被乘數(m=13)及16位 元乘數(11=16)之情況,被相加列之數目相對地由9減至6 及由11減至8。一個可能由全與半加器組成的壓縮陣列圖 是於圖9。在此例中,階層數目(延遲)由4減至3(由8t至 6t ’ t是反及閘(NAND gate)之延遲,且由5至4(由i〇t至 8t)當比較最先進基數4乘法器與MAC單元。當使用基數8 而不用基數4方法時,全加器(fAs)及半加器(HAs)之數目 由72與14減至36及13於13x16乘法器之情況。 32 1235954 表4 結構 PP產生 器之延 遲 CA之延 遲 最終加器 之延遲 cc持續 期間 CC’s/—個乘算 或一個MAC 之潛伏期間 CCs/K個乘算 或長度向量乘 法運算之潛伏期 間 先前技術基數 -4 Booth 乘法 器, p=cf=v=u=l 6t 8t (4階層) 8t (7階段) 8t 9/72t K+8=40 / 320t 先前技術基數 -8NR1乘法 器 p=q=v-u=J 24t 6t (3階層) 22t (3階段) 24t 4/96t K+4=36/864t 提案乘法器, p=2, q^v^u~l 12t 6t (3階層) 12t ί5階段) 12t 7/84t K+6=38/456t 提案乘法器 , a=v=u=l 8t 6t (3 mm) 8t σ階段) 8t 9/72t K+8=40 / 320t 提案乘法器, p^4, q=v=u=l 6t 6t (3階層) 6t (10階段) 6t 12/72t K+ll=43/258t 先前技術 Booth MAC 6t lOt (5階層) 10t π mm lOt 9/90t K+8=40/400t 先前技術基數 -8 NR1 MAC, p= q=\-u-l 24t 8t (4階層) 22t (3階段) 24t 5/ 120t K+4=36/864t 提案MAC, p=2, q=v=u=l 12t 8t (4階層) 12t (6階段) 12t 8/96t K+7=39/468t 提案MAC, p=3, q=v=u=l 8t 8t (4階層) 8t (8階段) 8t 10/80t K+9=41/328t 提案MAC, p=4, q=v=u=l 6t 8t (4階層) 8t (8階段) 8t 10/80t K+9=41/328t 提案MAC, p=6, g=l, v=2, u=4 4t 4t (4階層) 4t (4x4階段) 4t 6/24t K+7=39/!56t 33 1235954 表5 結構 FAs數量+ HAs數量 Booth 編碼 Booth 解碼 第1階段, PP產生器 第2階段, CA 第3階段, 最終加法器 總計 先前技術Booth 乘法器 Μ 72 + 14 28 100 + 14 8 96 提案乘法器, 4x13 36+13 28 116+13 瓶 j \\\ 並 j\\\ 提案乘法器, P=2 8x13 36+13 28 168 + 13 Μ 無 提案乘法器, 12x13 36+13 28 223 + 13 無 無 提案乘法器, P=4 16x13 36+13 28 272+ 13 無 表5(延續) 結構 多工器(選擇區塊) 反向閘 及/或閘 閘, 總計 2:1 3:1 4:1 8:1 2 3 4 先前技術 乘法器 3 0 0 0 24 30 32 8 1225 提案乘法器, P-1 15 0 0 75 26 13 0 0 1630 提案乘法器, 75 0 0 75 52 13 0 0 2040 提案乘法器, P-3 15 60 0 75 78 13 0 0 2460 提案乘法器, p=4 15 0 60 75 104 13 0 0 2750 表4表示估計的時間示性數之比較,表5表示估計的 硬體資源及依據本發明有效實施例(提案乘法器)與先前技 術Booth乘法器及Booth MAC單元結構所做之類型1非重 新編碼基數8乘法器與MAC單元結構之閘數之比較,於 13位元被乘數(m=13)及16位元乘數(n=16),且K=32乘法 運算累計至MAC單元之情況。此兩表成立所基於之假設在 34 1235954 於用於第1管線階段内之標準進位傳遞(carry-ripple)加法 器及管線化加法器被作為最終加法器使用(階段編號表示 於表4)。如我們所見的,基數8乘法器壓縮陣列的延遲(6t) 小於基數4 Booth乘法器(8t)。然而,如果祇有一個加法器 陣列使用’整體延遲(864t)是明顯的大於基數4 Booth乘法 器之延遲(320t),因為操作之持續時間是決定於第1管線階 段之延遲(24t)。明顯地,管線階段是存粹地平衡。同時, 由表5,基數8乘法器之整體閘數(163〇G)大於基數4Β〇〇^ 乘法器之閘數(1225G),主要原因在於選擇區塊。另一方 面,在結構中包括更多之加法器陣列,基數8乘法器可以 達成幾乎成比例較小之延遲,而伴隨小於成比例之閘數量 的增加。當包括P=4加法器陣列,一較佳之管線階段平衡 可達成,整體延遲(258t)成3.34倍(當較大尺時,幾乎4 倍)小於加法器陣列之情況。應注意的是閘數量祇增 加275〇/ 1630=1·67倍。於MAC單元的情況中,最佳之管 線:皆段平衡得自於當p=6,q=1,v=2,㈣,意指使用“口 法1§陣列及2個壓縮陣列。於此情況相較於時, 大約有5.54倍效率增加及2 65倍閘數量增加之代價。 本發明之結構可用於許多系統與裝置,其可有效地應 用於視訊編碼/解碼系統中實行資源須求高之運算。參數 P’ q’ u’ V可依系統特殊要求而選擇,使得每個管線階段 P1,…,P4皆有最適宜之延遲。 線階ίΓ/月可視為,例ί ’ 一個分開的單元包括不同的管 ' …’Ρ4。在每一個管線階段内有所須的功能單 35 1235954 元其數i依貫際應用而定。本發明也可用在數位訊號處 理器(DSP),微處理器(Mpu),特殊應用積體電路(asic), 或類似裝置。 以下將揭示本發明的另一個有效實施例。此實施例裝 置之一般結構圖示於圖u。主要之不同在於其為一可組態 化裝置’亦即主區塊(管線階段)可包括不同之次組合。此 乃藉由包括一或數個選擇裝置而達成,例如,位於第1個 P1,第3個P3,及第4個P4輸入管線階段的多工器21, 22 ’ 23。多工器21,22,23是2 : 1多工器,其分別由對 應的q4 訊號控制。此結構還包括一個輸出選擇器 24 ’其由第1個控制訊號Cl,以及第2個及第3個控制訊 號的OR組合(即a ν〇3 )。輸出選擇器24選擇資料於第1 管線階段P1,或第4管線階段p4的輸出連接至結構的輸 出匯流排14。多工器21,22, 23的第1個輸入連接至對應 的輸入匯流排25,多工器2卜22,23的第2個輸入是彼此 相連的,當第2個輸入啟動時,結構作為乘法器/ MAc運 算裝置。使用不同的控制訊號Cl,C2,以組合可能產生不 同的結構組態。選擇裝置可用以重新選擇内部訊號路徑至 計算裝置,且從一組内部訊號中選擇一個輸出訊號。選擇 裝置由至少兩個可供選擇中選擇至少一個管線階段的輸 入。據此訊號所產生的組態揭示於後。 當所有控制訊號Ci,C2,c3設定為邏輯1狀態,即 Cl=C2=C3=l,結構作為乘法器/MAc裝置。當第1個控制訊 號Cl為邏輯〇狀態,而其他控制訊號c2,C3是邏輯1狀態, 36 1235954 即CfO, CFCfi,結構作為一具sp個加/減法器之陣列。 祇有第1個管線階段P1 (即加法器2陣列)是啟動的,其 他則是閒置的。第3個可取組合是第1個控制訊號Cl為邏 輯1狀態,其他控制訊號c2,C3是邏輯〇狀態(Cl=0 , C2=〇, cfl )。此時,結構作為累加器。只有壓縮陣列4〇4及最終 加法器405運作,其他的加法器4〇2陣列及選擇區塊4〇3 則閒置。第4個可取組合是第1個控制訊號Ci及第2個控 制訊號C2為邏輯丨狀態,第3個控制訊號C3設定為邏輯〇 狀態(cec2^,4=0)。此時,結構作寬精確度器快速加法 器。尚有另一可取組合,當ei=e2=C3=(),結構同時作為一 具sp個加/減器之法陣列及累加器。很顯然的,上述之 選擇裝置22,23 , 24及依控制訊號Ci,4,C3之狀態而定 的結構/運算模式祇是可能的方式之一,尚有其他不同的 可月b方式可負應用於本發明範圍之内。這包括了運用其他 的控制訊號,此將揭示於後。 圖11之結構有另兩個其他的控制訊號q及c5,其增 ^結構的多功能性而不用重新組構。帛4個控制訊號^啟 動•(例如^)或停止(例如C4=0)介於第3管線階段内 之壓縮陣列404的輸出與輸入之間的回饋迴路。於是,若 ^=C2=c3=h C4=0時,該結構作為乘法器;若peeked 日卞’該結構作為MAC單亓。笙^ 士丨 ^ 第5個控制訊號c5 (其可能為 2或3位元訊號)控制筮】技 精# m i 6段的加/減法器的 :度以允々(例如C5為邏輯υ或停止( 科0)介於全加器5區塊間夕、仓仏你, ^ ]之進位傳送(carry Pr〇pagati〇n)。 37 1235954 如此,複數加法器陣列包括sp個m位元輸入的加/減法号 也可操作為複數2sp個m/2位元輸入的加/減法器,或可 操作為複數4sp個m/4位元輸入的加/減法器,等等。另 外,選擇區塊3,壓縮陣列4,及最終加法器5可稍作修改, 以由一個訊號控制及實行不同精確度的乘法器/MAC運 算也是可能的。 本鲞明之結構可實行,例如,作為一積體電路,藉使 用一或更多的處理器,邏輯電路及記憶體,等等。 圖10揭示一個本發明有效實施例之裝置丨〇。此裝置 包括一個控制單元11以控制裝置1〇之操作。此裝置還包 =一個微處理單元12,其包括_個乘法器或—個乘法累加 單7G 13(MAC),或一個根據本發明之可組態化裝置。此褒 置的使用者介面14包括顯示裝置15,音響裝置,鍵盤 17 ’及例如一個視訊相機18。裝置1〇包括通訊裝置19, 晋石il=I裝置,以與通訊網路聯通及與其他類似的裝 置互換資訊(未圖示)。 )°己t體裝置20用於儲存不同的資料 及程:,例如控制單元11的操作指令。 置,等1置可成為’例如’一個無線終端機,一個電腦裝 本發明不受限μ - 申請專利範圍作修改。的實施例’而可依據下列之 38 1235954 【圖式簡單說明】 圖1為先前技術之基數4BOOTH重新編碼乘法器的標 準結構; ’ 圖2為基數TBOOTH重新編碼(或非重新編碼 (Γ24)乘法器的一般結構; — 圖3a為在平行基數T MAC單元結構内之總和區塊的 貫施例,其中總和區塊是作為n/t選擇部分乘積及回饋與 進位項的一般壓縮區塊; 圖3b為另一個在平行基數TMAC單元結構内之總和 區塊的實施例,其中總和區塊被實行為分開的壓縮陣列, 圖4為根據本發明複數個乘法/MAC運算之有效實施 例的方塊簡圖; 圖5a為串聯功能區塊圖式; 圖5b為根據本發明延遲(時間差)平行處理原則之複數 個類似平行功能區塊操作; 圖6a為圖5b延遲平行功能區塊内之輸入暫存器操作 模式的計時圖解; 圖讣為圖5b延遲平行功能區塊内之功能區塊操作模 式的計時圖解; 圖6c為圖5b延遲平行功能區塊内之輸出多工器操作 模式的計時圖解; 圖7為根據本發明有效實施例之類型1基數8乘法考 包含Y個加法器用以使被乘數為負值; 圖8為圖7乘法器結構内之SE]L單元的有效實施例; 39 1235954 ® A H構之壓縮陣列由全與半加器組成於圖7 當m=13,n=16之案例; 圖10為根據本發明有效實施例的裝置之方塊簡圖; 據本發明之另—個有效實_之複數個乘 【符號說明】 11 控制單元 12 13 乘法器/MAC 15 16 音響裝置 17 18 視訊裝置 19 20 記憶體 21 24 輸出選擇器 102 103 m+1 Booth 解碼器 2〇2 203 選擇區塊 204 205 最終加法器 301 302 最終加法器 303 410 P對1多工器 411 412 2u對2多工器 413 402, 403 , 404 , 405 FB(有支 P1 加法器陣列 P2 P3, P4總和區塊 703 703b ,703c , 703d 選擇器 704a 壓縮陣列
MPU 顯示裝置 鍵盤 通訊裝置 Ρ對1多工器 Booth編碼器 加法器陣列 壓縮陣列 n/t+2列壓縮陣列 4列壓縮陣列 q對1多工器 v對1多工器. 聚延遲) 選擇區塊 40
Claims (1)
1 1235954 拾、申請專利範圍: 【申請專利範圍】 一種以管線化方式實行一個乘法運算盘另個 乘法運算之方法,其中另一個乘 异:、另-個 谨瞀士 #々乂 石巧开间始於刖一個乘法 運^成之别,上述之乘法運算皆分 u冢忐 异與-個第二次運算,且此第—與第:次運 二運 =階段内,其特徵在於高基數乘法中之次;算至^:個 :=;r 一個管線階段,其中第二個=運= 開於對應的第—個乘法運算之切算完成之前。 至少運申二專利f圍第1項所述之方法,其特徵在於 算ί進::=:以時間差方式執行,其中至少-個次運 V刀為數個部分次運瞀,接挥在 . 起始於一個不同之時間運π使传母-個部分次運算 3·如申請專利範圍第1或2項所述之方法, 在於管線階段(Ρ1,..·,Ρ4)^:#料料是可&f的其特徵 豆 運异貫仃於至少兩個營線階段(Ρ1,··.,Ρ4) 八 夕兩個次運算是實行於不同之管線階段。 兮乘^運=請專利範圍第1項所述之方法,其特徵在於 丈法運减另—祕運算是實行於―㈣丨運算元與一 41 1235954
ϋ
個第2運算元之間 6·如申請專利範圍第5項所述之方法,其特徵在於 乘法運算是實行於至少3個管線階段,其中第丨運算元是 輸入至第1管線階段,於該階段形成第一運算元的部分乘 ,組,第2運算元是輸入至第2管線階段,以實行由第工 官線階段所形成的部分乘積組中選擇至少一個部分乘積, 並與所選擇之部分乘積結合於第3管線階段以形成介於第 1與第2運算元間之乘法運算的總和項⑻及進位項(c)。 加法請專利範圍第6項所述之方法,其特徵在於 去運异貫行於第4管線階段,於其巾㈣和項及進位項 ό併以形成乘法運算之結果。 、 8·如申請專利範圍第7項所述之方法,1 數個資料部分同時處理乘法運算针= '其特徵在於 驟i 虽於本_· 、采法運异實仃於一或數個操作步 限定的I寺續時間是限定的'以及管線階段之延遲是 义、,如此定義了每個管線階段之時間差階層。 定義二專利範圍第8項所述之方法,其特徵在於 同,且小於上述預定操作步驟之持續時^^間儘可能相 10. 如申請專·_ 9項料之方法,其特徵在於 1235954
同時處理 11.如申請專利範圍第8,
其中所述之每個管線階段之部分次運算依 1 A u 7 广a K 任一 ^法,其特徵在於預定之操作步驟持續日㈣ 秒 以下而定: -第1管線階段之部分次運算數目 · P=WAA/Tdes] -第2管線階段之部分次運算數目 一第3管線階段之部分次運算數目 U^CA/Tdes] 一第4管線階段之部分次運算數目 叫 DCLA/Tdes] 八中乃心疋第1管線階段之延遲’ £>以是第2管線階段 之延遲,Dq是第3管線階段之延遲,及Dc“是第* 階段之延遲。 ' 12·如申請專利範圍第5項所述之方法,其特徵在於 任意符號2之補整數之非重新編碼基數高於4乘法運算法 用以實行介於第一位元(a)與第二位元(x)之間的乘法運 异’其公式如下: 43 «—11235954
曰 / 一,-1 - Λ Σ atr-{'i 2 X V L/=〇 „ / 2〃-(%-F)2w—1 或 nradix-T^ y= Σ Urx)2rt = y nl t—2y- Σ r-0 t-1Συ· ./=0 X x 2n^ 其中,Γ = 2、 13·如申請專利範圍第丨所述之方法,其特徵在於其 用於連接視訊資料處理。 14— 一種以管線化方式實行一個乘法運算與另一個 乘法運算之裝置,此裝置包括用以將乘法運算分為至少一 個第二次運算與_個第二次運算的裝置⑻,Μ,” , 5此Γ姓個第—與第二次運算被安排實施於—個管線階段 405)用以^ ^裝置進進—步包括裝置(術,彻,404, 〜)用以貫仃面基數乘法中之次運算至少有 貫行於一個管線階段,且 仃地 算之次運算於對;*㈣Μ 開始第二個乘法運 對應的第—個乘法運算之次運算完成之前。 15·如申請專利範圍第14 於其包括裝置(Wy用以將至少斤=裝置’其特徵在 同之時間。 使^個部分次運算起始於一個不 44 1235954
16·如申請專利範圍第14或15項所述之裝置,其特 徵在於其包括至少一個多工器(410,411,412,413)用於 選擇彳生資料選擇路徑於不同管線階段之間。 17·如申請專利範圍第14項所述之裝置,其特徵在 於其至少包括兩個管線階段(Pl,···,P4)以管線化方式實行 上述之每一個乘法運算,其中至少兩個次運算是實行於不 同之管線階段。 18.如申請專利範圍第14項所述之裝置,其特徵在 於該;個乘法運算與另一個乘法運算被安排執行於—個筹 1運算元與一個第2運算元之間,此裝置包括至少一個第 1(P1) ’ 一個第2(P2),及一個第3(P3)管線階段以管線階外 f式執行每—個乘法運算;此裝置還包括用以輸入第 ί元至第1管線階段之裝置,用以輸入第2運算元至第2 :線階f之裝置,第1管線階段包括裝置用以形成第!運 异兀之。p分乘積組,第2管線階段包括—個選擇器, 於第2運算元從第!管線階段所形成的组選^ ^少-個部分乘積,第3管線階段包括一個結;器中二 ==積形成介於第1運算元與第2運算元間之乘法 運的總和項(S)及進位項(C)。 19.如申請專利範圍第18項所述之裝置,其特徵在 45 1235954 ‘ I 7 $其還包括一個第4管線階段,此管線階段包括一個加法 器來執行介於總和項及進位項之加法運算以形成乘法運 之結果。 2〇·如申請專利範圍第19項所述之裝置,其特徵在 少-個管線階段包括裝置用以將被處理資料分至數個 部:之資料處理區塊,以基本上同步地處 尸白#又之母個資料部分。 〜^•㈣請專利範圍第2g項所述之裝置, 於母個管線階段的資料處 八特徵在 線階段内被處理資料的處理定的’使得管 徵在二«21 _叙裝置,其特 料處理區塊之數目如下·「☆",其中該在各管線階段之資 —第1管線階段之部分次運算數目 P^AA/Tdes] -第2管線階段之部分次運 ^WSB/Tdes] -第】管線階段之部分次 u^cAITdes] 9 '第4管線階段<部分次運算數目 46 1235954
V = [DCLA/TdesJ 其中乃心是第1管線階段之資料處理區塊的處理時 間,是第2管線階段之資料處理區塊的處理時間,乃& 疋第3管線階段之資料處理區塊的處理時間,及〇…是第 4管線階段之資料處理區塊的處理時間。 疋 23. 如申請專利範圍第14項所述之裝置,其特徵在 於其為一視訊資料裝置。 24. 如申請專利範圍第14項所述之裝置,其特徵在 於其為一積體電路。 八’ 25. ^ _禋無綠終端機,包括以管線化方式實行一乘法 運算與另一乘法運算的裝置,這其中包括裝置(P1,P2,P3, P4)將乘法運算分成至少一個第卜欠運算與一個第2次運 算’且每-個第i與第2次運算被安排執行於一個管線階 段,其特徵在於此無線終端機還包括裝置⑽,彻,_, 4〇5)用以平行㈣行至少—個高紐乘法運算之次運算於 段’以及裝置用於開始另一個次運算於對應之 乘法運鼻之次運算完成之前。 6. 裝置’包括以管線化方式實行一乘法 异與另-乘法運算的裝置,這其巾包括裝置⑻,Μ,p P4)將乘法運算分成至少一個第i次運 ^ 47 1235954 算,且每一個第1與第2 — 段,其特徵在於此電财置 2排執行於··個管線階 τ 匈裝置還包括裝置(402,403,404, 405)用以平行地實行至少一 卜 调回基數乘法運算之次運笪於 一個管線階段,以及裝置用 、 于本、蚕管夕A Ρ 置用於開始另一個次運算於對應之 乘法運异之次運算完成之前。 27· 一種系統用以實行一乘法運算與另一乘法運算 的裝置’這其中包括裝置(⑴……叫將乘法運算分 成至少一個第1次運算與一個第2次運算,且每一個第工 與第2人運异被女排執行於一個管線階段,其特徵在於此 無線終端機還包括裝置(4〇2,4〇3,4〇4,4〇5)用以平行地 實行至少一個高基數乘法運算之次運算於一個管線階段, 以及裝置用於開始另一個次運算於對應之乘法運算之次運 异完成之前。 48
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20021982A FI115862B (fi) | 2002-11-06 | 2002-11-06 | Menetelmä ja järjestelmä kertolaskuoperaation suorittamiseksi ja laite |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200419445A TW200419445A (en) | 2004-10-01 |
TWI235954B true TWI235954B (en) | 2005-07-11 |
Family
ID=8564891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW092130871A TWI235954B (en) | 2002-11-06 | 2003-11-05 | Method and system for performing a multiplication operation and a device |
Country Status (8)
Country | Link |
---|---|
US (1) | US7334011B2 (zh) |
EP (1) | EP1558994A1 (zh) |
KR (1) | KR20050084681A (zh) |
CN (1) | CN1735857A (zh) |
AU (1) | AU2003279421A1 (zh) |
FI (1) | FI115862B (zh) |
TW (1) | TWI235954B (zh) |
WO (1) | WO2004042554A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008030916A2 (en) * | 2006-09-06 | 2008-03-13 | The Research Foundation Of State University Of New York | A parameterized vlsi architecture and method for binary multipliers |
EP3480710A1 (en) * | 2017-11-03 | 2019-05-08 | Nokia Technologies Oy | Computer architectures and instructions for multiplication |
CN108255463B (zh) * | 2017-12-28 | 2020-12-22 | 深圳市紫光同创电子有限公司 | 一种数字逻辑运算方法、电路和fpga芯片 |
CN110399117B (zh) * | 2019-07-31 | 2021-05-28 | 上海燧原智能科技有限公司 | 一种混合乘法加法处理方法及装置 |
US11270196B2 (en) | 2019-10-15 | 2022-03-08 | International Business Machines Corporation | Multi-mode low-precision inner-product computation circuits for massively parallel neural inference engine |
CN111596887B (zh) * | 2020-05-22 | 2023-07-21 | 威高国科质谱医疗科技(天津)有限公司 | 一种基于可重构计算结构的内积计算方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5025408A (en) * | 1989-07-31 | 1991-06-18 | Shographics, Inc. | Bit serial multiplier with parallel-in-serial-out carry and partial product shift registers |
US4965762A (en) * | 1989-09-15 | 1990-10-23 | Motorola Inc. | Mixed size radix recoded multiplier |
US5150322A (en) * | 1990-06-05 | 1992-09-22 | Vlsi Technology, Inc. | Mixed-radix serial/parallel multipliers |
US5636155A (en) * | 1993-04-27 | 1997-06-03 | Matsushita Electric Industrial Co., Ltd. | Arithmetic processor and arithmetic method |
US5646877A (en) * | 1995-05-25 | 1997-07-08 | Texas Instruments Incorporated | High radix multiplier architecture |
US5729485A (en) * | 1995-09-11 | 1998-03-17 | Digital Equipment Corporation | Fast determination of carry inputs from lower order product for radix-8 odd/even multiplier array |
US5825680A (en) * | 1996-06-21 | 1998-10-20 | Digital Equipment Corporation | Method and apparatus for performing fast division |
US5761106A (en) * | 1996-06-24 | 1998-06-02 | Motorola, Inc. | Horizontally pipelined multiplier circuit |
JP3678512B2 (ja) * | 1996-08-29 | 2005-08-03 | 富士通株式会社 | 乗算回路、該乗算回路を構成する加算回路、該乗算回路の部分積ビット圧縮方法、および、該乗算回路を適用した大規模半導体集積回路 |
US5875125A (en) * | 1997-07-07 | 1999-02-23 | International Business Machines Corporation | X+2X adder with multi-bit generate/propagate circuit |
US6173304B1 (en) * | 1998-08-20 | 2001-01-09 | Lucent Technologies, Inc. | Joint optimization of modified-booth encoder and partial product generator |
US6353843B1 (en) * | 1999-10-08 | 2002-03-05 | Sony Corporation Of Japan | High performance universal multiplier circuit |
EP1459167B1 (en) * | 2001-12-14 | 2006-01-25 | Koninklijke Philips Electronics N.V. | Pipelined core in montgomery multiplier |
-
2002
- 2002-11-06 FI FI20021982A patent/FI115862B/fi active IP Right Grant
-
2003
- 2003-11-05 AU AU2003279421A patent/AU2003279421A1/en not_active Abandoned
- 2003-11-05 WO PCT/FI2003/000821 patent/WO2004042554A1/en not_active Application Discontinuation
- 2003-11-05 CN CNA2003801083389A patent/CN1735857A/zh active Pending
- 2003-11-05 KR KR1020057007987A patent/KR20050084681A/ko active IP Right Grant
- 2003-11-05 EP EP03772366A patent/EP1558994A1/en not_active Ceased
- 2003-11-05 TW TW092130871A patent/TWI235954B/zh not_active IP Right Cessation
- 2003-11-06 US US10/703,154 patent/US7334011B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
FI115862B (fi) | 2005-07-29 |
US7334011B2 (en) | 2008-02-19 |
AU2003279421A1 (en) | 2004-06-07 |
EP1558994A1 (en) | 2005-08-03 |
TW200419445A (en) | 2004-10-01 |
CN1735857A (zh) | 2006-02-15 |
FI20021982A0 (fi) | 2002-11-06 |
FI20021982A (fi) | 2004-05-07 |
US20040133618A1 (en) | 2004-07-08 |
WO2004042554A1 (en) | 2004-05-21 |
KR20050084681A (ko) | 2005-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FI118612B (fi) | Menetelmä ja järjestelmä laskuoperaatioiden suorittamiseksi ja laite | |
KR100715770B1 (ko) | 연산을 수행하는 방법 및 시스템 및 장치 | |
JP4555356B2 (ja) | 単一命令複数データ(simd)命令用の積和演算(mac)ユニット | |
US9176709B2 (en) | Shared integer, floating point, polynomial, and vector multiplier | |
WO1999038088A1 (fr) | Procede et dispositif pour operation arithmetique | |
JP2011034566A (ja) | マルチmacアーキテクチャにおける低電力firフィルタ | |
TWI235954B (en) | Method and system for performing a multiplication operation and a device | |
Hosseinzadeh et al. | A novel multiple valued logic OHRNS modulo rn adder circuit | |
CN101430737B (zh) | 提升小波变换的vlsi结构设计方法 | |
Garcia et al. | VLSI configurable delay commutator for a pipeline split radix FFT architecture | |
Kumar et al. | Analysis of low power, area and high speed multipliers for DSP applications | |
Belyaev et al. | A High-perfomance Multi-format SIMD Multiplier for Digital Signal Processors | |
Guevorkian et al. | A method for designing high-radix multiplier-based processing units for multimedia applications | |
Kwan et al. | Implementation of DSP-RAM: an architecture for parallel digital signal processing in memory | |
Meletis et al. | High-speed pipeline implementation of radix-2 DIF algorithm | |
Thomas et al. | Comparison of Vedic Multiplier with Conventional Array and Wallace Tree Multiplier | |
CN1553310A (zh) | 高速低功耗乘法器的对称分割算法及电路结构 | |
Kumar et al. | An aproach to manage delay in signal processing via selected multiplier algorithms | |
Bowlyn et al. | A novel distributed arithmetic multiplierless approach for computing complex inner products | |
Kumar et al. | Simulation and Implementation of Efficient Binary Multiplier Circuits | |
Patronik et al. | Design of an RNS reverse converter for a new five-moduli special set | |
Pushpavalli et al. | Compressors Based High Speed 8 Bit Multipliers Using Urdhava Tiryakbhyam Method | |
KUMAR et al. | A Survey on Modular & hybrid multiplication using carry saves adder | |
Chen et al. | Design methodology of a hardware-efficiency VLIW architecture with highly adaptable data path | |
Manasa et al. | Parallel Squarer Design Using Pre-Calculated Sum of Partial Products |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |