CMP设计分享 http://blog.sciencenet.cn/u/accsys 没有逆向思维就没有科技原创。 不自信是科技创新的大敌。

博文

精确浮点运算需要监控的信号

已有 3879 次阅读 2010-9-24 07:47 |个人分类:教学笔记|系统分类:科研笔记| CPU设计, 精确计算, 浮点数

姜咏江
 
计算机加减法运算器的设计需要给用户留出溢出的监控信号,以便用户能够利用存储器进行位数扩充,然后进行分段处理。计算机浮点数运算源自a×2b的科学记数法,其中a、b是一定位数的二进制数。浮点数加减法运算需要对阶,如果采用小数(尾数)右移的方式对阶,由于位数的限制,会丢失移位小数的部分有效数字,解决的办法是监测这种丢失有效数字的情况,并及时用标志线的信号报告。
 
8位阶码的浮点数尾数最大的位移是255,因而需要用一个256位的寄存器来承接移出的部分,监控标志线就是标示这个寄存器是否不是0。如果移出的部分小数不是0,且要保持精确计算,那么就需要扩充尾数的位数,进行分段的加减运算(注意,这种向右的位数扩充并不改变阶码,而加减运算的结果溢出,是向左的位数扩充,需要改变阶码)。
 
如果尾数加减运算的结果溢出,同样需要扩充尾数的位数,但由于尾数是纯小数表示,因而必须将两个尾数都右移同样的位数,同时阶码要增加位移量。
 
由于浮点加减运算的过程是先对阶,尾数加减之后才能发现运算溢出的,故求结果的阶码非常简单,只要将原先的大阶码加上移位数,就可以得到运算的结果的阶码。
 
设计浮点运算器要注意右移尾数要先判断正负,二进制右移时,正数高位添“0”,而负数高位应该添“1”。
 
2010-9-24
 


https://blog.sciencenet.cn/blog-340399-366252.html

上一篇:设计错误出在哪里?
下一篇:计算机中如何比较数的大小?
收藏 IP: .*| 热度|

2 唐常杰 杨华磊

发表评论 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-12-22 19:48

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部