<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于IEEE 754的浮點數(shù)存儲格式分析研究

          基于IEEE 754的浮點數(shù)存儲格式分析研究

          作者: 時間:2012-06-04 來源:網(wǎng)絡 收藏

          一般地,32位字的第0位存放小數(shù)f的最低有效位LSB(the least significant bit),第22位存放小數(shù)f的最高有效位MSB(the most significant bit);第23位存放偏置指數(shù)的最低有效位LSB,第30位存放偏置指數(shù)的最高有效位MSB;最高位,第31位存放符號s。

          3.2 雙精度格式

          雙精度浮點格式共64位,占2個連續(xù)32位字,包含三個構成字段:52位的小數(shù)f,11位的偏置指數(shù)e,1位的符號位s。將這2個連續(xù)的32位字整體作為一個64位的字,進行重新編號。其中0:51位包含52位的小數(shù)f;52:62位包含11位的偏置指數(shù)e;而最高位,第63位包含符號位s。如圖2所示。

          圖 2 雙精度格式

          f[31:0]存放小數(shù)f的低32位,其中第0位存放整個小數(shù)f的最低有效位LSB,第31位存放小數(shù)f的低32位的最高有效位MSB。

          在另外的32位的字里,第0 到19位,即f[51:32],存放小數(shù)f的最高的20位,其中第0位存放這20位最高有效數(shù)中的最低有效位LSB,第19位存放整個小數(shù)f的最高有效位MSB。第20到30位,即e[52:62],存放11位的偏置指數(shù)e,其中第20位存放偏置指數(shù)的最低有效位LSB,第30位存放最高有效位MSB。最高位,第31位存放符號位s。

          在Intel x86結構計算機中,數(shù)據(jù)存放采用小端法(little endian),故較低地址的32位的字中存放小數(shù)f的f[31:0]位。而在在SPARC結構計算機中,因其數(shù)據(jù)存放采用大端法(big endian),故較高地址的32位字中存放小數(shù)f的f[31:0]位。

          3.3 擴展雙精度格式

          ⑴ 擴展雙精度格式(SPARC 結構計算機)

          該4倍精度浮點環(huán)境符合關于擴展雙精度格式的定義。該浮點環(huán)境的4倍精度浮點格式共128位,占4個連續(xù)32位字,包含3個構成字段:112位的小數(shù)f,15位的偏置指數(shù)e,和1位的符號s。將這4個連續(xù)的32位字整體作為一個128位的字,進行重新編號。其中0:110位包含小數(shù)f;112:126位包含偏置指數(shù)e;第127位包含符號位s。如圖3所示。

          在SPARC結構計算機中,地址最高的32位字存放小數(shù)的32位最低有效位,即f[31:0];但是在PowerPC結構計算機中,卻是地址最低的32位字存放這些位。

          緊鄰的兩個32位字(在SPARC機中向下計算,在PowerPC機中向上計算)分別存放f[63:32]和f[95:64]。

          最后一個字的第0到15位存放小數(shù)的最高16位,即f[111:96]。其中第0位存放該16位的最低有效位,第15位存放整個小數(shù)f的最高有效位。第16到30位存放15位的偏置指數(shù)e,其中第16位存放偏置指數(shù)的最低有效位,第30位存放它的最高有效位。最高位,第31位存放符號s。

          圖 3 擴展雙精度格式 (SPARC 結構計算機)

          ⑵ 擴展雙精度格式(Intel x86結構計算機)

          該浮點環(huán)境雙精度擴展格式符合雙精度擴展格式的定義。該浮點環(huán)境的擴展雙精度格式共80位,占3個連續(xù)32位字,包含四個構成字段:63位的小數(shù)f,1位顯式前導有效位(explicit leading significand bit)j,15位偏置指數(shù)e,和1位符號位s。將這3個連續(xù)的32位字整體作為一個96位的字,進行重新編號。其中0:63包含63位的小數(shù)f,第63位包含前導有效位j,64:78位包含15位的偏置指數(shù)e,最高位第79位包含符號位s。

          在Intel結構系計算機中,這些字段依次存放在十個連續(xù)的字節(jié)中。但是,由于 UNIX System V Application Binary Interface Intel 386 Processor Supplement (Intel ABI) 要求雙精度擴展參數(shù),從而占用堆棧中3個相連地址的32位字,其中最高一個字的高16位未被使用,如圖4所示。

          圖4 擴展雙精度格式(Intel x86結構計算機)

          地址最低的32位字存放小數(shù)f的低32位,即f[31:0]。其中第0位存放整個小數(shù)f的最低有效位LSB 第31位存放小數(shù)低32位的最高有效位MSB。

          地址居中的32位字,第0到30位存放小數(shù)f的31位最高位,即f[62:32]。其中第0位存放31位最高小數(shù)位的最低有效位LSB,第30位存放整個小數(shù)的最高有效位,地址居中的32位字的最高位第31位存放顯式的前導有效位j。

          地址最高32位字里,第0到14位存放15位的偏置指數(shù)e,第0位存放偏置指數(shù)的最低有效位LSB,第14位存放最高有效位MSB,第15位存放符號位s。雖然地址最高的32位字的高16位在Intel x86結構系列機種未被使用,但他們對符合Intel ABI的規(guī)定來說,是必需的。

          4 總結

          以上討論了Intel x86、Power PC和SPARC平臺上使用的三種IEEE 754格式及其存儲格式,下面對的相關參數(shù)進行總結,具體見表2。

          1.jpg

          參考文獻

          [1] David Goldberg with Doug Priest. What Every Computer Scientist Should Know about Floating-Point Arithmetic. http://grouper.ieee.org/

          [2] Sun Corporation.Numerical Computation Guide, pp1-11. http://docs.sun.com

          [3] Randal E.Bryant,David O#39;Hallaron. Computer Systems Aprogrammer’s Perspective(英文版) [M] .北京:電子工業(yè)出版社,2004

          [4]David A. Patterson, John L. Hennessy.Computer Organization Design: The Hardware/Software Interface. (英文版 第二版) [M] . 北京:機械工業(yè)出版社,1999.275~321



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();