cpu中的运算单元包括:存储执行,整形执行,浮点执行三个单元,其中浮点运算国内以前做的特别少,
原因主要有2个,一是国内对精度的要求并没有那么高,二是浮点运算单元有点难度。今天在这里主要介绍一
下浮点加法运算的过程(浮点运算单元最难的三个模块就是浮点加法,浮点乘法,除法运算)。
首先国内外现在用的浮点的格式全部都是IEEE754标准,单精度32位,双精度64位,真正计算的时候,
可能会扩展,就像X86 CPU使用了80位的扩展精度,扩展的目的无非是一是扩大表示范围,二十为了复用
逻辑,我们只有掌握其中的原理,怎么扩展并不重要。754的标准网上有很多,不清楚直接百度。
1. 异常检测 : 主要检测NAN(非数),Denormal,Denormal不同的公司处理不太一样。
2. 对阶,尾数右移:不同阶码尾数不能直接相加减,所以需要对阶,比如1.1 * 2 E 1 + 1.1 * 2 E 2 尾数就不能运算,
对阶,尾数右移,最终阶码一致。
3 . 尾数求和求差:这里会有一些算法,就不详细介绍了,保密。
4. 规格化:把非规格的小数转换为规格化的小数。注意移位的方法。
5. 舍入:四种舍入方法,向上舍入,向下舍入,向最近舍入,直接截去。
6. 后异常检查:三种异常,overflow上溢,underflow下溢,以及计算过程精度的损失叫做精度异常。
以上就是浮点加法的全部过程。
欢迎加我QQ一起交流:942482636