计算机的算术运算

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Ci
3.2.1 多媒体算术运算
向量计算,或单指令多数据计算
饱和操作:
当计算结果溢出时,结果被设置成最大的正数
或最小的负数
例:旋转收音机的音量
3.3 乘法
MIPS乘法提供一对单独的32位寄存器来容纳64位
的积; 乘法只是简单的移位和加法; 可以采用并行的方法提高乘法的速度
N=10 E.M
计算机中一个任意进制数N可以写成 :
N=R e.m m:尾数,是一个纯小数; e:比例因子的指数, 称为浮点的指数, 是一个整数; R:比例因子的基数。
(1)机器浮点数
机器浮点数由阶码、尾数及其符号位组成: 尾数:用定点小数表示,给出有效数字的位数, 决定浮点数的表示精度; 阶码:用整数形式表示,指明小数点在数据中的 位置,决定浮点数的表示范围。
•得x÷y的商q=0.1101,余数为r=0.00000001。 •除数右移等价于被除数左移
ቤተ መጻሕፍቲ ባይዱ 机器运算与手算的不同
在计算机中, 小数点是固定的; 机器不会心算,必须先作减法,若余数为正,才知道 够减;若余数为负,才知道不够减。不够减时必须 恢复原来的余数, 再继续往下运算——恢复余数 法。 恢复原来的余数,只要当前的余数加上除数即可。 恢复余数,使除法进行过程的步数不固定, 控制复 杂。
同号相乘为正,异号相乘为负。
设x=0.1101,y=0.1011 0 . 1 1 0 1 ( x) x 0 . 1 0 1 1 (y) --------------------------------1 1 0 1 1 1 0 1 0 0 0 0 + 1 1 0 1 ----------------------------------0 . 1 0 0 0 1 1 1 1 ( z) 乘数为1,抄被乘数到对应位置 乘数为0,填全0到对应位置或跳过
提纲
3.1 引言 3.2 加法和减法 3.3 乘法 3.4 除法 3.5 浮点运算 3.6 并行性和计算机算术:结合律 3.7 实例:X86的浮点 3.8 谬误与陷阱 3.9 本章小结 3.10 拓展阅读
3.1 引言
如何表示小数?
遇到无法表示的大数怎么办?
... a1b1 a0b1
+)
pm+n-1
am-1bn-1 am-2bn-1
pm+n-2 pm+n-3
...
...
a1bn-1
...
a0bn-1
pn-1
k=4 权为2^4 i,j=4,0 3,1 2,2 1,3 0,4
并行乘法器
实现n位×n位,需要n(n-1)个全加器和n2个“与”门
3.4 除法
Ai 0 0 0 0 1 1 1 1
一位全加器真值表 输入 输出 Bi Ci Si Ci+1 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 1

逻辑方程 Si=Ai⊕Bi⊕Ci Ci+1=AiBi+BiCi+CiAi
全加器逻辑电路
31 30 S E
23 22 M
0
(3) 浮点数的规格化表示
浮点数表示:0.5; 规格化处理: 0.05101 ; 0.005 102;
为提高数据的表示精度,需做规格化处理; 对非 0 值的浮点数,要求尾数的绝对值必须 >=
例: 设被除数x=0.1001, 除数y=0.1011
0.1 0 1 1 0.1 1 0 1 0.1 0 0 1 0 -0.0 1 0 1 1 0.0 0 1 1 1 0 -0.0 0 1 0 1 1 0.0 0 0 0 1 1 0 -0.0 0 0 1 0 1 1 0.0 0 0 0 1 1 0 0 -0.0 0 0 0 1 0 1 1 -0.0 0 0 0 0 0 0 1 商q x ( r0 ) 2-1y r1 2-2y r2 2-3y r3 2-4y r4 被除数小于除数,商0 除数右移1位,减除数, 商1 得余数r1 除数右移1位,减除数, 商1 得余数r2 除数右移1位,不减除数,商0 得余数r3 除数右移1位,减除数, 商1 得余数r4
Si=Ai⊕Bi⊕Ci Ci+1=AiBi+BiCi+CiAi
逻辑电路(一位全加器)
Ci+1= AiBi · (Ci ·(Ai⊕Bi))
Si
Ci+1
FA

Ai Bi

Ci
n位的行波进位加减器
Ci+1 [x]补 0. 1 0 0 1 +[y]补 0. 0 0 1 1 0. 1 1 0 0
Si FA Ai Bi
Es
阶符
E1 E2 .... Em
阶码
Ms
数符
M1 M2 .... Mn
尾数
(2) 浮点数的标准格式
IEEE(国际电气和电子工程师协会) IEEE754 标准: 尾数用原码;阶码用移码,基为2; S---尾数符号,0正1负; M---尾数, 纯小数表示, 小数点在尾数域最前; E---阶码,采用移码方法来表示正负指数。
如何运算?
3.2 加法和减法
运算方法?
减法转换为补码的加法;
溢出的概念:运算结果超出了数的表示范围
MIPS检测到溢出时会产生异常,也叫中断
异常程序计数器EPC :保存导致异常的指令
一位全加器
加法运算: Ai + 加数 B i + Ci = 进位输入 和 Si (Ci+1) 进位输出
实际中常用不恢复余数法,又称加减交替法。步数固定, 控制简单。
不恢复余数(加减交替法)
试商
恢复余数 x-y+y 试下一位商 2x-y=2(x-y)+y 加
x-y

3.5 浮点运算
小数点在计算机中如何表示?
3.5.1 浮点数的表示方法
把一个数的有效数字和数的范围在计算机的一个存 储单元中分别予以表示; 任意一个十进制数N 可以写成:
习惯方法运算过程
am-1 x) am-1b0 am-1b1 am-2b1 ... ... ... am-2 bn-1 am-2b0 ... ... ... ... ... ... ... ... ... ... ... ... p1 p0 =p ... b1 a0 b0 =A =B
a1 b0 a0 b0
相关文档
最新文档