利用處理器浮點(diǎn)單元進(jìn)行復(fù)數(shù)乘和蝶形運(yùn)算的裝置和方法
【專利摘要】本發(fā)明提供了一種利用處理器浮點(diǎn)單元進(jìn)行復(fù)數(shù)乘和蝶形運(yùn)算的裝置和方法,將浮點(diǎn)單元分為浮點(diǎn)加法單元和浮點(diǎn)乘法單元,通過在浮點(diǎn)加法單元和浮點(diǎn)乘法單元數(shù)據(jù)端口間增加少量的互聯(lián)線,使浮點(diǎn)加法單元和浮點(diǎn)乘法單元之間形成特定的數(shù)據(jù)通路,將復(fù)數(shù)實(shí)部和虛部按照約定的排序規(guī)則輸入到浮點(diǎn)單元數(shù)據(jù)端口,在譯碼單元產(chǎn)生的譯碼信號(hào)控制下能夠?qū)崿F(xiàn)浮點(diǎn)復(fù)數(shù)乘法和浮點(diǎn)復(fù)數(shù)蝶形運(yùn)算。本發(fā)明節(jié)約了硬件資源,比現(xiàn)有的復(fù)數(shù)乘和碟形運(yùn)算功能單元進(jìn)一步提高了靈活性,而且能夠很好地實(shí)現(xiàn)大量數(shù)據(jù)的并行和流水計(jì)算,獲得更好的實(shí)時(shí)性能和資源利用率。
【專利說明】利用處理器浮點(diǎn)單元進(jìn)行復(fù)數(shù)乘和蝶形運(yùn)算的裝置和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)字電路【技術(shù)領(lǐng)域】,適用于數(shù)字信號(hào)處理中與浮點(diǎn)復(fù)數(shù)乘及蝶形運(yùn)算相關(guān)的FFT等信號(hào)處理算法的快速計(jì)算。
【背景技術(shù)】
[0002]在數(shù)字信號(hào)處理中,涉及到大量的浮點(diǎn)復(fù)數(shù)乘和蝶形運(yùn)算。由于信號(hào)處理中數(shù)據(jù)量大、處理過程復(fù)雜,數(shù)字信號(hào)處理器不能很好地滿足數(shù)據(jù)處理的實(shí)時(shí)性要求。隨著大規(guī)模集成電路技術(shù)的飛速發(fā)展,越來越多的信號(hào)處理算法直接采用硬件形式實(shí)現(xiàn),從而為提高數(shù)據(jù)處理的實(shí)時(shí)性能提供了一種全新的方式,不僅減少了系統(tǒng)處理數(shù)據(jù)的延遲,而且增強(qiáng)了系統(tǒng)可靠性,提高了系統(tǒng)工作效率。
[0003]現(xiàn)有的浮點(diǎn)復(fù)數(shù)乘和蝶形運(yùn)算一般采用若干專用集成電路組合或者采用浮點(diǎn)操作指令通過軟件方法實(shí)現(xiàn)。專用集成電路組合方法具有電路復(fù)雜、體積及功耗大、靈活性差等缺點(diǎn),且電路功能固定,不可配置,在大多數(shù)場合硬件資源利用率低;而采用基于浮點(diǎn)操作指令的軟件方法,其運(yùn)算速度慢,不能滿足現(xiàn)代數(shù)字信號(hào)處理實(shí)時(shí)性要求。
【發(fā)明內(nèi)容】
[0004]為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供一種利用已有的浮點(diǎn)單元進(jìn)行復(fù)數(shù)乘和碟形運(yùn)算的裝置,通過在處理器浮點(diǎn)單元之間增加少量的連線,在浮點(diǎn)單元間構(gòu)造出浮點(diǎn)復(fù)數(shù)乘法和浮點(diǎn)碟形運(yùn)算的數(shù)據(jù)通路,實(shí)現(xiàn)了對(duì)浮點(diǎn)復(fù)數(shù)乘和浮點(diǎn)碟形運(yùn)算的支持。本發(fā)明電路結(jié)構(gòu)簡單,占有硬件資源少,并且執(zhí)行效率高,靈活性好。
[0005]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:包括一個(gè)譯碼單元Decode、四個(gè)浮點(diǎn)乘法單元FmCellO?FmCell3、兩組數(shù)據(jù)選擇單元MuxO?Muxl和四個(gè)浮點(diǎn)加法單元FaCellO ?FaCell3。
[0006]對(duì)于輸入的浮點(diǎn)復(fù)數(shù)Xl+jYl和X2+jY2,所述譯碼單元Decode根據(jù)輸入的操作運(yùn)算類型CType完成電路譯碼,產(chǎn)生使能和控制信號(hào);
[0007]所述浮點(diǎn)乘法單元FmCellO?FmCell3執(zhí)行復(fù)數(shù)乘運(yùn)算中乘法運(yùn)算部分;所述浮點(diǎn)乘法單元FmCellO?FmCel 13的數(shù)據(jù)輸入DataA和數(shù)據(jù)輸入DataB端口依次輸入復(fù)數(shù)實(shí)部Xl和復(fù)數(shù)實(shí)部X2、復(fù)數(shù)虛部Yl和復(fù)數(shù)虛部Y2、復(fù)數(shù)實(shí)部Xl和復(fù)數(shù)虛部Y2、復(fù)數(shù)虛部Yl和復(fù)數(shù)實(shí)部X2 ;所述浮點(diǎn)乘法單元FmCellO?FmCell3的使能信號(hào)FmEn由譯碼單元譯碼產(chǎn)生;當(dāng)操作運(yùn)算類型CType為復(fù)數(shù)乘運(yùn)算時(shí),譯碼單元完成譯碼,使能信號(hào)FmEn有效,所述浮點(diǎn)乘法單元FmCellO?FmCell3執(zhí)行浮點(diǎn)乘法運(yùn)算,經(jīng)過若干時(shí)鐘節(jié)拍輸出計(jì)算結(jié)果Result和使能信號(hào)EnOut,所述浮點(diǎn)乘法單元FmCellO?FmCell3的計(jì)算結(jié)果Result依次為X1XX2,Y1XY2, X1XY2和Yl XX2,否則所述浮點(diǎn)乘法單元FmCellO?FmCell3不執(zhí)行任何操作;當(dāng)使能信號(hào)輸出EnOut有效時(shí),表示所述浮點(diǎn)乘法單元FmCellO?FmCell3輸出浮點(diǎn)乘法運(yùn)算結(jié)果,否則所述浮點(diǎn)乘法單元運(yùn)算結(jié)果無效;
[0008]所述數(shù)據(jù)選擇單元MuxO?Muxl對(duì)輸入至浮點(diǎn)加法單元FaCellO?FaCelll的數(shù)據(jù)進(jìn)行選擇,選擇控制信號(hào)TypeEn由譯碼單元譯碼產(chǎn)生;所述數(shù)據(jù)選擇單元MuxO輸入數(shù)據(jù)為浮點(diǎn)乘法單元FmCellO使能信號(hào)輸出EnOut、浮點(diǎn)乘法單元FmCellO計(jì)算結(jié)果Xl XX2、浮點(diǎn)乘法單元FmCelll計(jì)算結(jié)果Yl X Y2、使能信號(hào)FaEn、復(fù)數(shù)實(shí)部Xl和復(fù)數(shù)實(shí)部X2 ;所述數(shù)據(jù)選擇單元Muxl輸入數(shù)據(jù)為浮點(diǎn)乘法單元FmCelll使能信號(hào)輸出EnOut、浮點(diǎn)乘法單元FmCe 112計(jì)算結(jié)果XI X Y2、浮點(diǎn)乘法單元FmCe 113計(jì)算結(jié)果YI X X2、使能信號(hào)FaEn、復(fù)數(shù)虛部Yl和復(fù)數(shù)虛部Y2,使能信號(hào)FaEn由譯碼單元產(chǎn)生,當(dāng)操作運(yùn)算類型CType為復(fù)數(shù)碟形運(yùn)算時(shí),經(jīng)過譯碼單元譯碼,使能信號(hào)FaEn有效,否則使能信號(hào)FaEn無效;當(dāng)運(yùn)算操作類型為浮點(diǎn)復(fù)數(shù)乘時(shí),在控制信號(hào)TypeEn的作用下,所述數(shù)據(jù)選擇單元MuxO輸出信號(hào)MEn、MDataA和MdataB依次選擇數(shù)據(jù)為浮點(diǎn)乘法單元FmCellO使能信號(hào)輸出EnOut、浮點(diǎn)乘法單元FmCellO計(jì)算結(jié)果Xl XX2和浮點(diǎn)乘法單元FmCelll計(jì)算結(jié)果Yl X Y2,否則,所述數(shù)據(jù)選擇單元MuxO輸出信號(hào)MEn、MDataA和MdataB依次選擇數(shù)據(jù)為輸入使能信號(hào)FaEn、復(fù)數(shù)實(shí)部Xl和復(fù)數(shù)實(shí)部X2 ;當(dāng)運(yùn)算操作類型為浮點(diǎn)復(fù)數(shù)乘時(shí),在控制信號(hào)TypeEn的作用下,所述數(shù)據(jù)選擇單元MuxI輸出信號(hào)MEn、MDataA和MdataB依次選擇數(shù)據(jù)為浮點(diǎn)乘法單元FmCe 111使能信號(hào)輸出EnOut、浮點(diǎn)乘法單元FmCell2計(jì)算結(jié)果Xl X Y2和浮點(diǎn)乘法單元FmCell3計(jì)算結(jié)果Yl XX2,否則,所述數(shù)據(jù)選擇單元Muxl輸出信號(hào)MEruMDataA和MdataB依次選擇數(shù)據(jù)為輸入使能信號(hào)FaEn、復(fù)數(shù)虛部Yl和復(fù)數(shù)虛部Y2 ;
[0009]所述浮點(diǎn)加法單元FaCellO?FaCell3執(zhí)行復(fù)數(shù)乘和碟形運(yùn)算中浮點(diǎn)加減操作運(yùn)算;所述浮點(diǎn)加法單元FaCel 12?FaCel 13的數(shù)據(jù)輸入DataA和數(shù)據(jù)輸入DataB端口依次輸入復(fù)數(shù)實(shí)部Xl和復(fù)數(shù)實(shí)部X2、復(fù)數(shù)虛部Yl和復(fù)數(shù)虛部Y2 ;所述浮點(diǎn)加法單元FaCell2?FaCell3的使能信號(hào)FaEn和模式選擇Mode由譯碼單元譯碼產(chǎn)生;當(dāng)操作運(yùn)算類型CType為復(fù)數(shù)碟形運(yùn)算時(shí),譯碼單元完成譯碼,所述浮點(diǎn)加法單元FaCell2?FaCell3使能信號(hào)FaEn有效,模式選擇Mode為浮點(diǎn)減法運(yùn)算模式,否則,所述浮點(diǎn)加法單元FaCell2?FaCell3使能信號(hào)FaEn無效;所述浮點(diǎn)加法單元FaCel 10?FaCel 11的使能信號(hào)FaEn、數(shù)據(jù)輸入DataA和數(shù)據(jù)輸入DataB端口依次輸入所述數(shù)據(jù)選擇單元MuxO?Muxl的數(shù)據(jù)MEn、MDataA和MdataB ;模式選擇Mode由譯碼單元譯碼產(chǎn)生;當(dāng)操作運(yùn)算類型CType為復(fù)數(shù)碟形運(yùn)算時(shí),譯碼單元完成譯碼,所述浮點(diǎn)加法單元FaCellO?FaCelll模式選擇Mode為浮點(diǎn)加法運(yùn)算模式,否則,所述浮點(diǎn)加法單元FaCellO模式選擇Mode為浮點(diǎn)減法運(yùn)算模式,所述浮點(diǎn)加法單元FaCelll模式選擇Mode為浮點(diǎn)加法運(yùn)算模式;所述浮點(diǎn)加法單元FaCellO?FaCel 13執(zhí)行浮點(diǎn)加或減運(yùn)算,經(jīng)過若干時(shí)鐘節(jié)拍輸出計(jì)算結(jié)果。
[0010]所述浮點(diǎn)加法單元FaCell輸入信號(hào)包含使能信號(hào)FaEn、運(yùn)算模式Mode、數(shù)據(jù)輸入DataA和數(shù)據(jù)輸入DataB,當(dāng)使能信號(hào)FaEn有效時(shí),所述浮點(diǎn)加法單元執(zhí)行浮點(diǎn)加減操作運(yùn)算,否則不執(zhí)行任何操作,運(yùn)算模式Mode進(jìn)行浮點(diǎn)加和浮點(diǎn)減法運(yùn)算選擇;所述浮點(diǎn)加法單元FaCell輸出信號(hào)包含使能信號(hào)輸出EnOut和數(shù)據(jù)輸出Result,當(dāng)使能信號(hào)輸出EnOut有效時(shí),表示所述浮點(diǎn)加法單元輸出浮點(diǎn)加減操作運(yùn)算結(jié)果,否則運(yùn)算結(jié)果無效。
[0011]所述浮點(diǎn)乘法單元FmCell輸入信號(hào)包含使能信號(hào)FmEn、數(shù)據(jù)輸入DataA和數(shù)據(jù)輸入DataB,當(dāng)使能信號(hào)FmEn有效,所述浮點(diǎn)乘法單元FmCell執(zhí)行浮點(diǎn)乘法運(yùn)算,否則所述浮點(diǎn)乘法單元FmCell不執(zhí)行任何操作;所述浮點(diǎn)乘法單元FmCell輸出信號(hào)包含使能信號(hào)輸出EnOut和數(shù)據(jù)輸出Result,當(dāng)使能信號(hào)輸出EnOut有效時(shí),所述浮點(diǎn)乘法單元FmCell輸出浮點(diǎn)乘法運(yùn)算結(jié)果,否則運(yùn)算結(jié)果無效。
[0012]本發(fā)明還提供一種復(fù)數(shù)乘和碟形運(yùn)算方法,實(shí)現(xiàn)步驟如下:
[0013]I)譯碼單元根據(jù)運(yùn)算操作類型完成譯碼,產(chǎn)生相關(guān)的譯碼控制信號(hào)。
[0014]2)當(dāng)運(yùn)算操作類型為浮點(diǎn)復(fù)數(shù)乘時(shí),在譯碼控制信號(hào)的控制下執(zhí)行浮點(diǎn)復(fù)數(shù)乘運(yùn)算,計(jì)算過程分為兩步計(jì)算:第一步,完成浮點(diǎn)復(fù)數(shù)乘運(yùn)算乘法部分;將輸入操作數(shù)Xl+jYl和X2+jY2的實(shí)部和虛部分別取出X1、Y1、X2和Υ2,然后Xl與Χ2相乘得到結(jié)果Χ1ΧΧ2,Υ1與Υ2相乘得到結(jié)果Υ1ΧΥ2,Χ1與Υ2相乘得到結(jié)果Χ1ΧΥ2,Υ1與Χ2相乘得到結(jié)果Υ1ΧΧ2 ;第二步,完成浮點(diǎn)乘法運(yùn)算加減部分;將上述乘法計(jì)算結(jié)果Xl ΧΧ2與YlX Υ2相減得到Χ1ΧΧ2-Υ1ΧΥ2,Χ1ΧΥ2與Υ1ΧΧ2相加得到Χ1ΧΥ2+Υ1ΧΧ2,最終浮點(diǎn)復(fù)數(shù)乘計(jì)算結(jié)果為(XIX Χ2-Υ1X Υ2)+j(XIX Y2+Y1X X2);
[0015]3)當(dāng)運(yùn)算操作類型為浮點(diǎn)碟形運(yùn)算時(shí),將輸入操作數(shù)Xl+jYl和X2+jY2的實(shí)部和虛部取出;將Xl與X2相加得到結(jié)果X1+X2,Yl與Y2相加得到結(jié)果Y1+Y2 ;X1與X2相減得到結(jié)果X1-X2,Yl與Y2相減得到結(jié)果Y1-Y2 ;最終得到復(fù)數(shù)碟形計(jì)算加法結(jié)果為(X1+X2) +j (Y1+Y2),復(fù)數(shù)碟形計(jì)算減法結(jié)果為(X1-X2) +j (Y1-Y2)。
[0016]本發(fā)明的有益效果是:利用已有的浮點(diǎn)單元模塊實(shí)現(xiàn)了浮點(diǎn)復(fù)數(shù)乘和碟形運(yùn)算。本發(fā)明將浮點(diǎn)單元分為浮點(diǎn)加法單元和浮點(diǎn)乘法單元,通過在浮點(diǎn)加法單元和浮點(diǎn)乘法單元數(shù)據(jù)端口間增加少量的互聯(lián)線,使浮點(diǎn)加法單元和浮點(diǎn)乘法單元之間形成特定的數(shù)據(jù)通路,將復(fù)數(shù)實(shí)部和虛部按照約定的排序規(guī)則輸入到浮點(diǎn)單元數(shù)據(jù)端口,在譯碼單元產(chǎn)生的譯碼信號(hào)控制下能夠?qū)崿F(xiàn)浮點(diǎn)復(fù)數(shù)乘法和浮點(diǎn)復(fù)數(shù)蝶形運(yùn)算。本發(fā)明利用基本浮點(diǎn)運(yùn)算單元,在浮點(diǎn)單元間增加少量互聯(lián)線構(gòu)造出硬件數(shù)據(jù)通路,通過時(shí)空域上對(duì)浮點(diǎn)單元硬件資源復(fù)用,實(shí)現(xiàn)了浮點(diǎn)復(fù)數(shù)乘和浮點(diǎn)復(fù)數(shù)蝶形運(yùn)算,節(jié)約了硬件資源,比現(xiàn)有的復(fù)數(shù)乘和碟形運(yùn)算功能單元進(jìn)一步提高了靈活性,而且能夠很好地實(shí)現(xiàn)大量數(shù)據(jù)的并行和流水計(jì)算,獲得更好的實(shí)時(shí)性能和資源利用率。
【專利附圖】
【附圖說明】
[0017]圖1為浮點(diǎn)加法單元內(nèi)部結(jié)構(gòu)示意圖。
[0018]圖2為浮點(diǎn)乘法單元內(nèi)部結(jié)構(gòu)示意圖。
[0019]圖3為浮點(diǎn)復(fù)數(shù)乘和碟形運(yùn)算實(shí)現(xiàn)電路結(jié)構(gòu)示意圖。
[0020]圖4為浮點(diǎn)復(fù)數(shù)乘法運(yùn)算時(shí)的電路結(jié)構(gòu)示意圖。
[0021]圖5為浮點(diǎn)碟形運(yùn)算時(shí)的電路結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0022]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說明,本發(fā)明包括但不僅限于下述實(shí)施例。
[0023]本發(fā)明中采用了如下的電路設(shè)計(jì)方案:
[0024]首先,本發(fā)明中將浮點(diǎn)單元設(shè)計(jì)為浮點(diǎn)加法單元FaCell和浮點(diǎn)乘法單元FmCell。
[0025]所述浮點(diǎn)加法單元FaCell輸入信號(hào)包含使能信號(hào)FaEn、運(yùn)算模式Mode、數(shù)據(jù)輸入DataA和數(shù)據(jù)輸入DataB,當(dāng)使能信號(hào)FaEn有效時(shí),所述浮點(diǎn)加法單元執(zhí)行浮點(diǎn)加減操作運(yùn)算,否則不執(zhí)行任何操作,運(yùn)算模式Mode進(jìn)行浮點(diǎn)加和浮點(diǎn)減法運(yùn)算選擇。所述浮點(diǎn)加法單元FaCell輸出信號(hào)包含使能信號(hào)輸出EnOut和數(shù)據(jù)輸出Result,當(dāng)使能信號(hào)輸出EnOut有效時(shí),表示所述浮點(diǎn)加法單元輸出浮點(diǎn)加減操作運(yùn)算結(jié)果,否則運(yùn)算結(jié)果無效。附圖1中畫出了以四級(jí)流水結(jié)構(gòu)的浮點(diǎn)加法單元FaCelI為例的內(nèi)部結(jié)構(gòu)示意圖。
[0026]所述浮點(diǎn)乘法單元FmCell輸入信號(hào)包含使能信號(hào)FmEn、數(shù)據(jù)輸入DataA和數(shù)據(jù)輸入DataB,當(dāng)使能信號(hào)FmEn有效,所述浮點(diǎn)乘法單元FmCell執(zhí)行浮點(diǎn)乘法運(yùn)算,否則所述浮點(diǎn)乘法單元FmCell不執(zhí)行任何操作。所述浮點(diǎn)乘法單元FmCell輸出信號(hào)包含使能信號(hào)輸出EnOut和數(shù)據(jù)輸出Result,當(dāng)使能信號(hào)輸出EnOut有效時(shí),所述浮點(diǎn)乘法單元FmCell輸出浮點(diǎn)乘法運(yùn)算結(jié)果,否則運(yùn)算結(jié)果無效。附圖2中畫出了以四級(jí)流水結(jié)構(gòu)的浮點(diǎn)乘法單元FmCell為例的內(nèi)部結(jié)構(gòu)示意圖。
[0027]本發(fā)明利用處理器浮點(diǎn)單元進(jìn)行浮點(diǎn)復(fù)數(shù)乘和碟形運(yùn)算的方法電路結(jié)構(gòu)包含一個(gè)譯碼單元Decode、四個(gè)浮點(diǎn)乘法單元FmCellO?FmCell3、兩組數(shù)據(jù)選擇單元MuxO?Muxl、四個(gè)浮點(diǎn)加法單元FaCellO?FaCell3和一組連接上述電路連線。
[0028]為了便于說明,本發(fā)明中假定輸入操作數(shù)為浮點(diǎn)復(fù)數(shù)Xl+jYl和X2+jY2。
[0029]所述譯碼單元Decode根據(jù)輸入的操作運(yùn)算類型CType完成電路譯碼,產(chǎn)生運(yùn)算過程中需要的使能和控制信號(hào)。
[0030]所述浮點(diǎn)乘法單元FmCellO?FmCell3執(zhí)行復(fù)數(shù)乘運(yùn)算中乘法運(yùn)算部分。所述浮點(diǎn)乘法單元FmCellO?FmCel 13的數(shù)據(jù)輸入DataA和數(shù)據(jù)輸入DataB端口依次輸入復(fù)數(shù)實(shí)部Xl和復(fù)數(shù)實(shí)部X2,復(fù)數(shù)虛部Yl和復(fù)數(shù)虛部Y2,復(fù)數(shù)實(shí)部Xl和復(fù)數(shù)虛部Y2,復(fù)數(shù)虛部Yl和復(fù)數(shù)實(shí)部X2。所述浮點(diǎn)乘法單元FmCellO?FmCell3的使能信號(hào)FmEn由譯碼單元譯碼產(chǎn)生。當(dāng)操作運(yùn)算類型CType為復(fù)數(shù)乘運(yùn)算時(shí),譯碼單元完成譯碼,使能信號(hào)FmEn有效,所述浮點(diǎn)乘法單元FmCellO?FmCell3執(zhí)行浮點(diǎn)乘法運(yùn)算,經(jīng)過若干時(shí)鐘節(jié)拍輸出計(jì)算結(jié)果Result和使能信號(hào)EnOut,所述浮點(diǎn)乘法單元FmCellO?FmCell3的計(jì)算結(jié)果Result依次為X1XX2,Y1XY2, X1XY2和Yl XX2,否則所述浮點(diǎn)乘法單元FmCellO?FmCell3不執(zhí)行任何操作。具體執(zhí)行時(shí)鐘節(jié)拍數(shù)由所述浮點(diǎn)乘法單元內(nèi)部流水結(jié)構(gòu)劃分決定。當(dāng)使能信號(hào)輸出EnOut有效時(shí),表示所述浮點(diǎn)乘法單元FmCellO?FmCell3輸出浮點(diǎn)乘法運(yùn)算結(jié)果,否則所述浮點(diǎn)乘法單元運(yùn)算結(jié)果無效。
[0031]所述數(shù)據(jù)選擇單元MuxO?Muxl對(duì)輸入至浮點(diǎn)加法單元FaCellO?FaCelll的數(shù)據(jù)進(jìn)行選擇,其中選擇控制信號(hào)TypeEn由譯碼單元譯碼產(chǎn)生。所述數(shù)據(jù)選擇單元MuxO輸入數(shù)據(jù)為浮點(diǎn)乘法單元FmCellO使能信號(hào)輸出EnOut、浮點(diǎn)乘法單元FmCellO計(jì)算結(jié)果Xl XX2、浮點(diǎn)乘法單元FmCelll計(jì)算結(jié)果Yl X Y2、使能信號(hào)FaEn、復(fù)數(shù)實(shí)部Xl和復(fù)數(shù)實(shí)部X2 ;所述數(shù)據(jù)選擇單元Muxl輸入數(shù)據(jù)為浮點(diǎn)乘法單元FmCelll使能信號(hào)輸出EnOut、浮點(diǎn)乘法單元FmCell2計(jì)算結(jié)果Xl X Y2、浮點(diǎn)乘法單元FmCell3計(jì)算結(jié)果Y1XX2、使能信號(hào)FaEn、復(fù)數(shù)虛部Yl和復(fù)數(shù)虛部Y2,其中使能信號(hào)FaEn由譯碼單元產(chǎn)生,當(dāng)操作運(yùn)算類型CType為復(fù)數(shù)碟形運(yùn)算時(shí),經(jīng)過譯碼單元譯碼,使能信號(hào)FaEn有效,否則使能信號(hào)FaEn無效。當(dāng)運(yùn)算操作類型為浮點(diǎn)復(fù)數(shù)乘時(shí),在控制信號(hào)TypeEn的作用下,所述數(shù)據(jù)選擇單元MuxO輸出信號(hào)MEruMDataA和MdataB依次選擇數(shù)據(jù)為浮點(diǎn)乘法單元FmCellO使能信號(hào)輸出EnOut、浮點(diǎn)乘法單元FmCellO計(jì)算結(jié)果Xl XX2和浮點(diǎn)乘法單元FmCelll計(jì)算結(jié)果Yl X Y2,否則,所述數(shù)據(jù)選擇單元MuxO輸出信號(hào)MEruMDataA和MdataB依次選擇數(shù)據(jù)為輸入使能信號(hào)FaEn、復(fù)數(shù)實(shí)部Xl和復(fù)數(shù)實(shí)部X2 ;當(dāng)運(yùn)算操作類型為浮點(diǎn)復(fù)數(shù)乘時(shí),在控制信號(hào)TypeEn的作用下,所述數(shù)據(jù)選擇單元Muxl輸出信號(hào)MEn、MDataA和MdataB依次選擇數(shù)據(jù)為浮點(diǎn)乘法單元FmCelll使能信號(hào)輸出EnOut、浮點(diǎn)乘法單元FmCell2計(jì)算結(jié)果Xl X Y2和浮點(diǎn)乘法單元FmCell3計(jì)算結(jié)果Yl XX2,否則,所述數(shù)據(jù)選擇單元Muxl輸出信號(hào)MEn、MDataA和MdataB依次選擇數(shù)據(jù)為輸入使能信號(hào)FaEn、復(fù)數(shù)虛部Yl和復(fù)數(shù)虛部Y2。
[0032]所述浮點(diǎn)加法單元FaCellO?FaCell3執(zhí)行復(fù)數(shù)乘和碟形運(yùn)算中浮點(diǎn)加減操作運(yùn)算。所述浮點(diǎn)加法單元FaCel 12?FaCel 13的數(shù)據(jù)輸入DataA和數(shù)據(jù)輸入DataB端口依次輸入復(fù)數(shù)實(shí)部Xl和復(fù)數(shù)實(shí)部X2,復(fù)數(shù)虛部Yl和復(fù)數(shù)虛部Y2。所述浮點(diǎn)加法單元FaCell2?FaCell3的使能信號(hào)FaEn和模式選擇Mode由譯碼單元譯碼產(chǎn)生。當(dāng)操作運(yùn)算類型CType為復(fù)數(shù)碟形運(yùn)算時(shí),譯碼單元完成譯碼,所述浮點(diǎn)加法單元FaCell2?FaCell3使能信號(hào)FaEn有效,模式選擇Mode為浮點(diǎn)減法運(yùn)算模式,否則,所述浮點(diǎn)加法單元FaCell2?FaCell3使能信號(hào)FaEn無效。所述浮點(diǎn)加法單元FaCellO?FaCelll的使能信號(hào)FaEn、數(shù)據(jù)輸入DataA和數(shù)據(jù)輸入DataB端口依次輸入所述數(shù)據(jù)選擇單元MuxO?Muxl的數(shù)據(jù)MEruMDataA和MdataB。模式選擇Mode由譯碼單元譯碼產(chǎn)生。當(dāng)操作運(yùn)算類型CType為復(fù)數(shù)碟形運(yùn)算時(shí),譯碼單元完成譯碼,所述浮點(diǎn)加法單元FaCellO?FaCelll模式選擇Mode為浮點(diǎn)加法運(yùn)算模式,否則,所述浮點(diǎn)加法單元FaCellO模式選擇Mode為浮點(diǎn)減法運(yùn)算模式,所述浮點(diǎn)加法單元FaCelll模式選擇Mode為浮點(diǎn)加法運(yùn)算模式。所述浮點(diǎn)加法單元FaCellO?FaCell3執(zhí)行浮點(diǎn)加或減運(yùn)算,經(jīng)過若干時(shí)鐘節(jié)拍輸出計(jì)算結(jié)果,具體執(zhí)行時(shí)鐘節(jié)拍數(shù)由所述浮點(diǎn)加法單元內(nèi)部流水結(jié)構(gòu)劃分決定。本發(fā)明中具體電路結(jié)構(gòu)見附圖3所示。
[0033]本發(fā)明中所述復(fù)數(shù)乘和碟形運(yùn)算方法實(shí)現(xiàn)步驟如下:
[0034]I)譯碼單元根據(jù)運(yùn)算操作類型完成譯碼,產(chǎn)生相關(guān)的譯碼控制信號(hào)。
[0035]2)當(dāng)運(yùn)算操作類型為浮點(diǎn)復(fù)數(shù)乘時(shí),在譯碼控制信號(hào)的控制下執(zhí)行浮點(diǎn)復(fù)數(shù)乘運(yùn)算,計(jì)算過程分為兩步計(jì)算。第一步,完成浮點(diǎn)復(fù)數(shù)乘運(yùn)算乘法部分。將輸入操作數(shù)Xl+jYl和X2+jY2的實(shí)部和虛部分別取出X1、Y1、X2和Υ2,然后Xl與Χ2相乘得到結(jié)果Χ1ΧΧ2,Υ1與Υ2相乘得到結(jié)果Υ1ΧΥ2,Χ1與Υ2相乘得到結(jié)果Χ1ΧΥ2,Υ1與Χ2相乘得到結(jié)果Υ1ΧΧ2 ;第二步,完成浮點(diǎn)乘法運(yùn)算加減部分。將上述乘法計(jì)算結(jié)果Xl ΧΧ2與YlX Υ2相減得到Χ1ΧΧ2-Υ1ΧΥ2,Χ1ΧΥ2與Υ1ΧΧ2相加得到Xl X Υ2+Υ1 ΧΧ2,最終浮點(diǎn)復(fù)數(shù)乘計(jì)算結(jié)果為(XIXΧ2-Υ1XΥ2)+j(XIXY2+Y1XX2)。
[0036]3)否則,執(zhí)行浮點(diǎn)碟形運(yùn)算。將輸入操作數(shù)Xl+jYl和X2+jY2的實(shí)部和虛部取出:X1、Y1、X2和Y2。將Xl與Χ2相加得到結(jié)果Χ1+Χ2,Υ1與Υ2相加得到結(jié)果Υ1+Υ2 ;X1與X2相減得到結(jié)果X1-X2,Yl與Y2相減得到結(jié)果Y1-Y2 ;最終得到復(fù)數(shù)碟形計(jì)算加法結(jié)果為(X1+X2) +j (Y1+Y2),復(fù)數(shù)碟形計(jì)算減法結(jié)果為(X1-X2) +j (Y1-Y2)。
[0037]本實(shí)施例中以浮點(diǎn)乘法單元和浮點(diǎn)加法單元的四級(jí)流水結(jié)構(gòu)為例,具體實(shí)施方案如下:
[0038]I)譯碼單元根據(jù)運(yùn)算操作類型完成譯碼,產(chǎn)生相關(guān)的譯碼控制信號(hào)。
[0039]2)當(dāng)運(yùn)算操作類型為浮點(diǎn)復(fù)數(shù)乘時(shí),在譯碼信號(hào)的控制下執(zhí)行浮點(diǎn)復(fù)數(shù)乘運(yùn)算,計(jì)算過程分為兩步計(jì)算。第一步,輸入兩個(gè)浮點(diǎn)復(fù)數(shù)(Xl+jYl)和(X2+jY2),將兩個(gè)浮點(diǎn)復(fù)數(shù)的實(shí)部和虛部按照如下順序依次輸入到四個(gè)浮點(diǎn)乘法單元操作數(shù)端口:X1、YU Xl和Yl分別輸入到浮點(diǎn)乘法單元FmCellO?FmCell3的輸入操作數(shù)DataA端口,X2、Y2、Y2和Χ2分別輸入到浮點(diǎn)乘法單元FmCellO?FmCell3的輸入操作數(shù)DataB端口,譯碼單元產(chǎn)生的譯碼信號(hào)FmEn輸入到浮點(diǎn)乘法單元FmCel 10?FmCel 13的使能信號(hào)FmEn端口,F(xiàn)mEn為‘ I’有效,經(jīng)過四個(gè)處理器時(shí)鐘周期后,四個(gè)浮點(diǎn)乘法單元FmCellO?FmCell3分別輸出結(jié)果為:Xl XX2、Yl X Y2、Xl X Y2和Yl XX2,使能輸出EnOut有效。第二步,譯碼單元產(chǎn)生譯碼信號(hào)TypeEn為‘I’,數(shù)據(jù)選擇單元MuxO在譯碼信號(hào)TypeEn的控制下,將浮點(diǎn)乘法單元FmCellO的EnOut、X1XX2和Y1XY2分別輸至浮點(diǎn)加法單元FaCellO的使能輸入FaEn、輸入操作數(shù)A和輸入操作數(shù)B端口。譯碼單元產(chǎn)生譯碼信號(hào)Mode為‘I’,浮點(diǎn)加法單元FaCellO的使能輸入FaEn為‘I’有效,F(xiàn)aCellO執(zhí)行浮點(diǎn)減法運(yùn)算。數(shù)據(jù)選擇單元Muxl在譯碼信號(hào)TypeEn的控制下,將浮點(diǎn)乘法單元FmCelll的En0ut、XlXY2和Y1XX2分別輸至浮點(diǎn)加法單元FaCel 11的使能輸入FaEn、輸入操作數(shù)A和輸入操作數(shù)B端口。譯碼單元產(chǎn)生譯碼信號(hào)Mode為‘0’,浮點(diǎn)加法單元FaCelll的使能輸入FaEn為‘I’有效,F(xiàn)aCelll執(zhí)行浮點(diǎn)加法運(yùn)算。經(jīng)過四個(gè)處理器時(shí)鐘周期后,浮點(diǎn)加法單元FaCellO輸出浮點(diǎn)復(fù)數(shù)乘運(yùn)算結(jié)果的實(shí)部Xl XX2-Y1 X Y2,浮點(diǎn)加法單元FaCelll輸出浮點(diǎn)復(fù)數(shù)乘運(yùn)算結(jié)果的虛部Xl X Y2+Y1 XX2,最終浮點(diǎn)復(fù)數(shù)乘法結(jié)果為(XI XX2-Y1 X Y2) +j (X1XY2+Y1XX2)。附圖4所示為執(zhí)行浮點(diǎn)復(fù)數(shù)乘法運(yùn)算時(shí)的電路結(jié)構(gòu)示意圖。
[0040]3)否則,執(zhí)行浮點(diǎn)碟形運(yùn)算。分別取出輸入操作數(shù)(Xl+jYl)和(X2+jY2)實(shí)部和虛部X1、Yl、X2和Y2,浮點(diǎn)加法單元FaCel 12?FaCel 13的數(shù)據(jù)輸入DataA和數(shù)據(jù)輸入DataB端口依次輸入復(fù)數(shù)實(shí)部Xl和復(fù)數(shù)實(shí)部X2,復(fù)數(shù)虛部Yl和復(fù)數(shù)虛部Y2。譯碼單元完成譯碼,模式選擇Mode為‘I’,使能信號(hào)FaEn為‘I’有效,浮點(diǎn)加法單元FaCel 12?FaCel 13執(zhí)行浮點(diǎn)減法運(yùn)算。譯碼單元產(chǎn)生譯碼信號(hào)TypeEn為‘0’,數(shù)據(jù)選擇單元MuxO在譯碼信號(hào)TypeEn的控制下,將使能信號(hào)FaEn、復(fù)數(shù)實(shí)部Xl和復(fù)數(shù)實(shí)部X2分別輸至浮點(diǎn)加法單元FaCellO的使能輸入FaEn、輸入操作數(shù)A和輸入操作數(shù)B端口 ;數(shù)據(jù)選擇單元Muxl在譯碼信號(hào)TypeEn的控制下,將使能信號(hào)FaEn、復(fù)數(shù)虛部Yl和復(fù)數(shù)虛部Y2分別輸至浮點(diǎn)加法單元FaCelll的使能輸入FaEn、輸入操作數(shù)A和輸入操作數(shù)B端口。譯碼單元完成譯碼,模式選擇Mode為‘0’,使能信號(hào)FaEn為‘I’有效,浮點(diǎn)加法單元FaCellO?FaCelll執(zhí)行浮點(diǎn)加法運(yùn)算。經(jīng)過四個(gè)處理器時(shí)鐘周期后,浮點(diǎn)加法單元FaCellO輸出浮點(diǎn)碟形運(yùn)算加法結(jié)果的實(shí)部X1+X2,浮點(diǎn)加法單元FaCelll輸出浮點(diǎn)碟形運(yùn)算加法結(jié)果的虛部Y1+Y2,浮點(diǎn)加法單元FaCe 112輸出浮點(diǎn)碟形運(yùn)算減法結(jié)果的實(shí)部X1-X2,浮點(diǎn)加法單元FaCe 113輸出浮點(diǎn)碟形運(yùn)算減法結(jié)果的虛部Y1-Y2,最終得到復(fù)數(shù)碟形計(jì)算加法結(jié)果為(Xl+X2)+j(Yl+Y2),復(fù)數(shù)碟形計(jì)算減法結(jié)果為(Xl_X2)+j(Yl-Y2)。附圖5所示為執(zhí)行浮點(diǎn)碟形運(yùn)算時(shí)的電路結(jié)構(gòu)示意圖。
【權(quán)利要求】
1.一種利用處理器浮點(diǎn)單元進(jìn)行復(fù)數(shù)乘和蝶形運(yùn)算的裝置,包括一個(gè)譯碼單元Decode、四個(gè)浮點(diǎn)乘法單兀FmCellO?FmCell3、兩組數(shù)據(jù)選擇單兀MuxO?Muxl和四個(gè)浮點(diǎn)加法單元FaCellO?FaCell3,其特征在于: 對(duì)于輸入的浮點(diǎn)復(fù)數(shù)Xl+jYl和X2+jY2,所述譯碼單元Decode根據(jù)輸入的操作運(yùn)算類型CType完成電路譯碼,產(chǎn)生使能和控制信號(hào); 所述浮點(diǎn)乘法單元FmCellO?FmCell3執(zhí)行復(fù)數(shù)乘運(yùn)算中乘法運(yùn)算部分;所述浮點(diǎn)乘法單元FmCellO?FmCell3的數(shù)據(jù)輸入DataA和數(shù)據(jù)輸入DataB端口依次輸入復(fù)數(shù)實(shí)部XI和復(fù)數(shù)實(shí)部X2、復(fù)數(shù)虛部Y1和復(fù)數(shù)虛部Y2、復(fù)數(shù)實(shí)部XI和復(fù)數(shù)虛部Y2、復(fù)數(shù)虛部Y1和復(fù)數(shù)實(shí)部X2 ;所述浮點(diǎn)乘法單元FmCellO?FmCell3的使能信號(hào)FmEn由譯碼單元譯碼產(chǎn)生;當(dāng)操作運(yùn)算類型CType為復(fù)數(shù)乘運(yùn)算時(shí),譯碼單元完成譯碼,使能信號(hào)FmEn有效,所述浮點(diǎn)乘法單元FmCellO?FmCell3執(zhí)行浮點(diǎn)乘法運(yùn)算,經(jīng)過若干時(shí)鐘節(jié)拍輸出計(jì)算結(jié)果Result和使能信號(hào)EnOut,所述浮點(diǎn)乘法單元FmCellO?FmCell3的計(jì)算結(jié)果Result依次為XI XX2,Y1 X Y2,X1 X Y2和Y1 XX2,否則所述浮點(diǎn)乘法單元FmCellO?FmCell3不執(zhí)行任何操作;當(dāng)使能信號(hào)輸出EnOut有效時(shí),表示所述浮點(diǎn)乘法單元FmCellO?FmCell3輸出浮點(diǎn)乘法運(yùn)算結(jié)果,否則所述浮點(diǎn)乘法單元運(yùn)算結(jié)果無效; 所述數(shù)據(jù)選擇單元MuxO?Muxl對(duì)輸入至浮點(diǎn)加法單元FaCellO?FaCelll的數(shù)據(jù)進(jìn)行選擇,選擇控制信號(hào)TypeEn由譯碼單元譯碼產(chǎn)生;所述數(shù)據(jù)選擇單元MuxO輸入數(shù)據(jù)為浮點(diǎn)乘法單元FmCellO使能信號(hào)輸出EnOut、浮點(diǎn)乘法單元FmCellO計(jì)算結(jié)果X1XX2、浮點(diǎn)乘法單元FmCelll計(jì)算結(jié)果Y1 X Y2、使能信號(hào)FaEn、復(fù)數(shù)實(shí)部XI和復(fù)數(shù)實(shí)部X2 ;所述數(shù)據(jù)選擇單元Muxl輸入數(shù)據(jù)為浮點(diǎn)乘法單元FmCelll使能信號(hào)輸出EnOut、浮點(diǎn)乘法單元FmCell2計(jì)算結(jié)果X1XY2、浮點(diǎn)乘法單元FmCell3計(jì)算結(jié)果Y1XX2、使能信號(hào)FaEn、復(fù)數(shù)虛部Y1和復(fù)數(shù)虛部Y2,使能信號(hào)FaEn由譯碼單元產(chǎn)生,當(dāng)操作運(yùn)算類型CType為復(fù)數(shù)碟形運(yùn)算時(shí),經(jīng)過譯碼單元譯碼,使能信號(hào)FaEn有效,否則使能信號(hào)FaEn無效;當(dāng)運(yùn)算操作類型為浮點(diǎn)復(fù)數(shù)乘時(shí),在控制信號(hào)TypeEn的作用下,所述數(shù)據(jù)選擇單元MuxO輸出信號(hào)MEn、MDataA和MdataB依次選擇數(shù)據(jù)為浮點(diǎn)乘法單元FmCellO使能信號(hào)輸出EnOut、浮點(diǎn)乘法單元FmCellO計(jì)算結(jié)果X1XX2和浮點(diǎn)乘法單元FmCelll計(jì)算結(jié)果Y1 X Y2,否則,所述數(shù)據(jù)選擇單元MuxO輸出信號(hào)MEn、MDataA和MdataB依次選擇數(shù)據(jù)為輸入使能信號(hào)FaEn、復(fù)數(shù)實(shí)部XI和復(fù)數(shù)實(shí)部X2 ;當(dāng)運(yùn)算操作類型為浮點(diǎn)復(fù)數(shù)乘時(shí),在控制信號(hào)TypeEn的作用下,所述數(shù)據(jù)選擇單元Mux 1輸出信號(hào)MEn、MDataA和MdataB依次選擇數(shù)據(jù)為浮點(diǎn)乘法單元FmCe111使能信號(hào)輸出EnOut、浮點(diǎn)乘法單元FmCell2計(jì)算結(jié)果XI X Y2和浮點(diǎn)乘法單元FmCell3計(jì)算結(jié)果Y1 XX2,否則,所述數(shù)據(jù)選擇單元Muxl輸出信號(hào)MEn、MDataA和MdataB依次選擇數(shù)據(jù)為輸入使能信號(hào)FaEn、復(fù)數(shù)虛部Y1和復(fù)數(shù)虛部Y2 ; 所述浮點(diǎn)加法單元FaCellO?FaCell3執(zhí)行復(fù)數(shù)乘和碟形運(yùn)算中浮點(diǎn)加減操作運(yùn)算;所述浮點(diǎn)加法單元FaCell2?FaCell3的數(shù)據(jù)輸入DataA和數(shù)據(jù)輸入DataB端口依次輸入復(fù)數(shù)實(shí)部XI和復(fù)數(shù)實(shí)部X2、復(fù)數(shù)虛部Y1和復(fù)數(shù)虛部Y2 ;所述浮點(diǎn)加法單元FaCell2?FaCell3的使能信號(hào)FaEn和模式選擇Mode由譯碼單元譯碼產(chǎn)生;當(dāng)操作運(yùn)算類型CType為復(fù)數(shù)碟形運(yùn)算時(shí),譯碼單元完成譯碼,所述浮點(diǎn)加法單元FaCell2?FaCell3使能信號(hào)FaEn有效,模式選擇Mode為浮點(diǎn)減法運(yùn)算模式,否則,所述浮點(diǎn)加法單元FaCell2?FaCell3使能信號(hào)FaEn無效;所述浮點(diǎn)加法單元FaCellO?FaCelll的使能信號(hào)FaEn、數(shù)據(jù)輸入DataA和數(shù)據(jù)輸入DataB端口依次輸入所述數(shù)據(jù)選擇單元MuxO?Muxl的數(shù)據(jù)MEn、MDataA和MdataB ;模式選擇Mode由譯碼單元譯碼產(chǎn)生;當(dāng)操作運(yùn)算類型CType為復(fù)數(shù)碟形運(yùn)算時(shí),譯碼單元完成譯碼,所述浮點(diǎn)加法單元FaCellO?FaCelll模式選擇Mode為浮點(diǎn)加法運(yùn)算模式,否則,所述浮點(diǎn)加法單元FaCellO模式選擇Mode為浮點(diǎn)減法運(yùn)算模式,所述浮點(diǎn)加法單元FaCelll模式選擇Mode為浮點(diǎn)加法運(yùn)算模式;所述浮點(diǎn)加法單元FaCellO?FaCell3執(zhí)行浮點(diǎn)加或減運(yùn)算,經(jīng)過若干時(shí)鐘節(jié)拍輸出計(jì)算結(jié)果。
2.根據(jù)權(quán)利要求1所述的利用處理器浮點(diǎn)單元進(jìn)行復(fù)數(shù)乘和蝶形運(yùn)算的裝置,其特征在于:所述浮點(diǎn)加法單元FaCell輸入信號(hào)包含使能信號(hào)FaEn、運(yùn)算模式Mode、數(shù)據(jù)輸入DataA和數(shù)據(jù)輸入DataB,當(dāng)使能信號(hào)FaEn有效時(shí),所述浮點(diǎn)加法單元執(zhí)行浮點(diǎn)加減操作運(yùn)算,否則不執(zhí)行任何操作,運(yùn)算模式Mode進(jìn)行浮點(diǎn)加和浮點(diǎn)減法運(yùn)算選擇;所述浮點(diǎn)加法單元FaCell輸出信號(hào)包含使能信號(hào)輸出EnOut和數(shù)據(jù)輸出Result,當(dāng)使能信號(hào)輸出EnOut有效時(shí),表示所述浮點(diǎn)加法單元輸出浮點(diǎn)加減操作運(yùn)算結(jié)果,否則運(yùn)算結(jié)果無效。
3.根據(jù)權(quán)利要求1所述的利用處理器浮點(diǎn)單元進(jìn)行復(fù)數(shù)乘和蝶形運(yùn)算的裝置,其特征在于:所述浮點(diǎn)乘法單元FmCell輸入信號(hào)包含使能信號(hào)FmEn、數(shù)據(jù)輸入DataA和數(shù)據(jù)輸入DataB,當(dāng)使能信號(hào)FmEn有效,所述浮點(diǎn)乘法單元FmCell執(zhí)行浮點(diǎn)乘法運(yùn)算,否則所述浮點(diǎn)乘法單元FmCell不執(zhí)行任何操作;所述浮點(diǎn)乘法單元FmCell輸出信號(hào)包含使能信號(hào)輸出EnOut和數(shù)據(jù)輸出Result,當(dāng)使能信號(hào)輸出EnOut有效時(shí),所述浮點(diǎn)乘法單元FmCell輸出浮點(diǎn)乘法運(yùn)算結(jié)果,否則運(yùn)算結(jié)果無效。
4.一種利用權(quán)利要求1所述裝置利用處理器浮點(diǎn)單元進(jìn)行復(fù)數(shù)乘和蝶形運(yùn)算的方法,其特征在于包括下述步驟: 1)譯碼單元根據(jù)運(yùn)算操作類型完成譯碼,產(chǎn)生相關(guān)的譯碼控制信號(hào)。 2)當(dāng)運(yùn)算操作類型為浮點(diǎn)復(fù)數(shù)乘時(shí),在譯碼控制信號(hào)的控制下執(zhí)行浮點(diǎn)復(fù)數(shù)乘運(yùn)算,計(jì)算過程分為兩步計(jì)算:第一步,完成浮點(diǎn)復(fù)數(shù)乘運(yùn)算乘法部分;將輸入操作數(shù)Xl+jYl和X2+JY2的實(shí)部和虛部分別取出X1、Y1、X2和Υ2,然后XI與Χ2相乘得到結(jié)果Χ1ΧΧ2,Υ1與Υ2相乘得到結(jié)果Υ1ΧΥ2,XI與Υ2相乘得到結(jié)果XIXΥ2,Υ1與Χ2相乘得到結(jié)果Y1 ΧΧ2 ;第二步,完成浮點(diǎn)乘法運(yùn)算加減部分;將上述乘法計(jì)算結(jié)果XIΧΧ2與Υ1ΧΥ2相減得到Χ1ΧΧ2-Υ1ΧΥ2,Χ1ΧΥ2與Υ1ΧΧ2相加得到XI X Υ2+Υ1 ΧΧ2,最終浮點(diǎn)復(fù)數(shù)乘計(jì)算結(jié)果為(XIX Χ2-Υ1X Υ2)+j(XIX Y2+Y1X X2); 3)當(dāng)運(yùn)算操作類型為浮點(diǎn)碟形運(yùn)算時(shí),將輸入操作數(shù)Xl+jYl和X2+jY2的實(shí)部和虛部取出;將乂1與X2相加得到結(jié)果X1+X2,Y1與Y2相加得到結(jié)果Y1+Y2 ;X1與X2相減得到結(jié)果X1-X2,Y1與Y2相減得到結(jié)果Y1-Y2 ;最終得到復(fù)數(shù)碟形計(jì)算加法結(jié)果為(X1+X2) +j (Y1+Y2),復(fù)數(shù)碟形計(jì)算減法結(jié)果為(X1-X2) +j (Y1-Y2)。
【文檔編號(hào)】G06F9/38GK104317774SQ201410542107
【公開日】2015年1月28日 申請(qǐng)日期:2014年10月14日 優(yōu)先權(quán)日:2014年10月14日
【發(fā)明者】馮春陽, 閆鑫, 楊靚, 高向強(qiáng), 周泉 申請(qǐng)人:中國航天科技集團(tuán)公司第九研究院第七七一研究所