專利名稱:并行粘接位計(jì)算部件設(shè)計(jì)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及微處理器算術(shù)部件的舍入處理方法,尤其是粘接位(sticky bit)計(jì)算部件的設(shè)計(jì)方法。
背景技術(shù):
在微處理器算術(shù)部件設(shè)計(jì)中,舍入的處理是一個(gè)重要的問題。為了保證計(jì)算的高精度和計(jì)算機(jī)各部分的兼容性,所設(shè)計(jì)的算術(shù)部件必須符合IEEE-754-1985標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)包含了對舍入處理的規(guī)定,它要求算術(shù)部件要支持四種舍入方式最近舍入、負(fù)無窮大舍入、正無窮大舍入、零舍入,其中最近舍入是缺省的舍入方式。在最近舍入、負(fù)無窮大舍入、正無窮大舍入方式中,舍入處理需要計(jì)算粘接位。粘接位的值是操作數(shù)無窮精度和的舍入位右側(cè)所有位的“或”。
在浮點(diǎn)乘法和加法中都涉及到粘接位計(jì)算的問題。傳統(tǒng)的粘接位計(jì)算主要是根據(jù)粘接位的定義,也就是首先對兩個(gè)操作數(shù)“求和”,再對和的舍入位右邊的所有位求“或”。IBM POWER2的乘加部件的設(shè)計(jì)就采用了這種方法。兩個(gè)操作數(shù)的“求和”采用典型的并行進(jìn)位加法器實(shí)現(xiàn)時(shí),它的邏輯級數(shù)與位數(shù)的關(guān)系是 t表示邏輯級數(shù),n表示加法器的位數(shù)。當(dāng)位數(shù)n很大時(shí),加法器的邏輯級數(shù)會很大,導(dǎo)致“求和”的延時(shí)很大,因此采用這種方法設(shè)計(jì)的粘接位計(jì)算部件延時(shí)很大。
在Standford大學(xué)的技術(shù)報(bào)告CSL-TR-89-397中,乘法舍入處理時(shí)粘接位的計(jì)算采用了另外一種方法,它是在乘法部分積求和的同時(shí)計(jì)算粘接位。但這種方法只適用乘法計(jì)算粘接位,不能用于浮點(diǎn)加法,且計(jì)算粘接位所需的硬件較多,設(shè)計(jì)開銷大。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是采用一種并行計(jì)算粘接位的方法設(shè)計(jì)粘接位計(jì)算部件,使兩個(gè)操作數(shù)的求和與計(jì)算粘接位并發(fā)執(zhí)行,減少粘接位計(jì)算的延時(shí)。本發(fā)明的技術(shù)方案是粘接位的值是操作數(shù)無窮精度和的舍入位右側(cè)的所有位的“或”。舍入位右側(cè)的所有位中只要有一個(gè)1,則粘接位的值為1;當(dāng)舍入位右側(cè)的所有位都是0時(shí),粘接位的值才為0。只要知道操作數(shù)無窮精度和的舍入位右側(cè)所有位中是否包含1即可。
假設(shè)兩個(gè)加數(shù)op1和op2都是k位,本發(fā)明首先對兩個(gè)加數(shù)的舍入位右側(cè)的m位(只有這些位才與粘接位有關(guān))進(jìn)行預(yù)處理,得到進(jìn)位傳播值T和零值Z;然后對預(yù)處理的結(jié)果T和Z進(jìn)行轉(zhuǎn)換,得到轉(zhuǎn)換結(jié)果f。轉(zhuǎn)換結(jié)果中的任何一位是1,表示加法結(jié)果的對應(yīng)位或右側(cè)相鄰位中必有一個(gè)為1;轉(zhuǎn)換的結(jié)果中只要有一個(gè)1,則表示加法結(jié)果中的舍入位右側(cè)的位中有1,即粘接位的值為1,因此對轉(zhuǎn)換的結(jié)果的求“或”就可以求出粘接位的值。本發(fā)明實(shí)現(xiàn)原理是1.對兩個(gè)加數(shù)a和b的預(yù)處理按照公式(1)進(jìn)行,a為op1的舍入位右側(cè)的m位,b為op2的舍入位右側(cè)的m位Ti=ai⊕bi,Zi=ai+bi‾---(1)]]>兩個(gè)加數(shù)的所有對應(yīng)位相“異或”得到T,兩個(gè)加數(shù)的所有對應(yīng)位相“或非”得到Z,0≤i≤m-1。
2.對于預(yù)處理的結(jié)果按照公式(2)進(jìn)行轉(zhuǎn)換fi=Ti⊕Zi+1‾---(2)]]>i=0對應(yīng)最高端,每一位的T值與其右側(cè)相鄰位的Z值求“異或非”得到轉(zhuǎn)換結(jié)果f。
3.對轉(zhuǎn)換結(jié)果求“或”對f的所有位求“或”。
本發(fā)明具體實(shí)現(xiàn)方式是本發(fā)明粘接位計(jì)算部件由預(yù)處理邏輯、轉(zhuǎn)換邏輯、或邏輯組成。若用op1和op2表示參加求和與舍入的兩個(gè)操作數(shù),a,b表示輸入到粘接位計(jì)算部件的兩個(gè)加數(shù)op1和op2的低m位,a,b首先輸入到預(yù)處理邏輯進(jìn)行預(yù)處理,得到向量T和Z,然后將向量T和Z輸入到轉(zhuǎn)換邏輯進(jìn)行轉(zhuǎn)換得到標(biāo)識向量f,它標(biāo)識出了結(jié)果中可能為1的位置,最后標(biāo)識向量f送到或邏輯,得到粘接位sticky的值。
本發(fā)明的預(yù)處理邏輯由m個(gè)“異或”門和m個(gè)“或非”門組成。a的每一位都與b的對應(yīng)位同時(shí)輸入到“異或”門和“或非”門,即a0和b0輸入到第一個(gè)“或非”門得到Z0,同時(shí)a0和b0輸入到第一個(gè)“異或”門得到T0,......ai和bi輸入到第i+1個(gè)“或非”門得到Zi,同時(shí)ai和bi輸入到第i+1個(gè)“異或”門得到Ti......am-1和bm-1輸入到第m個(gè)“或非門”得到Zm-1,同時(shí)am-1和bm-1輸入到第m個(gè)“異或”門得到Tm-1。a和b的對應(yīng)位經(jīng)過“或非”邏輯得到Z;a和b對應(yīng)的位經(jīng)過“異或”邏輯得到T。
本發(fā)明轉(zhuǎn)換邏輯由m-1個(gè)“異或非”門組成。從預(yù)處理邏輯輸出的兩個(gè)矢量Z、T,每位的T值與其右側(cè)相鄰位的Z值輸入到一個(gè)“異或非”門,即T0和Z1輸入到第一個(gè)“異或非”門,從第一個(gè)“異或非”門輸出f0,……,Ti和Zi+1輸入到第i+1個(gè)“異或非”門,從第i+1個(gè)“異或非”門輸出fi、……Tm-2和Zm-1輸入到第m-1個(gè)“異或非”門,從第m-1個(gè)“異或非”門輸出fm-2。從預(yù)處理出來的T和Z經(jīng)過轉(zhuǎn)換邏輯得到一個(gè)m-1位的矢量f。
轉(zhuǎn)換邏輯輸出的矢量f,經(jīng)過一個(gè)或邏輯求或就得到粘接位的值。這里的或邏輯與傳統(tǒng)的方法中的或邏輯是一樣的,一般采用樹形結(jié)構(gòu)。
使用本發(fā)明能達(dá)到以下有益效果
1.本發(fā)明的預(yù)處理邏輯的最長延時(shí)路徑由一個(gè)“異或門”或者一個(gè)“或非”門組成,它只相當(dāng)于1級邏輯延時(shí);轉(zhuǎn)換邏輯的最長延時(shí)路徑由一個(gè)“異或非”門組成,它也只相當(dāng)于1級邏輯延時(shí);“或”邏輯如果采用典型的樹形結(jié)構(gòu)實(shí)現(xiàn),它的延時(shí)相當(dāng)于 級延時(shí);因此本發(fā)明的粘接位計(jì)算單元的總的延時(shí)相當(dāng)于 級邏輯延時(shí)。傳統(tǒng)的粘接位計(jì)算,首先經(jīng)過一個(gè)加法器,它的延時(shí)為 級邏輯,且m越大,延時(shí)越大;然后是或邏輯,它的延時(shí)為 級邏輯,傳統(tǒng)方法粘接位計(jì)算單元的總的延時(shí)為 級邏輯延時(shí),因此采用本發(fā)明的粘接位計(jì)算部件來實(shí)現(xiàn)粘接位計(jì)算比傳統(tǒng)技術(shù)中的粘接位計(jì)算部件進(jìn)行粘接位計(jì)算減少了 級邏輯延時(shí),m越大,本發(fā)明提高粘接位計(jì)算速度的優(yōu)越性越明顯。
2.本發(fā)明適用于微處理器設(shè)計(jì)中所有包含求和與舍入的模塊,如加法器、乘加部件、乘法器等等,通用性很強(qiáng)。
圖1是微處理器中的舍入部件邏輯圖;圖2是采用傳統(tǒng)方法實(shí)現(xiàn)粘接位計(jì)算部件的邏輯圖;圖3是本發(fā)明的粘接位計(jì)算部件邏輯圖;圖4是本發(fā)明的預(yù)處理邏輯圖;圖5是本發(fā)明的轉(zhuǎn)換邏輯圖。
具體實(shí)施例方式圖1是微處理器舍入部件邏輯圖,虛線內(nèi)是粘接位計(jì)算部件。舍入部件由雙加器,舍入控制邏輯,粘接位計(jì)算部件組成。op1和op2為k位,表示參加求和與舍入的兩個(gè)操作數(shù)。它們的位寬是k位,兩個(gè)操作數(shù)的高n位輸入到雙加器,中間的1位輸入到舍入控制邏輯,低m位輸入到粘接位計(jì)算部件,m+n+l=k,n+l=p+1,p為結(jié)果精度的位數(shù)。雙加器同時(shí)計(jì)算出兩個(gè)加數(shù)高n位的和sum、sum+1;粘接位計(jì)算部件計(jì)算出粘接位sticky的值,并把它輸出給舍入控制邏輯;舍入控制邏輯根據(jù)輸入的sticky的值計(jì)算出進(jìn)位信號carry來控制選擇器,當(dāng)carry為1時(shí)表示有進(jìn)位,選擇sum+1作為結(jié)果高n位,當(dāng)carry為0時(shí)表示沒有進(jìn)位,選擇sum作為結(jié)果的高n位。結(jié)果的低p-n位由舍入控制邏輯產(chǎn)生。
圖2是采用傳統(tǒng)的方法實(shí)現(xiàn)微處理器中的粘接位計(jì)算部件的邏輯圖,它由一個(gè)m位的加法器和一個(gè)m位的“或”邏輯組成。a,b表示輸入到粘接位計(jì)算部件的兩個(gè)加數(shù)op1和op2的低m位,它們首先經(jīng)過一個(gè)m位加法器求和,然后加法的結(jié)果輸入到m位的“或”邏輯,求出粘接位的值sticky。傳統(tǒng)的粘接位計(jì)算部件的延時(shí)是加法器的延時(shí)與“或”邏輯延時(shí)的和,加法器如果采用并行的前向樹結(jié)構(gòu)實(shí)現(xiàn),它的延時(shí)為 級邏輯延時(shí),“或”邏輯如果采用樹形結(jié)構(gòu)實(shí)現(xiàn),它的延時(shí)為 級邏輯延時(shí),因此整個(gè)粘接位計(jì)算部件的延時(shí) 級邏輯的延時(shí),延時(shí)很大。
圖3是采用本發(fā)明實(shí)現(xiàn)微處理器中粘接位計(jì)算部件的邏輯圖,它由預(yù)處理邏輯、轉(zhuǎn)換邏輯、或邏輯組成。a,b表示輸入到粘接位計(jì)算部件的兩個(gè)加數(shù)op1和op2的低m位,它們首先輸入到預(yù)處理邏輯進(jìn)行預(yù)處理,得到向量T和Z,然后將向量T和Z輸入到轉(zhuǎn)換邏輯進(jìn)行轉(zhuǎn)換得到標(biāo)識向量f,它標(biāo)識出了結(jié)果中可能為1的位置,最后標(biāo)識向量f送到或邏輯,得到粘接位sticky的值。
圖4是本發(fā)明的預(yù)處理邏輯,它由m個(gè)“異或”門和m個(gè)“或非”門組成。a的每一位與b的對應(yīng)位同時(shí)輸入到“異或”門和“或非”門,即a0和b0輸入到第一個(gè)“或非”門得到Z0,同時(shí)a0和b0輸入到第一個(gè)“異或”門得到T0,......ai和bi輸入到第i+1個(gè)“或非”門得到Zi,同時(shí)ai和bi輸入到第i+1個(gè)“異或”門得到Ti......am-1和bm-1輸入到第m個(gè)“或非門”得到Zm-1,同時(shí)am-1和bm-1輸入到第m個(gè)“異或”門得到Tm-1。a和b的對應(yīng)的位經(jīng)過“或非”邏輯得到Z;a和b對應(yīng)的位經(jīng)過“異或”邏輯得到T。
圖5是本發(fā)明的轉(zhuǎn)換邏輯,它由m-1個(gè)“異或非”門組成。從預(yù)處理輸出的兩個(gè)矢量Z、T,每位的T值與其右側(cè)相鄰位的Z值輸入到一個(gè)“異或非”門,即T0和Z1輸入到第一個(gè)“異或非”門,從第一個(gè)“異或非”門輸出f0,……,Ti和Zi+1輸入到第i+1個(gè)“異或非”門,從第i+1個(gè)“異或非”門輸出fi、……Tm-2和Zm-1輸入到第m-1個(gè)“異或非”門,從第m-1個(gè)“異或非”門輸出fm-2。從預(yù)處理出來的T和Z經(jīng)過轉(zhuǎn)換邏輯得到一個(gè)m-1位的矢量f。轉(zhuǎn)換邏輯輸出的矢量f,經(jīng)過一個(gè)或邏輯求“或”就得到了粘接位的值。這里的或邏輯與傳統(tǒng)的方法中的或邏輯是一樣的,一般采用樹形結(jié)構(gòu)。
本發(fā)明已成功應(yīng)用于國防科大自行研制的64位微處理器YHFT64中,在YHFT64中,k為195,m為130,n為62,l為3,p為64。如果采用傳統(tǒng)的粘接位計(jì)算部件計(jì)算粘接位,它的延時(shí)為 約為12級邏輯延時(shí);而采用本發(fā)明,預(yù)處理邏輯只需1級邏輯延時(shí),轉(zhuǎn)換邏輯也只需要1級邏輯延時(shí),或邏輯的延時(shí)為 約為4級邏輯延時(shí),整個(gè)粘接位計(jì)算部件的延時(shí)約為6級邏輯的延時(shí),比傳統(tǒng)方法減少了6級邏輯延時(shí)。
權(quán)利要求
1.一種并行粘接位計(jì)算部件設(shè)計(jì)方法,采用它設(shè)計(jì)的粘接位計(jì)算部件包括一個(gè)或邏輯,其特征在于1.1本發(fā)明的設(shè)計(jì)原理是首先對兩個(gè)加數(shù)op1和op2的舍入位右側(cè)的m位進(jìn)行預(yù)處理,得到進(jìn)位傳播值T和零值Z;然后對預(yù)處理的結(jié)果T和Z進(jìn)行轉(zhuǎn)換,得到轉(zhuǎn)換結(jié)果f,對轉(zhuǎn)換的結(jié)果的求“或”即得出粘接位的值;1.2本發(fā)明實(shí)現(xiàn)原理是1.2.1對兩個(gè)加數(shù)a和b的預(yù)處理按照公式Ti=aibi,Zi=ai+bi‾]]>進(jìn)行,a為op1的舍入位右側(cè)的m位,b為op2的舍入位右側(cè)的m位,兩個(gè)加數(shù)的所有對應(yīng)位相“異或”得到T,兩個(gè)加數(shù)的所有對應(yīng)位相“或非”得到Z,0≤i≤m-1;1.2.2對于預(yù)處理的結(jié)果按照公式fi=Ti⊕Zi+1‾]]>進(jìn)行轉(zhuǎn)換,i=0對應(yīng)最高端,每一位的T值與其右側(cè)相鄰位的Z值求“異或非”得到轉(zhuǎn)換結(jié)果f;1.2.3對轉(zhuǎn)換結(jié)果求“或”對f的所有位求“或”;1.3本發(fā)明具體實(shí)現(xiàn)方式是粘接位計(jì)算部件由預(yù)處理邏輯、轉(zhuǎn)換邏輯、或邏輯組成,a,b首先輸入到預(yù)處理邏輯進(jìn)行預(yù)處理,得到向量T和Z,然后將向量T和Z輸入到轉(zhuǎn)換邏輯進(jìn)行轉(zhuǎn)換得到標(biāo)識向量f,最后標(biāo)識向量f送到或邏輯,得到粘接位sticky的值。
2.如權(quán)利要求1所述的并行粘接位計(jì)算部件設(shè)計(jì)方法,其特征在于所述預(yù)處理邏輯由m個(gè)“異或”門和m個(gè)“或非”門組成,a的每一位都與b的對應(yīng)位同時(shí)輸入到“異或”門和“或非”門,即a0和b0輸入到第一個(gè)“或非”門得到Z0,同時(shí)a0和b0輸入到第一個(gè)“異或”門得到T0,……ai和bi輸入到第i+1個(gè)“或非”門得到Zi,同時(shí)ai和bi輸入到第i+1個(gè)“異或”門得到Ti……am-1和bm-1輸入到第m個(gè)“或非門”得到Zm-1,同時(shí)am-1和bm-1輸入到第m個(gè)“異或”門得到Tm-1,a和b的對應(yīng)位經(jīng)過“或非”邏輯得到Z;a和b對應(yīng)的位經(jīng)過“異或”邏輯得到T。
3.如權(quán)利要求1所述的并行粘接位計(jì)算部件設(shè)計(jì)方法,其特征在于所述轉(zhuǎn)換邏輯由m-1個(gè)“異或非”門組成,從預(yù)處理邏輯輸出的兩個(gè)矢量Z、T,每位的T值與其右側(cè)相鄰位的Z值輸入到一個(gè)“異或非”門,即T0和Z1輸入到第一個(gè)“異或非”門,從第一個(gè)“異或非”門輸出f0,……,Ti和Zi+1輸入到第i+1個(gè)“異或非”門,從第i+1個(gè)“異或非”門輸出fi、……Tm-2和Zm-1輸入到第m-1個(gè)“異或非”門,從第m-1個(gè)“異或非”門輸出fm-2,從預(yù)處理出來的T和Z經(jīng)過轉(zhuǎn)換邏輯得到一個(gè)m-1位的矢量f。
全文摘要
本發(fā)明公開了一種并行粘接位計(jì)算部件設(shè)計(jì)方法,要解決的技術(shù)問題是采用一種并行計(jì)算粘接位的方法設(shè)計(jì)粘接位計(jì)算部件,使兩個(gè)操作數(shù)的求和與計(jì)算粘接位并發(fā)執(zhí)行,減少粘接位計(jì)算的延時(shí)。技術(shù)方案是首先對兩個(gè)加數(shù)的舍入位右側(cè)的m位進(jìn)行預(yù)處理,得到進(jìn)位傳播值T和零值Z;然后對預(yù)處理的結(jié)果T和Z進(jìn)行轉(zhuǎn)換,得到轉(zhuǎn)換結(jié)果f,對轉(zhuǎn)換的結(jié)果的求“或”即得出粘接位的值;粘接位計(jì)算部件由預(yù)處理邏輯、轉(zhuǎn)換邏輯或邏輯組成,預(yù)處理邏輯由m個(gè)“異或”門和m個(gè)“或非”門組成,轉(zhuǎn)換邏輯由m-1個(gè)“異或非”門組成。采用本發(fā)明的粘接位計(jì)算部件來實(shí)現(xiàn)粘接位計(jì)算比傳統(tǒng)技術(shù)中的粘接位計(jì)算部件進(jìn)行粘接位計(jì)算減少了log
文檔編號G06F7/50GK1570846SQ20041002318
公開日2005年1月26日 申請日期2004年5月12日 優(yōu)先權(quán)日2004年5月12日
發(fā)明者郝志剛, 曾獻(xiàn)君, 劉鵬俠, 邢座程, 張民選, 蔣江, 李勇, 鄧讓鈺, 李晉文, 劉軍, 劉龍, 胡建國, 馬馳遠(yuǎn), 衣曉飛, 陳海燕 申請人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)