计算机组成原理-运算方法与运算器-浮点运算方法和浮点运算器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020年10月15日星期
计算机组成原理
10
浮点数加法运算的过程
第二章 运算方法和运算器
(4)结果规格化
结果规格化就是使运算结果成为规格化数。为了运算 处理方便,可将尾数的符号位扩展为两位。
右规:当尾数符号位为01或10时,需要右规。
方法:将尾数连同符号位右移一位,和的阶码加1,经 右规处理后得到 00.1XX…X 或11.0 X X… X的形式, 即成为规格化的数.
若m>n,则将操作数y的尾数右移,y的阶码增加, 直到m=n为止。
若m<n,则将操作数x的尾数右移,x的阶码m增加, 直到m=n为止。
2020年10月15日星期
计算机组成原理
9
浮点数加法运算的过程
第二章 运算方法和运算器
(3)尾数相加
对阶后,就完成了小数点对准的工作,这时可以执行 尾数相加操作。尾数相加与定点数的加、减法相同。
浮点数加、减运算过程 Z X Y
计算机组成原理
4
浮点数加减法运算的过程 第二章 运算方法和运算器
(1)零操作数检查 (2)对阶 (3)尾数求和 (4)结果规格化 (5)舍入处理 (6)溢出处理
2020年10月15日星期
计算机组成原理
5
浮点数加法运算的过程
第二章 运算方法和运算器
(1)零操作数检查 如操作数之一为0则可省去后续操作,节省运算时间。
2.6 浮点运算方法和浮点运算器
第二章 运算方法和运算器
当我们用不同的电脑计算圆周率时,会发现一台电脑的计 算较另一台来讲结果更加精确; 或者我们在进行枪战游戏的时候,当一粒子弹击中墙壁时, 墙上剥落下一块 墙皮,同样的场面在一台电脑上的表现可 能会非常的呆板、做作;而在另外一台电脑上就会非常生 动形象,甚至与我们在现实中看到的所差无几。 这都是浮点运算能力的差异导致的。
左规:当运算结果的符号位和最高有效位为 00.0 或 11.l时,需要左规。
方法:将尾数连同符号位一起左移一位,和的阶码减1, 直到尾数部分出现00.l 或11.0的形式为止。
2020年10月15日星期
计算机组成原理
11
第二章 运算方法和运算器
(5)舍入处理
简单的舍入方法: 0舍1入法:右移被丢掉数位最高位为0舍掉, 为1尾数末位加1。 恒置1法:只要数位被移掉,就在尾数的末位 恒置1。
2020年10月15日星期
计算机组成原理
12
(5)舍入处理
第二章 运算方法和运算器
在IEEE754标准中,舍入处理提供了4种可选方法
就近舍入:就是“四舍五入”,如尾数超出规定23位 的多余位数字是10010,多余位的值超过规定的最低 有效位值的一半,则最低有效位增1;若为01111这样, 则简单截尾;为10000这样的特殊值时视最低有效位 情况,为0截尾;为1向上进1,末位为0。
对阶的方法: 求出两数的阶码m和n之差:
2020年10月15日星期
计算机组成原理
8
第二章 运算方法和运算器
对阶操作规定使尾数右移,尾数右移后阶码作相应 增加,其数值保持不变(若右移引起最低有效位的 丢失,则采用0舍1入的方法),一个增加后的阶码 与另一个阶码相等,所增加的阶码一定是小阶,因 此在对阶时,总是使小阶向大阶看齐。
朝0舍入:就是简单的截尾。使取值的绝对值比原值 的绝对值小,易导致误差积累。
朝+舍入:对正数只要多余位不全为0则进1;对负数 截尾。
朝-舍入:处理与向+ 舍入相反。
2020年10月15日星期
计算机组成原理
13
(6)溢出判断
第二章 运算方法和运算器
浮点数的溢出表现为阶码的溢出,通过阶码来判断。
表现及处理:
2020年10月15日星期
计算机组成原理
6
浮点数加法运算的过程
第二章 运算方法和运算器
(2)对阶
两浮点数进行加、减时,首先要看两数的阶码是否 相同,若两数的阶码不等,表示小数点位置没有对齐, 则必须使两数的阶码相等,这个过程叫做对阶。
2020年10月15日星期
计算机组成原理
7
第二章 运算方法和运算器
2020年10月15日星期
计Leabharlann Baidu机组成原理
15
第二章 运算方法和运算器
(3)规格化处理
尾数运算结果的符号位与最高数值位为同值,执行左归,结果为
1. 0 0 0 1 0 1 0 1 (10)
阶码为00 011
(4)舍入处理
采用0舍1入法,则尾数为:
1. 0 0 0 1 0 1 0 1
+
1
1. 0 0 0 1 0 1 1 0
E Ex Ey Ex 补 Ey 补 0001011100 11110 2
X的阶码小,Mx右移两位,Ex加2 [x]浮=00 100, 0.00110110(11)
(2)尾数求和 0. 0 0 1 1 0 1 1 0 (11)
1. 0 1 0 1 0 1 0 0
1. 1 0 0 0 1 0 1 0 (11)
阶码上溢:超过阶码可表示的最大值的正指数值。一 般认为是+ 和-。
阶码下溢:超过了阶码可表示的最小值的负指数值。 一般将其认为是0。
尾数上溢:两个同符号尾数相加产生最高位向上的进 位,要将尾数右移,阶码增1来从新对齐。
尾数下溢:将尾数右移时,尾数的最低有效位从尾数 域右端流出,要进行舍入处理。
2020年10月15日星期
2020年10月15日星期
计算机组成原理
2
2.6.1 浮点加法、减法运算 第二章 运算方法和运算器
设有两个浮点数x和y,分别为
x 2m M x y 2n M y
其加减运算过程可用下页流程描述:
2020年10月15日星期
计算机组成原理
3
2.6.1 浮点加法、减法运算
第二章 运算方法和运算器
2020年10月15日星期
(5)判溢出,阶码符号位为00,不溢出,故得最终结果为
x+y=2011 ×(-0.11101010)
2020年10月15日星期
计算机组成原理
16
例:
第二章 运算方法和运算器
设浮点数的阶码为4位(含阶符),尾数为6位(含尾符), x、y中的指数项,小数项均为二进制真值.
计算机组成原理
14
例:
第二章 运算方法和运算器
设x=2010×0.11011011,y=2100 ×(-0.10101100),求x+y=?。 解:假设两数以补码表示,阶码采用双符号位,尾数采用单符号位,则 它们的浮点表示分别为:
[x]浮=00 010, 0.11011011 [y]浮=00 100, 1.01010100 (1)求阶差并对阶