第三章运算方法与运算器(定点数除法)

2Ri-Y
■ 当上述结果小于0时,商上0,恢复余数,然后左移一位,减除数比较,即:
(2Ri-Y)+Y= 2Ri 2*2Ri -Y = 4Ri –Y
■ 若当结果小于0时,商上0,不恢复余数而直接将余数左移一位,加Y:
2(2Ri-Y)+Y = 2*2Ri -2Y + Y = 4Ri –Y
第三章 3.6 定点数除法
1 00.0011
1
00.0110 0.11
+[–Y]补 11.0101
0 11.1011
0
11.0110 0.110
+[Y]补 00.1011
1 00. 0001 0.1101 1
减Y比较
余数 <0 商上零 左移一位 加Y比较 余数>0,商上1 左移一位 减Y比较 余数>0,商上1 左移一位 减Y比较 余数<0 商上零 左移一位 加Y比较
■重复上述过程直到商达到所需要的位数为止。
第三章 3.6 定点数除法
2
原码恢复余数除法
已知 X=0.1001,Y=- 0.1011,用原码一位除法求X/Y
解:[X]原= 0 .1001 [Y]原= 1.1011
[|X|]补=0.1001 [|Y|] 补=0.1011 [-|Y|]补 =1.0101
最后结果: 商Q = (X0 Y0).1101=1.1101 余数 R = 0.0001 * 2 -4
该方法存在的不足: 运算步数不确定
左移一位 减Y比较
1 余数>0,商上1,移商
第三章 3.6 定点数除法
3
原码加/减交替除法运算方法(不恢复余数法)
■ 设某次余数为Ri,将Ri左移一位减除数进行比较并上商,即:
•每执行完一步除法,就将 除数右移一位(同手工除法)
Q2
CAS CAS CAS CAS CAS
Q3
CAS CAS CAS CAS CAS
Q4
CAS CAS CAS CAS CAS
R4
R5
R6
R7
R8
•注意连接、输入输出关系
•使用原码不恢复余数法。 第一步一定是减法,故P=1, 以后各步做加还是减取决于 前一步的商
•最左边CAS的进位输出是 商,且本位商决定下一步是 执行加操作还是减操作
3
原码加/减交替除法运算方法(不恢复余数法)
已知 X=0.1001,Y=- 0.1011,用原码一位除法求X/Y
被除数/余数 商
上商位 说明
+[–Y]补
00.1001 11.0101
0 11.1110
0
11.1100 0 +[Y]补 00.1011
1 00.0111
1
00.1110 0.1
+[–Y]补 11.0101
P=1时实现减法功能(全减)
Si = AiBi Ci Ci+1 = ( Ai + Ci) Bi + Ai Ci
第三章 3.6 定点数除法
5
阵列除法
2)基于CAS的阵列除法
0.
X1
X2
X3
X4
X5
X6
X7
X8
0. Y1
Y2
Y3
Y4
P=1
CAS
CAS
CAS CAS
CAS
0.
Q1
CAS CAS CAS CAS CAS
第三章 3.6 定点数除法
2
原码除法运算方法
被除数/余数
00.1001 +[–Y]补 11.0101
11.1110 + 00.1011
00.1001 01.0010 +[–Y]补 11.0101
00.0111 00.1110 +[–Y]补 11.0101
00.0011 00.0110 +[–Y]补 11.0101 11.1011
00.10010 - 00.01011
00.00111
00.10010 -00.11011 11.10111 +00.11011
00.10010
■余数为正数时,够减 ,商上1,将余数左移一位,再与除数做减法比较
■ 余数为负数时,不够减,商上0 ,? ◆加除数恢复成原来的值 ,将余数左移一位,再与除数做减法比较
5
阵列除法
1)可控制加/减法(CAS)单元
Bi
Ai
P
PHale Waihona Puke FACi Ci+1
Bi
Si
逻辑功能为:
Si = Ai(Bi P ) Ci Ci+1 = ( Ai + Ci) (Bi P) + Ai Ci P=0时实现加法功能
Si = AiBi Ci Ci+1 = ( Ai + Ci) Bi + Ai Ci
0.00000001
除数右移2位,够减,减除数,商上1 除数右移3位,不够减,不减除数,商上零
除数右移4位,够减,减除数,商上1 启示:除法可通过减法实现
问题:除数移位次数不固定且多 需要长度为2n位的余数寄存器
如何判断每步是否够减
第三章 3.6 定点数除法
2
原码恢复余数除法
■ 如何判断是否够减
◆利用减法,通过余数符号判断
计算机组成原理
第三章 运算方法与运算器
3.6 定点数除法
第三章 3.6 定点数除法
1
手工除法运算方法
0. 1 1 0 1
0.1011 0.10010 - 0.01011
不够减,商上零,
除数右移1位,够减,减除数,商上1
0.001110 - 0.001011
0.0000110 0.0001011
0.00001100 - 0.00001011
+ 00.1011 00.0110 00.1100
+[–Y]补 11.0101 00.0001

0 0.1 0.11
0.110 0.1101
上商位
说明
减Y比较
0
余数<0,商=0
加Y恢复余数
左移一位 减Y比较
1
余数>0,商上1
左移一位
减Y比较
1
余数>0,商上1
左移一位
减Y比较
0 余数<0,商上0 加Y恢复余数
余数>0,商上1,移商
最后结果: 商Q = X0 Y0.1101=1.1101 余数 R = 0.0001 * 2 -4
第三章 3.6 定点数除法
4
原码加/减交替除法实现逻辑
R0 被除数/余数
加法器 c
=1
R2 除数
上商位
R1
商 Qn
Cn+1
移位控制
计 数 器
控制逻辑
第三章 3.6 定点数除法
合集下载

计算机原理 第三章 运算方法与运算器 课堂笔记及练习题

计算机原理 第三章 运算方法与运算器 课堂笔记及练习题

计算机原理第三章运算方法与运算器课堂笔记及练习题主题:第三章运算方法与运算器学习时间:2016年10月17日--10月23日内容:这周主要学习第三章中定点除法运算、定点运算器的组成、错误检测码的相关知识。

一、学习要求1.了解定点除法运算,定点运算器的组成。

2.理解奇偶校验码以及海明码的错误检测方法。

二、主要内容(一) 定点除法运算1.定点除法运算基本思想:除数和被除数进行n位移位运算(此时两个数在同一个数量级或最多只差一个数量级)后的结果进行比较,如果被除数大于或等于除数,商对应的未就得1,否则为零;接下来,被除数减去除数,用余数继续进行上述运算,直到余数为零或得到了所需的精度。

2.定点除法运算原理两个原码表示的数相除时,商的符号由两数的符号按位相加求得,商的数值部分由两数的数值部分相除求得。

设有被除数x,其原码为[x]原=xf .xn-1…x1x0除数y,其原码为 [y]原=yf .yn-1…y1y0 则有商q=x/y,其原码为[q]原=(xf⊕yf)+(0.xn-1…x1x0/0.yn-1…y1y0)商的符号运算qf=xf⊕yf与原码乘法一样,用模2求和得到。

商的数值部分的运算,实质上是两个正数求商的运算。

根据我们所熟知的十进制除法运算方法,很容易得到二进制数的除法运算方法,所不同的只是在二进制中,商的每一位不是“1”就是“0”,其运算法则更简单一些。

3.定点运算器的组成运算器包括ALU\阵列乘除器\寄存器\多路开关\三态缓冲器\数据总线等逻辑部件。

运算器的设计,主要是围绕ALU和寄存器同数据总线之间如何传送操作数和运算结果进行的。

在决定方案时,需要考虑数据传送的方便性和操作速度,在微型机和单片机中还要考虑在硅片上制作总线的工艺。

计算机的运算器大体有如下三种结构形式(1)单总线结构的运算器单总线结构的运算器由于所有部件都接到同一总线上,所以数据可以在任何两个寄存器之间,或者在任一个寄存器和ALU之间传送。

计算机组成原理-第3章运算方法与运算器

计算机组成原理-第3章运算方法与运算器

03
浮点数运算方法
浮点加减法运算
对阶操作
使两个浮点数的阶码 相等,即小数点位置 对齐。
尾数相加/减
将对阶后的两个浮点 数尾数按定点数加减 规则进行运算。
规格化
将运算结果规格化为 标准形式,包括左规 和右规两种情况。
舍入处理
对规格化后的结果进 行舍入,以减小误差。
溢出判断
判断运算结果是否溢 出,若溢出则作相应 处理。
浮点乘法运算
尾数相乘
将两个浮点数的尾 数按定点数乘法规 则进行运算。
舍入处理
对规格化后的结果 进行舍入。
阶码相加
将两个浮点数的阶 码相加,得到积的 阶码。
规格化
将乘积规格化为标 准形式。
溢出判断
判断运算结果是否 溢出。
浮点除法运算
溢出判断
判断运算结果是否溢出。
阶码相减
将被除数的阶码减去除数的阶码,得到商 的阶码。
THANKS
感谢观看
运算器基本功能及组成
寄存器组
用于暂存操作数和运算结果。
数据总线
连接各部件,实现数据传输。
控制逻辑
控制运算器的操作。
数据通路与控制器设计
数据流
描述数据在运算器中的流动路径 。
控制信号
控制数据的流动和运算的执行。
数据通路与控制器设计
指令译码
将指令转换为控制信号。
时序控制
确定各操作的时间顺序。
微操作控制
01
02
03
04
05
运算方法与运算 器的基本…
定点数与浮点数 的表示方法
定点数的加减运 算
浮点数的加减运 运算器的组成与

设计
介绍了运算方法和运算器 的基本概念和分类,包括 算术运算、逻辑运算、移 位运算等。

精品文档-计算机组成与系统结构(裘雪红)-第3章

精品文档-计算机组成与系统结构(裘雪红)-第3章

(4) 运算结果为补码表示。
第3章 运算方法与运算器
10
2. 溢出判断 1) 溢出的概念 例3.4 有两个定点整数63和85,利用补码加法求63+85=? 解 根据题意,用8位二进制补码表示63和85:
第3章 运算方法与运算器
11
例3.5 设正整数X=+1000001,Y= +1000011,若用8位补 码表示,则[X]补=01000001,[Y]补=01000011,求[X+Y]补。
第3章 运算方法与运算器
15
(2) 进位判决法。若Cn-1为最高数值位向最高位(符号位)的 进位,Cn表示符号位的进位(即进位标志CF),则判别溢 出的逻辑表达式为
(3-4)
OF=Cn-1⊕Cn
溢出判定如表3.1所示。在例3.6的运算过程中,Cn-1为0而 Cn为1 ,故Cn-1⊕Cn=1,表示运算结果有溢出。
第3章 运算方法与运算器
28
图 3.3 四位先行进位链电路
第3章 运算方法与运算器
29
5. BCD数加法器 1) 8421 BCD码
第2章中已详细地介绍了BCD码。在所描述的几种BCD码中, 计算机中应用最广泛的是8421 BCD码。8421 BCD码只利用了四 位二进制编码的0000~1001这十种来表示十进制数的0~9,剩余的
(3-6)
第3章 运算方法与运算器
19
3. 一位全加器的实现
设一位全加器的输入分别为Xi和Yi,低一位对该位的进位 为Ci, 全加器的结果和向高一位的进位分别用Zi和Ci+1表示, 则 一位全加器所实现的逻辑表达式如下:
(3-7)
(3-8)
第3章 运算方法与运算器
20
实现上述逻辑功能的一位全加器的逻辑电路及其框图分别

计算机组成原理第三章运算方法与运算器(含答案)

计算机组成原理第三章运算方法与运算器(含答案)

第三章运算方法与运算器3.1定点数运算及溢出检测随堂测验1、定点运算器可直接进行的运算是() (单选)A、十进制数加法运算B、定点数运算C、浮点数运算D、定点数和浮点数运算2、设计计算机字长为8位,两个十进制数X = -97 ,Y = 63, [x]补- [y]补的结果为()(单选)A、01100000B、11011110C、负溢出D、正溢出3、下列关于定点运算溢出的描述中,正确的是( ) (多选)A、补码数据表时,同号数相加可能发生溢出B、补码数据表时,异号数相减可能发生溢出C、参加运算的两个数,当作为有符号数和无符号数进行加法运算时,不可能两者都溢出D、溢出检测既可用硬件实现,也可用软件实现4、设X为被加(减)数,Y为加(减)数,S为运算结果,均采用补码数据表示,下列关于溢出电路设计的描述中,正确的是()(多选)A、采用单符号位时,直接用X、Y和S的符号位就可设计溢出监测电路B、采用双符号位时,可直接用S的双符号位设计溢出检测电路C、采用单符号位时,可直接用X、Y最高有效数据位运算后的进位位和S的进位设计溢出监测电路D、对无符号数的加/减运算,可利用运算器的进位信号设计溢出检测电路3.2 定点数补码加、减运算器设计随堂测验1、如图所示为基于FA的运算器:为了利用一位全加器FA并配合使用控制信号P,当P= 0/1时实现A、B两个数的加法/减法运算,图中空白方框处电路的逻辑功能应该是()(单选)A、与门B、或门C、异或门D、非门2、如图所示为带溢出检测功能的运算器该电路完成的溢出检测功能是()(多选)A、带符号数的加法溢出检测B、带符号数的加法溢出检测C、无符号数的加法溢出检测D、无符号数减法的溢出检测3、下列关于并行进位的描述中,正确的是()(多选)A、并行进位可以提高运算速度B、并行进位模式下,各进位位采用不同电路各自产生,相互间不再有依存关系C、采用先行进位部件和ALU模块可构建长度可变的并行进位运算器D、并行进位只对加法有效,而对减法无效4、四位并行ALU中有两个特殊的输出端,分别是:G =A3B3+(A3+B3)(A2B2+(A2+B2)(A1B 1+ (A1+B1) A 0B0)) 为进位产生函数,P=(B3+A3) (B2+A2)( A1+B1 ) (A0+B0)为进位传递函数下列关于P、G的描述中,正确的是()(多选)A、设计P和G的目的是为了构建位数更长的并行ALUB、P和G对算术运算和逻辑运算都有意义C、P的作用是将本片ALU的最低进位输入位传递到本片ALU的最高进位输出端D、G的作用是根据参与运算的两个数据产生本片ALU的最高进位输出3.3 原码一位乘法随堂测验1、设计算机字长为8位,X = - 19,对该分别执行算术左移和逻辑左移一位后的结果分别为()(单选)A、11011010 ,11011010B、11110010 ,11110010C、11011000 ,11011000D、11110000 ,111100002、设计算机字长为8位,X = - 19,对该分别执行算术右移和逻辑右移一位后的结果分别为()(单选)A、11111001,11111001B、11111001,01111001C、11110110,01110110D、11110110,111101103、关于原码一位乘法的下列描述中,正确的是()(多选)A、数据取绝对值参加运算B、符号位单独处理C、乘法执行过程中的所有移位都是算术移位D、最后的结果由部分积寄存器和乘数寄存器共同保存4、计算机字长为n位, 下列关于原码一位乘法操作过程的描述中,正确的是() (多选)A、乘法过程中共执行n 次算术右移和n 次加法运算B、乘法过程中共执行n -1次算术右移和n-1 次加法运算C、乘法过程中,部分积加0 还是加x的绝对值,取决于此时的YnD、乘法过程中右移部分积是为了使部分积与下次的加数按位对齐3.4 补码一位乘法随堂测验1、16位补码0X 8FA0扩展为32位的结果是() (单选)A、0X 0000 8FA0B、0X FFFF 8FA0C、0X FFFF FFA0D、0X8000 8FA02、计算机字长为n位, 下列关于补码一位乘法操作过程的描述中,正确的是() (多选)A、乘法过程中共执行n 次加法和n-1 部分积右移B、乘法过程中共执行n -1次算术右移和n-1 次加法运算C、乘法过程中,部分积加0 、[x]补还是[-x]补,取决于此时的Yn+1 与Yn的差D、乘法过程中右移部分积的目的是为了使部分积与下次的加数对齐3、关于补码码一位乘法的下列描述中,正确的是()(多选)A、符号位和数据位一起参加运算B、运算开始前,需要在乘数寄存器Y后面补上Yn+1且其初值为0C、乘法执行过程中的对部分积的移位是算术右移D、最后的结果由部分积寄存器和乘数寄存器共同保存3.5 乘法运算器设计随堂测验1、下图为原码一位乘法器原理图正确的是()(单选)A、A: 部分积寄存器B:乘数寄存器C: |X| D: YnB、A: 部分积寄存器B:乘数寄存器C: |X| D: Yn+1C、A: 被乘数寄存器B:乘数寄存器C: |X| D: YnD、A: 被乘数寄存器B:乘数寄存器C: |X| D: Yn+12、下图为补码一位乘法原理图正确的是() (单选)。

第3章 运算器和运算方法

第3章 运算器和运算方法
第3章
3.1 3.2 3.3
运算器和运算方法
定点运算器的组成和结构 算术逻辑运算的基本电路 定点加/减法运算
3.1 定点运算器的组成和结构
定点运算器由算术逻辑运算单元 (ALU)、输入数据选择电路、通用寄存 器组、输出数据分配电路组成,如下页图 所示。 其中算术逻辑运算单元的核心部件是 加法器,而加法器的逻辑组成包括加法单 元与进位传递逻辑单元。
例3-1:已知X= +00010100B,Y= +00000101B,进行补码加法运算,求[X]补 +[Y]补。 [X]补= 00010100 (+20的补码) +)[Y]补= 00000101 (+5的补码) [X+Y]补= 00011001 (+25的补码) 符号位
(2)X>0, Y<0,且|X|≥|Y|,即 0≤X+Y<2n–1 由补码定义可知: [X]补=X [Y]补=2n+ Y [X+Y]补=X + Y [X]补+[Y]补= X + 2n + Y = X + Y = [X+Y]补 (mod 2n) 因为结果为正数,所以其补码即为该 数本身。
1.R1+R2,结果送到R3中 操作过程:R1的内容通过端口RA输出, MUX1将RA的内容送入ALU的A输入端;R2的内 容通过端口RB输出,MUX2将RB的内容送入ALU 的B输入端。ALU进行A+B操作,从Y输出端输出 结果,并存入R2寄存器中。 ALU中的运算: 1100 + 0110 10010 送往进位位 所以R3=0010,标志位C由0变为1,其他标志 位不变。
3.1.2 通用寄存器组
现代计算机的中央处理器中都有一组 通用寄存器,主要用于保存参加运算的操 作数和运算结果。之所以在现代计算机中 加入通用寄存器是因为它的存取速度要远 远高于内存储器的速度。 通用寄存器的数量越多,对提高运算 器性能和程序执行速度越有利。通用寄存 器组是对用户开放的,可以通过指令去使 用这些寄存器。

中职计算机原理教案:运算方法和运算器 定点加减法运算

中职计算机原理教案:运算方法和运算器  定点加减法运算

江苏省XY中等专业学校2022-2023-1教案教学内容[X]反=00101101B[X]补=00101101B[Y]原=00101110B=[Y]反=[Y]补Cs+1Cs00[X]补=0 0 101101+ [Y]补= 0 0 101110[X-Y]补= 0 1 011011符号位由于X+Y<2n-1,Cs=0,Cs+1=0,由此可知,当Cs+1Cs=00时,不会发生溢出。

②当X+Y≥2n-1时,发生溢出例3.10已知X= +1011010BY=+1101011B用补码进行加法运算:求X+Y[X]原=01011010B=[X]反=[X]补[Y]原=01101011B=[Y]反=[Y]补Cs+1Cs01[X]补=0 1 011010+ [Y]补= 0 1 101011[X-Y]补= 1 1 000101符号位由于X+Y≥2n-1,Cs=1,Cs+1=0,由此可知,当Cs+1Cs=01时,发生正溢出。

(2)X和Y均为负数教学内容①当-2n-1≤X+Y<0时,不会发生溢出例3.11已知X= -0000101B Y=-0000010B用补码进行加法运算:求X+Y[X]原=10000101B[X]反=11111010B[X]补=11111011B[Y]原=10000010B[Y]反=11111101B[Y]补=11111110BCs+1Cs11[X]补=1 1 111011+ [Y]补= 1 1 111111[X-Y]补= 1 1 111010符号位由于Cs+1Cs=11,可判断-2n-1≤X+Y<0不会发生溢出②当X+Y<-2n-1时,发生溢出例3.12已知X= -1101001B Y=-1011011B用补码进行加法运算:求X+Y[X]原=11101001B[X]反=10010110B[X]补=10010111B[Y]原=11011011B[Y]反=10100100B[Y]补=10100101B采用补码运算时,若结果的数值超过出了补码能表示的范围,计算结果错误,我们称这种情况为溢出。

第3章运算方法和运算器讲义(计算机组成原理课件)


N → ½ 1 Cn 2A-B→ A 2C → C
A<0?
Y → ½ 0 Cn 2A+B→A 2C → C
CR+1→CR N
CR=n? Y A<0? N 1 → Cn XS⊕YS→ QS End Y 0→Cn A+B→A
24
原码不恢复余数法需要注意的问题:
(1) 在定点小数除法运算时,为了防止溢出,要求被除 数的绝对值小于除数的绝对值, |X|< |Y| ( |X|=|Y|除 外),且除数不能为0。 (2)在原码加减交替法中,当最终余数为负数时,必须 恢复一次余数,使之变为正余数,注意此时不需要再左移 了。
二、补码乘法
将此式展开,得到递推关系: [Z0]补=0 [Z1]补=2-1{[Z0]补+(yn+1-yn)[x]补} [Z2]补=2-1{[Z1]补+(yn-yn-1)[x]补} . . [Zn]补=2-1{[Zn-1]补+(y2-y1)[x]补} 从而得到: [x×y]补=[Zn]补+(y1-ys).[x]补 --------补码一位乘比较法
1.补码一位乘
• 用补码做加减运算很方便,做乘法(包括除法)却
是原码很方便,既然这样为何又有补码乘法呢?主 要为了避免频繁的码制转换。 被乘数x, [x]补=xs.x1…xn 乘数y, [y]补=ys.y1…yn • 校正法 ⑴ x任意,y>0时, [X×Y]补 = [Y]补× [Y]补 ⑵ x任意,y<0时, [X×Y]补 = [X]补× (0.y1…yn )+[-X]补
3
§3.3 定点乘法运算
X×Y=X×0.1011 =X×0.1+X×0.00+X×0.001+X×0.0001 =0.1{X+0.1[0+0.1(X+0.1×X)]} =2-1{X+2-1{0+2-1[X+2-1(X+0)]}} |X|×|Y| = |X|× (0.Y1Y2 … Yn )

中职计算机原理(高教版)教案:运算方法和运算器——定点运算器的组成和结构(全3课时)

江苏省XY中等专业学校2022-2023-2教案教学内容逻辑异或和逻辑非操作;移位操作主要完成逻辑左移、逻辑右移、算术左移、算术右移及其它一些移位操作。

在某些机器上ALU还要完成数值比较、变更数值符号、计算操作数在存储器中的地址等工作。

提问:ALU能够处理数据的位数与机器的字长有关码?试举例说明。

引导学生思考、回答并相互补充。

从下图可以看出,算术逻辑运算单元ALU有两个数据输入端A和B,一个数据输出端Y。

输入输出数据的宽度与ALU处理的数据宽度相同。

ALU一般具有A十B、A—B、B—A等算术运算功能,以及与、或、非、异或等逻辑运算的功能,还有左移、右移的功能。

3.2.2 通用寄存器组近代计算机的运算器中都有一组通用寄存器,它的主要用途是保存参加算的操作数和运算的结果。

寄存器是计算机中存取速度最快的存储器件,寄存器的存取周期一般是十几个毫微秒,远远快于内存储器的存取周期。

如果ALU的两个操作数都来自于寄存器,则可以极大地提高运算速度,这也就是为什么近代计算机都有一组相当数目的通用寄存器的道理。

江苏省XY中等专业学校2022-2023-2教案教学内容理解指令执行过程,也就是计算机总体运行过程。

假设这个通用寄存器组有两个输出端口RA和RB,有一个输人端口RI。

寄存器中的数据以补码表示。

并假设寄存器组中的寄存器1用R,表示,寄存器2用R.表示,寄存器3用R、表示。

运算之前,R,=0110,R2=1100,Z、N、C、V标志位全为0。

进行下面的操作后,标志位Z、N、C、V和R;的值如何?(1)第一种操作:R1加R2 ,结果送到R3中其操作过程如下:R1的内容通过端口RA输出,MUX1选择RA的内容送入ALU的输入端;R2的内容通过端口RB输出,MUX2选择RB的内容送人ALU的B输人端。

令ALU 做A+B算术加法操作,从Y输出端输出加的结果,并存人R,寄存器中。

(2)第二种操作:求与R,相补的数(取负数)其操作过程如下:R,的内容从RB输出,经过MUX2选择,送到ALU 的B输人端,在MUX1处选择常数"0"送入ALU的A 输人端,在ALU中选择A-B的算术运算功能。

运算方法与运算器


3.采用双符号位进行判断 符号位用两个0(表示正数)或两个1(表 示负数)来表示。 两个符号位都看作为数码参加运算, 结果的两个符号位的值相同,则说明没有发 生溢出;若结果的两个符号位不同,则说明 发生了溢出。有如下两种情况:
(1)运算结果的符号位为01时,表明两个正 数相加,结果大于机器所能表示的最大正 数,称为上溢,即正溢出; (2)运算结果的符号位为10时,表明两个负 数相加,结果小于机器所能表示的最小负 数,称为下溢,即负溢出。
(5)部分积加0 0· +2-1 [1· -1 (1· A A+2 A+0)] =0.100111 (6)右移一位,得出部分积 2-1{0· -1 [1· -1 A+2 A+2 (1· A+0)]}=0.0100111 (7)被乘数加部分积 1· -1{0· -1 [1· -1 A+2 A+2 A+2 (1· A+0)]}=1.0001111 (8)右移一位,得出部分积 2-1 {1· -1[0· -1 A+2 A+2 (1· -1 (1· A+2 A+0))]}=0.10001111
所以
x+y=+0.1110。
3.1.2 补码减法运算
对于减法运算,因为:A-B=A+(-B),
则[A-B]补=[A+(-B)]补 (3-3) 由补码加法的基本公式可得: 整数:[A-B]补=[A+(-B)]补=[A]补+[-B]补 (mod 2n+1)(3-4) 小数:[A-B]补=[A]补+[-B]补 (mod 2) (3-5)
3.1.3 溢出判断
定义:在计算机中,超出机器字长的现象,称为溢出。 [例3-3] 设机器数字长为8位,其中一位为符号位,令A=-93, B=+45,求[A-B]补。 [解] 由A=-93=-1011101,得[A]补=1 0100011。 由B=+45=+0101101, 得[B]补=0 0101101, [-B]补=1 1010011。 [A-B]补=[A]补+[-B]补 =1 0100011+1 1010011 =10 1110110 分析: 故[A-B]补=0 1110110,还原成真值得A-B=118,结果出错。

运算器与运算方法

补码一位乘法
补码一位乘法
[P0]补=0;
1
[P1]补= [2-1(P0+(0-yn)X]补
2
[P2]补= [2-1(P1+(yn-yn-1)X]补
3
[P3]补= [2-1(P2+(yn-1-yn-2)X]补
4
….
5
[Pi+1]补=[2-1(Pi+(yn-i+1-yn-i)X]补
6
有递推公式
补码一位乘法
已知[X]原=01011,[Y]原=11101,求[X/Y]原 先计算商的符号位:0⊕1=1 运算中要减Y,用+[-|Y|补]实现,所以先求[-Y]补 运用运算规则完成计算 演示3-16.swf
在恢复余数的除法中,当部分余数和除数做为负数时,要多做一次+Y操作,降低了算法执行速度,控制线路也复杂。所以普遍采用不恢复余数法。 不恢复余数法中,设恢复余数前第i次余数为Ri’,恢复余数后为Ri,那么 先计算Ri’=2Ri-1-Y, 当Ri’>=0时,上商1,余数不恢复,Ri=Ri’,计算Ri+1,左移一位,得Ri+1=2Ri-Y 当Ri’<0时,上商0,应做恢复余数操作Ri=Ri’+Y,然后计算Ri+1=2Ri-Y=2(Ri’+Y)-Y=2Ri’+Y
乘数的每2位有4种组合,每种组合对应操作为 00 Pi+1=2-2Pi 01 Pi+1=2-2(Pi+X) 10 Pi+1=2-2(Pi+2X) ;2X为X左移1位值 Pi+1=2-2(Pi+3X);3X用4X-X替代 =2-2(Pi+4X-X) ;-X用[-X]补实现 =2-2(Pi-X)+X ;+X用T记录,求Pi+2时补 Pi+2=2-2(Pi+1….)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档