亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于補(bǔ)碼舍入的浮點(diǎn)加法裝置的制作方法

文檔序號(hào):6579048閱讀:213來(lái)源:國(guó)知局

專利名稱::基于補(bǔ)碼舍入的浮點(diǎn)加法裝置的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種微處理器體系結(jié)構(gòu)設(shè)計(jì),尤其涉及浮點(diǎn)運(yùn)算部件。技術(shù)背景,浮點(diǎn)運(yùn)算在現(xiàn)實(shí)生活中無(wú)處不在,科學(xué)運(yùn)算、信號(hào)處理、媒體應(yīng)用、信息通訊等都需要大量的浮點(diǎn)運(yùn)算。20世紀(jì)80年代之前,各家計(jì)算機(jī)廠商在支持浮點(diǎn)運(yùn)算方面的規(guī)則不盡相同,這給浮點(diǎn)應(yīng)用在不同計(jì)算機(jī)平臺(tái)上的移植帶來(lái)了很大的不變。為此,IEEE于1985年提出了一套浮點(diǎn)運(yùn)算標(biāo)準(zhǔn)《IEEE-754forBinaryFloat-pointArithmetic)),現(xiàn)己成為國(guó)際通用標(biāo)準(zhǔn)。在這個(gè)標(biāo)準(zhǔn)中,提出了單精度、雙精度、擴(kuò)展單精度、擴(kuò)展雙精度四種浮點(diǎn)表示格式,并具體定義了浮點(diǎn)運(yùn)算、舍入模式以及運(yùn)算異常的處理等。在所有浮點(diǎn)運(yùn)算里面,浮點(diǎn)加減法運(yùn)算最為頻繁,平均占到了浮點(diǎn)運(yùn)算總量的50%-60%,因此設(shè)計(jì)一款簡(jiǎn)單、有效的浮點(diǎn)加減法部件非常重要。最基本的浮點(diǎn)力口減法可參考D.A.PattersonandJ丄.Henessy,ComputerArchitecture~AQuantitativeApproach,MorganKaufmannPublishers,Secondedition(1996),主要包括以下八個(gè)步驟1.計(jì)算兩個(gè)浮點(diǎn)數(shù)的指數(shù)差2.根據(jù)兩個(gè)浮點(diǎn)數(shù)的指數(shù)差右移指數(shù)小的浮點(diǎn)數(shù)的尾數(shù),實(shí)現(xiàn)對(duì)階3.尾數(shù)求和4.如果尾數(shù)和是負(fù)數(shù),對(duì)尾數(shù)和求補(bǔ)碼5.尾數(shù)和中第一個(gè)1的位置檢測(cè)6.尾數(shù)和規(guī)格化7.舍入8.如果舍入造成結(jié)果移出,重新規(guī)格化.其中,第四個(gè)步驟是如果尾數(shù)和是負(fù)數(shù),對(duì)尾數(shù)和求補(bǔ)碼。這個(gè)操作需要一個(gè)取補(bǔ)碼器,取補(bǔ)碼器實(shí)質(zhì)上是一個(gè)加法器,這不僅帶來(lái)硬件資源的增加,也造成了浮點(diǎn)加法時(shí)延的變長(zhǎng)。所以在一般的浮點(diǎn)加減法實(shí)現(xiàn)中,會(huì)在上述步驟2通過(guò)指數(shù)差的大小判斷兩個(gè)浮點(diǎn)數(shù)的大小。如果第一浮點(diǎn)數(shù)的指數(shù)減去第二浮點(diǎn)數(shù)的指數(shù)的結(jié)果為正,表示第一浮點(diǎn)數(shù)大于第二浮點(diǎn)數(shù),則在步驟三中用第一浮點(diǎn)數(shù)的尾數(shù)加/減第二浮點(diǎn)數(shù)的尾數(shù);如果第一浮點(diǎn)數(shù)的指數(shù)減去第二浮點(diǎn)數(shù)的指數(shù)的結(jié)果為負(fù),表示第一浮點(diǎn)數(shù)小于第二浮點(diǎn)數(shù),則在步驟三中用第二浮點(diǎn)數(shù)的尾數(shù)加/減第一浮點(diǎn)數(shù)的尾數(shù),以保證尾數(shù)和為正;如果第一浮點(diǎn)數(shù)的指數(shù)減去第二浮點(diǎn)數(shù)的指數(shù)的結(jié)果為零,則不去判斷尾數(shù)的大小,在步驟三中用第一浮點(diǎn)數(shù)的尾數(shù)加/減第二浮點(diǎn)數(shù)的尾數(shù)。這個(gè)過(guò)程雖然可以避免上述步驟四的當(dāng)尾數(shù)和為負(fù)時(shí)的敏補(bǔ)碼操作,但是卻為步驟七的舍入帶來(lái)了報(bào)大的麻煩。從理論上分析,為了保證舍入需要的信息位不丟失,在浮點(diǎn)減法時(shí),需要將大的浮點(diǎn)數(shù)減去移位對(duì)階之后的小的浮點(diǎn)數(shù),再對(duì)這個(gè)全信息的減法結(jié)果進(jìn)行舍入。這種實(shí)現(xiàn)方式既帶來(lái)了龐大的硬件邏輯(對(duì)于雙精度減法而言,需要106位的減法器,對(duì)于單精度而言需要46的減法器),又使得浮點(diǎn)減法的時(shí)延變差。所以在實(shí)際的浮點(diǎn)減法實(shí)現(xiàn)中,考慮到浮點(diǎn)減法需要舍入的情況,一是浮點(diǎn)減法不借位時(shí)需要舍入,一是浮點(diǎn)減法要借一位需要舍入,降低了尾數(shù)加法器的大小(對(duì)于單精度浮點(diǎn)減法需要24位,雙精度浮點(diǎn)減法需要54位)。雖然通過(guò)進(jìn)一步改進(jìn)帶來(lái)了硬件資源上的節(jié)約,但是基于浮點(diǎn)減法不同借位情況下浮點(diǎn)舍入的判斷,依然需要在尾數(shù)加法器的操作數(shù)準(zhǔn)備上以及最后的舍入判斷上做復(fù)雜的、機(jī)制不統(tǒng)一的操作和判斷。這不僅增加了設(shè)計(jì)的邏輯復(fù)雜度,也對(duì)設(shè)計(jì)者提出了很高的要求,因?yàn)樵O(shè)計(jì)者需要謹(jǐn)慎思考一些特殊情況下的浮點(diǎn)減法舍入問(wèn)題。
發(fā)明內(nèi)容為了克服己有的浮點(diǎn)加法部件的機(jī)制不統(tǒng)一、邏輯復(fù)雜度高的不足,本發(fā)明提供一種機(jī)制統(tǒng)一、避免,點(diǎn)加法特有的復(fù)雜的尾數(shù)操作數(shù)準(zhǔn)備和舍入判斷邏輯、降低邏輯復(fù)雜度的基于補(bǔ)碼舍入的浮點(diǎn)加法裝置。本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是-一種基于補(bǔ)碼舍入的浮點(diǎn)加法裝置,支持浮點(diǎn)加法操作和浮點(diǎn)減法操作,所述浮點(diǎn)加法裝置包括-指數(shù)加法器,用于計(jì)算第一浮點(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差;'尾數(shù)移位器,用于根據(jù)前級(jí)輸入的指數(shù)差對(duì)指數(shù)較小的浮點(diǎn)操作數(shù)的尾數(shù)進(jìn)行移位對(duì)階;所述浮點(diǎn)加法裝置還包括尾數(shù)操作數(shù)準(zhǔn)備邏輯單元,用于根據(jù)第一浮點(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的符號(hào)位和指數(shù)差對(duì)尾數(shù)操作數(shù)進(jìn)行以下處理對(duì)于浮點(diǎn)加法操作,直接將移位對(duì)階之后的浮點(diǎn)操作數(shù)的尾數(shù)輸入尾數(shù)加法器;對(duì)于浮點(diǎn)減法操作,如果第一浮點(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差不為0,根據(jù)指數(shù)差對(duì)指數(shù)較大的浮點(diǎn)操作數(shù)的尾數(shù)取反,而指數(shù)較小的浮點(diǎn)操作數(shù)的尾數(shù)保持不變;如果第一浮點(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差為o,規(guī)定對(duì)第一浮點(diǎn)操作數(shù)的尾數(shù)保持不變,第二浮點(diǎn)操作數(shù)的尾數(shù)取反;尾數(shù)加法器,用于對(duì)前級(jí)尾數(shù)操作數(shù)準(zhǔn)備邏輯輸入的尾數(shù)求和;舍入判斷邏輯單元,根據(jù)尾數(shù)加法器輸出的最高位判斷尾數(shù)和的正負(fù),根據(jù)尾數(shù)加法器輸出的高四位確定用于舍入判斷的固著位;舍入加法器,用于對(duì)浮點(diǎn)的尾數(shù)加法結(jié)果進(jìn)行舍入,并完成對(duì)尾數(shù)和的取補(bǔ)碼操作。進(jìn)一步,所述舍入判斷邏輯根據(jù)尾數(shù)加法器輸出的最高位進(jìn)行判斷,若尾數(shù)加法結(jié)果最高位為0,表示該運(yùn)算結(jié)果為原碼且結(jié)果為正,若尾數(shù)加法結(jié)果最高位為1,表示該運(yùn)算結(jié)果為補(bǔ)碼且結(jié)果為負(fù)。再進(jìn)一步,所述舍入判斷邏輯單元包括原碼舍入判斷邏輯子單元和補(bǔ)碼舍入判斷邏輯子單元,原碼舍入加一判定邏輯和補(bǔ)碼舍入加0判斷邏輯統(tǒng)一。所述浮點(diǎn)加法裝置還包括結(jié)果規(guī)格化移位器,用于根據(jù)浮點(diǎn)表達(dá)格式對(duì)符號(hào)位和指數(shù)和尾數(shù)進(jìn)行封裝。更進(jìn)一步,所述尾數(shù)加法器是一個(gè)carry-incarry-out加法器;對(duì)于浮點(diǎn)加法,尾數(shù)加法器的carry-inbit恒取0;對(duì)于浮點(diǎn)減法,尾數(shù)加法器的carry-inbit恒取1。作為優(yōu)選的一種方案所述舍入加法器是一個(gè)進(jìn)位加法器;對(duì)于浮點(diǎn)加法,舍入加法器完成對(duì)尾數(shù)和的舍入操作;對(duì)于浮點(diǎn)減法,當(dāng)?shù)谝桓↑c(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差不為0,舍入加法器既完成對(duì)尾數(shù)和的舍入操作,又完成對(duì)尾數(shù)和的取補(bǔ)碼操作;當(dāng)?shù)谝桓↑c(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差為0,并且第一浮點(diǎn)操作數(shù)的尾數(shù)小于第二浮點(diǎn)操作數(shù)的尾數(shù),舍入加法器被復(fù)用實(shí)現(xiàn)結(jié)果的取補(bǔ)碼操作。本發(fā)明的有益效果主要表現(xiàn)在l)機(jī)制統(tǒng)一。本發(fā)明通過(guò)支持浮點(diǎn)補(bǔ)碼運(yùn)算和補(bǔ)碼舍入,實(shí)現(xiàn)了浮點(diǎn)加法和浮點(diǎn)減法的統(tǒng)一;2)邏輯設(shè)計(jì)簡(jiǎn)單。本發(fā)明通過(guò)將浮點(diǎn)加法運(yùn)算和浮點(diǎn)減法運(yùn)算統(tǒng)一,避免了復(fù)雜.的尾數(shù)操作數(shù)準(zhǔn)備以及舍入判斷邏輯;3)靈話性好。本加法器部件涉及的方法適應(yīng)于任何精度的浮點(diǎn)加減法運(yùn)算。圖1是浮點(diǎn)加法裝置在處理器及整個(gè)系統(tǒng)中的位置示意圖。圖2是浮點(diǎn)單、雙精度的數(shù)據(jù)格式的示意圖。圖3是浮點(diǎn)加法裝置的總體結(jié)構(gòu)示意圖。圖4是浮點(diǎn)加減法實(shí)現(xiàn)的流程圖。圖5是指數(shù)加法的實(shí)現(xiàn)結(jié)構(gòu)圖。圖6是尾數(shù)移位的實(shí)現(xiàn)結(jié)構(gòu)圖。圖7是兩個(gè)浮點(diǎn)操作數(shù)移位的示例圖。圖8是兩個(gè)浮點(diǎn)操作數(shù)尾數(shù)相減的示例圖。圖9是尾數(shù)操作數(shù)準(zhǔn)備邏輯及尾數(shù)求和的結(jié)構(gòu)圖。圖io是舍入判斷示意圖。圖11是舍入加法的實(shí)現(xiàn)結(jié)構(gòu)圖。具體實(shí)施方式下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。參照?qǐng)D1圖11,一種基于補(bǔ)碼舍入的浮點(diǎn)加法裝置,所述浮點(diǎn)加法裝置支持浮點(diǎn)加法操作和浮點(diǎn)減法操作,所述浮點(diǎn)加法裝置包括指數(shù)加法器,用于計(jì)算第一浮點(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差;尾數(shù)移位器,用于根據(jù)前級(jí)輸入的指數(shù)差對(duì)指數(shù)較小的浮點(diǎn)操作數(shù)的尾數(shù)進(jìn)行移位對(duì)階;所述浮點(diǎn)加法裝置還包括尾數(shù)操作數(shù)準(zhǔn)備邏輯單元,用于根據(jù)第一浮點(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的符號(hào)位和指數(shù)差對(duì)尾數(shù)操作數(shù)進(jìn)行以下處理對(duì)于浮點(diǎn)加法操作,直接將移位對(duì)階之后的浮點(diǎn)操作數(shù)的尾數(shù)輸入尾數(shù)加法器。對(duì)于浮點(diǎn)減法操作,根據(jù)指數(shù)差對(duì)指數(shù)較大的浮點(diǎn)操作數(shù)的尾數(shù)取反,而指數(shù)較小的浮點(diǎn)操作數(shù)的尾數(shù)保持不變;如果第一浮點(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差為o,規(guī)定對(duì)第一浮點(diǎn)操作數(shù)的尾數(shù)保持不變,第二浮點(diǎn)操作數(shù)的尾數(shù)取反;尾數(shù)加法器,用于對(duì)前級(jí)尾數(shù)操作數(shù)準(zhǔn)備邏輯輸入的尾數(shù)求和;舍入判斷邏輯單元,稂據(jù)尾數(shù)加法器輸出的最高位判斷尾數(shù)和的芷負(fù),根據(jù)尾數(shù)加法器輸出的高四位確定用于舍入判斷的固著位;舍入加法器,用于對(duì)浮點(diǎn)的尾數(shù)加法結(jié)果進(jìn)行舍入,并完成對(duì)尾數(shù)和的取補(bǔ)碼操作。進(jìn)一步,所述舍入判斷邏輯根據(jù)尾數(shù)加法器輸出的最高位進(jìn)行判斷,若尾數(shù)加法結(jié)果最高位為0,表示該運(yùn)算結(jié)果為原碼且結(jié)果為正,若尾數(shù)加法結(jié)果最高位為1,表示該運(yùn)算結(jié)果為補(bǔ)碼且結(jié)果為負(fù)。再進(jìn)一步,所述舍入判斷邏輯單元包括原碼舍入判斷邏輯子單元和補(bǔ)碼舍入判斷邏輯子單元,原碼舍入加一判定邏輯和補(bǔ)碼舍入加0判斷邏輯統(tǒng)一。所述舍入判斷邏輯單元包括原碼舍入判斷邏輯子單元和補(bǔ)碼舍入判斷子單元邏輯,原碼舍入加一判定邏輯單元和補(bǔ)碼舍入加0判斷邏輯單元邏輯統(tǒng)一。所述浮點(diǎn)加法裝置還包括結(jié)果規(guī)格化移位器,用于根據(jù)浮點(diǎn)表達(dá)格式對(duì)符號(hào)位和指數(shù)和尾數(shù)進(jìn)行封裝。所述尾數(shù)加法器是一個(gè)carry-incarry-out加法器;對(duì)于浮點(diǎn)加法,尾數(shù)加法.器的carry-inbit恒取0;對(duì)于浮點(diǎn)減法,—尾數(shù)加法器的carry-inbit恒取1,以實(shí)現(xiàn)對(duì)指數(shù)較大的浮點(diǎn)操作數(shù)的尾數(shù)的取補(bǔ)碼操作,同時(shí)該尾數(shù)加法器實(shí)現(xiàn)對(duì)取補(bǔ)碼之后的浮點(diǎn)操作數(shù)的尾數(shù)和另一浮點(diǎn)操作數(shù)的尾數(shù)的求和操作。所述舍入加法器是一個(gè)進(jìn)位加法器;對(duì)于浮點(diǎn)加法,舍入加法器完成對(duì)尾數(shù)和的舍入操作;對(duì)于浮點(diǎn)減法,當(dāng)?shù)谝桓↑c(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差不為0,舍入加法器既完成對(duì)尾數(shù)和的舍入操作,又完成對(duì)尾數(shù)和的取補(bǔ)碼操作;當(dāng)?shù)谝桓↑c(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差為0,并且第一浮點(diǎn)操作數(shù)的尾數(shù)小于第二浮點(diǎn)操作數(shù)的尾數(shù),舍入加法器被復(fù)用實(shí)現(xiàn)結(jié)果的取補(bǔ)碼操作。IEEE-754浮點(diǎn)標(biāo)準(zhǔn)是正EE組織在1985頒布的一個(gè)關(guān)于浮點(diǎn)數(shù)運(yùn)算的標(biāo)準(zhǔn),現(xiàn)在已經(jīng)成為國(guó)際統(tǒng)一的浮點(diǎn)標(biāo)準(zhǔn)。在這個(gè)標(biāo)準(zhǔn)里,定義了單精度、雙精度、擴(kuò)展型單精度、擴(kuò)展型雙精度四種浮點(diǎn)格式,以及定義了四種舍入模式及相關(guān)其它內(nèi)容。數(shù)據(jù)格式方面,單精度浮點(diǎn)數(shù)由1位符號(hào)位、8位帶偏指數(shù)和23位尾數(shù)組成;雙精度浮點(diǎn)數(shù)由1位符號(hào)位、11位帶偏指數(shù)和52位尾數(shù)組成。具體格式參考圖2?;谏鲜龅母↑c(diǎn)格式,任意一個(gè)浮點(diǎn)數(shù)可以表示成以下形式f屮),—(vw"V!)(式2.l)其中S表示浮點(diǎn)數(shù)的符號(hào),取0或1;E表示浮點(diǎn)數(shù)的指數(shù);b表示一位二進(jìn)制值,取0或1;P表示浮點(diǎn)數(shù)的精度。詞EI^LIEEE-754浮點(diǎn)標(biāo)準(zhǔn)定義了四種舍入模式c分別是分別為就近舍入(RoundtoNearest)、向零舍入(RoundtowardZero)、向正無(wú)窮舍入(Roundtoward+INFINITY)和向負(fù)無(wú)窮舍入(Roundtoward-INFINITY)。如下表(1)所示:<table>tableseeoriginaldocumentpage12</column></row><table>表l浮點(diǎn)加法裝置是負(fù)責(zé)對(duì)浮點(diǎn)加法和浮點(diǎn)減法進(jìn)行運(yùn)算的部件,其在處理器及計(jì)算機(jī)系統(tǒng)中的位置如圖1所示。本實(shí)施例的中的浮點(diǎn)加減法的實(shí)現(xiàn)可以分以下幾個(gè)步驟1.計(jì)算兩個(gè)浮點(diǎn)數(shù)的指數(shù)差2.根據(jù)兩個(gè)浮點(diǎn)數(shù)的指數(shù)差右移指數(shù)小的浮點(diǎn)數(shù)的尾數(shù),實(shí)現(xiàn)尾數(shù)對(duì)階.3.尾數(shù)求和4.尾數(shù)和中第一個(gè)1或者0的位置檢測(cè)5.根據(jù)舍入模式舍入6.對(duì)結(jié)果進(jìn)行規(guī)格化處理具體的浮點(diǎn)加減法運(yùn)算的流程參考圖4。在這里我們定義浮點(diǎn)加法運(yùn)算的兩個(gè)操作數(shù),第一浮點(diǎn)操作數(shù)XI教第二浮點(diǎn)操作數(shù)X2,其中每個(gè)操作數(shù)又包括三個(gè)域,分別是符號(hào)域S,指數(shù)域E和尾數(shù)域F。因此,X1二(S1,El,F(xiàn)l},X2二(S2,E2,F(xiàn)2}。指數(shù)加法器是一個(gè)carry-incarry-out的加法器,它接受兩個(gè)操作數(shù)的指數(shù)El和E2,并完成El-E2的操作。為了表示指數(shù)加法結(jié)果的正負(fù),需要對(duì)指數(shù)擴(kuò)展一位符號(hào)位。因此,就有E差=E1-E2二{0,E1}-{0,E2}二{0,E1}+{0,E2}補(bǔ)={0,E1}。最高位是符號(hào)位,表示減法結(jié)果的正負(fù)。如果最高位位0,表示E1大于等于E2,El-E2=ES;否則E1小于E2,E2-El^-Ej^I^+l。具體參考圖移位器是一個(gè)N位(單精度N=24,雙精度N二53)的右移桶式移位器,它接受指數(shù)加法器輸入的指數(shù)差,并根據(jù)指數(shù)差對(duì)指數(shù)較小的浮點(diǎn)數(shù)進(jìn)行右移,以實(shí)現(xiàn)對(duì)階。如果E,為正,表示E1大于等于E2,那么移位器對(duì)選擇對(duì)第二操作數(shù)的尾數(shù)進(jìn)行移位,需要右移的尾數(shù)為E^,此過(guò)程是圖6的①;如果Eg為負(fù),表示E1小于E2,那么移位器對(duì)選擇對(duì)第一操作數(shù)的尾數(shù)進(jìn)行移位,需要右移的位數(shù)是E2-E1二E2-E1=-ES=I^+1??紤]到當(dāng)E^為負(fù)時(shí),移位器需要移位的距離是1^+1,為了節(jié)省一個(gè)加l加法器的硬件資源,此時(shí)對(duì)移位進(jìn)行特殊的處理。將移位對(duì)階過(guò)程分為兩個(gè)階段,第一階段是53位的右移桶式移位器,需要右移的距離是i^,此過(guò)程是圖6的①,第二階段是繼續(xù)右移一位,此時(shí)只需要一個(gè)選擇器此過(guò)程是圖6的②。通過(guò)在E^為負(fù)的情況下,將移位對(duì)階的過(guò)程分解成兩步執(zhí)行,減少了一個(gè)加法器,節(jié)約了硬件成本。經(jīng)過(guò)移位對(duì)階之后,我們定義浮點(diǎn)操作數(shù)的尾數(shù)分別是和F;和F;。當(dāng)E^為正時(shí),F(xiàn);即為F1,巧'是F2右移對(duì)階之后的值;當(dāng)E^為負(fù)時(shí),巧'是F1右移對(duì)階之后的值,《即為F2。具體移位器的實(shí)現(xiàn)如圖6所示。圖7是尾數(shù)移位對(duì)階的樣例。尾數(shù)操作數(shù)準(zhǔn)備邏輯,接受移位對(duì)階之后的兩個(gè)浮點(diǎn)操作數(shù)的尾數(shù),并對(duì)它們進(jìn)行準(zhǔn)備提供給后級(jí)的尾數(shù)加法器。操作數(shù)準(zhǔn)備邏輯的目標(biāo)是實(shí)現(xiàn)浮點(diǎn)加減法的統(tǒng)一。對(duì)于加法運(yùn)算Xl+X2,尾數(shù)加法器需要實(shí)現(xiàn)F;+F;,此時(shí)操作數(shù)準(zhǔn)備邏輯不做任何的操作,直接將移位器輸入的尾數(shù)旁路給后面的尾數(shù)加法器,同時(shí)保留移出的Eg位的位信息以為后面做舍入。對(duì)寧減法運(yùn)算X1-X2,尾數(shù)加法器需要完成F一F;(XKX2)或者F;-F:(X1〉X2)。為了將浮點(diǎn)減法與浮點(diǎn)加法統(tǒng)一,本專利對(duì)尾數(shù)減法采取補(bǔ)碼形式實(shí)現(xiàn),即Fl-F2=Fl+g+l。當(dāng)?shù)谝桓↑c(diǎn)操作數(shù)XI大于第二浮點(diǎn)操作數(shù)X2時(shí),為了保留全部信息位供后面的舍入,尾數(shù)加法器需要2N的位寬來(lái)實(shí)現(xiàn)(單精度N二24,雙精度N二53),如圖8所示。為了節(jié)省尾數(shù)加法器資源和獲得良好的時(shí)延性能,操作數(shù)準(zhǔn)備邏輯在此做了特殊的優(yōu)化處理,此時(shí),操作數(shù)準(zhǔn)備邏輯調(diào)整兩個(gè)尾數(shù)的位置,總是讓小的尾數(shù)減去大的尾數(shù)。當(dāng)E^為正,Xl-X2=(F;-F()二(F1-F:)二一(F;+F1補(bǔ))=—(F(+^+1),操作數(shù)準(zhǔn)備邏輯將F;作為尾數(shù)加法器的源1,將巧即將Fl取反作為尾數(shù)加法器的源2。當(dāng)E差為負(fù),XI-X2二F廣F;二F;-F;二F;+g+1,操作數(shù)準(zhǔn)備邏輯將F;作為尾數(shù)加法器的源1,將g即將F2取反作為尾數(shù)加法器的源2。當(dāng)E^為零時(shí),此時(shí)兩個(gè)浮點(diǎn)操作數(shù)的指數(shù)相等,操作數(shù)準(zhǔn)備邏輯不比較兩個(gè)浮點(diǎn)操作數(shù)的尾數(shù)大小,而是按照Fl-F2=Fl+g+l,將Fl作為尾數(shù)加法器的源1,將作為尾數(shù)加法器的源2。具體的尾數(shù)操作數(shù)準(zhǔn)備邏輯如圖9所示。將尾數(shù)操作數(shù)準(zhǔn)備邏輯輸出的操作數(shù)定義為g二和F;'。..—尾數(shù)加法器是一個(gè)carry-incarry-out的加法器,它接受尾數(shù)操作數(shù)準(zhǔn)備邏輯提供的兩路操作源,并將其相加。為了表示尾數(shù)加法結(jié)果的正負(fù)以及加法結(jié)果的進(jìn)位情況,需要對(duì)尾數(shù)操作數(shù)擴(kuò)展兩位,一位是符號(hào)位,一位是進(jìn)位指示位。對(duì)于浮點(diǎn)加法來(lái)詢,尾數(shù)加法器的carry-in始終為0;對(duì)于浮點(diǎn)減法來(lái)說(shuō),尾數(shù)加法器的carry-in始終為1。因此,就有尾數(shù)和二F;'+F)+cin^0,0,巧"}+{0/1,0/1,F(xiàn)(}+Cin。尾數(shù)和的最高位是符號(hào)位,表示尾數(shù)結(jié)果的正負(fù),最高位為0,表示尾數(shù)和為正,最高位為l,表示尾數(shù)和為負(fù)。具體參考圖9所示。舍入判斷邏輯根據(jù)尾數(shù)加法器的結(jié)果,完成對(duì)尾數(shù)運(yùn)算的舍入判斷。其基本工作原理是,當(dāng)結(jié)果是正數(shù)時(shí),從最高位開(kāi)始找第一個(gè)l,這個(gè)1往后的第N位(單精度是24,雙精度是53)以后用于舍入判斷;當(dāng)結(jié)果是負(fù)值時(shí),從最高位開(kāi)始找第一個(gè)0,這個(gè)O往后的第N(單精度是24,雙精度是53)位以后用于舍入判斷。為了舍入判斷加快找第一個(gè)有效數(shù)的過(guò)程,舍入判斷邏輯只需要對(duì)尾數(shù)和的前四位進(jìn)行判斷。通過(guò)對(duì)尾數(shù)和的最高位進(jìn)行判斷,最高位為o表示浮點(diǎn)加法,最高位為1表示浮點(diǎn)減法。對(duì)浮點(diǎn)加法而言,尾數(shù)相加只有兩種情況,要么進(jìn)一位要么不進(jìn)位;對(duì)浮點(diǎn)減法而言,屬數(shù)相減只有兩種情況,要么借一位要么不借位。具體的過(guò)程如圖10和圖11所示。在此定義,用于舍入判斷的操作數(shù)稱為固著位,用f表示,參與舍入操作的操作數(shù)最低位為F。。具體的舍入判斷邏輯如下一、當(dāng)尾數(shù)和為正時(shí),通過(guò)判斷固著位的大小,進(jìn)行舍入(1)當(dāng)舍入模式為向零舍入時(shí),舍入加0;(2)當(dāng)舍入模式為向向正無(wú)窮舍入時(shí),當(dāng)浮點(diǎn)加法結(jié)果為正時(shí),舍入加l,當(dāng)浮點(diǎn)加法結(jié)果為負(fù)時(shí),舍入加0;(3)當(dāng)舍入模式為向向負(fù)無(wú)窮舍入時(shí),當(dāng)浮點(diǎn)加法結(jié)果為負(fù)時(shí),舍入加l,當(dāng)浮點(diǎn)加法結(jié)果為正時(shí),舍入加0;(4)當(dāng)舍入模式為向零舍入時(shí),固著位大于0.5或者固著位等于0.5并且舍入操作數(shù)的最低位為1時(shí),舍入加1,固著位小于0.5或者固著位等于0.5并且舍入操作數(shù)的最低位為0時(shí),舍入加O。用等式可表示為-舍入+1=((舍入模式==正無(wú)窮)&&!符號(hào)位II(舍入模式=二負(fù)無(wú)窮)腿符號(hào)位II(舍入模式==就近舍入)&&^〉0.5|I(f==0.5)&&F。))&&(f!=0);二、當(dāng)尾數(shù)和為負(fù)時(shí),通過(guò)判斷固著位的大小,進(jìn)行舍入(1)當(dāng)舍入模式為向零舍入時(shí),舍入加0;(2)當(dāng)舍入模式為向向正無(wú)窮舍入時(shí),當(dāng)浮點(diǎn)加法結(jié)果為正時(shí),舍入加0,當(dāng)浮點(diǎn)加法結(jié)果為正時(shí),舍入加l;(S)當(dāng)舍入模式為向向負(fù)無(wú)窮舍入時(shí),當(dāng)浮點(diǎn)加法結(jié)果為負(fù)時(shí),舍.入加0,當(dāng)浮點(diǎn)加法結(jié)果為正時(shí),舍入加l;(4)當(dāng)舍入模式為向零舍入時(shí),固著位大于0.5或者固著位等于0.5并且尾數(shù)和的最低位為1時(shí),舍入加0,固著位小于0.5或者固著位等于0.5并且尾數(shù)和的最低位為0時(shí),舍入加l。用等式可表示為舍入+0二I(舍入模式=二向零舍入)II(舍入模式=二正無(wú)窮)&&!符號(hào)位II(舍入模式=二負(fù)無(wú)窮)&&符號(hào)位II(舍入模式==就近舍入)腿(f>0.5II(f:=0.5)&&F。))(f!=0);舍入判斷邏輯包括了原碼舍入判斷邏輯和補(bǔ)碼舍入判斷邏輯,基于以上的分析,原碼舍入加一判斷邏輯和補(bǔ)碼舍入加零判斷邏輯的條件基本一樣,因此邏輯上可以統(tǒng)一?;谶@樣的設(shè)計(jì),大大簡(jiǎn)化了浮點(diǎn)加減法設(shè)計(jì)中復(fù)雜的舍入判斷邏輯。舍入加法器是一個(gè)進(jìn)位加法器。當(dāng)尾數(shù)和為正值的情況,舍入邏輯及舍入加法器協(xié)同工作完成對(duì)其尾數(shù)和的舍入,此時(shí)只需把操作數(shù)的尾數(shù)直接輸入給舍入加法器即可。但當(dāng)尾數(shù)和為負(fù)的情況,舍入邏輯及舍入加法器除了完成舍入操作之外,也并行實(shí)現(xiàn)了取補(bǔ)碼的操作。因?yàn)槿⊙a(bǔ)碼的過(guò)程是對(duì)尾數(shù)和取反加一,前面的舍入判斷邏輯已經(jīng)對(duì)固著位取反加一之后的舍入情況進(jìn)行了判斷,所以為了同時(shí)完成對(duì)其的取補(bǔ)碼操作,需要對(duì)舍入操作數(shù)取反碼,此時(shí)需要將舍入操作數(shù)取反之后再輸入給舍入加法器。整個(gè)舍入加法器及舍入邏輯如圖11所不o舍入加法器的輸出就是浮點(diǎn)加減運(yùn)算舍入的結(jié)果,接下來(lái)的操作就是對(duì)浮點(diǎn)加減法結(jié)果的封裝,此時(shí)需要按照浮點(diǎn)標(biāo)準(zhǔn)格式將符號(hào)位和指數(shù)和尾數(shù)進(jìn)行封裝。權(quán)利要求1、一種基于補(bǔ)碼舍入的浮點(diǎn)加法裝置,支持浮點(diǎn)加法操作和浮點(diǎn)減法操作,所述浮點(diǎn)加法裝置包括指數(shù)加法器,用于計(jì)算第一浮點(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差;尾數(shù)移位器,用于根據(jù)前級(jí)輸入的指數(shù)差對(duì)指數(shù)較小的浮點(diǎn)操作數(shù)的尾數(shù)進(jìn)行移位對(duì)階;其特征在于所述浮點(diǎn)加法裝置還包括尾數(shù)操作數(shù)準(zhǔn)備邏輯單元,用于根據(jù)第一浮點(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的符號(hào)位和指數(shù)差對(duì)尾數(shù)操作數(shù)進(jìn)行以下處理對(duì)于浮點(diǎn)加法操作,直接將移位對(duì)階之后的浮點(diǎn)操作數(shù)的尾數(shù)輸入尾數(shù)加法器;對(duì)于浮點(diǎn)減法操作,如果第一浮點(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差不為0,根據(jù)指數(shù)差對(duì)指數(shù)較大的浮點(diǎn)操作數(shù)的尾數(shù)取反,而指數(shù)較小的浮點(diǎn)操作數(shù)的尾數(shù)保持不變;如果第一浮點(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差為0,規(guī)定對(duì)第一浮點(diǎn)操作數(shù)的尾數(shù)保持不變,第二浮點(diǎn)操作數(shù)的尾數(shù)取反;尾數(shù)加法器,用于對(duì)前級(jí)尾數(shù)操作數(shù)準(zhǔn)備邏輯輸入的尾數(shù)求和;舍入判斷邏輯單元,根據(jù)尾數(shù)加法器輸出的最高位判斷尾數(shù)和的正負(fù),根據(jù)尾數(shù)加法器輸出的高四位確定用于舍入判斷的固著位;舍入加法器,用于對(duì)浮點(diǎn)的尾數(shù)加法結(jié)果進(jìn)行舍入,并完成對(duì)尾數(shù)和的取補(bǔ)碼操作。2.根據(jù)權(quán)利要求1所述的基于補(bǔ)碼舍入的浮點(diǎn)加法裝置,其特征在于所述舍入判斷邏輯根據(jù)尾數(shù)加法器輸出的最高位進(jìn)行判斷,若尾數(shù)加法結(jié)果最高位為0,表示該運(yùn)算結(jié)果為原碼且結(jié)果為正,若尾數(shù)加法結(jié)果最高位為l,表示該運(yùn)算結(jié)果為補(bǔ)碼且結(jié)果為負(fù)。3、如權(quán)利要求1所述的基于補(bǔ)碼舍入的浮點(diǎn)加法裝置,其特征在于所述舍入判斷邏輯單元包括原碼舍入判斷邏輯子單元和補(bǔ)碼舍入判斷邏輯子單元,原碼舍入加一判定邏輯和補(bǔ)碼舍入加0判斷邏輯邏輯統(tǒng)4、如權(quán)利要求2所述的基于補(bǔ)碼舍入的浮點(diǎn)加法裝置,其特征在于所述舍入判斷邏輯單元包括原碼舍入判斷邏輯子單元和補(bǔ)碼舍入判斷邏輯子單元,原碼舍入加一判定邏輯和補(bǔ)碼舍入加0判斷邏輯統(tǒng)一。5、如權(quán)利要求1一4之一所述的基于補(bǔ)碼舍入的浮點(diǎn)加法裝置,其特征在于.所述浮點(diǎn)加法裝置還包括.結(jié)果規(guī)格化移位器,用于根據(jù)浮點(diǎn)表達(dá)格式對(duì)符號(hào)位和指數(shù)和尾數(shù)進(jìn)行封裝。6、如權(quán)利要求1—4之一所述的基于補(bǔ)碼舍入的浮點(diǎn)加法裝置,其特征在于所述尾數(shù)加法器是一個(gè)carry-incarry-out加法器;對(duì)于浮點(diǎn)加法,尾數(shù)加法器的carry-inbit恒取0;對(duì)于浮點(diǎn)減法,尾數(shù)加法器的carry-inbit恒取1。7、如權(quán)利要求1—4之一所述的基于補(bǔ)碼舍入的浮點(diǎn)加法裝置,'其特征在于所述舍入加法器是一個(gè)進(jìn)位加法器;對(duì)于浮點(diǎn)加法,舍入加法器完成對(duì)尾數(shù)和的舍入操作;對(duì)于浮點(diǎn)減法,當(dāng)?shù)谝桓↑c(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差不為0,舍入加法器既完成對(duì)尾數(shù)和的舍入操作,又完成對(duì)尾數(shù)和的取補(bǔ)碼操作;當(dāng)?shù)谝桓↑c(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差為0,并且第一浮點(diǎn)操作數(shù)的尾數(shù)小于第二浮點(diǎn)操作數(shù)的尾數(shù),舍入加法器被復(fù)用實(shí)現(xiàn)結(jié)果的取補(bǔ)碼操作。8、如權(quán)利要求5所述的基于補(bǔ)碼舍入的浮點(diǎn)加法裝置,其特征在于所述舍入加法器是一個(gè)進(jìn)位加法器;對(duì)于浮點(diǎn)加法,舍入加法器完成對(duì)尾數(shù)和的舍入操作;對(duì)于浮點(diǎn)減法,當(dāng)?shù)谝桓↑c(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差不為o,舍入加法器既完成對(duì)尾數(shù)和的舍入操作,又完成對(duì)尾數(shù)和的取補(bǔ)碼操作;當(dāng)?shù)谝桓↑c(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差為0,并且第一浮點(diǎn)操作數(shù)的尾數(shù)小于第二浮點(diǎn)操作數(shù)的尾數(shù),舍入加法器被復(fù)用實(shí)現(xiàn)結(jié)果的取補(bǔ)碼操作。9、如權(quán)利要求6所述的基于補(bǔ)碼舍入的浮點(diǎn)加法裝置,其特征在于所述舍入加法器是一個(gè)進(jìn)位加法器;對(duì)于浮點(diǎn)加法,舍入加法器完成對(duì)尾數(shù)和的舍入操作;對(duì)于浮點(diǎn)減法,當(dāng)?shù)谝桓↑c(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差不為0,舍入加法器既完成對(duì)尾數(shù)和的舍入操作,又完成對(duì)尾數(shù)和的取補(bǔ)碼操作;當(dāng)?shù)谝桓↑c(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的指數(shù)差為0,并且第一浮點(diǎn)操作數(shù)的尾數(shù)小于第二浮點(diǎn)操作數(shù)的尾數(shù),舍入加法器被復(fù)用實(shí)現(xiàn)結(jié)果的取補(bǔ)碼操作。全文摘要一種基于補(bǔ)碼舍入的浮點(diǎn)加法裝置,支持浮點(diǎn)加法操作和浮點(diǎn)減法操作,浮點(diǎn)加法裝置包括指數(shù)加法器、尾數(shù)移位器和尾數(shù)操作數(shù)準(zhǔn)備邏輯單元,用于根據(jù)第一浮點(diǎn)操作數(shù)和第二浮點(diǎn)操作數(shù)的符號(hào)位和指數(shù)差對(duì)尾數(shù)操作數(shù)進(jìn)行處理,尾數(shù)加法器,舍入判斷邏輯單元,對(duì)尾數(shù)加法結(jié)果進(jìn)行統(tǒng)一的舍入判斷根據(jù)尾數(shù)加法器輸出的最高位判斷尾數(shù)和的正負(fù);根據(jù)尾數(shù)加法器輸出的高四位確定用于舍入判斷的固著位;統(tǒng)一原碼舍入加一判定邏輯和補(bǔ)碼舍入加0判斷邏輯;以及舍入加法器,用于用于對(duì)浮點(diǎn)的尾數(shù)加法結(jié)果進(jìn)行舍入,并完成對(duì)尾數(shù)和的取補(bǔ)碼操作。本發(fā)明機(jī)制統(tǒng)一,避免了浮點(diǎn)加法特有的復(fù)雜的尾數(shù)操作數(shù)準(zhǔn)備和舍入判斷邏輯、降低了邏輯復(fù)雜度。文檔編號(hào)G06F7/50GK101650642SQ20091015250公開(kāi)日2010年2月17日申請(qǐng)日期2009年9月11日優(yōu)先權(quán)日2009年9月11日發(fā)明者嚴(yán)曉浪,孟建熠,葛海通,陳志堅(jiān)申請(qǐng)人:杭州中天微系統(tǒng)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1