第四章 数值的机器运算

合集下载

计算机组成原理:4-4 数值的机器运算

计算机组成原理:4-4 数值的机器运算

例1:若某次运算的中间结果为 [X+Y]浮=00,111, 10.1011 则应对其进行向右规格化操作:
尾数为: 11.0101 , 阶码加1: 01 000 (溢出)
例2:若某次运算的中间结果为 [X+Y]浮=11,001, 00.0011
则应对其进行向左规格化操作: 尾数为: 00.1100 , 阶码减2:
右移一位, 得z4 YnYn+1=01, 加[X]补 最后一步不移位
第四章 数值的机器运算
4.0 逻辑电路基础 4.1 基本算术运算的实现 4.2 定点加减运算 4.3 带符号数的移位和舍入操作 4.4 定点乘法运算 4.5 定点除法运算 4.6 规格化浮点运算 4.7 十进制加法器 4.9 运算器的基本组成与实例
原码除法运算2——恢复余数法
它直接作减法来试探——
若余数为正,表示够减,该位商上“1”;
若余数为负,表示不够减,该位商上“0”,并要恢复 原来的被除数(或余数)。
[X]补 ÷ [Y]补
C—存商数
[X]补→A, [Y]补→B,0→C
A-B→A
N 1→Cn
A <0? Y 0→Cn A+B→A
此法由于要恢复余数,使除法的步数不固定,控制比较 复杂。因此,原码恢复余数法在计算机中一般很少采用。
为了防止溢出, 必须有|X|<|Y|.
Y
[X]补与 [Y]补同号
N
[X]补 − [Y]补 [Ri]补
[X]补 + [Y]补 [Ri]补
Y
[R]补与 [Y]补同号
N
商‘1’ 2[Ri ]补 − [Y]补 [Ri+1]补
商‘0’ 2[Ri]补 + [Y]补 [Ri+1]补

第4章 数值的机器运算

第4章 数值的机器运算

哈尔滨学院2014年秋季学期单元测试试卷课程名称:计算机组成原理单元名称:第四章数值的机器运算一、填空题1.影响并行加法器速度的关键因素是。

2.A、B均为8位二进制数,A=F0H,B=E0H,则A+B= ,A-B= 。

C4.两个补码数相加,采用1位符号位,当时,表示结果溢出。

A.符号位有进位B.符号位进位和最高数位进位异或结果为0C. 符号位为1D.符号位进位和最高数位进位异或结果为15.在双符号位判断溢出的方案中,出现正溢时,双符号位应当为。

A. 00B. 01C. 10D. 116.在定点机中执行算术运算时会产生溢出,其原因是。

A.主存容量不够 B.操作数过大C.操作数地址过大D.运算结果无法表示7. 当定点运算发生溢出时,应进行。

A. 向左规格化B.向右规格化91112.X、C.n+1 D. n+213.原码加减交替除法又称为不恢复余数法,因此。

A.不存在恢复余数的操作B.当某一步运算不够减时,做恢复余数的操作C.仅当最后一步余数为负时,做恢复余数的操作D.当某一步余数为负时,做恢复余数的操作14.在加法器、寄存器的基础上增加部分控制电路实现除法时,用B寄存器存放。

A.被乘数和被除数B.被乘数和除数C. 乘数和被除数D.乘数和除数15.若浮点数用补码表示,判断运算结果是否是规格化数的方法是。

16.20.计算机中的累加器。

A .没有加法器功能,也没有寄存器功能B.没有加法器功能,有寄存器功能C. 有加法器功能,没有寄存器功能D.有加法器功能,也有寄存器功能21.一个C 语言程序在一台32位机器上运行。

程序中定义了3个变量x 、y 和z ,其中x 和z 为int 型,y 为short 型。

当x=127、y=-9时,执行赋值语句z=x+y 后,x 、y 和z 的值分别是A .H z H FFF y FH x 00000076,9,0000007===B .H FFFF z H FFF y FH x 0076,9,0000007===C. H FFFF z H FFF y FH x 0076,7,0000007===D .H z H FFF y FH x 00000076,7,0000007===222325A. y x +B. y x +-C. y x -D. y x --三、判断题1.进位信号串行传递的加法器称为串行加法器。

04计算机系统概论(第四章)

04计算机系统概论(第四章)

2.补码加法 补码加法
直接用补码相加,符号位也参与运算.但注意溢 直接用补码相加,符号位也参与运算.但注意溢 这会导致结果的错误. 出.这会导致结果的错误.尤其易发生在同号相 加的情况下.如例2 加的情况下.如例 解决方法: 解决方法:变形补码
补码解例2. 例3:用模 补码解例 :用模4补码解例 解:选H=2,则有 ,则有[0.5X]变补=00,01001 [0.5Y]变补 =00,01101 即 [0.5(X+Y)]变补= 00,01001 + 00,01101=00,10110 ( X+Y=+101100 即 0.5(X+Y) =+10110 ( )
2,逻辑运算 ,
基本规则:对相同位运算,不够补 基本规则:对相同位运算,不够补0 没有进位和借位 则结果为1, (1)逻辑或:相同位有 则结果为 ,无 )逻辑或:相同位有1则结果为 1则结果为 . 则结果为0. 则结果为 则结果为0, (2)逻辑与:相同位有 则结果为 ,无 )逻辑与:相同位有0则结果为 0则结果为 . 则结果为1. 则结果为 (3)逻辑非:逐位取反. )逻辑非:逐位取反. (4)逻辑异或:相同位基数不同为 ,相同为 )逻辑异或:相同位基数不同为1,相同为0
定点原码两位乘法要注意的问题
当YiYi-1为11时:11表示部分积要加上三倍的 时 表示部分积要加上三倍的 - 被乘数,这与给乘数加4( 被乘数,这与给乘数加 (100)2再减去被乘数 ) 效果一样. 效果一样. 部分积减去被乘数X用+[-x]补实现的 部分积减去被乘数 用+[- ] 部分积减去被乘数所得结果一般为负数. 部分积减去被乘数所得结果一般为负数. 注意符号位的扩展. +[-x] 要给出符号位, 注意符号位的扩展. +[- ]补要给出符号位, 右移时需要扩展符号位.若采用n+2位加法器则 右移时需要扩展符号位.若采用 位加法器则 符号位扩展2位,若采用n+1位加法器则符号位 符号位扩展 位 若采用 位加法器则符号位 扩展1位 依此类推. 扩展 位,依此类推.

四章数据的机器运算

四章数据的机器运算
10
单级先行进位
构成16 位加法 器很容 易实现
以16位加法器为例,将其分为4组,每组4位。
在组内,按照并行进位函数直接产生C1~C4,这 些进位可同时得到。实现这种进位逻辑的电路称 为4位先行进位电路(CLA),如74181ALU。
利用这种4位一组的CLA电路和4位全加器可以构 成4位CLA加法器。注意,4位CLA加法器包含了 两部分逻辑:4位全加器和4位一组的先行进位链, 这个组内的进位为一级进位。
可以看出,这4组进位结构与前述4位先行进位逻辑完全相同, 组间进位信号只与最低进位C0有关,所以能同时产生。
15
多级先行进位(续二)
组内进位信号能同时产生、组间进位信号也能同时产 生,由此可以构成多级并行进位逻辑。16位2级先行 进位加法器如下图所示。
16
多级先行进位(续三)
问题是这4个组间进位信号如何用硬件来产生呢? 对于多级先行进位的实现可以按如下思路来理解:
∴ 判别条件为:溢出= XsYsSs+XsYsSs 其中,Xs、Ys为参加运算两数的符号, Ss为结果符号位。
30
补码加减溢出的判别方法(续)
②采用进位位判别
两符号个位正不数产相生加进,位当(最C高s=有0效)位时产,生发进生位上溢(;C1=1)而 两而符个号负位数产相生加进,位当,最发高生有下效溢位。不产生进位(C1=0)
四章数据的机器运算
本章主要内容
主要内容
算术、逻辑运算的实现 定点加、减运算 数的移位和舍入操作 定点乘、除运算 规格化浮点运算
2
全加器的逻辑方程和电路
根据真值表得:
Si=Ai⊕Bi⊕Ci-1 Ci=AiBi+(Ai⊕Bi)Ci-1
Si : 本位和 Ci : 向高位的进位 一个全加器只完成一位加法

计算机组成原理:4-2 数值的机器运算

计算机组成原理:4-2 数值的机器运算

( 小数点不动 !)
左移 ——绝对值扩大
右移—— 绝对值缩小
在计算机中,移位与加减配合,能够实现
乘除运算。
逻辑移位
逻辑移位——无符号数的移位。
逻辑左移:低位添 0,高位移丢。
0 逻辑右移:高位添 0,低位移丢。
0
例:
01010011
逻辑左移 10100110
逻辑右移 00101001
算术移位
较大正数相加 产生进位,影
响符号位
解: [X]补= 0 , 1 0 1 0 + [Y]补= 0 , 1 0 0 1 1,0011
设字长为5
例2:X=-1010 Y=-1011 求 X+Y
解: [X]补= 1, 0 1 1 0
+ [Y]补= 1, 0 1 0 1 0,1011
较大的负数对应较 小的正数补码,相 加无进位,符号位
例: X=-0.1100 Y=-0.1000,求 X+Y=? 解:设字长为5.
[X]补=11. 0100 + [Y]补=11. 1000
10. 1100 结果说明:
负数绝对值太大了对应的补码小,最高数据位向前无进位, 而符号位向前有进位; 两个符号位:10,表示负上溢
双符号位法溢出逻辑表达式为:V=Sf1⊕ Sf2
在模2意义下,任意两数的补码之和等于该两数之和 的补码。 这是补码加法的理论基础。
特点:
不需要事先判断符号,符号位与数值位一起参加 运算,符号位相加后若有进位,则舍去该进位数字。
补码加法运算举例
例: X=+0.1010, Y=+0.0011,求 X+Y 解: 设字长为5.
[X]补=0. 1 0 1 0 + [Y]补=0. 0 0 1 1

计算机导论PPT第四章数据运算

计算机导论PPT第四章数据运算
模式层次上的逻辑运算是具有相同类型的位层次上的n个
逻辑运算,n是模式中的位的数目.
3
位层次上的逻辑运算 Logic operations at bit level
可以应用布尔代数中定义的运算去操纵二进制位. 为纪念乔治.布尔(George Boole)而命名的布尔代数属于 逻辑的特殊数学领域. 如果定义1个位作为逻辑值,则可对它进行逻辑运算. 逻辑运算接收1或2个位来生成1个位。若逻辑运算作用在1 或2个输入位上,就叫一元或二元运算。
Discarded
Added
29
循环移位(旋转) 循环移位运算:没有位丢弃或增加 循环右移(右旋转):每一位向右移动一个位置 ,最右位被回环,成为最左位。
Figure 4.4 循环移位运算
30
Example 4.11
对位模式10011000使用循环左移运算。
解:
最左位被回环,成为最右位。
31
算术移位运算
35
Example 4.15
逻辑运算和逻辑移位运算提供了操纵位模式的工具。
假设有一个模式,在判断过程中使用此模式的第三位(从右 起),需要知道这特殊的位是0或1。
我们可以测试结果:
如果结果是无符号的整数1,那么目标位就是1; 如果结果是无符号的整数0,那么目标位就是0。
36
4-3 算术运算 ARITHMETIC OPERATIONS
13
Example 4.5
对位模式10011001 和 00101110应用OR运算.
解:注意:
只有输入中相应的位都为0,输出中的位才为0.
14
Example 4.6
使用XOR运算符来计算位模式10011001和00101110.

《计算机组成原理第4章数值的机器运算

《计算机组成原理第4章数值的机器运算
15
3.移位功能的实现 3.移位功能的实现 在计算机中, 在计算机中 , 通常移位操作由移位寄存 器来实现, 器来实现,但也有一些计算机不设置专门的移 位寄存器,而在加法器的输出端加一个移位器。 位寄存器,而在加法器的输出端加一个移位器。 移位器是由与门和或门组成的逻辑电路( 移位器是由与门和或门组成的逻辑电路(实际 是一个多路选择器) 可以实现直传( 是一个多路选择器 ) , 可以实现直传 ( 不移 左斜一位送(左移一位) 位)、左斜一位送(左移一位)和右斜一位送 右移一位)的功能。 (右移一位)的功能。
10
3.补码加减运算规则
⑴参加运算的两个操作数均用补码表示; 参加运算的两个操作数均用补码表示; 符号位作为数的一部分参加运算; ⑵符号位作为数的一部分参加运算; 若做加法, 则两数直接相加, 若做减法, ⑶ 若做加法 , 则两数直接相加 , 若做减法 , 则 将被减数与减数的机器负数相加; 将被减数与减数的机器负数相加; ⑷运算结果仍用补码表示
第4章数值的机器运算
运算器是计算机进行算术运算和逻辑运 算的主要部件, 算的主要部件,运算器的逻辑结构取决于机器 的指令系统、数据表示方法和运算方法等。 的指令系统、数据表示方法和运算方法等。本 章主要讨论数值数据在计算机中实现算术运算 和逻辑运算的方法, 和逻辑运算的方法,以及运算部件的基本结构 和工作原理。 和工作原理。
8
4.2.2 补码加减运算
1.补码加法 补码加法 两个补码表示的数相加,符号位参加运算, 两个补码表示的数相加,符号位参加运算,且两 数和的补码等于两数补码之和, 数和的补码等于两数补码之和,即: [X+Y]补=[X]补+[Y]补
2.补码减法 补码减法
根据补码加法公式可推出: 根据补码加法公式可推出: [X-Y]补=[X+(-Y)]补=[X]补+[-Y]补 从补码减法公式可以看出,只要求得[-Y] 补 , 就 从补码减法公式可以看出 , 只要求得 可以变减法为加法。 不管Y的真值为正或为负 的真值为正或为负, 可以变减法为加法 。 不管 的真值为正或为负 , 已知 [Y]补求[-Y]补的方法是:将[Y]补连同符号位一起求反, 的方法是: 连同符号位一起求反, 末尾加“ 被称为[Y] 的机器负数, 末尾加 “ 1” 。 [-Y]补 被称为 补 的机器负数 , 由 [Y] 补 的过程称为对[Y] 变补(求补) 求[-Y]补的过程称为对 补变补(求补),表示为 [-Y]补=[[Y]补]变补 9

计算机组成原理之数值机器运算培训教程

计算机组成原理之数值机器运算培训教程
第4章
计算机组成原理
数值的
机器运算
2009.9
北京理工大学计算机科学技术学院
第4章
计算机组成原理
运算器是计算机进行算术运算和
逻辑运算的主要部件,运算器的逻辑 结构取决于机器的指令系统、数据表 示方法和运算方法等。本章主要讨论 数值数据在计算机中实现算术运算和 逻辑运算的方法,以及运算部件的基 本结构和工作原理。
Ai Bi
2009.9
北京理工大学计算机科学技术学院
4.1 基本算术运算的实现
计算机组成原理
全加器的逻辑表达式为
Si=Ai⊕Bi⊕Ci-1 Ci=AiBi+(Ai⊕Bi)Ci-1 2.串行加法器与并行加法器
在串行加法器中,只有一个全加器, 数据逐位串行送入加法器进行运算。
如果操作数长n位,加法就要分n次进 行,每次只能产生一位和。
2009.9
北京理工大学计算机科学技术学院
4.1 基本算术运算的实现
计算机组成原理
ty
6
4

ห้องสมุดไป่ตู้


2

C16
C12
C8
C4
C1 C0 Ci
2009.9
北京理工大学计算机科学技术学院
4.1 基本算术运算的实现
四位CLA加法器
S4~S1
计算机组成原理
四位BCLA加法器
G1 P1 S4~ S1
∴Ci=Gi+PiCi-1
2009.9
北京理工大学计算机科学技术学院
4.1 基本算术运算的实现
计算机组成原理
把n个全加器串接起来,就可进行两个 n位数的相加。串行进位又称行波进位,每 一级进位直接依赖于前一级的进位,即进 位信号是逐级形成的。

计算机组成原理数据的机器运算

计算机组成原理数据的机器运算
21


算术逻辑部件ALU(续二)
控制信号与选择器输出关系表: S3 S2 Xi S1 S0 Yi 0 0 1 0 0 Ai 0 1 Ai+Bi 0 1 AiBi 1 0 Ai+Bi 1 0 AiBi 1 1 Ai 1 1 0
进位传递函数 进位产生函数
通过不同的输入选择,实现不同的功能,这进一步说明:数据是在传 送过程实现运算、并得到处理的。多位ALU的实现思路完全一样。
先把单级先行进位加法器的串行进位链断开; 增加一级先行进位链,这个新增加的先行进位链的 进位称为二级进位; 组间进位信号C4、C8、C12、C16由二级进位链来产 生,其逻辑关系式已经得到; 让一级进位链多产生两个辅助函数Gi*和Pi*,并且 作为二级进位链的输入。
17



多级先行进位(续四)
14
多级先行进位(续一)

四个组内的最高进位C16、C12、C8、C4可以分别表示为:
C4 = G1* + P1* C0 C8 = G2* + P2* C4 C12 = G3* + P3* C8 C16 = G4* + P4* C12
现在逐项代入、并展开得关系式:
C4 = G1* + P1* C0 C8 = G2*+P2*C4=G2*+P2*G1* +P2*P1*C0 C12 = G3*+P3*G2*+P3*P2*G1* +P3*P2*P1*C0 C16 = G4*+P4*G3*+P4*P3*G2*+P4*P3*P2*G1*+P4*P3*P2*P1*C0
9
并行进位的特点

并行进位的特点是各级进位信号同时形成,与字长无 关,提高了整体运算速度 。并行进位又叫先行进位。 最长延迟时间仅为2ty。 随着加法器位数的增加,Ci的逻辑表达式会变得越来 越长,输入变量会越来越多,电路结构也会变得越来 越复杂,导致电路实现也越来越困难。 并行进位方式需继续改进,才能有实用价值。这就是 下面要介绍的分组进位方式。

ch数值的机器运算乘法

ch数值的机器运算乘法
一般而言,设被乘数x,乘数y都是小于1的n位定点正数:
x=0.x1x2......xn <1 y=0.y1y2......yn <1
其乘积为:
x·y=x(0.y1y2......yn ) n =x(y12-1 +y22-2 +…+ yn2-n ) x yi 2i i 1 = xy12-1+xy22-2 +…+xyn2-n = 2-1(y1x+2-1(y2x+2-1(…+2-1(yn-1x+2-1(ynx+0))…)))
0 1 yf 0 1 0
1 1.0 1 1 0
1 1.1 0 1 1 + 1 1.0 0 1 1
0 0 1 yf 0 1
1 0.1 1 1 0
1 1.0 1 1 1
0 0 0 1 yf
最后结果 : [xy]补=1.01110001
说明 z0=0 y4=1, +x
右移,得z1 y3=1, +x
右移,得z2 y2=0, +0
ch数值的机器运算乘 法
4.4.1原码一位乘法
1. 乘法的手工算法
设n位被乘数和乘数用定点小数表示
被乘数 乘数
则乘积
[x]原=xf . xn-1… x1x0 [y]原=yf . yn-1… y1y0
[z]原=(xf⊕yf)+(0. xn-1… x1x0)(0. yn-1… y1y0)
式中,xf为被乘数符号,yf为乘数符号。
乘数 yf 1 0 1 0 1
1 yf 1 0 1 0
0 1 yf 1 0 1
0 0 1 yf 1 0
0 0 0 1 yf 0001
说明

数值的机器运算

数值的机器运算



2.串行加法器与并行加法器
图4-2 串行加法器


加法器有串行和并行之分。在串行加法器中,只有一个全加器,数据逐位串 行送入加法器进行运算;并行加法器则由多个全加器组成,其位数的多少取 决于机器的字长,数据的各位同时运算。 串行加法器如图4-2所示。图中FA是全加器,A、B是两个具有右移功能的寄 存器,C为进位触发器。由移位寄存器从低位到高位逐位串行提供操作数相 加。如果操作数长n位,加法就要分n次进行,每次产生一位和,并行地送回 A寄存器。进位触发器用来寄存进位信号,以便参与下一次的运算。 串行加法器具有器件少、成本低的优点,但运输速度太慢,所以除了某些低 速的专用运算器外很少采用。 并行加法器可同时对数据的各位相加,但存在着一个加法的最长运算时间问 题。这是因为虽然操作数的各位是同时提供的,但运算所产生的进位会影响 高位的运算结果。例如:11.....11和00.....01相加,最低位运算所产生的进位 将逐位影响至最高位,因此,并行加法器的最长运算时间主要是由进位信号 的传递时间决定的而每个全加器本身的求和延迟只是次要因素,很明显,提 高并行加法器速度的关键是尽量加快进位和传递的速度。
有两种情况:
1 当(X+Y)≥0 时,M 被丢掉,因此: ○ [X]补 + [Y]补= M+X+Y=[X+Y]补(mod M) 2 当(X+Y)<0 时,由补码定义有: ○ [X]补 + [Y]补= M+X+Y=[X+Y]补(mod M)
(4)X<0,Y>0 情况与(3)类似,只须将 X、Y 位置对调即可证明。
例 1:Y=-0.0110,
[Y]原=1.0110,[Y]补=1.1010,[-Y]补=0.0110

第4章 机器数的运算方法及运算器.

第4章 机器数的运算方法及运算器.

第4章机器数的运算方法及运算器4.1 机器数的加减运算及其实现4.1.1 原码加法1.符号相同的两个原码相加:符号相同的两个原码相加,只要两个数的数值相加即可,其符号不变。

例4.1 设X=+10001,Y=+01011,求Z=X+Y解:即,Z=+11100。

例4.2 设X=-10001,Y=-01011,求Z=X+Y2.符号相异的两个原码相加:先比较两数的绝对值大小,用绝对值大的数减去绝对值小的数,结果的符号是绝对值大的数的符号。

【例4.3】设X=+10101,Y=-01010,求Z=X+Y解:先比较X与Y的绝对值,本题∣X∣>|Y|,所以做减法|X∣-|Y|,结果是Z=+01011例4.2 设X=+01010,Y=-10111,求Z=X+Y解:先比较X与Y的绝对值,本题∣Y∣>|X| ,所以做减法|Y∣-|X|,结果是Z=-01101用原码进行符号不同的两个数相加时有以下三步运算:①比较两个数的绝对值的大小;②绝对值大的数的绝对值减去绝对值小的数的绝对值;③结果赋以绝对值大的那个数的符号。

4.1.2 补码加法补码运算特点:①补码运算时,不用判断符号位,符号位与数值一块参与运算;②两数相加之后,进位的最高位超出字长部分自动丢失。

1.定点补码运算性质性质1 两数之和的补码等于两数补码之和。

[X+Y]补=[X]补+[Y]补例4.5 设X=+11010,Y=-10101,用补码的加法求Z=X+Y解:加数和被加数的数值位都是5位,在数值位之前加1位符号位。

这样,[X]补=011010,[Y]补=101011[X+Y]补= [X]补+[Y]补= 011010+101011=000101所以,X+Y=+00101。

注意:在运算中,数值位和符号位有进位,本例采用单符号位,以2为模,进位的1就丢掉了。

例4.6 设X=+10101,Y=-11010,用补码加法求Z=X+Y解:[X]补= 010101,[Y]补=100110[X+Y]补=[X]补+[Y]补= 010101+100110=111011所以,X+Y=-00101。

第四章 机器数的运算方法

第四章 机器数的运算方法

解: [x]补=1.0011 [y]补=1.1010 [x]补 + [-y]补 [x-y]补
∴x-y = -0.0111
例: x=+0.1011, y=+0.1001, 求x+y。 解: [x]补=0.1011 [y]补=0.1001 [x]补 0. 1 0 1 1 + [y]补 0. 1 0 0 1 [x+y]补 1. 0 1 0 0 两个正数相加的结果成为负数,发生溢出。
按同样的规则共做n1步运算后假商q移出了存放商的寄存器剩下q01左移一位商1010左移一位商00101左移一位商101010左移一位商010100仅q左移一位商0余数不左移被除数x1010000001校正量10011计算机组成原理补码一位除法的算法是在商的末位恒置1的舍入条件下推导的故此算法存在误差这样引起的最大误差是2即使商的最后一位总是1
解: [x]补=0.1101 [ y]补=0.0110, [-y]补=1.1010 [x]补 +[-y]补 [x-y]补
计算机组成原理
0.1101 1.1010 10.0111
∴ x-y=+0.0111
例:
x= -0.1101,y= -0.0110,求x-y=? [-y]补=0.0110 1.0 0 1 1 0.0 1 1 0 1.1 0 0 1
特点:每次只需要相加两个数,然后右移一位。且相加的两个 数(部分积和位积)都只有n位,因而不需要2n位的全加器。
计算机组成原理
3.原码一位乘法 流程图
n
开始 i=0, zi = 0 yn= 1 ?
y zi + x
zi + 0
zi , y右移一位,i = i+1 n i=n? y 结束

第4章-数值的机器运算

第4章-数值的机器运算

哈尔滨学院2014年秋季学期单元测试试卷课程名称:计算机组成原理 单元名称:第四章 数值的机器运算一、填空题1.影响并行加法器速度的关键因素是 。

2.A 、B 均为8位二进制数,A=F0H ,B=E0H ,则A+B= ,A-B= 。

3.已知某数的补码为11110101,算术左移1位后得 ,算术右移1位后得 。

4.向左规格化的规则为尾数 ,阶码为 。

5.运算器的基本功能室实现 运算和 运算。

二、选择题1.在串行进位的并行加法器中,影响加法器运算速度的关键因素是 。

A .门电路的级延迟B .元器件速度C .进位传递延迟D .各位加法器速度的不同2.并行加法器中每一位的进位产生函数Gi 为 。

A .i iB A • B .i i B A ⊕C .i i i C B A ⊕⊕ D. i i i C B A ++ 3.补码加/减法是指 。

A .操作数用补码表示,两尾数相加/减,符号位单独处理B .操作数用补码表示,符号位和尾数一起参加运算,结果的符号与加/减数相同C .操作数用补码表示,连同符号位直接相加,减某数用加某数的机器负数代替,结果的符号在运算中形成D .操作数用补码表示,由数符决定两尾数的操作,符号位单独处理 4.两个补码数相加,采用1位符号位,当 时,表示结果溢出。

A .符号位有进位B .符号位进位和最高数位进位异或结果为0 C. 符号位为1D.符号位进位和最高数位进位异或结果为15.在双符号位判断溢出的方案中,出现正溢时,双符号位应当为。

A. 00B. 01C. 10D. 116.在定点机中执行算术运算时会产生溢出,其原因是 。

A .主存容量不够B .操作数过大C .操作数位置过大D .运算结果无法表示7. 当定点运算发生溢出时,应进行 。

A. 向左规格化B .向右规格化C .发出出错信息D .舍入处理8.8位补码10010011等值扩展为16位后,其机器数位 。

A .1111111110010011B .0000000010010011C .1000000010010011D .11111111011011019.将用8位二进制补码表示的十进制数-121,扩展成16位二进制补码,结果用十六进制表示为 。

ch4-1 数值的机器运算-加减法

ch4-1 数值的机器运算-加减法

思考: 已知[y]移如何求[-y]移?
我们能体验的最美好的东西是神秘的事物,它是所有真正艺术和 科学的来源。(爱因斯坦)
19/37
4.2.5 移码加减法 ②混合使用移码和补码 考虑到移码和补码的关系: 对同一个数值, 其数值位完全相同, 而符号位正好完全相反。 [y]补的定义为 [y]补= 2n+1 +y (mod 2n+1) 则移码和用如下方式完成: [x]移+[y]补= 2n +x+ 2n+1 +y = 2n+1 + (2n +(x+y)) 即: [x+y]移= [x]移+[y]补 (mod 2n+1) 同理: [x-y]移= [x]移+[-y]补 (mod 2n+1)
8/37
例: x=+0.1101, y=+0.0110, 求 x-y。 解: [x]补=0.1101 [x]补 + [ - y] 补 [x-y]补 例: [ y]补=0.0110, 0.1101 1.1010 10.0111 [-y]补=1.1010
∴ x-y=+0.0111
x= -0.1101,y= 0.1010,求x-y=? [y]补=0.1010 [-y]补=1.0110
• 当低位符号位为 0时,(10) 表明结果上溢, • 当低位符号位为1时, (11) 表明结果下溢。 • 当最高符号位为0时, 表明没有溢出:
我们能体验的最美好的东西是神秘的事物,它是所有真正艺术和 科学的来源。(爱因斯坦)
低位符号位为1, (01) 表明结果为正; 为0, (00) 表明结果为负。
4.
加过加上符号位。
我们能体验的最美好的东西是神秘的事物,它是所有真正艺术和 科学的来源。(爱因斯坦)

计算机组成原理课件第四章计算机中的算术运算

计算机组成原理课件第四章计算机中的算术运算


结果:
[X*Y]补=0.10001111
Ø
被乘数的符号X0和乘数的符号Y0 都参加运算。
Ø 乘数寄存器R1有附加位Yn+1, 其初始状态为“0”。当乘数和部分积每次 右移时,部分积最低为移至R1的首位位臵, 故R1必须是具有右移功能的寄存器。 Ø 被乘数寄存器R2的每一位用原码或 反码经多路开关传送到加法器对应位的一个 输入端,而开关的控制信号由YnYn+1的 输出译码器产生。当YnYn+1=01时, 送[X]补;当YnYn+1=10时,送 [-X]补,即送R2的反码且在加法器最 末位加上“1”。 Ø R0保存部分积,它也是具有右移功 能的移位寄存器,其符号位与加法器符号位 始终一致。 当计数器i=n+1时,封锁LDR1和L DR0控制信号,使最后一步不移位。
Yi-1yi 00
00 01 01
Cj 0
1 0 1
操作 部分积加0,右移两位
部分积加|x|,右移两位 部分积加|x| ,右移两位 部分积加2|x| ,右移两位
[X]补=1. 1 0 0 + [Y]补=1. 0 1 1
1 10. 1 1 1
丢到
两负数相加,结果应为负数,但运 算结果为正数,表明有溢出发生

例: X=100 ,Y=-110,求 X-Y=? 解:
[X]补=0 1 0 0 + [-Y]补=0 1 1 0
1 01 0 一个正数减去一个负数,结果为正数,但计算 结果为负数,表明有溢出发生,出错
采用双符号位的判断方法
每个操作数的补码符号用两个二进制数表示,称为 变形补码,用“00”表示正数,“11”表示负数,左边第 一位叫第一符号位,右边第一位称为第二符号位,两个 符号位同时参加运算,如果运算结果两符号位相同,则 没有溢出发生。如果运算结果两符号位不同,则表明产 生了溢出。“10”表示负溢出,说明运算结果为负数, “01”表示正溢出,说明运算结果为正数。

第4章数值的机器运算(2015)详述

第4章数值的机器运算(2015)详述
0,1 1 1 0 溢出=CsC1+CsC1=Cs⊕C1
计算机组成原理
11 7 -14
-11 -7 14
40
4.2 定点加减运算
计算机组成原理
(3)采用变形补码(双符号位补码)
➢ 左边的符号位Ss1叫真符,代表该数真正的符号, 两个符号位都作为数的一部分参加运算
Ss1Ss2=00 结果为正数,无溢出 Ss1Ss2=01 结果正溢 Ss1Ss2=10 结果负溢 Ss1Ss2=11 结果为负数,无溢出
计算机组成原理
3
第4章
计算机组成原理
➢ 了解串行加法器与并行加法器的区别
➢ 理解进位产生和进位传递的概念
➢ 掌握并行加法器不同进位方式的特点与区别
4
第4章
计算机组成原理
➢ 运算器是计算机进行算术运算和逻辑运算的主要 部件
➢ 运算器的逻辑结构取决于机器的指令系统、数据 表示方法和运算方法等
➢ 本章讨论数值数据在计算机中实现算术运算和逻 辑运算的方法,以及运算部件的基本结构和工作 原理
若真值为纯整数,补码形式为 XsX1X2…Xn,其中Xs表示符号位
[X]补=
X
0≤X<2n
(mod 2n+1)
2n+1+X=2n+1-|X| -2n ≤ X<0
12
4.2 定点加减运算
计算机组成原理
2. X>0, Y<0
由补码定义:[X]补=X, [Y]补=M+Y (mod M)
[X]补+[Y]补=X+M+Y
38
4.2 定点加减运算
0,0 0 1 1 + 0,0111111
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

习题
1.证明:在全加器里进位传递函数P=Ai+Bi=Ai①Bi,
2.某加法器采用组内并行、组间并行的进位链,4位一组,写出进位信号C6的逻辑表达式。

3.设计一个9位先行进位加法器,每3位为一组,采用两级先行进位线路。

4.已知X和Y,试用它们的变形补码计算出X+Y,并指出结果是否溢出。

(1)X=0.11011,Y=0.11111
(2)X=0.11011,Y=-0.10101
(3)X=-0.10110,Y=-0.00001
(4)X=-0.11011,Y=0.11110
5.已知X和Y,试用它们的变形补码计算出X-Y,并指出结果是否溢出。

(1)X=0.11011,Y=-0.11111
(2)X=0.10111,Y=0.11011
(3)X=0.11011,Y=-0.10011
(4)X=-0.10110,Y=-0.00001
6.已知:X=0.1011,Y=-0.0101。

求[1/2x]补,[1/4x]补,[-x]补,[1/2Y]补,[1/4Y]补,[-Y]补
7.设下列数据长8位,包括一位符号位,采用补码表示,分别写出每个数据右移或左移两位之后结果。

(1)0.1100100 (2)1.0011001 (3)1.1100110 (4)1.0000111
8.分别用原码乘法和补码乘法计算X×Y。

(1)X=0.11011,Y=-0.11111
(2)X=-0.11010,Y=-0.01110
9.根据补码两位乘法规则推导出补码3位乘法的规则。

10.分别用原码和补码加减交替法计算X÷y。

(1)X=0.10101,Y=0.11011
(2)X=-0.10101,Y=0.11011
(3)X=0.10001,Y=-0.10110
(4)X=-0.10llO,Y=-0.11011
11.设浮点数的阶码和尾数部分均用补码表示,按照浮点数的运算规则,计算下列各题:
(1)X=2101×(-0.1000l0),Y=2100×(-0.111110)
(2)X=2-101×0.101100,Y=2-100×(-0.101000)
(3)X=2-011×0.101100,Y=2-001×(-0.111100)
求X+Y,X—Y。

12.设浮点数的阶码和尾数部分均用补码表示,按照浮点数的运算规则,计算下列各题:
(1)x=23×13/16,Y=24×(-9/16) 求X×Y。

(2)x=23×(-13/16),Y=25×(15/16) 求X÷Y。

13.用流程图描述浮点除法运算的算法步骤。

14.设计一个一位5421码加法器。

15.某机利用二进制的加法器进行8421码的十进制运算,采用的方法是:
(1)对某一操作数预加6后,与另一操作数一起进入二进制加法器。

(2)有进位产生时,直接得到和的8421码。

(3)没有进位时,反减6再得到和的8421码。

试求+6、一6的校正逻辑。

16.用74181和74182芯片构成一个64位的ALU,采用多级分组并行进位链(要求速度尽可能快)。

相关文档
最新文档