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 PDF

Info

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
Application number
TW092130871A
Other languages
English (en)
Other versions
TW200419445A (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 TW200419445A publication Critical patent/TW200419445A/zh
Application granted granted Critical
Publication of TWI235954B publication Critical patent/TWI235954B/zh

Links

Classifications

    • 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
    • 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
    • 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

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
TW092130871A 2002-11-06 2003-11-05 Method and system for performing a multiplication operation and a device TWI235954B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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