ch04 中央處理單元的運算系統.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浮點格式的加減法(負值) 在正值與負值做相加或相減運算時,要注意浮點格式的負值不是用2的補數表示,而是直接用正負號值設定,所以檢查兩計算值的正負號,是運算時首要的動作,而若兩數一是正值而另一是負值,造成加法運算用減法,減法運算用加法。計算完成後,再調整結果值為標準格式。 浮點格式的乘除法計算 浮點格式的乘法與除法電路是很複雜的。首先要將兩個浮點格式值的有效值部份與指數部份分開,在乘法時進行兩個有效值的相乘,及指數值的相加,在除法時進行兩個有效值的相除,及指數值的相減;最後的結果值要回復成標準的浮點格式。 數值運算電路 實數運算即浮點格式的算術運算,它要比整數運算複雜得多;在電路設計時,有的是在CPU內另設浮點運算電路又稱數值運算電路,早期也有在CPU外另配合一個數值運算晶片電路,專門加強實數處理。實數運算有些採純硬體電路,但目前以韌體設計為多,即演算過程採軟體程式設計,而比較、計數、加減乘除、檢查與移位動作則設計實際的電路執行。 浮點格式轉換回十進制值 浮點格式計算完成的結果值,在輸出顯示時仍需還原成十進制值,過程即是二進制轉成十進制值的方式,先用指數值代表2的次方值,從有效值的最左邊計算,乘上2的次方值,然後次方值遞減與每個位元值相乘,同時將每一位元結果值相加,轉成十進制值。 位數對映表 第二種是位數對映表,將十進制數值分解成個位、拾位、佰位、仟位、萬位,然後不同的位數查表,轉換成二進制值,再相互加起來。 先將十進制值分解成各自獨立的位數,轉成二進制的BCD碼(編碼器),再透過位數對映表電路,將BCD碼轉成二進制值,最後利用加法電路,相加產生結果。 直接對映表 第三種是直接對映表,將數值十進制值所對映的二進制值,製作成轉換表,在編譯程式執行時,會將數值直接查表,立即轉成二進制碼,在處理上較快,而對映表利用記憶體製作。 小數部分的轉換處理 十進制的小數部份,要轉換成二進制值的處理,與整數是不同的,一般的做法是用乘2的方式,將十進制的小數值部份乘2取其整數值,然後再取乘後的結果小數部份乘2,取其整數值,反覆做到小數部份為0而止。 如果小數部份一直不為0,即為無限小數、循環小數或小數位數過長,所以小數位數必須依浮點格式中,有效值的欄位大小來決定,要取的位數。 乘2轉換電路 比較演算法 二進制的小數值,是2的負次方數列(2-1、2-2、2-3等等),可以將小數的十進制值先比較是否大於等於0.5?若有即產生二進制第一小數位元,然後減去0.5;再比較是否大於等於0.25?若有即產生二進制第二小數位元,然後減去0.25;再比較是否大於等於0.125?若有即產生二進制第三小數位元,然後減去0.125。 逐一往下比較,若比較是小於即產生0值再比較下一位,直到十進制小數值比較時相減為0,完全轉換為二進制值,或在轉換時已達到所需要的位數即結束比較。 整數部份與小數部份合併 十進制帶有小數的實數值,要轉成二進制值,就分成整數部份與小數部份不同的方式轉換,待轉成二進制後再合併;譬如十進制值62.35,整數部份是62轉成111110,小數部份(取四位數)0.35轉成0.0101,將兩者合併即為111110.0101。 十進制的實數轉換成二進制的小數,只是轉換處理的技巧,實際上要轉成二進制浮點格式,才是暫存器內部的儲存形式;以IEEE 754為例,必須將二進制值轉成23個位元的有效值與8個位元指數型態。 十進制實數值在轉換時,必須先處理整數部份,將整數部份轉成二進制後,移動小數點位置,至第一個1後,形成浮點形式,移位同時紀錄指數;可能有三種狀況: 第一種是整數過大,在移位紀錄指數時,指數計數超過其欄位的最大值,譬如單精度的IEEE 754標準規格中,指數最大值為128,但其用來表示溢位(Overflow) ,所以移位計數超過127即溢位,該值在轉換上會產生錯誤。實際的指數最大值為127。 第二種是正常紀錄,在移位紀錄指數時,指數計數值在正常的範圍內,計數完後加上加權碼,即填入指數欄位。 第三種是整數為0,此種情況即直接進入小數部份處理。 整數的正負值在浮點格式中最左邊的位元,即為正負號表示,不影響到指數欄位的處理,而在整數部份的移位紀錄,所得的指數值必為正值。 浮點格式的正負值表示 在浮點格式中,負值的表示並沒有採用2的補數型式,而是直接採用整數表示,在正負號位元設定為1,以表示負值,譬如十六位元最左邊為正負號位元,則: 5=0000000000000101 -5=1000000000000101 採用這種方式是因為浮點格式的運算,是有別於整數運算方式;浮點格式在計算時是使用有效值與指數值,其有效值並不適宜在負值時採2的補數呈現。 小數部分的併入 整數部分處理完成後,即處理小數部份,在處理時有兩種可能: 一是整數部分已產生正

文档评论(0)

wxc6688 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档