TWI332625B - Power-efficient sign extension for booth multiplication methods and systems - Google Patents

Power-efficient sign extension for booth multiplication methods and systems Download PDF

Info

Publication number
TWI332625B
TWI332625B TW096105773A TW96105773A TWI332625B TW I332625 B TWI332625 B TW I332625B TW 096105773 A TW096105773 A TW 096105773A TW 96105773 A TW96105773 A TW 96105773A TW I332625 B TWI332625 B TW I332625B
Authority
TW
Taiwan
Prior art keywords
multiplication
product
sign
tree
puss
Prior art date
Application number
TW096105773A
Other languages
English (en)
Other versions
TW200802078A (en
Inventor
Shankar Krithivasan
Christopher Edward Koob
William C Anderson
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW200802078A publication Critical patent/TW200802078A/zh
Application granted granted Critical
Publication of TWI332625B publication Critical patent/TWI332625B/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
    • 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
    • G06F7/5336Reduction 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 overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
    • G06F7/5338Reduction 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 overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
    • 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
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49994Sign extension
    • 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/544Methods 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 for evaluating functions by calculation
    • 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/544Methods 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 for evaluating functions by calculation
    • G06F7/5443Sum of products

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

九、發明說明: 【發明所屬之技術領域】 本發明係關於數位信號處理器中之 丄 予處理益領域,且 文特疋έ之係關於在數學處理器中 τ用以進行數之高速乘法 的浦斯乘法器。更具體言之,本發 .. 3係關於用於蒲斯乘法 万法及系統中之帶正負號及未帶正負 ^十 貝藏之二進位值的功率 效率正負號延伸。 【先前技術】 電:設備及支援性軟體應用程式日益涉及數位信號處 理。家庭劇院(Home theatre)、電腦圖形、醫學成像及電 信皆依賴於數位信號處理技術。數位信號處理需要在複雜 但重複之演算法中之快速數學(細_h)。許多應用需要 即時計算’亦即信號為時間之連續函數,該信號必須被採 樣及轉化為數位信m,以用於數值處理。處理器必須執行 在樣本到達時對該等樣本進行離散計算之演算法。數位信 號處理器(或DSP)之架構經最佳化以處理此等演算法。良 好仏號處理引擎之特性包括快速、靈活的算術計算單位; 至什算單位及來自計算單位之無約束資料流;計算單位之 延伸之精度及動態範圍;雙重位址產生器;高效程式定 序;及程式化之簡易性。
DSP技術之一有前途之應用包括諸如分碼多重存取 (CDMA)系統之通信系統,該CDMA系統支援經由衛星或 地面鏈路的在使用者之間的語音及資料通信。在多重存取 通h系統中使用CDMA方法係揭示於題為"SPREAD I18734.doc 1332625 SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS"之美國專 利第 4,901,307 號及題為,'SYSTEM AND METHOD FOR GENERATING WAVEFORMS IN A CDMA CELLULAR TELEHANDSET SYSTEM',的美國專利第 5,103,459 號中, 該兩個專利皆讓渡給所主張之發明主體的受讓人。 CDMA系統通常經設計以符合一或多個電信(且現在為串 流視訊)標準。一個此第一代標準為"TIA/EIA/IS-95 Terminal-Base Station Compatibility Standard for Dualmode Wideband Spread Spectrum Cellular System"(下文中 稱為IS-95標準)。IS-95 CDMA系統能夠傳輸語音資料及封 包資料。可更有效傳輸封包資料之更新的一代標準係由名 為”第二代合作夥伴計劃(3rd Generation Partnership Project)”(3GPP)之協會提供且包含在包括文獻第3G TS 25.211、3G TS 25.212、3G TS 25.213 及 3G TS 25.214 號的 ' ~~組文獻中,6玄等文獻易於為公眾獲得。下文中將3 g P P 標準稱為W-CDMA標準。亦存在視訊壓縮標準,諸如 MPEG-1、MPEG-2、MPEG-4、H.263 及 WMV(視窗媒體視 訊),以及此等無線手機將日益採用之許多其他標準。 為貫現快速及靈活的具術计算單位,需要進行高速乘法 運算。已知一進行此等運算之過程為蒲斯乘法。蒲斯乘法 為藉由對經乘法計算之數進行再編碼而允許較小、較快乘 法電路的過程。使用蒲斯過程之乘法通常係藉由產生部分 乘積而執行。隨後將部分乘積相加以獲得最終結果。在使 li8734.doc 用4斯乘法過程的情況下 中之列叙 刀灰積之數目等於乘數矩陣 J數目。術語”部分乘積"係 tree) Φ 4 ^ ^ ^·ί (multiplication 乂 τ < 列。 用:斯=蒲斯演算法存在”修改,但基本原則為使 4之蒲斯*社來產生1少部分乘積。可藉由使用基數為 數為4之㈣w 丨刀采積的數目減少約十基 表示)映1 將乘數B之位元(最初以二進位值〇及1 、)映射為可採用值J、j、〇 此方土 h 或2之一組乘法因數。 此方法k供將原本會出現之部 Έί „ 水積之數目大致減半的優 "’。此優點在電路設計中較為重要 ^ Ψ ^ 4* 4^ 要,因為其係關於電路運 之傳播延遲(propagation d 1 及功圭^ y)及電路貫施之複雜性 物日#户+ , 及僅存在一多工器或均等 物時存在相對較少之複雜性代價。 —旦已使㈣斯編碼過程產生部分_ 她一而將該等部分乘積力 =過程包含使用半加法器、全加法器及多運算元加法器 ^㈣對部分乘積位元之多個列進行求和。此簡化導 餘格式之兩列位疋,在使用進位傳播加法器 丫㈣㈣价adder)進行解析時其總和表示最終乘積。 將此等列中之-者稱為總和U另—列稱為進位〇在乘法 累加(MAC)運算中,[z+(AxB)]中之z項通常在最終CPA之 前包括在簡化樹中。此過程對於呈冗餘格式之乘法乘積之 解析與後續累加而言均節省了對CPA的使用。 因為某些部分乘積可為負的,所以2的求補運算所需之
Il8734.doc 工332625 硬體為蒲斯乘法器之一態樣。在使用此硬體的情況下,需 要提供能夠產生乘法乘積之蒲斯乘法器。目前,不存在能 夠對於DSP應用有效地產生·(ΑχΒ)之已知方法或系統。因 此’需要在DSP應用中能夠將蒲斯乘法過程用於產生乘積 之加法逆元素(additive inverse)_(AxB)的方法及系統。 然而,一旦產生此乘積,便存在著以下問題:若待 之值(T加至乘法"AxB"之乘積)比乘積㈣具有更大的位
凡寬度,則冗餘乘積之"總和"與"進位"分量皆需要被適當 地正負號延伸。 有時’可有必要在較寬範圍之位元上進行正負號延伸。 因此在DSP中之蒲斯乘法過程期間需要適當正負號延伸之 過程。通常乘法之中間冗餘乘積的兩者將被正負號延伸。 對於僅冗餘乘積之總和分量需要被正負號延伸之情形, 進一步需要功率效率過程。
1自蒲斯Μ㈣產生最終乘積時’需要避免總和與進 位分量之正負號延伸。 進-步需要減少自在蒲斯乘法過程期間由於中間叫立 乘積之部分乘積之正負號延伸引起的功率消耗。 仍需要減少在蒲斯乘法之正負號延伸階段 工電路的數目。 ” 【發明内容】 本發明揭示用於提供蒲斯乘法方法及系統之功率效率正 負號延伸的技術,此等過程改良數位信號處理器之摔作愈 對用以處理個人電腦、個人數位助理 ’、 …、踝手機及類似電 I I8734.doc 裝置之日益穩固軟體應用的數位信號處理器指令之有效 使用,亦增加了相關聯數位信號處理器速度及服務品質。 根據-態樣,所揭示之方法及系統包括蒲斯乘法過程之 功率效率正負號延伸方法及系統。所揭示之主旨在包含複 f個部分乘積列之蒲斯乘法樹中引人_正負號位元。該正 、戒位7L相於需要正負號延伸步驟之蒲斯乘法過程的情 ,下” b處所揭示之方法及系統包括使用—正負號位元對 浦斯乘法樹之預定部分乘積列進行一延伸(亦即當正負號 為,時的正負號延伸)以保留該預定部分乘積列之正確正 士'的此力解析正負號位兀之信號值需要在蒲斯乘法樹 產生正負號延伸位元。該正負號延伸位元可位於一進位 輸出行中以延伸蒲斯乘法過程之乘積。隨後本揭示藉由將 進位輸出值加至蒲斯乘法樹之至少_預定行的正負號位元 而自蒲斯乘法樹形成最終乘積。此具有以正負號來延伸最 终乘積之總和分量及零延伸最終乘積之進位分量的效庳。 自本文所提供之描料明顯看出所揭示主旨的此等及其 他優點’以及額外新穎特徵。此[發明内容]之意圖並非為 所主張主旨之全面描述,而是提供對該主旨之某些功能性 的間紐概述。熟習此項技術者在檢查以下圖及詳細描述之 後將明顯看出此處所提供之其他系統、方法、特徵及優 點。希望所有此等額外系統、方法、特徵及優點包括於此 描述内,包括於隨附申請專利範圍之範疇内。 【實施方式】 此處呈現之蒲斯乘法方法及系統之功率效率正負號延伸 H8734.doc
的所揭示t t JU I V 曰在十刀廣泛之各種數位信號處理應用(包括 …執行緒處理之彼等應用)中具有用途…個此應用 在铋用或多個數位信號處理電路之電信及詳言之無 線手機中。因此,以下圖!至圖3描述電信Dsp,在該㈣ 本教不可為有用的。圓4陳述乘法處理之資料路徑增 強之庸斯乘法運算之本揭示可運算於該乘法處理内。然 而,應圮住,此處所描述之實施例僅提供所揭示主旨適用 的實際上無限組之應用中的一者。 〆;闈述可如何使用此無線手機之目的,圖1提供通信 '丁、統10之簡化方塊圖’該通信系統可實施所揭示之中斷處 f法及系統之所呈現實施例。在傳輸器單元i2處,通常 乂區塊將資料自資料源14發送至傳輸(TX)資料處理器16, 〆傳輸(τχ)貝料處理器格式化、編碼及處理該資料以產生 或夕個類比u。隨後將該等類比信號提供至傳輸器 (™tr)18 ’該傳輸器調變 '過遽、放大,且增頻轉換基 頻“虎以產生經調變信號。隨後經由天線20將該經調變信 號傳輸至一或多個接收器單元。 在接收态單兀22處’所傳輸之信號係藉由天線24接收且 被提供至接收器(RCVR)26。在接收器%内,所接收之信 號被放大過據、降頻轉換、解調變,及數位化以產生同 相⑴及(Q)樣本。隨後藉由接收⑽)資料處理器Μ對該等 樣本進行解碼及處理以恢復所傳輸之資料。接收器單元Μ 處之編碼及處理係以_與在傳輸器單⑶處進行之編碼及 處理互補的方式而進行。隨後將所恢復之資料提供至資料 118734.doc 1332625 儲集器30。 上述彳σ號處理支援在一方向之語音、視訊、封包資料、 汛心及其他類型之通信的傳輪。雙向通信系統支援雙向資 料傳輸 '然而’為簡明起見,圖1中未展示在另-方向之 仏唬處理。通信系統丨〇可為支援地面鏈路上使用者之間的 扣曰及資料通信之分碼多重存取(CDMA)系統、分時多重 存取(TDMA)通信系統(例如gsm系統卜分頻多重存取
(:DMA)通L系統,或其他多重存取通信系統。在—特定 實施例中,通信系統10為符合W-CDMA標準之CDMA系 統。 ’、
”。2說明可充當圖i之傳輸資料處理器!认接收資料處理 益28之DSP 40架構。再次強調Dsp 4〇僅表示可有效地使用 此處所呈現之教示及概念的許多可能之數位信號處理器實 」中的實她例。因此在DSP 40中,執行緒T0:T5(參考 數子42至52)合有來自不同執行緒之指令集合。電路μ表 示指令存取機制且用於提取執行緒T〇:T5之指令。電路54 二1" ί排入指令佇列56中。指令佇列56中之指令準備好 理器管線66(見下文)中。可藉由發出邏輯電㈣ :“丁列56選擇單一執行緒,例如執行緒τ〇。讀取選定 灯緒之暫存器播案60並將所讀取之資料發送至槽〇至样3 =:資料路徑…在此實例中,槽。至槽3提供本實施: 中所採用之封包分組組b 貫㈣ 來自執行資料路徑62之輸出進入暫存器檔案寫入電路 64(其亦經組態以容納個別執行緒丁〇·Τ5)β# #
以傳回來自DSP U8734.doc 1332625 運τ的'、。果。因此,根據各種執行緒而劃分成多個部 刀勺自電路54且在至暫存器檔案寫入電路64之前的資料路 徑形成處理管線66。 本貫施例可採用使用具有多達六個執行緒丁〇 丁5之單一 微處理器的異質元件處理器(ΗΕρ)系統之併合。處理器管 線=具有六個階段’從而匹配自電路54至暫存器嫩㈠提 取貧料項所必需的最小數目處理器循環。DSP 40在處理器 管線66内同時執行不同執行緒Τ0:丁5之指令。亦即,Dsp 〇提仏以個獨立程式計數器、一用以在處理器管線Μ内區 別執行緒T0: 丁5之指令的内部標記機制,及一用以觸發執 行緒切換之機制。執行緒切換耗用自零至較少循環而變 因此DSP 40提供一通用數位信號處理器,其經設計 各種信號、影像及視訊處理應用中之高效能及低功率。圖 3提供對DSP 40架構之簡要概述’其包括所揭示主旨之一 表現形式之相關聯指令集合架構的某些態樣。㈣4〇架構 之實施例支援交插多執行緒(ΙΜτ)β纟此執行模型中 體藉由在管線中交插來自不同執行緒之指令而支援多個硬 體執行緒Τ0:Τ5的同時執行。此特徵允許⑽㈣括主動 時脈_a神Sive frequeney)同時仍維持高核 記憶體利用。提供高產出而無需昂貴之補償機制,諸 如無序執行、延伸轉接網路等。 更具體言之’圖3提供可採用所揭示主旨之教 — 執行緒之程式化模型之一實施例的架構方塊圖。方塊二 ! 18734.doc .13 1332625 描繪接收來自AXI匯流排74之指令的私用指令快取記憶體 72 ’該等指令包括至執行緒TO:T5之序列器76、使用者控 制暫存器78及監督者控制暫存器8〇的混合〗6位元及32位元 指令。序列器76將併合雙向超純量指令及四向VLIW指令 k供至S管道單元82、Μ管道單元84、Ld管道86,及Ld/St 管道單元88。AXI匯流排74亦以共用資料快取記憶體9〇將 LD/ST指令傳達至執行緒T〇:T5。在使用外部DMA主控器 96的情況下’共用資料TCM 98通信ld/st指令,該等 LD/ST指令進一步流向執行緒丁〇:丁5。自ahb周邊匯流排 1〇〇, MSM特定控制器1〇2與丁〇:丁5通信中斷針腳’其包括 ;知L制器指7、除錯指令及計時指令。總體控制暫存器 1 04與執行緒TO: T5通信控制暫存器指令。 在如圖3之Μ管道84中所呈現之單一執行緒處理的架構 内出現南速數學處理。功率效率對於Dsp 4Q之運算較為關 鍵,且Μ管道84需要在其運算中包括此考慮。在此乘法過 淨王中出現·乘法結果以冗餘形式變得可用,且此等冗餘結 果將被用於乘法累加運算中。在此等冗餘結果的情況下, 可能需要對冗餘乘積之兩者進行正錢延伸。所揭示之主 旨提供待對每一乘法之兩個冗餘乘積中的僅一者應用之正 負號延伸。此情形在中門 中間几餘乘積需要在較大位元範圍上 被正負號延伸的情沉下轉譯為顯著功率節省。 類似功率效率考虐搞古 ,"、有可此存在於所揭示主旨可適用的 任何應用中。因此,筚此+ Μ ^ 斯乘法過程出現之速度提供此處所 揭不之材料的獨特新穎態樣。 118734.doc 1332625
冗餘乘積可為零延伸的。因為僅,,總 總和”被正 所揭示之主旨提供用於乘法之蒲斯編碼過程 採用部分乘積之最終列被”延伸之部分乘; 負號延伸,所以所揭示之過程及相關聯結構減少了對乘法 之冗餘乘積進行正負號延伸時所包括的功率成本。為獲得 對所揭示主旨如何達成此等功率節省及相關效率之理解, 此處提供對特定實施例之進一步說明。 因此圖4呈現所揭示主旨之各種實施例的資料路徑圖! 且建立其内可發生本蒲斯乘法過程的資料流。詳言之,乘 法區塊118接收RS及Rt輸入。在乘法區塊118内為乘法單元 M0:M3。詳言之,M0乘法器單元182、Μι乘法器單元 184、M2乘法器單元186及M3乘法器單元188個別地接收Rs 及Rt輸入以分別將S0C0(亦即總和〇及進位〇)、sici、 S2C2,及S3C3輸出產生至移位/正負號延伸單元i48。移 位/正負號延伸單元148負責此等中間冗餘乘積之邏輯移位 及正負號延伸。 乘法器區塊11 8進行Μ管道84之乘法相關指令。可將此 等指令視為使用16x16乘法過程作為基礎之複合指令。乘 法器區塊由四個16x16乘法器單元μ〇:Μ3組成。每一乘法 器單元Μ0:Μ3能夠在若干模式中起作用,以支援各種1^類 型指令。支援帶正負號與未帶正負號之模式。在需要對乘 積進行減法之情況下’乘法器亦可產生乘法器之乘積的2 H8734.doc 15 1332625 補數。 • 在所揭示之主旨的情況下,M0:M3乘法器182至188使用 基數為4的蒲斯編碼。在未帶正負號模式中,該等乘法器 類似一以額外第17位元充當正負號位元之17x17乘法器。 除雙精度乘法(亦即32x32乘法)之外,所有其他乘法計算 指令為”帶正負號><帶正負號,,或"未帶正負號χ未帶正負號" ' 的。使用16x16乘法器來計算雙精度32x32乘法及32x16乘 φ 法計算亦需要,,帶正負號X未帶正負號”及"未帶正負號X帶 正負號”之乘法。藉由控制被乘數之正負號位元及μο:Μ3 乘法器182至188之乘數運算元而支援所有此等模式。 自移位/正負號延伸單元丨48之輸出進入多運算元加法器 1 5 0且可被剖析為r〇 :pj輸入。多運算元加法器1 $ 〇接收此 等R0:R3輸入並最終在一組壓縮及累加階段之後提供輸 出 170。 可將資料路徑1 80理解為可劃分為四個階段的。首先, # 在資料路由階段’將來自Rs及Rt源暫存器之資料饋至乘法 區塊118。在乘法區塊118内,基於指令而將來自源運算元 之16位元半字路由至四個M0:M3乘法器單元182至188。接 • 著’出現部分乘積產生及簡化向量加法或減法,其中 M0:M3乘法器單元1 82至1 88使用基數為4之蒲斯編碼來產 生部分乘積並使用簡化來將s玄專部分乘積簡化為一冗餘對 之輸出。 在多運算元簡化階段期間’將來自乘法區塊1 1 8之冗餘 輸出輸入至多運算元加法器150,該加法器將此等輸入及 118734.doc 1332625 可選累加器/捨入值(round value)簡化為兩對冗餘輸出。最 終,在加法/飽和階段,使用進位傳播加法來解析冗餘輸 出’且當適用時進行飽和。 1
因此,所揭示之主旨提供此等值之經修改蒲斯乘法。在 此等複合值的情況下’輸入在低半字中具有實數“位元值 且在高半字中具有虛數16位元值。視情況以〇·1位元而縮 放(响乘法器結果。將捨入常數加至每—實數與虛數總 和。實數與虛數部分係個別地飽和至32位元。32位元結果 中每一者之高位16位元係封裝入32位元目標暫存器中。
在此實例中,S㈣3及C0:C3為33位元寬。即使可以_ 元表示16x16乘法之輸出,某些指令仍以未帶正負號模式 進行運算且額外位元在此情況下係用作正負號位元以有助 於正負號延伸。S0:S3及C0:C3經過移位/正負號延伸單元 。在封裝之前,s〇:Sl&c〇:cl有助於低階^位元之最 終結果。此形成該結果之實數部分。若在該指令中指定則 此等四個數視情況可藉由左移1位元而縮放。 將此等數之經移位型式標記為R〇:R3。R〇:R3經過多運算 兀加法窃150。來自多運算元加法器15〇之輸出流向飽和/ 加法單位1 7 0。 現在’可以各種蒲斯乘法過程來進行所揭示之主旨。然 而理解所揭不之主旨的特定使用最佳可經由呈現其中可 ^生此應用之特殊蒲斯乘法過程而達成。目此,圖5藉由 呈現適用於所揭示主旨之經修改16><16的基數為4的蒲斯乘 法樹而有助於理解所揭以旨的蒲斯乘法過程。圖5之點 8734.doc *17· 1332625 圖200概念性描繪了對所揭示主旨之16><16乘法器的基數為 4之蒲斯編碼,此導致九個部分乘積2〇2、2〇4、2〇6、 • 208、210、212、214、216及218。II由使用由兩位準之 3.2簡化組成之簡化樹隨後使用一位準之4:2壓縮而將九個 部分乘積簡化為兩個Μ位元冗餘輸出8〇:83及(:〇:(:3。雖然 . 32位元之精度對於16x16乘法而言為足夠的,但在未帶正 . 貞號乘法的情況下亦保留第33位元以充當正負號位元。亦 參 自乘法裔輸出來自第33行之額外進位輸出位元以輔助正負 號延伸。 進一步參看圖5,每一部分乘積列22〇至236為經水平展 示之被乘數位元238之倍數。已在圖5之頂部指示行數。垂 直地展示乘數位元240,且此等位元經再編碼以產生乘法 因數以形成部分乘積列22()至236。圖5中所示之信號至 n7私不加至接收負權重之部分乘積列至的固著 ”1"。此等情形足以處理不需要乘積之最終反演⑺㈣ • inVerSi〇n)的乘法。為在乘法器中隱含地處理-(ΑχΒ)之情 況,提供額外信號η8。 月 在於乘法裔樹内隱含地減去乘法計算運算之乘積時,俨 • 處理正負號延伸。若假定分別為被乘數及^ t ’則基數為4之蒲斯編碼係藉由編碼多群三位元之乘數 運算元B及使用此編碼以自集合{_2A,_A,Q,A,^選擇部 分乘積而進行。現在,若需要減去最終乘積㈣,則1 等效於添加ΑΧ_⑻(此反過來等效於添加乘積((却Β)): 現在乘數得以自Β修改至。 I IS734.doc 1332625 作為所揭示主旨可找到應用之蒲斯乘法過程的部分,圖 6提供一用於實施所揭示主旨之蒲斯再編碼器電路25〇。蒲 斯再編碼器單元250包括在X〇R 256處之LSB輸入254至反 相器XOR 260處之MSB輸入258的範圍内之乘數群輸入 252。MSB輸入258亦提供輸出自蒲斯再編碼器電路25〇之 neg 。來自x〇r 256之輸出表示Axl信號(A來自蒲斯再編 碼器250) ’且將輸入提供至反相sX〇r 264 »來自反相器 XOR 260之輸出亦將輸入提供至反相器x〇R 264以產生
Ax2信號,2A來自蒲斯再編碼器電路25〇。x〇r 264提供一 輸出以指示求反(來自蒲斯再編碼器電路25〇之”neg")。因 此,蒲斯再編碼器電路25 〇檢查乘數b之3位元且將該等位 元再編碼為信號"A"、"2A"及"neg"e當需要進行減法時, 使"neg"信號反相以產生部分乘積,該等部分乘積將產生 乘積ΑχΒ之2補數。 圖7提供對具有所揭示主旨之圖6邏輯單元之位元分組的 描述》詳言之,基數為4之蒲斯再編碼自16位元乘數]5產生 九個(9)乘法因數(其用作a之倍數)以產生九個(9)部分乘 積。對於在0至8之範圍内的”n”,圖7之表判定位元群 B[2n+l:2n-l]之蒲斯乘法因數。對於本實施例之再編碼機 制’假定B[-l]為零。若B為未帶正負號之數,則8[16]及 B[17]為零,且若3為帶正負號之數,則B[16]及B[17]為正 負號延伸,亦即3[17]=:8[16]=3[15]。乘法因數係再編碼為 二個(3)信號;來自x〇R 256之A、來自反相器x〇R 264之 2A及來自MSB輸入262之"neg"。因此,當a之乘法因數為 118734.doc 19 1332625 -2時,信號2A及neg為較高。類似地,對於+ 1,僅A較高, . 且對於+/·0,所有三個信號將較低。亦應注意,為產生乘 . 積AxB ’最高有效位元群之乘法因數B[17:15]總為正的。 現在,B[17:l 5]之唯一可能之位元群在B未帶正負號時為 [〇〇〇]或[001],且在B為帶正負號時為[〇〇〇]或[lu]。自圖7 可見’所有此等群導致正乘法因數。因此此處所述之蒲斯 乘法多工器可選自集合{〇,A,2A}以產生部分乘積。 • 圖8提供蒲斯再編碼器電路270以實施-(ΑχΒ)乘積之蒲斯 再編碼邏輯。蒲斯再編碼器單元包括在XOR 276處之LSB 輸入274至反相sX〇r 280處之MSB輸入278的範圍内之乘 數群輸入272。,'減去”輸入282及MSB輸入278流向X0R 284。來自X〇R 276之輸出表示來自蒲斯再編碼器27〇之被 乘數A,且將輸入提供至反相器X〇R 286。來自反相器 XOR 280之輸出亦將輸入提供至反相器x〇R 286以產生來 自蒲斯再編碼器電路27〇的2入信號。x〇R 284自蒲斯再編 • 碼器電路270提供"neg"輸出。 因此,在本主旨可找到用途之蒲斯乘法過程的所揭示應 用中圖8利用藉由計算A及B之負值的乘積而獲得被乘數 A及乘數B之乘積的負值之特性。因&,此避免了首先計 #乘積ΑχΒ且隨後計算該乘積之2補數以獲得的已 知兩父驟過程。蒲斯再編碼器電路270與乘法階段相平行 地進行求反。 乘積之2求補利用了 ·(ΑχΒ)等效於Αχ( Β)之事實。在此 情況下’可將運算元(_Β)視為乘數。使朴Β)作為乘數而 I18734.doc 1332625 產生之蒲斯冑法因數為使用B作丨乘數運算Α而產生之對 應乘法因數的加法逆元素。用於計算乘積Αχβ之蒲斯乘法 硬體結構可再用於藉由使蒲斯乘法因數中每_者之正負號 反相而計算A X (- B)。此正負號係藉由蒲斯再編碼器電路° 27·〇之"neg"信號而判定’該"neg ”信號為在對乘積求反時產 生-neg”信號之再編碼硬體的修改。
應注意,在蒲斯再編碼器電路27〇中,咖問⑽在非關 鍵路徑上,且不會有助於關鍵路徑。實情為,關鍵路徑包 括產生信號A及2A之乘數位元β對部分乘積之乘法因數之 正負號求反的此過程引入了其中最後部分乘積列之正負贫 可能為負的情況。因此,可將信虎 1現η8加至如上文出現在 圖5中之乘法樹。可藉由修冲讳 稭由修改簡化階段以容納額外列而簡 化添加一列。然而,此修改 I又Τ暗扎額外延遲及相關聯硬 體0
此處所呈現之過程並不包含簡化階段中之額外列 :地集中於藉由《法樹進行輯修改而㈣信號吸^入 Β乘積之現有九個列中。加至乘法樹之延遲為最小的。 乂曰:式一之每一 |,點、
不主旨之此態樣的理解。參看圖9,m法樹中之每一J =元(點)在矩陣中具有其唯—權重及位置。相同行二 所有位兀具有相同權重,且只要 次序簡化該等位元。以〇開始自頂邱二4核重便可以任何 以。開…至左對行編號。;。至:部對列編號,且 〜6。使用以基數為4之蒲斯 匕記法,n8等效於 4 ·扁碼已知的縮放及正負號 I I8734.doc -21 · 延伸過程來產4 ρρ ^ 王王^丨0_丨6、PP〇丨7、PP0_丨8及pp0丨9。在使用 的清况下’可將n8吸收入乘法樹中。因此,藉由分 析f正負旒與未帶正負號乘法模式中之PP〇」6、PP0」7、 PP〇_I8及ΡΡ〇_19的所有可能之位元值,可對於所有可能之蒲 斯乘法因數而判定可插入η8的位置。 圖9列舉部分乘積列〇之四個最高有效位元之值的範圍, 及將乜號η8加至此四位元攔位的效應。Μυχ結構允許在μ 較高時選擇四位元攔位之經修改值。換言t,若在行 (亦ρ Ρ〇_ι6)處添加信號n8,則信號預計算部分乘積列〇 之四個最问有效位元的值,且在簡化階段使用此經修改之 四位7L欄位。MUX結構經最佳化以使得曾使用標準蒲斯乘 法汁异電路計算出pp0_i6(在表中展示為Ma")。在此計算之 後以最小延遲來解析基於n8之經修改四位元搁位。該乘法 過程之餘數等於用以產生乘積AxB之正則乘法流。 圖1 〇呈現適用於所揭示主旨之其他態樣的經修改丨6 X】6 的基數為4之蒲斯乘法樹。自圖ι〇可理解本揭示之重要正 負號延伸及捨入常數函數。對16xl6乘法器之簡化階段的 修改最小化經由九個部分乘積列的關鍵路徑且當該乘積以 冗餘總和進位格式為可用時有效地提供正負號延伸。圖ι〇 展示16x16的基數為4的蒲斯乘法器之經修改簡化樹3〇4。 經修改簡化樹3 0 4容納帶正負號及未帶正負號運算元且具 有對該乘積求反之潛力。 第一簡化階段使用全加器之三個(3)列將九個(9)列簡化 為六個(6)列。第二簡化階段使用全加器之兩個(2)列將六 118734.doc -22· 個(6)列簡化為四 採用4:2多運曾、 間化階段及最終簡化階段 餘總和及進:Γ法…W將四個⑷列簡化為最終冗 ΐ6χ】6乘及進立列。儘管32位元之總和及進位足以表示 ,. 額外位元確保了對於未帶正負號乘法正硿 地處理正負號延伸。 〜家法正確 二0進—Γ示行3°6,其高於形成乘積之僅較低位的 ”八二 自行#32向上修改蒲斯乘法樹以引入最
傻0Ρ刀乘積列308之正査妹J 延伸,則乘積不需要正負號 列8之正確正^正負遽位7"S8°現在’為保留部分乘積 , 負號’本過程包括將部分乘積列308延伸—位 二:32之行未受影響直至簡化之最終階段。在此點 以自行#31之進位輸出而解析,並產生展示為 c之進位輸出3 1 〇。 =將進位輸出,十310自⑽向上加至一延伸而形成 積放應為以c作為正負號而正負號延伸該最終乘 之〜' 和分直,同時零延伸最終乘積之進位分量。此 驟消除了對於正負號延伸總和與進位分量之需要。舉例而 6乘法為需要64位元值至32位元乘積之累加的 AC運异之部分,則需要在將32位元乘積加至64位元數之 ,正負號延伸該32位元乘積。若中間32位元乘積呈冗餘形 工’且應用此處所呈現之正負號延伸過程,則由於消除用 於在3 1位7〇上正負號延伸進位分量之麵的可能性而引起 顯著之功率節省。 再次參看圖10’本揭示進一步提供將捨入常數加至乘數 ί 18734.doc -23- 1332625 B之犯力。對於Dsp運算中之16><16乘法典型的捨入常數為 〇X8_。捨入16X16乘法之乘積為常用運算,其通常作為 兩步驟運算而進行,其中乘法ϋ首先用於產生乘積,且隨 後將捨入常數加至該乘積。
使用以上所闡述之記法,注意在圖為〇 0藉由 在乘法矩陣中之此位元位置中插入"1 ”,可產生與藉由首 先產生乘積且隨後向該乘積添加值〇χ 8〇⑼而獲得之結果相 同的結果。此過程亦未向關鍵路徑添加任何潛時。 右乘法區塊11 8中之硬體侷限於僅能夠向乘法之乘積添 加累加運异几之能力,則當需要捨入乘法之乘積時以累 加運算元職該捨入常數為常見的。此情形使得難以在單 /驟中進行對乘法之乘積的捨人與累加運算。但使用此 處所述之過程消除了此等限制。
。。總之’所揭示之主旨提供用於設計及使用數位信號處理 态之過程,其包括處理通信(例如CDMA)系統中之傳輪。 所揭示之方法及系統包括蒲斯乘法過程之功率效率正負號 延伸方法及系統。所揭示之主旨在包含複數個部分乘積列 之蒲斯乘法樹中引入-正負號位元。該正負號位元適用於 需要正負號延伸步驟之蒲斯乘法過程的情況下。此處所揭 不之方法及系統使用_正負號位元對蒲斯乘法樹之—預定 部分乘積列進行-延伸以保留該預定部分乘積列的正確正 負號。解析正負號位元之信號值需要產生蒲斯乘法樹中之 正負號延伸位元。該正負號延伸位元可位於一進位輸出行 中以延伸蒲斯乘法過程之乘積。隨後本揭示藉由將進位輸 H8734.doc -24· 1332625 出值加至蒲斯乘法樹之至少一預定行的正負號位元而自蒲 斯乘法樹形成最終乘積。此具有以正負號位元延伸最終乘 積之總和分量及零延伸最終乘積之進位分量的效應。 本揭示進一步提供能夠用於形式[Ζ+-(ΑχΒ)+捨入常數] 之MAC運算中的經修改蒲斯乘法器之技術優點。此乘法器 藉由U)對蒲斯乘法因數求反及將額外固著位元吸收入簡化 樹中;(b)找出一位置以將捨入常數填充入簡化樹中;及〇) 使用一僅需要冗餘總和之正負號延伸的正負號延伸過程而 最小化延遲、功率及硬體。 此外’可以各種方式實施本文所述之處理特徵及功能。 舉例而言,不僅DSP 4〇可進行上述運算,而且本實施例可 實施於特殊應用積體電路(ASIC)、微控制器、微處理器, 或經6又6十以進行本文所述之功能的其他電子電路中。因 此,提供較佳實施例之先前描述以使熟習此項技術者能夠 製造或使用所主張之主旨。熟習此項技術者將明顯看出對 此等實施例之各種修改,且本文所界定之通用原理可應用 於不使用創新技能之其他實施例。因此,所主張之主旨並 非用以限制於本文所示之實施例,而是使本文所揭示之原 理及新穎特徵與最廣泛之範疇相一致。 【圖式簡單說明】 圖1為可實施本實施例之通信系統的簡化方塊圖; 圖2說明實現本實施例之教示的DSP架構; 圖3提供用於提供所揭示主旨之技術優點的數位信號處 理器之一實施例的架構方塊圖; M8734.doc •25- 圖4呈現所揭示主 圖5呈現可應用於 之蒲斯乘法樹,· 四之各種實施例的資料路徑圊; 所揭示主旨之經修改如6的基數為4 圖6提供實施所揭示主 圖7提供對具有所揭示 描述; 曰之蒲斯再編碼器的邏輯單元; 主旨之圖7邏輯單元之位元分組的 斯再編碼邏輯的邏輯 圖8呈現用於實施-(ΑχΒ)乘積之蒲 單元; 且 圖9為所揭示之主旨如何處理蒲斯乘法中之減法的表 圖1 〇展示根據所揭示主 法簡化樹。 之進—步教示的16xl6蒲斯乘 【主要元件符號說明】 10 通信系統 12 傳輸器單元 14 資料源 16 傳輸(TX)資料處 18 傳輸器 20 天線 22 接收器單元 24 天線 26 接收器 28 接收(RX)資料處 30 資料儲集器 理器 理器 118734.doc -26- 1332625 40 DSP 42 執行緒 44 執行緒 46 執行緒 48 執行緒 50 執行緒 52 執行緒 54 電路 56 指令佇列 58 發出邏輯電路 60 暫存器檔案/暫存器 62 執行資料路徑 64 暫存器檔案寫入電路/暫存器 66 處理器管線/處理管線 70 方塊圖 72 私用指令快取記憶體 74 AXI匯流排 76 序列器 78 使用者控制暫存器 80 監督者控制暫存器 82 S管道單元 84 Μ管道單元/M管道 86 Ld管道 88 Ld/St管道單元 I18734.doc 27- 1332625 92 共用資料快取記憶體 96 外部DMA主控器 98 共用資料TCM 100 AHB周邊匯流排 102 MSM特定控制器 104 總體控制暫存器 118 乘法區塊/乘法裔區塊 148 移位/正負號延伸單元 150 多運算元加法器 170 Rdd輸出/(飽和/加法單位) 180 資料路徑 182 M0乘法器單元 1 84 Ml乘法器單元 186 M2乘法器單元 188 M3乘法器單元 200 點圖 202 部分乘積 204 部分乘積 206 部分乘積 208 部分乘積 210 部分乘積 2 12 部分乘積 2 14 部分乘積 216 部分乘積 H8734.doc -28- 1332625
218 部分乘積 220 部分乘積列 222 部分乘積列 224 部分乘積列 226 部分乘積列 228 部分乘積列 230 部分乘積列 232 部分乘積列 234 部分乘積列 236 部分乘積列 238 被乘數位元 240 乘數位元 250 蒲斯再編碼器電路/蒲斯再編碼器單元 252 乘數群輸入 254 L S B輸入 256 XOR 258 MSB輸入 260 反相器XOR 262 MSB輸入 264 反相器XOR/XOR 270 蒲斯再編碼器電路/蒲斯再編碼器 272 乘數群輸入 274 L S B輸入 276 XOR 118734.doc -29- 1332625 278 MSB輸入 280 反相器XOR 282 n減去”輸入 284 XOR/XOR 閘 286 反相器XOR 304 簡化樹 306 行 308 部分乘積列 3 10 進位輸出 η0 信號 η 1 信號 η2 信號 η3 信號 η4 信號 η5 信號 η6 信號 η7 信號 η8 額外信號 ΜΟ 乘法器單元 ΜΙ 乘法器單元 M2 乘法器單元 M3 乘法器單元 ΤΟ 執行緒 ΤΙ 執行緒 H8734.doc -30· 1332625 Τ2 執行緒 Τ3 執行緒 Τ4 執行緒 Τ5 執行緒
118734.doc

Claims (1)

  1. h、申請專利範圍: ,—種有助於一蒲斯乘法過 法,其包含以下步驟: 力革效率正負號延伸方 包含複數個部分乘積列之蒲斯乘㈣中應用一正 等部分乘積列中每-者包含-蒲斯乘法過 需要 積’該正負號位元係用於該蒲斯乘法過程 南要一正負號延伸步驟之情況下; 使用一正負號位元對該蒲斯乘 列m “ ㈣^ Μ之-預定部分乘積 進订一延伸以保留該狀部分乘積列之正確正負號· 藉由在該蒲斯乘法樹中產生—正負號延伸位元而解析 :二負就位’之信號值’該正負號延伸位元經定位以延 申^浦斯乘法過程之該乘積;及 藉由將該進位輸出值加至該蒲斯乘法樹之至少一預定 二的該正負號位元而自該蒲斯乘法樹形成_最終乘積, 從而以該正負號有效地延伸該最終乘積之總和分量及零 延伸该最終乘積之進位分量。 2. :請求項i之方法,其進—步包含藉由以下動作而簡化 6玄複數個部分乘積之步驟 」吏用第-複數個加法器電路將九個部分乘積列簡化為 六個部分乘積列; 使用第二複數個加法器電路將該六個部分乘積列簡化 為四個部分乘積列; 使用一壓縮器電路將該四個部分乘積列簡 列及—進位列丨及 … 118734.doc 以進疒用亥16x16崤斯乘法樹之-第32行的-正負號位元 3如^丁用於未帶正負號乘法之正負號延伸。 最』的Γ1之方法,其進一步包含在該蒲斯乘法樹之一 步驟。一分乘積列中包括該正負號位元作為-位元s8的 4 -如請求項1之古、土 激发/、方法,其中該蒲斯乘法樹包含一 16X16的基 數為4之蒲斯乘法樹, 個部分乘積之最終簡化階含僅在該複數 之行的步驟。’化“時或之後修改高於該第32行 數:f項1之方法’其中該蒲斯乘法樹包含一 16X16的基 =之蒲斯乘法樹,且該方法進一步包含藉由將一進 3二加至自該16X16的基數為4之蒲斯乘法樹之該第 積高行之—延伸而自該蒲斯乘法樹形成一最終乘 6 = = 法’其進一步包含將該蒲斯乘法過程作 為一 mac運算期間之一 64位 行之步驟。 64位兀值累加的一部分而加以進 7. -種功率效率正負號延伸電路’其與一用於進 乘法過程之數位信號處理相關聯,該電路包含: 正負號應用電路,其用於在一包 之蒲斯乘法樹中應用—正負號位元,該等部二== 的每一者包含-蒲斯乘法過程之一部分乘積,該 位元用於該蒲斯乘法過程需要—正負號延伸主破 下; 外< 4 >兄 Il8734.doc 乘法電路,复田 之—h ,、用於使用一正負號位元對該蒲斯乘法樹 心員疋°p刀乘積列進行-延伸以保留該預定部分乘積 • 列的正確正負錄; 生一正就值解析電路,其用於藉由在該蒲斯乘法樹中產 • 正自號、伸位70而解析該正負號位^之信號值,該 止員破延伸彳立;i , . 於一進位輸出行中以延伸該蒲斯乘法 過耘之該乘積;且 鲁 斯乘Η電路進一步用於藉由將該進位輸出值加至該蒲 研乘法樹之至Φ __ π 一 y 法樹形成一最C仃的該正負號位元而自該蒲斯乘 铁乘藉,從而以該正負號有效地延伸該最 8 p + m量及零延伸該最終乘積的進位分量。 8.如清求項7之系統,其進一步包含: 刀s 化:::复數個加法器電路,其用於將九個部分乘積列簡 化為六個部分乘積列; 〜很幻間 第一複數個加法器電路其 • _化為四個部分乘積列; 將该六個部分乘積 -壓縮器電路,其用於將該四 總和列及-進位列;及 傾μ化為- 編碼電路’其用於向該16x16蒲斯乘法 添加一正負號位元,以進行用於未帶一第32行 號延伸。 命正負歲乘法的正負 月长項7之系統,其進一步包含編碼 路用於在該蒲斯乘法樹之一最後的部该編喝電 正負號位元作為—位元s8。 J中添加該 118734.doc 統’其中該蒲斯乘法樹包含-16x16的基 該編碼電路樹’且該系統進一步包含編碼電路, 段時或之尨攸 1刀求槓之最終簡化階 一之後修改咼於該第32行之行。 U.如請求項7之系統,其中該蒲斯 數為4之箸你夺▲ 4眾法树包含—16x16的基 之满斯乘法樹,且該系統 該銪π如 ^匕3間化電路, 3化電路係用於藉由將一 的基, 位輸出值加至自該16x10 的基數為4之蒲斯乘法樹 而自哕筚此+丄 灯次更同订之一延伸 ^ 4斯乘法樹形成一最終乘積。 12·如請求項7之系統,進— 乘法Λ 法電路.,其用於將該蒲斯 人法過長作為—MAC運算期間之 分而加以進行。· 位兀值累加的一部 3·種用於支援一個人電子梦罟 理器,今數付步千裝置而進行操作的數位信號處 μ數位仏唬處理包含 一 n丄卞Λ 、運订一 4斯乘法過程之 力率效率正負號延伸的構 以下步驟: 6亥數位信號處理器包含 用於在一包含複數個部分 -正負㈣…^ 乘積列之蒲斯乘法樹中應用 分乘積列中的每一者包含 一浦斯乘法過程之一部分垂接 苓匕3 -r. 積’該正負號位元用於該蒲 斯乘法過程需要-正負號延伸步驟之情況下; 4 用於使用一正負號位元對該蒲斯 乘積列進行—延伸以保^ 號的構件; 亥預义部分乘積列之正確正負 用於藉由在該蒲斯乘法樹 生一正負號延伸位元而 i 18734.doc 1332625 解析該正負號位元之作 ..值的構件’該正負 位於一進位輸出行 貝現、伸位7C 積;及 …延伸該蒲斯乘法過程的該乘 用於藉由將該進位輪φ枯乂 預定行的該正負號1而!該蒲斯乘法樹之至少- 積從而以該…有=蒲斯乘法樹形成—最終乘 員諕有效地延伸該最終 零延伸該最終乘積之進位分量的構件。、.“… 如請求項13之數位信號處 該複數個部分乘積之構株 /、進—步包含用於簡化 構件,邊部分乘雜^ @ 使用第-複數個力以㈣路將 耗構件包含: 六個部分乘積列之構件;九個部分乘積列簡化為 使用第二複數個加法器列將該六個 四個部分乘積列之構件; 積』間化為 使用壓縮器電路將該四個部分乘# , & w « 丨刀乘積列簡化為一独牙口 列及一進位列之構件;及另外 〜牙 向該16x16蒲斯乘法樹之一第3 a ^ 丁添加一正負號位元 進仃用於“正負號乘法的正負號延伸之構件。 1 5.如咕求項13之數位信號處理器,Α — 斤土心 „ ,、進—步包含在該蒲斯 乘法樹之一最後的部分乘積列中斯 -位元S8之步驟。 …負遗位… 1 6.如請求項13之數位信號處理器,i /、T该蒲斯乘法樹包含 一 16Μ6的基數為4之蒲斯乘法樹, 且該數位信號處理3| 進一步包含僅在該複數個部分乘積 。 ^ ^ 一 檟之最終簡化階段時或 之後G改南於該第3 2行之行的步驟。 I18734.doc 1332625 7 · 士》月求項13之數位信號處 -16x1^ « ^ · z、中该浦斯乘法樹包含 的基數為4之蒲斯乘法樹, 進一牛勺入组丄 且该數位信號處理器 錯由將_進位輸出值加 為4之蒲斯乘法樹之該第32行及更_自该16X16的基數 蒲斯乘法樹形成-最終乘積之步驟Μ之—延伸而自該 18.如請求項13之數位信號處 乘法π 〃進一步包含將該蒲斯 cMAC運算期間之—64位 刀而加以進行的步驟。 | 19:電::::體’其—進行-蒲斯乘法過 件電®可隸式碼構 卞°裹電腦可用媒體包含: 用於在一包含複數個部 一正負轳位开沾带 h t積k浦斯乘法樹中應用 負唬位兀的電腦可讀程式碼構 中的每-者包含—蒲斯乘法過二藉刀積列 號位元用於該蒲斯乘法…1 h乘積,該正負 況下; 匕私品要一正負號延伸步驟之情 用於使用—正負號位元對該 乘積列谁Θ ^ 4人法树之一預定部分 於的雷Γ 保留該職部分乘積列之正確正負 唬的電腦可讀程式碼構件; 雉止貞 用於藉由在該蒲斯乘法樹 解析該正貞號位元之 i正負歧伸位元而 正負。唬值的電腦可讀程式碼構件,該 止員唬延伸位元位於—進 過程的該乘積;及 輸^了中以延伸該蒲斯乘法 糟由將4 it位輸出值加至該蒲斯乘法樹之至少一 ! I8734.doc 預定行的該正負號位元而自該蒲斯 Λ 4孓击樹形成一最終乘 積從而以忒正負號有效地延伸該最 取、,,ς乘積之總和分量及 零延伸該最終乘積的該進位分量 ,, <電恥可讀程式碼構 件〇 20.如請求項19之電腦可用媒體,其進一步包人. 用於使用第一複數個加法器電路 „ 峪將九個部分乘積列簡 化為六個部分乘積列之電腦可讀程式碼構件; 用於使用第二複數個加法器列將該丄’ ,,^ V ^ V、個。P分乘積列簡 化為四個》卩/刀乘積列之電腦可讀程式碼構件; 用於使用一壓縮器電路將該四 ^ u 口丨刀乘積列簡化為一 總和列及一進位列之電腦可讀程式碼構件丨及 用於向該1 6 X 16蒲斯乘法樹之_ 矛w行添加一正負號 位元以進行用於未帶正負號乘法、 讀程式碼構件。 負魂延伸之電腦可 21·如請求項19之電腦可用媒體,复 ^ ^ ,、逆一步包含用於在該蒲 斯乘法樹之一最後的部分乘積 夕]中添加該正負號位元作 為一位元s8之電腦可讀程式碼構件。 22.如6月求項19之電腦可用媒體,其中該蒲斯乘法樹包含一 ΓΛ的基數為4之蒲斯乘法樹,且該電腦可㈣體進- 用於僅在該複數個部分乘積之最終簡化階段時或 之後,以於該第32行之行的電腦可讀程式碼構件。 23·如請求項19之電腦可用媒體,复 ^ 八T遠浦斯乘法樹包含— 16x16的基數為4之蒲斯乘法植 ...m ^ 且該電腦可用媒體進一 乂匕3用於藉由將一進位輸出 值加至自该16x16的基數 I18734.doc 1332625 為4之浦斯乘法樹之該第32行及更高行之 肩斯乘法樹形成—最終乘積的電腦可讀程而自。亥 24.如請求们9之電腦可用媒體,其進-步包含^件。 斯乘法過程作為-霞運算期間之_64 ^將該蒲 部分而加以進行的電腦可讀程式竭構件。’、加之-
    Ii8734.doc
TW096105773A 2006-02-15 2007-02-15 Power-efficient sign extension for booth multiplication methods and systems TWI332625B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/356,359 US7797366B2 (en) 2006-02-15 2006-02-15 Power-efficient sign extension for booth multiplication methods and systems

Publications (2)

Publication Number Publication Date
TW200802078A TW200802078A (en) 2008-01-01
TWI332625B true TWI332625B (en) 2010-11-01

Family

ID=38121636

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096105773A TWI332625B (en) 2006-02-15 2007-02-15 Power-efficient sign extension for booth multiplication methods and systems

Country Status (7)

Country Link
US (1) US7797366B2 (zh)
EP (1) EP1984809A1 (zh)
JP (4) JP2009527064A (zh)
KR (2) KR101086560B1 (zh)
CN (2) CN101384990B (zh)
TW (1) TWI332625B (zh)
WO (1) WO2007095626A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206311A1 (en) * 2003-07-18 2006-09-14 Sang-Won Jeong System and method of multilingual rights data dictionary
TWI258694B (en) * 2004-04-02 2006-07-21 Ali Corp Method and system for sign extension of multiplier
JP5074425B2 (ja) * 2006-02-15 2012-11-14 クゥアルコム・インコーポレイテッド 拡張された削減ツリー回路構成を有するブース乗算器
US7797366B2 (en) * 2006-02-15 2010-09-14 Qualcomm Incorporated Power-efficient sign extension for booth multiplication methods and systems
US7809783B2 (en) * 2006-02-15 2010-10-05 Qualcomm Incorporated Booth multiplier with enhanced reduction tree circuitry
US20160188327A1 (en) * 2014-12-24 2016-06-30 Elmoustapha Ould-Ahmed-Vall Apparatus and method for fused multiply-multiply instructions
US9917623B1 (en) * 2016-08-01 2018-03-13 Space Systems/Loral, Llc Digital beamforming architecture
US10175946B2 (en) * 2016-09-30 2019-01-08 International Business Machines Corporation Perform sign operation decimal instruction
US10409592B2 (en) * 2017-04-24 2019-09-10 Arm Limited Multiply-and-accumulate-products instructions
US10409604B2 (en) 2017-04-24 2019-09-10 Arm Limited Apparatus and method for performing multiply-and-accumulate-products operations
US10552154B2 (en) 2017-09-29 2020-02-04 Intel Corporation Apparatus and method for multiplication and accumulation of complex and real packed data elements
US11256504B2 (en) * 2017-09-29 2022-02-22 Intel Corporation Apparatus and method for complex by complex conjugate multiplication
US10664277B2 (en) 2017-09-29 2020-05-26 Intel Corporation Systems, apparatuses and methods for dual complex by complex conjugate multiply of signed words
US10802826B2 (en) 2017-09-29 2020-10-13 Intel Corporation Apparatus and method for performing dual signed and unsigned multiplication of packed data elements
US10514924B2 (en) 2017-09-29 2019-12-24 Intel Corporation Apparatus and method for performing dual signed and unsigned multiplication of packed data elements
US10795676B2 (en) 2017-09-29 2020-10-06 Intel Corporation Apparatus and method for multiplication and accumulation of complex and real packed data elements
US10534838B2 (en) 2017-09-29 2020-01-14 Intel Corporation Bit matrix multiplication
US10795677B2 (en) 2017-09-29 2020-10-06 Intel Corporation Systems, apparatuses, and methods for multiplication, negation, and accumulation of vector packed signed values
US11074073B2 (en) 2017-09-29 2021-07-27 Intel Corporation Apparatus and method for multiply, add/subtract, and accumulate of packed data elements
US11243765B2 (en) 2017-09-29 2022-02-08 Intel Corporation Apparatus and method for scaling pre-scaled results of complex multiply-accumulate operations on packed real and imaginary data elements
CN110554854B (zh) * 2019-09-24 2024-05-03 上海寒武纪信息科技有限公司 数据处理器、方法、芯片及电子设备
CN110688087B (zh) * 2019-09-24 2024-03-19 上海寒武纪信息科技有限公司 数据处理器、方法、芯片及电子设备
TWI696947B (zh) * 2019-09-26 2020-06-21 中原大學 乘積累加裝置及其方法
US11327718B2 (en) 2020-03-19 2022-05-10 Kabushiki Kaisha Toshiba Arithmetic circuitry for power-efficient multiply-add operations
JP7381426B2 (ja) 2020-03-19 2023-11-15 株式会社東芝 演算回路
US11789701B2 (en) 2020-08-05 2023-10-17 Arm Limited Controlling carry-save adders in multiplication
US11868741B2 (en) * 2021-06-17 2024-01-09 Rebellions Inc. Processing element, neural processing device including same, and multiplication operation method using same

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4748582A (en) * 1985-06-19 1988-05-31 Advanced Micro Devices, Inc. Parallel multiplier array with foreshortened sign extension
JPS62229439A (ja) 1986-03-31 1987-10-08 Toshiba Corp 並列乗算器
US4901307A (en) 1986-10-17 1990-02-13 Qualcomm, Inc. Spread spectrum multiple access communication system using satellite or terrestrial repeaters
US4910701A (en) * 1987-09-24 1990-03-20 Advanced Micro Devices Split array binary multiplication
JPH01116764A (ja) 1987-10-29 1989-05-09 Ricoh Co Ltd 累積加算器
US5150322A (en) 1990-06-05 1992-09-22 Vlsi Technology, Inc. Mixed-radix serial/parallel multipliers
US5103459B1 (en) 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
JP3033212B2 (ja) 1991-01-31 2000-04-17 日本電気株式会社 乗算器
US5220525A (en) 1991-11-04 1993-06-15 Motorola, Inc. Recoded iterative multiplier
JPH06348455A (ja) 1993-06-14 1994-12-22 Matsushita Electric Ind Co Ltd 乗算における丸め込み方法及び乗算回路
JPH0713742A (ja) * 1993-06-25 1995-01-17 Mitsubishi Electric Corp 乗算装置
GB2317978B (en) * 1994-03-02 1998-05-20 Advanced Risc Mach Ltd Electronic multiplying and adding apparatus and method
KR0158647B1 (ko) * 1995-05-22 1998-12-15 윤종용 부호/무부호 수 겸용 곱셈기
US5880985A (en) * 1996-10-18 1999-03-09 Intel Corporation Efficient combined array for 2n bit n bit multiplications
EP0840207A1 (en) 1996-10-30 1998-05-06 Texas Instruments Incorporated A microprocessor and method of operation thereof
JPH10133856A (ja) 1996-10-31 1998-05-22 Nec Corp 丸め機能付き乗算方法及び乗算器
US5928316A (en) * 1996-11-18 1999-07-27 Samsung Electronics Co., Ltd. Fused floating-point multiply-and-accumulate unit with carry correction
TW407245B (en) * 1997-04-30 2000-10-01 Lucent Technologies Inc Method for providing pure carrysave output for muiltiplier
JPH10333885A (ja) 1997-05-30 1998-12-18 Sony Corp 乗算回路
US6183122B1 (en) 1997-09-04 2001-02-06 Cirrus Logic, Inc. Multiplier sign extension
JPH11134175A (ja) 1997-10-29 1999-05-21 Toshiba Corp 乗加減算器及び演算器
US6463453B1 (en) 1998-01-12 2002-10-08 Motorola, Inc. Low power pipelined multiply/accumulator with modified booth's recoder
US6157939A (en) 1998-06-04 2000-12-05 Integrated Device Technology, Inc. Methods and apparatus for generating multiplicative inverse product
US6167422A (en) 1998-06-19 2000-12-26 Ati International Srl, Beaumont House Booth multiplication structure which selectively integrates the function of either of incrementing or negating with the function of booth multiplication
US6073156A (en) * 1998-06-19 2000-06-06 Ati International Srl Circuit and method for wrap-around sign extension for signed numbers using replacement of most significant bit
JP2000081966A (ja) * 1998-07-09 2000-03-21 Matsushita Electric Ind Co Ltd 演算装置
DE69832985T2 (de) 1998-10-06 2006-08-17 Texas Instruments Inc., Dallas Multiplizier-Akkumulatorschaltungen
US6215584B1 (en) * 1999-05-10 2001-04-10 Jds Uniphase Inc. Input independent tilt free actively gain flattened broadband amplifier
JP3231298B2 (ja) * 1999-08-30 2001-11-19 富士通株式会社 乗算装置
US6353843B1 (en) 1999-10-08 2002-03-05 Sony Corporation Of Japan High performance universal multiplier circuit
JP2002157114A (ja) 2000-11-20 2002-05-31 Hitachi Ltd 乗算器及びそれを搭載した集積回路装置
US7797366B2 (en) * 2006-02-15 2010-09-14 Qualcomm Incorporated Power-efficient sign extension for booth multiplication methods and systems
US7809783B2 (en) 2006-02-15 2010-10-05 Qualcomm Incorporated Booth multiplier with enhanced reduction tree circuitry
JP5074425B2 (ja) * 2006-02-15 2012-11-14 クゥアルコム・インコーポレイテッド 拡張された削減ツリー回路構成を有するブース乗算器

Also Published As

Publication number Publication date
JP5611923B2 (ja) 2014-10-22
JP2009527064A (ja) 2009-07-23
KR101173405B1 (ko) 2012-08-10
KR20080094813A (ko) 2008-10-24
CN102279724A (zh) 2011-12-14
EP1984809A1 (en) 2008-10-29
KR20110114698A (ko) 2011-10-19
JP2011222024A (ja) 2011-11-04
CN101384990B (zh) 2012-09-19
TW200802078A (en) 2008-01-01
CN102279724B (zh) 2015-09-16
JP2012089144A (ja) 2012-05-10
JP5215433B2 (ja) 2013-06-19
US20070192399A1 (en) 2007-08-16
CN101384990A (zh) 2009-03-11
KR101086560B1 (ko) 2011-11-23
US7797366B2 (en) 2010-09-14
JP2014209347A (ja) 2014-11-06
WO2007095626A1 (en) 2007-08-23

Similar Documents

Publication Publication Date Title
TWI332625B (en) Power-efficient sign extension for booth multiplication methods and systems
WO2007012179A2 (en) Karatsuba based multiplier and method
US7809783B2 (en) Booth multiplier with enhanced reduction tree circuitry
Hiasat Efficient RNS scalers for the extended three-moduli set $(2^{n}-1, 2^{n+ p}, 2^{n}+ 1) $
US6542093B2 (en) Apparatus and method for reducing power and noise through reduced switching by recoding in a monotonic logic device
JP5074425B2 (ja) 拡張された削減ツリー回路構成を有するブース乗算器
EP3079056B1 (en) Systems and methods for computing mathematical functions
US9703530B2 (en) Systems and methods for computing mathematical functions
Mirhosseini et al. A reduced-bias approach with a lightweight hard-multiple generator to design a radix-8 modulo $2^{n}+ 1$ multiplier
Mohan et al. Evaluation of Mixed-Radix Digit Computation Techniques for the Three Moduli RNS {2 n− 1, 2 n, 2 n+ 1− 1}
Timarchi et al. A unified addition structure for moduli set {2 n− 1, 2 n, 2 n+ 1} based on a novel RNS representation
Baba et al. Design and implementation of advanced modified booth encoding multiplier
Elango et al. High-Performance Multi-RNS-Assisted Concurrent RSA Cryptosystem Architectures
Mohan et al. RNS-Based arithmetic circuits and applications
TWI249685B (en) Apparatus and method for generating packed sum of absolute differences
CHANDRASEKHAR et al. Implementation of PPA-Brent Kung Adder For Computing Application
JP3137599B2 (ja) BのC乗のnを法とした剰余を計算する回路
Wang et al. A Parallel Residue‐to‐binary Converter for the Moduli Set {2 m− 1111, 2 2 0 m+, 2 2 1 m+,…, 2 2 km+}
TW201009696A (en) Fixed-width multiplier with error compensation circuit
Chen et al. New Booth Modulo m Multipliers with Signed-Digit Number Arithmetic
Chen et al. New Booth Modulo m Multipliers with Signed-Digit Number Arithmetic
JP2004164391A (ja) 演算回路構成方法、その方法、そのプログラムおよび演算回路

Legal Events

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