數(shù)字信號(hào)處理器中用于信號(hào)處理的系統(tǒng)和方法
【專利摘要】提供了用于浮點(diǎn)復(fù)合乘加的數(shù)字計(jì)算的方法和相關(guān)裝置的實(shí)施例。所述方法包括接收輸入被加數(shù)、第一積和第二積。所述輸入被加數(shù)、所述第一積和所述第二積分別具有一個(gè)尾數(shù)和一個(gè)階碼。所述方法包括將所述輸入被加數(shù)、所述第一積和所述第二積中具有較小階碼的兩個(gè)的尾數(shù)移位以與所述輸入被加數(shù)、所述第一積和所述第二積中具有最大階碼的那個(gè)的尾數(shù)一起對(duì)齊,以及將所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積相加。
【專利說(shuō)明】數(shù)字信號(hào)處理器中用于信號(hào)處理的系統(tǒng)和方法
[0001]本發(fā)明要求2012年4月20日遞交的發(fā)明名稱為“數(shù)字信號(hào)處理器中用于信號(hào)處理的系統(tǒng)和方法(System and Method for Signal Processing in Digital SignalProcessors) ”的第13/452690號(hào)美國(guó)非臨時(shí)專利申請(qǐng)案的在先申請(qǐng)優(yōu)先權(quán),該在先申請(qǐng)的內(nèi)容以引用的方式并入本文本中。
【技術(shù)領(lǐng)域】
[0002]本發(fā)明大體涉及一種用于數(shù)字計(jì)算的系統(tǒng)和方法,尤其涉及一種在數(shù)字信號(hào)處理器或硬件加速器等系統(tǒng)中用于構(gòu)造浮點(diǎn)復(fù)合乘加單元的系統(tǒng)和方法。
【背景技術(shù)】
[0003]加法器和乘法器是在微處理器、數(shù)字信號(hào)處理器(“DSP”)、算術(shù)邏輯單元(“ALU”)、硬件加速器(“HAC”)等數(shù)字處理器中執(zhí)行基本數(shù)值運(yùn)算的邏輯單元。此類設(shè)備的整體性能通常依賴于其構(gòu)成邏輯元件的速度和能量效率。通常需要加法器、乘法器和其它邏輯元素來(lái)執(zhí)行浮點(diǎn)計(jì)算,這在本質(zhì)上增加了它們的復(fù)雜度。微處理器、DSP等的成本與實(shí)施形成它們的邏輯元素所需的硅區(qū)域基本上成比例。因此,加法器、乘法器等的設(shè)計(jì)是為最終產(chǎn)品提供有競(jìng)爭(zhēng)性設(shè)計(jì)的一項(xiàng)重要考慮因素,而且任何效率提升和實(shí)施所需的硅區(qū)域的縮減可對(duì)市場(chǎng)接受產(chǎn)生重大影響。
[0004]在不產(chǎn)生不必要成本的情況下,提升性能和縮減實(shí)施ALU、HAC等所需的硅區(qū)域的能力將會(huì)滿足重要市場(chǎng)需求。
【發(fā)明內(nèi)容】
[0005]技術(shù)優(yōu)點(diǎn)大體上由本發(fā)明的實(shí)施例來(lái)實(shí)現(xiàn),本發(fā)明的實(shí)施例提供一種根據(jù)第一復(fù)合被乘數(shù)、第二復(fù)合被乘數(shù)和復(fù)合被加數(shù)計(jì)算浮點(diǎn)復(fù)合乘加過(guò)程產(chǎn)生的實(shí)部和虛部的系統(tǒng)和方法。
[0006]根據(jù)示例實(shí)施例,提供一種用于浮點(diǎn)復(fù)合乘加的數(shù)字計(jì)算的方法和相關(guān)裝置。所述方法包括接收輸入被加數(shù)、第一積和第二積。所述輸入被加數(shù)、所述第一積和所述第二積分別具有一個(gè)尾數(shù)和一個(gè)階碼。所述方法包括將所述輸入被加數(shù)、所述第一積和所述第二積中具有較小階碼的兩個(gè)的尾數(shù)移位以與所述輸入被加數(shù)、所述第一積和所述第二積中具有最大階碼的那個(gè)的尾數(shù)一起對(duì)齊,以及將所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積相加。
【專利附圖】
【附圖說(shuō)明】
[0007]為了更完整地理解本發(fā)明及其優(yōu)點(diǎn),現(xiàn)在參考以下結(jié)合附圖進(jìn)行的描述,其中:
[0008]圖1和圖2示出了根據(jù)實(shí)施例的合計(jì)項(xiàng)的尾數(shù)的對(duì)齊和截?cái)嗟膱D形表示;
[0009]圖3示出了根據(jù)實(shí)施例的復(fù)合浮點(diǎn)乘加單元的方框圖,所述復(fù)合浮點(diǎn)乘加單元用于計(jì)算復(fù)數(shù)A = B+CXD的虛部;
[0010]圖4示出了根據(jù)實(shí)施例的復(fù)合浮點(diǎn)乘加單元的方框圖,所述復(fù)合浮點(diǎn)乘加單元用于計(jì)算復(fù)數(shù)A = B+CXD的實(shí)部;
[0011]圖5示出了根據(jù)實(shí)施例的處理系統(tǒng)的元件的框圖,所述處理系統(tǒng)可用于執(zhí)行上文所述的一個(gè)或多個(gè)方法;以及
[0012]圖6a和6b示出了根據(jù)實(shí)施例的通信系統(tǒng)的基帶信令過(guò)程的方框圖。
【具體實(shí)施方式】
[0013]下文將詳細(xì)論述當(dāng)前優(yōu)選實(shí)施例的制作和使用。然而,應(yīng)了解,本發(fā)明提供可在各種具體上下文中體現(xiàn)的許多適用的發(fā)明性概念。所論述的具體實(shí)施例僅僅說(shuō)明用以實(shí)施和使用本發(fā)明的具體方式,而不限制本發(fā)明的范圍。
[0014]執(zhí)行浮點(diǎn)(“FLP”)復(fù)合乘加(“CMAD”)運(yùn)算的設(shè)備執(zhí)行圖形處理系統(tǒng)、雷達(dá)系統(tǒng)和通信系統(tǒng)等數(shù)字系統(tǒng)的信號(hào)處理中最常用的運(yùn)算之一。加速和提升CMAD運(yùn)算的能量效率可大幅度提升DSP或其它數(shù)字設(shè)備的性能。
[0015]復(fù)數(shù)的算術(shù)運(yùn)算甚至提出更多挑戰(zhàn)。通常在各項(xiàng)的實(shí)部和虛部上分別執(zhí)行此類復(fù)數(shù)運(yùn)算。必須執(zhí)行大量處理,這為其實(shí)施消耗大量硅區(qū)域并需要大量時(shí)間用于其執(zhí)行。
[0016]如本文所介紹,數(shù)字處理單元的實(shí)施例在DSP、硬件加速器等中為浮點(diǎn)復(fù)合乘加過(guò)程實(shí)施快速算法。
[0017]在實(shí)施例中,對(duì)復(fù)數(shù)執(zhí)行算術(shù)運(yùn)算所需的延遲和能量減少。輸入數(shù)據(jù)和中間計(jì)算結(jié)果的特征用于產(chǎn)生能夠有效執(zhí)行浮點(diǎn)復(fù)合乘加運(yùn)算的DSP或其它算術(shù)設(shè)備。
[0018]浮點(diǎn)復(fù)合乘加單元執(zhí)行等式
[0019]A = B+CXD
[0020]其中項(xiàng)A、B、C和D是浮點(diǎn)復(fù)數(shù),其中的每個(gè)成分通常以具有符號(hào)比特、階碼比特和尾數(shù)比特的數(shù)字浮點(diǎn)格式表示。項(xiàng)B是被加數(shù),項(xiàng)C和D分別是第一和第二被乘數(shù)。項(xiàng)A是復(fù)合浮點(diǎn)乘加結(jié)果。應(yīng)注意,作為復(fù)數(shù)的實(shí)例,還可以根據(jù)本發(fā)明實(shí)施例中論述的復(fù)數(shù)運(yùn)算處理實(shí)數(shù)。
[0021]根據(jù)本發(fā)明實(shí)施例,沒(méi)有必要使用標(biāo)準(zhǔn)浮點(diǎn)加法運(yùn)算和之后的標(biāo)準(zhǔn)浮點(diǎn)乘法運(yùn)算來(lái)實(shí)施浮點(diǎn)CMAD運(yùn)算。以通信系統(tǒng)為例,可簡(jiǎn)化CMAD計(jì)算以滿足基帶應(yīng)用的精度要求,例如旨在長(zhǎng)期演進(jìn)(“LTE”)、通用移動(dòng)通訊系統(tǒng)(“UMTS”)和全球移動(dòng)通信系統(tǒng)(“GSM”)蜂窩規(guī)范下運(yùn)行的通信系統(tǒng)中采用的CMAD計(jì)算。
[0022]將復(fù)合乘法和加法組合成一個(gè)過(guò)程允許在信號(hào)處理器中待優(yōu)化的邏輯電路有大量機(jī)會(huì)獲得較低的處理延遲和較高的功率效率。例如,可從邏輯中移除冗余,可以合并計(jì)算步驟,且可以使用保留進(jìn)位加法器。
[0023]將以上所示的浮點(diǎn)復(fù)合乘加等式分解為實(shí)部和虛部(S卩,A.real和A.1maginary)產(chǎn)生了兩個(gè)等式:
[0024]A.real = B.real+C.real XD.real-C.1maginary XD.1maginary
[0025]A.1maginary = B.1maginary+C.real XD.1maginary+C.1maginary XD.real,
[0026]實(shí)施例中的每個(gè)等式都可以使用執(zhí)行實(shí)運(yùn)算的數(shù)字邏輯來(lái)實(shí)施。A.real等式的結(jié)果是實(shí)數(shù)加上兩個(gè)實(shí)數(shù)的積的總和并從中減去另外兩個(gè)實(shí)數(shù)的積。A.1maginary等式的結(jié)果是實(shí)數(shù)加上兩個(gè)實(shí)數(shù)的積再加上另外兩個(gè)實(shí)數(shù)的積的總和。每個(gè)等式包括一個(gè)實(shí)數(shù)被加數(shù)以及實(shí)數(shù)積和實(shí)數(shù)積的加法或減法的總和。在輸入被加數(shù)和兩個(gè)實(shí)數(shù)積之間,移位具有較小階碼的兩個(gè)數(shù)字的尾數(shù)以和具有最大階碼的第三數(shù)字的尾數(shù)對(duì)齊。三個(gè)尾數(shù)的總和使用保留進(jìn)位加法器后跟雙輸入全加法器計(jì)算。
[0027]根據(jù)兩個(gè)積和輸入被加數(shù)的階碼對(duì)齊它們的尾數(shù)并根據(jù)它們的尾數(shù)截?cái)鄡蓚€(gè)積和輸入被加數(shù)以丟棄不必要的精確低階比特(若存在)。隨后將兩個(gè)截?cái)嗟姆e添加到截?cái)嗟妮斎氡患訑?shù)和/或從截?cái)嗟妮斎氡患訑?shù)減去兩個(gè)截?cái)嗟姆e。
[0028]根據(jù)應(yīng)用的精度要求確定加法器的位寬。截?cái)嘣斐傻木葥p失可以通過(guò)略微增加加法器的位寬進(jìn)行部分補(bǔ)償??梢?通過(guò)向加法器位寬增加一個(gè)以上比特)避免對(duì)尾數(shù)的兩個(gè)積進(jìn)行規(guī)格化以節(jié)省處理電路和處理時(shí)間??梢詫MAD的被加數(shù)的使用延遲至后期流水線階段以減少軟件流水線的啟動(dòng)間隔。
[0029]現(xiàn)參見(jiàn)圖1和圖2,其示出了根據(jù)實(shí)施例的待相加的三項(xiàng)的三個(gè)示例尾數(shù)101、102和103的對(duì)齊和截?cái)嗟膱D形表示。具體而言,圖1示出了對(duì)齊之前的三個(gè)示例尾數(shù)101、102和103,圖2示出了對(duì)齊之后的三個(gè)示例尾數(shù)101、102和103。
[0030]在圖1和圖2的截?cái)嗍纠?,浮點(diǎn)輸入二進(jìn)制實(shí)數(shù)表示為一個(gè)符號(hào)比特、五個(gè)階碼比特和十個(gè)尾數(shù)比特。假設(shè)在輸入尾數(shù)之前加上隱藏“I”比特。因此,假設(shè)每個(gè)尾數(shù)為“1.XXXXXXXXXX”形式的11個(gè)比特,即十個(gè)尾數(shù)比特跟在隱藏比特“I”的基數(shù)小數(shù)點(diǎn)之后。因此,每個(gè)輸入尾數(shù)被規(guī)格化到范圍I <尾數(shù)〈2。11比特尾數(shù)的簡(jiǎn)單乘法通常會(huì)產(chǎn)生最多22比特尾數(shù)積,這在許多應(yīng)用的低階比特中包含多余精度。
[0031]圖1和圖2中示出的標(biāo)記遵循具有更多參數(shù)的上述A.real和A.1maginary的實(shí)數(shù)和虛數(shù)等式的標(biāo)記,其中
[0032]Mbi 是 B.1maginary 的尾數(shù),
[0033]Mri 是 C.real 和 D.1maginary 的尾數(shù)積,以及
[0034]Mir 是 C.1maginary 和 D.real 的尾數(shù)積。
[0035]在圖1和圖2的示例中,假設(shè)(C.real XD.1maginary)具有最大階碼。用于對(duì)齊的Mbi和Mt各自的移位距離為
[0036]Δ Erib = exp (C.real) +exp (D.1maginary) - exp (B.real),和
[0037]Δ Eriir = exp (C.real) +exp (D.1maginary) - (exp (C.1maginary) +exp (D.real))。
[0038]該過(guò)程的目的是將相加的項(xiàng)的所有階碼設(shè)置為等于最大階碼。這樣的結(jié)果是對(duì)齊階碼之后每個(gè)成分的基數(shù)小數(shù)點(diǎn)110相同。
[0039]假設(shè)對(duì)齊基數(shù)小數(shù)點(diǎn)之后的三個(gè)尾數(shù)101、102和103由以下比特表示:圖1和圖2中由比特“I”標(biāo)識(shí)的前導(dǎo)符號(hào)比特、接著是由比特“2”和“3”標(biāo)識(shí)的用于容納三項(xiàng)相加所產(chǎn)生的可能進(jìn)位的兩個(gè)比特,接著是由比特“4”和“5”標(biāo)識(shí)的用于容納積的整數(shù)部分的兩個(gè)其它比特。五個(gè)前導(dǎo)比特緊跟著14個(gè)分?jǐn)?shù)比特(fract1nal bit)以保持必要的精度。忽略截?cái)嗟谋忍?20,因?yàn)樗鼈儽硎究梢酝ㄟ^(guò)檢查終端應(yīng)用的要求而確定的不必要的精度水平。
[0040]在該示例中,從具有最大階碼的項(xiàng)中截?cái)嗔鶄€(gè)比特以產(chǎn)生19比特尾數(shù)。相應(yīng)地對(duì)尾數(shù)102和103作出比特截?cái)嘁援a(chǎn)生兩個(gè)19比特尾數(shù)。在該示例中,可以使用19比特加法器將所得的三個(gè)截?cái)嗟奈矓?shù)相加。
[0041]首先參見(jiàn)圖1,根據(jù)本發(fā)明實(shí)施例,為了對(duì)齊尾數(shù)102和101,(對(duì)齊之后)尾數(shù)102的比特“4”由“O”比特填充以產(chǎn)生12比特尾數(shù),按照比特間距ΛΕ-將所得的12比特尾數(shù)102右移,這樣對(duì)齊之后尾數(shù)102的整個(gè)比特長(zhǎng)度變成(ΛΕ-+12),其為AEHb加上Mbi的原始11個(gè)比特加上比特“4”中增加的“O”的一個(gè)比特。
[0042]根據(jù)精度要求按需將尾數(shù)101截?cái)酁?6個(gè)比特,且相應(yīng)地截?cái)辔矓?shù)102使得尾數(shù)102 的截?cái)嗖糠肿兂?Δ Erib+12 - 16),即(Λ Erib - 4)。
[0043]現(xiàn)參見(jiàn)圖3和圖4,其分別示出了圖示根據(jù)實(shí)施例的采用復(fù)合浮點(diǎn)乘加單元的A =B+CXD的虛部A.1maginary和實(shí)部A.real的計(jì)算的邏輯二進(jìn)制過(guò)程的布置和互連的方框圖。輸入C.r.s、C.1.s、D.r.S、D.1.S、B.r.s和B.1.s分別表示項(xiàng)的實(shí)數(shù)和虛數(shù)符號(hào)比特以及因數(shù)C、D和B。輸入C.r.e、C.1.e、D.r.e、D.1.e、B.r.e和B.1.e分別表示項(xiàng)的實(shí)數(shù)和虛數(shù)階碼比特以及因數(shù)C、D和B。輸入B.r.m、B.1.m、C.r.m、C.1.m、D.r.m和D.1.m分別表示項(xiàng)的實(shí)數(shù)和虛數(shù)尾數(shù)比特以及因數(shù)B、C和D。尾數(shù)輸入耦合到產(chǎn)生2+20比特積307、308的乘法器305和306。乘法器305、306產(chǎn)生的積307、308未被規(guī)格化,即在不將積的基數(shù)小數(shù)點(diǎn)規(guī)格化的情況下保留由乘法運(yùn)算產(chǎn)生的基數(shù)小數(shù)點(diǎn)的位置以節(jié)省一些處理電路和時(shí)間。輸入的階碼比特耦合到加法器310和311,加法器310和311的輸出以及輸入B.1.e的階碼比特耦合到階碼最大化和差異方框315,最大化和差異方框315確定基數(shù)對(duì)齊的必要移位。階碼最大化和差異方框315的輸出耦合到移位寄存器320、321和322,這些移位寄存器將輸入數(shù)據(jù)進(jìn)行移位以實(shí)現(xiàn)基數(shù)的對(duì)齊。由階碼最大化和差異方框315連同移位寄存器320、321和322執(zhí)行的對(duì)齊根據(jù)以上參考圖1所示和所述的過(guò)程操作。
[0044]移位寄存器的輸出耦合到兩條路徑330、331,這兩條路徑包括比特轉(zhuǎn)換器,用于形成移位2+20比特積和被加數(shù)的移位的尾數(shù)的二進(jìn)制補(bǔ)碼表示以及使用二進(jìn)制補(bǔ)碼算術(shù)執(zhí)行計(jì)算。在實(shí)施例中,不需要采用二進(jìn)制補(bǔ)碼算術(shù)。因?yàn)檫€不知道所得加法的符號(hào),因此提供了兩條路徑330、331。通過(guò)并行計(jì)算路徑330、331中的總和及負(fù)和提前計(jì)算總和的絕對(duì)值。比特轉(zhuǎn)換器由比特轉(zhuǎn)換器控制方框335控制,比特轉(zhuǎn)換器控制方框335的輸入是進(jìn)行異或運(yùn)算的符號(hào)比特C.r.s"D.1.s和C.1.s"D.r.s以及被加數(shù)B的實(shí)部的符號(hào)比特B.r.S。左路徑330假設(shè)加法的正結(jié)果,右路徑331假設(shè)負(fù)結(jié)果。使用保留進(jìn)位加法器340、341執(zhí)行各路徑的加法,隨后組合(用于二進(jìn)制補(bǔ)碼計(jì)算的)調(diào)整比特和保留進(jìn)位加法器345、346的兩個(gè)輸出,后跟超前進(jìn)位加法器360、361。調(diào)整比特來(lái)自方框343,方框343基于CMAD運(yùn)算的輸入項(xiàng)的符號(hào)比特生成調(diào)整比特(作為二進(jìn)制補(bǔ)碼計(jì)算的一部分)。由符號(hào)生成和絕對(duì)值選擇方框350控制的多路復(fù)用器380和381選擇左路徑330或右路徑331中的結(jié)果。
[0045]將兩個(gè)尾數(shù)積和輸入被加數(shù)一起對(duì)齊并隨后計(jì)算總和的目的是后跟超前進(jìn)位加法器(360、361)(或漣波進(jìn)位加法器)的保留進(jìn)位加法器(340、341)可用于減少計(jì)算延遲?;蛘撸瑢⒁来问褂脙蓚€(gè)超前進(jìn)位加法器(或兩個(gè)漣波進(jìn)位加法器),這具有較長(zhǎng)延遲。
[0046]通過(guò)再向加法器寬度增加一個(gè)比特來(lái)避免尾數(shù)積的規(guī)格化以節(jié)省處理電路和時(shí)間。
[0047]對(duì)于最終結(jié)果的規(guī)格化,前導(dǎo)零預(yù)測(cè)過(guò)程370、371用于減少處理延遲。前導(dǎo)零預(yù)測(cè)允許超前進(jìn)位加法器中完成的加法與前導(dǎo)“I”比特之前的前導(dǎo)零的數(shù)目并行計(jì)算。Suzuki等人在IEEE固態(tài)電路雜志1996年8月第8期第31卷上的標(biāo)題為“高速浮點(diǎn)加法的前導(dǎo)零予頁(yè)期邏輯(Leading-Zero Anticipatory Logic for High-speed Floating PointAddit1n)”中描述了前導(dǎo)“I”比特預(yù)測(cè)過(guò)程,該文檔以引用的方式并入本文本。
[0048]對(duì)符號(hào)生成和絕對(duì)值選擇方框350的輸入是進(jìn)行異或運(yùn)算的符號(hào)比特C.r.s~D.1.s和C.1.s~D.r.S、被加數(shù)B的實(shí)部的符號(hào)比特B.1.S、以及360的輸出的符號(hào)比特,如圖3的左側(cè)部分所示。在規(guī)格化方框390中,通過(guò)左移或右移規(guī)格化選擇的復(fù)用器380或381的輸出,這樣前導(dǎo)I位于基數(shù)小數(shù)點(diǎn)的左側(cè),這形成了最終CMAD結(jié)果的規(guī)格化的尾數(shù)(本示例中基數(shù)小數(shù)點(diǎn)的右側(cè)上的10個(gè)比特)。隨后在方框390中,根據(jù)移位的方向和距離調(diào)整來(lái)自方框315的階碼。將來(lái)自方框350的符號(hào)比特、規(guī)格化的尾數(shù)和調(diào)整的階碼組合成浮點(diǎn)格式的最終結(jié)果,該最終結(jié)果是浮點(diǎn)復(fù)合乘加單元的虛部A.1maginary,在圖3的底部示為“A.1”。形成A.1的項(xiàng)和因數(shù)在圖3的底部示為B.1、C.r、D.1、C.1和D.r,這些分別是與 B.1maginary、C.real、D.1maginary、C.1maginary 和 D.real 相同的變量。
[0049]現(xiàn)參見(jiàn)圖4,其示出了根據(jù)實(shí)施例的浮點(diǎn)復(fù)合乘加單元的方框圖,所述浮點(diǎn)復(fù)合乘加單元用于計(jì)算復(fù)數(shù)A的實(shí)部A.real。以與圖3中所示的類似的方式形成和布置圖4示出的復(fù)合浮點(diǎn)乘加單元的邏輯元素,且為了簡(jiǎn)潔起見(jiàn),下文將不再進(jìn)一步描述。
[0050]圖3和圖4示出的單元可實(shí)施為多階段流水線單元以實(shí)現(xiàn)較高吞吐量。多階段流水線單元通常形成為多個(gè)運(yùn)算階段,按順序執(zhí)行這些運(yùn)算階段以產(chǎn)生最終結(jié)果。然而,在第一階段為第一輸入計(jì)算出結(jié)果并將該結(jié)果傳遞到第二階段后,第一階段現(xiàn)可用于與第二階段中的處理的執(zhí)行并行處理第二輸入。通過(guò)這種方式,每個(gè)運(yùn)算階段可用于為多個(gè)輸入同時(shí)處理數(shù)據(jù)。作為該結(jié)構(gòu)的示例,被加數(shù)B的實(shí)部的尾數(shù),即B.r.m耦合到非第一流水線階段420。相應(yīng)地,圖3中的被加數(shù)B的虛部,即B.1.m耦合到對(duì)應(yīng)第二流水線階段。
[0051]圖4所示的復(fù)合浮點(diǎn)乘加單元的順序階段被標(biāo)識(shí)為第一階段410、第二階段420以及第三階段430??稍趫D3中標(biāo)識(shí)類似的順序階段。因此,圖4所示的第一階段410用于第一階段410 —旦將對(duì)第一數(shù)據(jù)集運(yùn)算的結(jié)果傳遞到第二階段420就對(duì)第二數(shù)據(jù)集進(jìn)行運(yùn)算。類似地,第二階段420用于第二階段420 —旦將對(duì)第一數(shù)據(jù)集運(yùn)算的結(jié)果傳遞到第三階段430就對(duì)第二數(shù)據(jù)集進(jìn)行運(yùn)算。
[0052]現(xiàn)參考圖5,其示出了處理系統(tǒng)500的元件的方框圖,處理系統(tǒng)500可用于根據(jù)實(shí)施例執(zhí)行上文所述的一個(gè)或多個(gè)方法。處理系統(tǒng)500可包括配備一個(gè)或多個(gè)輸入/輸出設(shè)備(例如,視頻適配器/圖形處理器(“GPU”))的處理器510。處理器510可包括中央處理器(“CPU”)/DSP、存儲(chǔ)器以及連接到總線520的硬件加速器。
[0053]總線520可是一個(gè)或多個(gè)任意類型的若干總線架構(gòu),包括存儲(chǔ)總線或存儲(chǔ)控制器、外設(shè)總線以及視頻總線等等。CPU可包括任意類型的電子數(shù)據(jù)處理器。存儲(chǔ)器可包括任何類型的系統(tǒng)存儲(chǔ)器,例如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、同步DRAM(SDRAM)、只讀存儲(chǔ)器(ROM)、非易失隨機(jī)讀寫(xiě)存儲(chǔ)器(“NVRAM”)或其組合等。在實(shí)施例中,存儲(chǔ)器可包括在開(kāi)機(jī)時(shí)使用的ROM以及執(zhí)行程序時(shí)使用的用于數(shù)據(jù)存儲(chǔ)的DRAM。
[0054]視頻適配器/GPU提供將處理器耦合到顯示器的接口。其它設(shè)備可以耦合到處理器,可以利用附加的或更少的接口卡。例如,可使用串行接口卡(未示出)將串行接口提供給打印機(jī)。
[0055]處理器還可包括網(wǎng)絡(luò)接口(未示出),其可以是以太網(wǎng)電纜等有線鏈路,和/或無(wú)線鏈路以能夠與蜂窩通信網(wǎng)絡(luò)等網(wǎng)絡(luò)進(jìn)行通信。網(wǎng)絡(luò)接口允許處理器通過(guò)網(wǎng)絡(luò)與遠(yuǎn)程單元進(jìn)行通信。在實(shí)施例中,處理器耦合到局域網(wǎng)或廣域網(wǎng)以提供到遠(yuǎn)程設(shè)備(例如,其它處理器、互聯(lián)網(wǎng)、遠(yuǎn)程存儲(chǔ)設(shè)施等等)的通信。
[0056]現(xiàn)參見(jiàn)圖6a和6b,其分別示出了在LTE系統(tǒng)的下行傳輸和上行傳輸中的基帶信號(hào)處理的典型實(shí)施方式。在各種實(shí)施例中,本發(fā)明可適用于基站或UE處的信號(hào)處理。
[0057]根據(jù)本發(fā)明實(shí)施例,基帶信號(hào)處理中的浮點(diǎn)復(fù)合乘加計(jì)算包括接收三個(gè)復(fù)合格式的基帶信號(hào)。每個(gè)復(fù)合格式的基帶信號(hào)具有一個(gè)尾數(shù)和一個(gè)階碼。在本發(fā)明實(shí)施例中,復(fù)合格式的基帶信號(hào)還包括一個(gè)或多個(gè)用于符號(hào)的比特。在本發(fā)明實(shí)施例中,基帶信號(hào)處理中浮點(diǎn)復(fù)合乘加計(jì)算的方法包括接收/獲得第一基帶信號(hào)作為輸入被加數(shù)、從第二基帶信號(hào)和第三基帶信號(hào)生成第一積和第二積,其中輸入被加數(shù)、第一積和第二積分別具有一個(gè)尾數(shù)和一個(gè)階碼;將輸入被加數(shù)、第一積和第二積中具有較小階碼的兩個(gè)的尾數(shù)移位以與處理器中的輸入被加數(shù)、第一積和第二積中具有最大階碼的那個(gè)的尾數(shù)一起對(duì)齊;以及將對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積一起相加。
[0058]在實(shí)施例中,通過(guò)將第二基帶信號(hào)的實(shí)部/虛部乘以第三基帶信號(hào)的實(shí)部/虛部形成兩個(gè)積。例如,第一積是第二基帶信號(hào)的實(shí)部和第三基帶信號(hào)的實(shí)部的乘積,第二積是第二基帶信號(hào)的虛部和第三基帶信號(hào)的虛部的乘積。在替代性實(shí)施例中,第一積是第二基帶信號(hào)的實(shí)部和第三基帶信號(hào)的虛部的乘積,第二積是第二基帶信號(hào)的虛部和第三基帶信號(hào)的實(shí)部的乘積。
[0059]應(yīng)注意,處理系統(tǒng)可包括其它部件。例如,處理系統(tǒng)可包括電源、電纜、母板、可移動(dòng)存儲(chǔ)媒體、機(jī)殼等等。這些其它部件,雖然沒(méi)有示出,但被認(rèn)為是處理系統(tǒng)的一部分。
[0060]在復(fù)合乘加運(yùn)算中使用上述方法的結(jié)果是浮點(diǎn)DSP和硬件加速器的性能和功率效率得到提升。可以實(shí)現(xiàn)較高功率效率和較快處理速度?;竞徒K端設(shè)備的無(wú)線基帶數(shù)字信號(hào)處理器或片上系統(tǒng)(“S0C”)可以帶來(lái)許多益處。
[0061]注意的是,除非另有指示,本文所述的功能可以通過(guò)人為干涉或沒(méi)有人為干涉由硬件或軟件,或它們的一些組合來(lái)執(zhí)行。在實(shí)施例中,除非另有指示,根據(jù)編碼成執(zhí)行這些功能的計(jì)算機(jī)程序代碼等代碼、軟件和/或集成電路等,如上文參考圖5所論述的計(jì)算機(jī)或電子數(shù)據(jù)處理器等處理器執(zhí)行這些功能。
[0062]本文呈現(xiàn)的實(shí)施例提供了一種計(jì)算從第一復(fù)合被乘數(shù)、第二復(fù)合被乘數(shù)和復(fù)合被加數(shù)的浮點(diǎn)復(fù)合乘加過(guò)程產(chǎn)生的實(shí)部的裝置和相關(guān)方法。該裝置由存儲(chǔ)器和耦合到該存儲(chǔ)器的處理器構(gòu)成。在實(shí)施例中,處理器連同存儲(chǔ)器或處理器單獨(dú)用于形成第一復(fù)合被乘數(shù)的實(shí)部的尾數(shù)和第二復(fù)合被乘數(shù)的實(shí)部的尾數(shù)的第一尾數(shù)積,以及形成第一復(fù)合被乘數(shù)的虛部的尾數(shù)和第二復(fù)合被乘數(shù)的虛部的尾數(shù)的第二尾數(shù)積。在另一實(shí)施例中,處理器連同存儲(chǔ)器或處理器單獨(dú)還用于形成第一復(fù)合被乘數(shù)的實(shí)部的階碼和第二復(fù)合被乘數(shù)的實(shí)部的階碼的第一階碼總和,形成第一復(fù)合被乘數(shù)的虛部的階碼和第二復(fù)合被乘數(shù)的虛部的階碼的第二階碼總和。
[0063]在實(shí)施例中,處理器連同存儲(chǔ)器或處理器單獨(dú)還用于在復(fù)合被加數(shù)的實(shí)部的階碼、第一階碼總和以及第二階碼總和中找到最大階碼。在另一實(shí)施例中,處理器連同存儲(chǔ)器或處理器單獨(dú)還用于根據(jù)相對(duì)于階碼間的最大階碼的各自的階碼對(duì)齊第一尾數(shù)積、第二尾數(shù)積和復(fù)合被加數(shù)的實(shí)部的尾數(shù),截?cái)鄬?duì)齊的第一尾數(shù)積、第二尾數(shù)積和復(fù)合被加數(shù)的實(shí)部的最低位。在另一實(shí)施例中,處理器還用于根據(jù)對(duì)齊的第一尾數(shù)積、第二尾數(shù)積和復(fù)合被加數(shù)的實(shí)部的符號(hào)將對(duì)齊的第一尾數(shù)積、第二尾數(shù)積和復(fù)合被加數(shù)的實(shí)部轉(zhuǎn)換為二進(jìn)制補(bǔ)碼格式。隨后由處理器將轉(zhuǎn)換的對(duì)齊的第一尾數(shù)積、第二尾數(shù)積和復(fù)合被加數(shù)的實(shí)部相加以形成浮點(diǎn)復(fù)合乘加過(guò)程產(chǎn)生的實(shí)部的非規(guī)格化尾數(shù)。通過(guò)移位比特規(guī)格化浮點(diǎn)復(fù)合乘加過(guò)程產(chǎn)生的實(shí)部的非規(guī)格化尾數(shù)以向規(guī)格化的尾數(shù)的基數(shù)小數(shù)點(diǎn)的左側(cè)產(chǎn)生前導(dǎo)“ I” t匕特。根據(jù)移位比特所得的移位距離調(diào)整復(fù)合被加數(shù)的實(shí)部的階碼、第一階碼總和以及第二階碼總和之間的最大階碼以向基數(shù)小數(shù)點(diǎn)的左側(cè)產(chǎn)生前導(dǎo)“ I ”比特。
[0064]在實(shí)施例中,處理器連同存儲(chǔ)器或處理器單獨(dú)還用于使用后跟雙輸入全加法器的保留進(jìn)位加法器將對(duì)齊的第一尾數(shù)積、第二尾數(shù)積和復(fù)合被加數(shù)的實(shí)部相加。在實(shí)施例中,雙輸入全加法器是超前進(jìn)位加法器。
[0065]在實(shí)施例中,處理器連同存儲(chǔ)器或處理器單獨(dú)還用于在兩條路徑中使用后跟雙輸入全加法器的保留進(jìn)位加法器將對(duì)齊的第一尾數(shù)積、第二尾數(shù)積和復(fù)合被加數(shù)的實(shí)部相力口,其中一條路徑是在根據(jù)由符號(hào)生成和絕對(duì)值選擇過(guò)程生成的控制信號(hào)規(guī)格化實(shí)部的尾數(shù)之前選擇的。
[0066]在實(shí)施例中,處理器連同存儲(chǔ)器或處理器單獨(dú)還用于使用二進(jìn)制補(bǔ)碼算術(shù)將對(duì)齊的第一尾數(shù)積、第二尾數(shù)積和復(fù)合被加數(shù)的實(shí)部相加。在實(shí)施例中,不需要采用二進(jìn)制補(bǔ)碼算術(shù)。
[0067]在實(shí)施例中,處理器連同存儲(chǔ)器或處理器單獨(dú)還用于將相加的對(duì)齊的第一尾數(shù)積、第二尾數(shù)積和復(fù)合被加數(shù)的實(shí)部從二進(jìn)制補(bǔ)碼格式轉(zhuǎn)換為符號(hào)大小(sign-magnitude)格式。
[0068]在實(shí)施例中,處理器連同存儲(chǔ)器或處理器單獨(dú)還用于通過(guò)增加用于將對(duì)齊的尾數(shù)相加的加法器的位寬來(lái)補(bǔ)償截?cái)嘧畹臀凰斐傻木葥p失。
[0069]在實(shí)施例中,處理器連同存儲(chǔ)器或處理器單獨(dú)用于保留在未將第一尾數(shù)積和第二尾數(shù)積規(guī)格化的情況下將它們相乘所產(chǎn)生的第一尾數(shù)積的基數(shù)小數(shù)點(diǎn)和第二尾數(shù)積的基數(shù)小數(shù)點(diǎn)的位置。
[0070]在實(shí)施例中,處理器連同存儲(chǔ)器或處理器單獨(dú)用于將復(fù)合被加數(shù)的實(shí)部的尾數(shù)的使用延遲至第二或較晚流水線階段。
[0071]在實(shí)施例中,處理器連同存儲(chǔ)器或處理器單獨(dú)分別還用于計(jì)算從第一復(fù)合被乘數(shù)、第二復(fù)合被乘數(shù)和復(fù)合被加數(shù)的浮點(diǎn)復(fù)合乘加過(guò)程產(chǎn)生的虛部。在另一實(shí)施例中,處理器連同存儲(chǔ)器或處理器單獨(dú)用于形成第一復(fù)合被乘數(shù)的虛部的尾數(shù)和第二復(fù)合被乘數(shù)的實(shí)部的尾數(shù)的第三尾數(shù)積,形成第一復(fù)合被乘數(shù)的實(shí)部的尾數(shù)和第二復(fù)合被乘數(shù)的虛部的尾數(shù)的第四尾數(shù)積,形成第一復(fù)合被乘數(shù)的虛部的階碼和第二復(fù)合被乘數(shù)的實(shí)部的階碼的第三階碼總和,形成第一復(fù)合被乘數(shù)的實(shí)部的階碼和第二復(fù)合被乘數(shù)的虛部的階碼的第四階碼總和,在復(fù)合被加數(shù)的虛部的階碼、第三階碼總和以及第四階碼總和之間找到最大階碼,根據(jù)相對(duì)于復(fù)合被加數(shù)的虛部的階碼、第三階碼總和以及第四階碼總和之間的最大階碼的各自階碼對(duì)齊第三尾數(shù)積、第四尾數(shù)積和復(fù)合被加數(shù)的虛部的尾數(shù)。
[0072]處理器連同存儲(chǔ)器還用于截?cái)鄬?duì)齊的第三尾數(shù)積、第四尾數(shù)積和復(fù)合被加數(shù)的虛部的最低位,根據(jù)對(duì)齊的第三尾數(shù)積、第四尾數(shù)積和復(fù)合被加數(shù)的虛部的符號(hào)將對(duì)齊的第三尾數(shù)積、第四尾數(shù)積和復(fù)合被加數(shù)的虛部轉(zhuǎn)換為二進(jìn)制補(bǔ)碼格式,將轉(zhuǎn)換的對(duì)齊的第三尾數(shù)積、第四尾數(shù)積和復(fù)合被加數(shù)的虛部相加以形成浮點(diǎn)復(fù)合乘加過(guò)程產(chǎn)生的虛部的非規(guī)格化尾數(shù),通過(guò)移位規(guī)格化浮點(diǎn)復(fù)合乘加過(guò)程產(chǎn)生的虛部的非規(guī)格化尾數(shù)以向浮點(diǎn)復(fù)合乘加過(guò)程產(chǎn)生的虛部的規(guī)格化尾數(shù)的基數(shù)小數(shù)點(diǎn)的左側(cè)產(chǎn)生前導(dǎo)“I”。以及根據(jù)移位所得的移位距離調(diào)整復(fù)合被加數(shù)的虛部的階碼、第三階碼總和以及第四階碼總和之間的最大階碼以向基數(shù)小數(shù)點(diǎn)的左側(cè)產(chǎn)生前導(dǎo)“I”比特。
[0073]本文呈現(xiàn)的實(shí)施例提供了一種計(jì)算浮點(diǎn)復(fù)合乘加過(guò)程產(chǎn)生的實(shí)部的裝置和相關(guān)方法。該裝置由存儲(chǔ)器和耦合到該存儲(chǔ)器的處理器構(gòu)成。處理器用于計(jì)算在第一復(fù)合被乘數(shù)、第二復(fù)合被乘數(shù)和復(fù)合被加數(shù)上運(yùn)算的浮點(diǎn)復(fù)合乘加過(guò)程所產(chǎn)生的實(shí)部,在復(fù)合被加數(shù)的實(shí)部的階碼、第一復(fù)合被乘數(shù)的實(shí)部的階碼和第二復(fù)合被乘數(shù)的實(shí)部的階碼的第一階碼總和、以及第一復(fù)合被乘數(shù)的虛部的階碼和第二復(fù)合被乘數(shù)的虛部的階碼的第二階碼總和之間找到最大階碼,以及根據(jù)相對(duì)于階碼之間的最大階碼的各自的階碼對(duì)齊第一復(fù)合被乘數(shù)的實(shí)部和第二復(fù)合被乘數(shù)的實(shí)部的第一尾數(shù)積、第一復(fù)合被乘數(shù)的虛部和第二復(fù)合被乘數(shù)的虛部的第二尾數(shù)積以及復(fù)合被加數(shù)的實(shí)部的尾數(shù)。
[0074]在實(shí)施例中,耦合到存儲(chǔ)器的處理器或處理器單獨(dú)還用于截?cái)鄬?duì)齊的尾數(shù)的最低位、根據(jù)對(duì)齊的和截?cái)嗟牡谝晃矓?shù)積、第二尾數(shù)積和復(fù)合被加數(shù)的實(shí)部的符號(hào)轉(zhuǎn)換對(duì)齊的和截?cái)嗟牡谝晃矓?shù)積、第二尾數(shù)積和復(fù)合被加數(shù)的實(shí)部,以及將轉(zhuǎn)換的尾數(shù)相加以形成非規(guī)格化的總和尾數(shù)。
[0075]在實(shí)施例中,處理器還用于通過(guò)移位比特規(guī)格化非規(guī)格化的總和尾數(shù)以向基數(shù)小數(shù)點(diǎn)的左側(cè)產(chǎn)生前導(dǎo)“I”比特來(lái)形成浮點(diǎn)復(fù)合乘加過(guò)程的實(shí)部。在另一實(shí)施例中,處理器還用于根據(jù)移位所得的比特移位距離調(diào)整最大階碼。
[0076]本文呈現(xiàn)的實(shí)施例提供了一種用于浮點(diǎn)復(fù)合乘加的數(shù)字計(jì)算的方法和相關(guān)設(shè)備。該裝置由存儲(chǔ)器和耦合到該存儲(chǔ)器的處理器構(gòu)成。該方法包括接收輸入被加數(shù)、第一積和第二積,其中輸入被加數(shù)、第一積和第二積分別具有一個(gè)尾數(shù)和一個(gè)階碼;將輸入被加數(shù)、第一積和第二積中的具有較小階碼的兩個(gè)的尾數(shù)移位以與處理器中的輸入被加數(shù)、第一積和第二積中的具有最大階碼的那個(gè)的尾數(shù)一起對(duì)齊;以及將對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積相加。
[0077]在實(shí)施例中,輸入被加數(shù)是第一輸入的實(shí)部,第一積是第二輸入的實(shí)部和第三輸入的實(shí)部的乘積,以及第二積是第二輸入的虛部和第三輸入的虛部的乘積。
[0078]在實(shí)施例中,將對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積相加包括將對(duì)齊的輸入被加數(shù)和對(duì)齊的第一積相加以及在對(duì)齊的輸入被加數(shù)和對(duì)齊的第一積的總和中減去對(duì)齊的第二積。
[0079]在實(shí)施例中,該方法還包括通過(guò)將第二輸入的實(shí)部的尾數(shù)與第三輸入的實(shí)部的尾數(shù)相乘形成第一積的尾數(shù),通過(guò)將第二輸入的虛部的階碼與第三輸入的實(shí)部的階碼求和形成第一積的階碼,通過(guò)將第二輸入的虛部的尾數(shù)與第三輸入的虛部的尾數(shù)相乘形成第二積的尾數(shù),以及通過(guò)將第二輸入的虛部的階碼和第三輸入的虛部的階碼求和形成第二積的階碼。
[0080]在實(shí)施例中,乘法運(yùn)算之前未將第二輸入的實(shí)部的尾數(shù)、第三輸入的實(shí)部的尾數(shù)、第二輸入的虛部的尾數(shù)以及第三輸入的虛部的尾數(shù)規(guī)格化。
[0081]在實(shí)施例中,輸入被加數(shù)是第一輸入的虛部,第一積是第二輸入的實(shí)部和第三輸入的虛部的乘積,以及第二積是第二輸入的虛部和第三輸入的實(shí)部的乘積。
[0082]在實(shí)施例中,該方法還包括通過(guò)將第二輸入的實(shí)部的尾數(shù)與第三輸入的虛部的尾數(shù)相乘形成第一積的尾數(shù),通過(guò)將第二輸入的實(shí)部的階碼與第三輸入的虛部的階碼求和形成第一積的階碼,通過(guò)將第二輸入的虛部的尾數(shù)與第三輸入的實(shí)部的尾數(shù)相乘形成第二積的尾數(shù),以及通過(guò)將第二輸入的虛部的階碼和第三輸入的實(shí)部的階碼求和形成第二積的階碼。
[0083]在實(shí)施例中,乘法運(yùn)算之前未將第二輸入的實(shí)部的尾數(shù)、第三輸入的實(shí)部的尾數(shù)、第二輸入的虛部的尾數(shù)以及第三輸入的虛部的尾數(shù)規(guī)格化。
[0084]在實(shí)施例中,第一積是兩個(gè)非規(guī)格化的輸入的積。在實(shí)施例中,第二積是兩個(gè)非規(guī)格化的輸入的積。
[0085]在實(shí)施例中,將輸入被加數(shù)、第一積和第二積中具有較小階碼的兩個(gè)的尾數(shù)移位以與輸入被加數(shù)、第一積和第二積中具有最大階碼的那個(gè)的尾數(shù)一起對(duì)齊包括將具有較小階碼的兩個(gè)的尾數(shù)右移以與具有最大階碼的那個(gè)的尾數(shù)一起對(duì)齊,其中對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積具有相同的階碼數(shù)。
[0086]在實(shí)施例中,該方法還包括,如果對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積的尾數(shù)的位寬超過(guò)符合精度要求的位寬,則截?cái)鄬?duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積的一個(gè)或多個(gè)比特。
[0087]在實(shí)施例中,該方法還包括根據(jù)輸入被加數(shù)、第一積和第二積的符號(hào)將輸入被加數(shù)、第一積和第二積轉(zhuǎn)換為二進(jìn)制補(bǔ)碼格式。
[0088]在實(shí)施例中,根據(jù)輸入被加數(shù)、第一積和第二積的符號(hào)將輸入被加數(shù)、第一積和第二積轉(zhuǎn)換為二進(jìn)制補(bǔ)碼格式包括根據(jù)對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積的符號(hào)將對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積轉(zhuǎn)換為二進(jìn)制補(bǔ)碼格式。
[0089]在實(shí)施例中,將對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積相加包括將轉(zhuǎn)換的對(duì)齊的輸入被加數(shù)、轉(zhuǎn)換的對(duì)齊的第一積和轉(zhuǎn)換的對(duì)齊的第二積相加。
[0090]在實(shí)施例中,將對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積相加包括通過(guò)保留進(jìn)位加法器和全加法器將對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積相加。
[0091]在實(shí)施例中,將對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積相加包括將兩條路徑中的對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積相加,其中一條路徑根據(jù)符號(hào)生成和絕對(duì)值選擇過(guò)程生成的控制信號(hào)選擇。
[0092]本文呈現(xiàn)的實(shí)施例提供了一種執(zhí)行浮點(diǎn)復(fù)合乘加過(guò)程的數(shù)字計(jì)算的裝置和相關(guān)方法。該裝置由存儲(chǔ)器和耦合到該存儲(chǔ)器的處理器構(gòu)成。處理器用于接收輸入被加數(shù)、第一積和第二積,其中輸入被加數(shù)、第一積和第二積分別具有一個(gè)尾數(shù)和一個(gè)階碼;將輸入被加數(shù)、第一積和第二積中具有較小階碼的兩個(gè)的尾數(shù)移位以與輸入被加數(shù)、第一積和第二積中具有最大階碼的那個(gè)的尾數(shù)一起對(duì)齊;以及將對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積相加。
[0093]在實(shí)施例中,輸入被加數(shù)是第一輸入的實(shí)部,第一積是第二輸入的實(shí)部和第三輸入的實(shí)部的乘積,以及第二積是第二輸入的虛部和第三輸入的虛部的乘積。
[0094]在實(shí)施例中,用于將對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積相加的處理器用于將對(duì)齊的輸入被加數(shù)和對(duì)齊的第一積相加以及從對(duì)齊的輸入被加數(shù)和對(duì)齊的第一積的總和中減去對(duì)齊的第二積。
[0095]在實(shí)施例中,處理器還用于通過(guò)將第二輸入的實(shí)部的尾數(shù)與第三輸入的實(shí)部的尾數(shù)相乘形成第一積的尾數(shù),通過(guò)將第二輸入的實(shí)部的階碼和第三輸入的實(shí)部的階碼求和形成第一積的階碼,通過(guò)將第二輸入的虛部的尾數(shù)與第三輸入的虛部的尾數(shù)相乘形成第二積的尾數(shù),以及將第二輸入的虛部的階碼與第三輸入的虛部的階碼求和形成第二積的階碼。
[0096]在實(shí)施例中,輸入被加數(shù)是第一輸入的虛部,第一積是第二輸入的實(shí)部和第三輸入的虛部的乘積,以及第二積是第二輸入的虛部和第三輸入的實(shí)部的乘積。
[0097]在實(shí)施例中,處理器還用于通過(guò)將第二輸入的實(shí)部的尾數(shù)與第三輸入的虛部的尾數(shù)相乘形成第一積的尾數(shù),通過(guò)將第二輸入的實(shí)部的階碼和第三輸入的虛部的階碼求和形成第一積的階碼,通過(guò)將第二輸入的虛部的尾數(shù)與第三輸入的實(shí)虛部的尾數(shù)相乘形成第二積的尾數(shù),以及將第二輸入的虛部的階碼與第三輸入的虛部的階碼求和形成第二積的階碼。
[0098]在實(shí)施例中,第一積是兩個(gè)非規(guī)格化的輸入的積。在實(shí)施例中,第二積是兩個(gè)非規(guī)格化的輸入的積。
[0099]在實(shí)施例中,將輸入被加數(shù)、第一積和第二積中具有較小階碼的兩個(gè)的尾數(shù)移位以與輸入被加數(shù)、第一積和第二積中具有最大階碼的那個(gè)的尾數(shù)一起對(duì)齊的處理器用于將具有較小階碼的兩個(gè)的尾數(shù)右移以與具有最大階碼的那個(gè)的尾數(shù)一起對(duì)齊,其中對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積具有相同的階碼數(shù)。
[0100]在實(shí)施例中,處理器還用于,如果對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積的尾數(shù)的位寬超過(guò)符合精度要求的位寬,則截?cái)鄬?duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積的一個(gè)或多個(gè)比特。
[0101]在實(shí)施例中,該處理器還包括根據(jù)輸入被加數(shù)、第一積和第二積的符號(hào)將輸入被加數(shù)、第一積和第二積轉(zhuǎn)換為二進(jìn)制補(bǔ)碼格式。
[0102]在實(shí)施例中,根據(jù)輸入被加數(shù)、第一積和第二積的符號(hào)將輸入被加數(shù)、第一積和第二積轉(zhuǎn)換為二進(jìn)制補(bǔ)碼格式的處理器還用于根據(jù)對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積的符號(hào)將對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積轉(zhuǎn)換為二進(jìn)制補(bǔ)碼格式。
[0103]在實(shí)施例中,將對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積相加的處理器還用于將轉(zhuǎn)換的對(duì)齊的輸入被加數(shù)、轉(zhuǎn)換的對(duì)齊的第一積和轉(zhuǎn)換的對(duì)齊的第二積相加。
[0104]在實(shí)施例中,將對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積相加的處理器還用于通過(guò)保留進(jìn)位加法器和全加法器將對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積相加。
[0105]在實(shí)施例中,將對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積相加的處理器還用于將兩條路徑中的對(duì)齊的輸入被加數(shù)、對(duì)齊的第一積和對(duì)齊的第二積相加,其中一條路徑根據(jù)符號(hào)生成和絕對(duì)值選擇過(guò)程生成的控制信號(hào)選擇。
[0106]雖然已參考說(shuō)明性實(shí)施例描述了本發(fā)明,但此描述并不意圖限制本發(fā)明。所屬領(lǐng)域的一般技術(shù)人員在參考該描述后,會(huì)顯而易見(jiàn)地認(rèn)識(shí)到說(shuō)明性實(shí)施例的各種修改和組合,以及本發(fā)明的其它實(shí)施例。因此,希望所附權(quán)利要求書(shū)涵蓋任何此類修改或?qū)嵤├?br>
【權(quán)利要求】
1.一種浮點(diǎn)復(fù)合乘加的數(shù)字計(jì)算的方法,其特征在于,包括: 接收輸入被加數(shù)、第一積和第二積,其中所述輸入被加數(shù)、所述第一積和所述第二積分別具有一個(gè)尾數(shù)和一個(gè)階碼; 將所述輸入被加數(shù)、所述第一積和所述第二積中具有較小階碼的兩個(gè)的所述尾數(shù)移位以與所述輸入被加數(shù)、所述第一積和所述第二積中具有最大階碼的那個(gè)的所述尾數(shù)一起對(duì)齊;以及 將所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積相加。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述輸入被加數(shù)是第一輸入的實(shí)部,所述第一積是第二輸入的實(shí)部和第三輸入的實(shí)部的乘積,以及所述第二積是所述第二輸入的虛部和所述第三輸入的虛部的乘積。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,將所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積相加包括 將所述對(duì)齊的輸入被加數(shù)和所述對(duì)齊的第一積相加以及從所述對(duì)齊的輸入被加數(shù)和所述對(duì)齊的第一積的總和中減去所述對(duì)齊的第二積。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,進(jìn)一步包括: 通過(guò)將所述第二輸入的所述實(shí)部的尾數(shù)與所述第三輸入的所述實(shí)部的尾數(shù)相乘形成所述第一積的尾數(shù); 通過(guò)將所述第二輸入的所述實(shí)部的階碼與所述第三輸入的所述實(shí)部的階碼求和形成所述第一積的階碼; 通過(guò)將所述第二輸入的所述虛部的尾數(shù)與所述第三輸入的所述虛部的尾數(shù)相乘形成所述第二積的尾數(shù);以及 通過(guò)將所述第二輸入的所述虛部的階碼和所述第三輸入的所述虛部的階碼求和形成所述第二積的階碼。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,乘法運(yùn)算之前未將所述第二輸入的所述實(shí)部的所述尾數(shù)、所述第三輸入的所述實(shí)部的所述尾數(shù)、所述第二輸入的所述虛部的所述尾數(shù)以及所述第三輸入的所述虛部的所述尾數(shù)規(guī)格化。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述輸入被加數(shù)是第一輸入的虛部,所述第一積是第二輸入的實(shí)部和第三輸入的虛部的乘積,以及所述第二積是所述第二輸入的虛部和所述第三輸入的實(shí)部的乘積。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,進(jìn)一步包括: 通過(guò)將所述第二輸入的所述實(shí)部的尾數(shù)與所述第三輸入的所述虛部的尾數(shù)相乘形成所述第一積的尾數(shù); 通過(guò)將第二輸入的所述實(shí)部的階碼與所述第三輸入的所述虛部的階碼求和形成所述第一積的階碼; 通過(guò)將所述第二輸入的所述虛部的尾數(shù)與所述第三輸入的所述實(shí)部的尾數(shù)相乘形成所述第二積的尾數(shù);以及 通過(guò)將所述第二輸入的所述虛部的階碼和所述第三輸入的所述實(shí)部的階碼求和形成所述第二積的階碼。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,乘法運(yùn)算之前未將所述第二輸入的所述實(shí)部的所述尾數(shù)、所述第三輸入的所述實(shí)部的所述尾數(shù)、所述第二輸入的所述虛部的所述尾數(shù)以及所述第三輸入的所述虛部的所述尾數(shù)規(guī)格化。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一積是兩個(gè)非規(guī)格化的輸入的積。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第二積是兩個(gè)非規(guī)格化的輸入的積。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述輸入被加數(shù)、所述第一積和所述第二積中具有較小階碼的兩個(gè)的所述尾數(shù)移位以與所述輸入被加數(shù)、所述第一積和所述第二積中具有最大階碼的那個(gè)的所述尾數(shù)一起對(duì)齊包括 將具有所述較小階碼的兩個(gè)的所述尾數(shù)右移以與具有所述最大階碼的那個(gè)的所述尾數(shù)一起對(duì)齊,其中所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積具有相同的階碼數(shù)。
12.根據(jù)權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括: 如果所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積的尾數(shù)的位寬超過(guò)符合精度要求的位寬,則截?cái)嗨鰧?duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積的一個(gè)或多個(gè)比特。
13.根據(jù)權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括: 根據(jù)所述輸入被加數(shù)、所述第一積和所述第二積的符號(hào)將所述輸入被加數(shù)、所述第一積和所述第二積轉(zhuǎn)換為二進(jìn)制補(bǔ)碼格式。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于,根據(jù)所述輸入被加數(shù)、所述第一積和所述第二積的符號(hào)將所述輸入被加數(shù)、所述第一積和所述第二積轉(zhuǎn)換為二進(jìn)制補(bǔ)碼格式包括 根據(jù)所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積的符號(hào)將所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積轉(zhuǎn)換為二進(jìn)制補(bǔ)碼格式。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,將所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積相加包括 將所述轉(zhuǎn)換的對(duì)齊的輸入被加數(shù)、所述轉(zhuǎn)換的對(duì)齊的第一積和所述轉(zhuǎn)換的對(duì)齊的第二積相加。
16.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積相加包括 通過(guò)保留進(jìn)位加法器和全加法器將所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積相加。
17.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積相加包括 將兩條路徑中的所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積相力口,其中一條路徑根據(jù)符號(hào)生成和絕對(duì)值選擇過(guò)程生成的控制信號(hào)選擇。
18.一種執(zhí)行浮點(diǎn)復(fù)合乘加的數(shù)字計(jì)算的裝置,其特征在于,所述裝置包括: 存儲(chǔ)器;以及 耦合到所述存儲(chǔ)器的處理器,所述處理器用于 接收輸入被加數(shù)、第一積和第二積,其中所述輸入被加數(shù)、所述第一積和所述第二積分別具有一個(gè)尾數(shù)和一個(gè)階碼, 將所述輸入被加數(shù)、所述第一積和所述第二積中的具有較小階碼的兩個(gè)的所述尾數(shù)移位以與所述輸入被加數(shù)、所述第一積和所述第二積中的具有最大階碼的那個(gè)的所述尾數(shù)一起對(duì)齊,以及 將所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積相加。
19.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述輸入被加數(shù)是第一輸入的實(shí)部,所述第一積是第二輸入的實(shí)部和第三輸入的實(shí)部的乘積,以及所述第二積是所述第二輸入的虛部和所述第三輸入的虛部的乘積。
20.根據(jù)權(quán)利要求19所述的裝置,其特征在于,用于將所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積相加的所述處理器用于將所述對(duì)齊的輸入被加數(shù)和所述對(duì)齊的第一積相加以及從所述對(duì)齊的輸入被加數(shù)和所述對(duì)齊的第一積的總和中減去所述對(duì)齊的第二積。
21.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述處理器還用于: 通過(guò)將所述第二輸入的所述實(shí)部的尾數(shù)與所述第三輸入的所述實(shí)部的尾數(shù)相乘形成所述第一積的尾數(shù); 通過(guò)將所述第二輸入的實(shí)部的階碼與所述第三輸入的所述實(shí)部的階碼求和形成所述第一積的階碼; 通過(guò)將所述第二輸入的所述虛部的尾數(shù)與所述第三輸入的所述虛部的尾數(shù)相乘形成所述第二積的尾數(shù);以及 通過(guò)將所述第二輸入的所述虛部的階碼和所述第三輸入的所述虛部的階碼求和形成所述第二積的階碼。
22.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述輸入被加數(shù)是第一輸入的虛部,所述第一積是第二輸入的實(shí)部和第三輸入的虛部的乘積,以及所述第二積是所述第二輸入的虛部和所述第三輸入的實(shí)部的乘積。
23.根據(jù)權(quán)利要求22所述的裝置,其特征在于,所述處理器還用于: 通過(guò)將所述第二輸入的所述實(shí)部的尾數(shù)與所述第三輸入的所述虛部的尾數(shù)相乘形成所述第一積的尾數(shù); 通過(guò)將第二輸入的所述實(shí)部的階碼與所述第三輸入的所述虛部的階碼求和形成所述第一積的階碼; 通過(guò)將所述第二輸入的所述虛部的尾數(shù)與所述第三輸入的所述實(shí)部的尾數(shù)相乘形成所述第二積的尾數(shù);以及 通過(guò)將所述第二輸入的所述虛部的階碼和所述第三輸入的所述實(shí)部的階碼求和形成所述第二積的階碼。
24.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述第一積是兩個(gè)非規(guī)格化的輸入的積。
25.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述第二積是兩個(gè)非規(guī)格化的輸入的積。
26.根據(jù)權(quán)利要求18所述的裝置,其特征在于,用于將所述輸入被加數(shù)、所述第一積和所述第二積中具有較小階碼的兩個(gè)的所述尾數(shù)移位以與所述輸入被加數(shù)、所述第一積和所述第二積中具有最大階碼的那個(gè)的所述尾數(shù)一起對(duì)齊的所述處理器用于 將具有所述較小階碼的兩個(gè)的所述尾數(shù)右移以與具有所述最大階碼的那個(gè)的所述尾數(shù)一起對(duì)齊,其中所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積具有相同的階碼數(shù)。
27.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述處理器還用于: 如果所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積的尾數(shù)的位寬超過(guò)符合精度要求的位寬,則截?cái)嗨鰧?duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積的一個(gè)或多個(gè)比特。
28.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述處理器還用于: 根據(jù)所述輸入被加數(shù)、所述第一積和所述第二積的符號(hào)將所述輸入被加數(shù)、所述第一積和所述第二積轉(zhuǎn)換為二進(jìn)制補(bǔ)碼格式。
29.根據(jù)權(quán)利要求28所述的裝置,其特征在于,根據(jù)所述輸入被加數(shù)、所述第一積和所述第二積的符號(hào)將所述輸入被加數(shù)、所述第一積和所述第二積轉(zhuǎn)換為二進(jìn)制補(bǔ)碼格式的所述處理器還用于 根據(jù)所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積的符號(hào)將所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積轉(zhuǎn)換為二進(jìn)制補(bǔ)碼格式。
30.根據(jù)權(quán)利要求29所述的裝置,其特征在于,將所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積相加的所述處理器還用于 將所述轉(zhuǎn)換的對(duì)齊的輸入被加數(shù)、所述轉(zhuǎn)換的對(duì)齊的第一積和所述轉(zhuǎn)換的對(duì)齊的第二積相加。
31.根據(jù)權(quán)利要求18所述的裝置,其特征在于,用于將所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積相加的所述處理器還用于 使用保留進(jìn)位加法器和全加法器將所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積相加。
32.根據(jù)權(quán)利要求18所述的裝置,其特征在于,用于將所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積相加的所述處理器還用于 將兩條路徑中的所述對(duì)齊的輸入被加數(shù)、所述對(duì)齊的第一積和所述對(duì)齊的第二積相力口,其中一條路徑根據(jù)符號(hào)生成和絕對(duì)值選擇過(guò)程生成的控制信號(hào)選擇。
【文檔編號(hào)】G06F7/57GK104246690SQ201280072527
【公開(kāi)日】2014年12月24日 申請(qǐng)日期:2012年5月11日 優(yōu)先權(quán)日:2012年4月20日
【發(fā)明者】孫彤, 陳偉鐘, 程志坤, 郭元斌 申請(qǐng)人:華為技術(shù)有限公司