第三章 运算方法与运算器

合集下载

计算机组成原理 [袁春风]chap3_1

计算机组成原理 [袁春风]chap3_1

15
南京大学计算机系 多媒体技术研究所 袁春风
3.2.3 先行进位ALU
(1)为什么用先行进位方式 行波进位是串行逐级传递的 整个和的生成受到行波进位的影响 因此 现代计算机采用一种先行进位(Carry look ahead)方式 (2)如何产生先行进位 定义两个辅助函数 Gi=aibi…进位生成 Pi=ai⊕bi…进位传递 通常把实现上述逻辑的电路称为进位生成/传递部件 全加逻辑方程 Si=Pi⊕Ci Ci+1=Gi+PiCi (i=0,1,…n) 设n=4,则 C1=G0+P0C0 C2=G1+P1C1=G1+P1G0+P1P0C0 C3=G2+P2C2=G2+P2G1+P2P1G0+P2P1P0C0 C4=G3+P3C3=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C0 由上式可知:各进位之间无等待 相互独立并同时产生 通常把实现上述逻辑的电路称为4位CLA部件 由此 根据Si=Pi⊕Ci 可并行求出各位和 通常把实现Si=Pi⊕Ci的电路称为求和部件 CLA加法器由“进位生成/传递部件” “CLA部件”和“求和部件”构成
高位进位逻辑表达式
9
南京大学计算机系 多媒体技术研究所 袁春风
全加和逻辑
10
南京大学计算机系 多媒体技术研究所 袁春风
全加和逻辑 续
11
南京大学计算机系 多媒体技术研究所 袁春风
全加器逻辑图
上述全加器和Sum的延迟为6ty,进位Cout的延迟为 (假定一个与/或门延迟为1ty 异或门的延迟则为
AL BL CL DL CS DS SS ES IP 16位

《计算机组成原理》名词解释

《计算机组成原理》名词解释

摩尔定律:对集成电路上可容纳的晶体管数目、性能和价格等发展趋势的预测,其主要内容是:成集电路上可容纳的晶体管数量每18个月翻一番,性能将提高一倍,而其价格将降低一半。

主存: 计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取。

控制器:计算机的指挥中心,它使计算机各部件自动协调地工作。

时钟周期:时钟周期是时钟频率的倒数,也称为节拍周期或T周期,是处理操作最基本的时间单位。

多核处理器:多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。

字长:运算器一次运算处理的二进制位数。

存储容量: 存储器中可存二进制信息的总量。

CPI:指执行每条指令所需要的平均时钟周期数。

MIPS:用每秒钟执行完成的指令数量作为衡量计算机性能的一个指标,该指标以每秒钟完成的百万指令数作为单位。

CPU时间:计算某个任务时CPU实际消耗的时间,也即CPU真正花费在某程序上的时间。

计算机系统的层次结构:计算机系统的层次结构由多级构成,一般分成5级,由低到高分别是:微程序设计级,机器语言级,操作系统级,汇编语言级,高级语言级。

基准测试程序:把应用程序中使用频度最高的那那些核心程序作为评价计算机性能的标准程序。

软/硬件功能的等价性:从逻辑功能的角度来看,硬件和软件在完成某项功能上是相同的,称为软/硬件功能是等价的,如浮点运算既可以由软件实现,也可以由专门的硬件实现。

固件:是一种软件的固化,其目的是为了加快软件的执行速度。

可靠性:可靠性是指系统或产品在规定的条件和规定的时间内,完成规定功能的能力。

产品可靠性定义的要素是三个“规定”:“规定条件”、“规定时间”和“规定功能”。

MTTF:平均无故障时间,指系统自使用以来到第一次出故障的时间间隔的期望值。

MTTR:系统的平均修复时间。

MTBF:平均故障间隔时间,指相邻两次故障之间的平均工作时间。

可用性:指系统在任意时刻可使用的概率,可根据MTTF、MTTR和MTBF等指标计算处系统的可用性。

第三章 运算方法

第三章 运算方法

第三章运算方法一名词解释(1)溢出——在运算过程中如出现数据超过这个数表示范围的现象,称溢出。

(2)运算器——运算器是一个用于信息加工的部件,又称执行部件。

它对数据进行算术运算和逻辑运算。

(3)并行加法器——全加器的位数与操作数的位数的加法器称并行加法器。

(4)进位链——进位信号的产生与传递的逻辑结构称为进位链。

(5)进位产生函数——当xi与yi都为1时,Ci=1,即有进位信号产生,所以将xiyi称为进位产生函数,以Gi表示。

(6)进位传递函数——当xi⊕yi=1、Ci-1=1时,则Ci=1。

这种情况可看作是当xi⊕yi=1时,第i-1位的进位信号Ci-1可以通过本位向高位传送。

因此把xi⊕yi称为进位传递函数,以Pi表示。

(7)桶形移位器——在选择电路的控制下可以实现左移、右移、直送操作的具有移位功能的电路。

一.选择题1.大部分计算机内的减法是用_____实现。

A.将被减数加到减数中B.从被减数中减去减数C.补码数的相加 D.补码数的相减2.原码加减法是_____。

A.操作数用原码表示,连符号位直接相加减B.操作数用原码表示,尾数直接相加减,符号位单独处理C.操作数用原码表示,根据两数符号决定实际操作,符号位单独处理D.操作数取绝对值,直接相加减,符号位单独处理3.补码加减法是指______。

A.操作数用补码表示,两尾数加减,符号位单独处理,减法用加法代替B.操作数用补码表示,符号位和尾数一起参加运算,结果的符号与加减相同C.操作数用补码表示,连符号位直接相加减,减某数用加负某数的补码代替,结果的符号在运算中形成D.操作数用补码表示,由数符决定两尾数的操作,符号位单独处理4.在原码加减交替除法中,符号位单独处理,参加操作的数是_____。

A.原码 B.绝对值C.绝对值的补码 D.补码5.两补码相加,采用1位符号位,则当_____时,表示结果溢出。

A.最高位有进位 B.最高位进位和次高位进位异或结果为0C.最高位为1 D.最高位进位和次高位进位异或结果为16.在下列有关不恢复余数法何时需恢复余数的说法中,正确的是_____。

02-原码一位乘法 PDF

02-原码一位乘法 PDF
基于FA的循环累加0或被乘数 • 针对乘数不同位部分积左移次数不同的问题
右移部分积!乘数寄存器 • 需要长度为2n的积寄存器
从部分积和乘数寄存器取结果
第三章 3.3 原码一位乘法
3 原码一位乘法算法
• 符号位单独参加运算,数据位取绝对值参加运算。 •运算法则:
设: [X]原=X0.X1X2…Xn [Y]原=Y0. Y1Y2…Yn 则 :P0 = X0 Y0 |P| = |X|· |Y| •运算过程采用改进的乘法运算方法。
a. 说明乘法可由加法实现 b. 存在的问题: • 需要多输入的全加器(最多为n+1); • 需要长度为2n的积寄存器; •对应乘数的不同位,部分积左移次数不同, 且乘法过程中总移位次数多。
第三章 3.3 原码一位乘法 Nhomakorabea2
二进制乘法的手工计算过程
如何解决上述问题(改进的方法) • 需要多输入的全加器(最多为n+1)
计算机组成原理
第三章 运算方法与运算器
3.3 原码一位乘法
第三章 3.3 原码一位乘法
1
移位操作及其意义
CF
D15
逻辑左移:
D1 0
数据整体左移一位,最高位D15被移出至CF,最低位D1补0
移位前
0 1 1 0 1 1 10
逻辑左移后 0 1 1 0 1 1 1 0 0
CF
D15
算术左移:
D1 0
第三章 3.3 原码一位乘法
3
原码一位乘法算法
例1 已知 X = 0.110 Y= - 0.101 用原码一位乘法求X * Y
解: [X]原 = 0.110
[Y]原 = 1.101
部分积
|乘数| / 判断位

第3章运算方法与运算器

第3章运算方法与运算器

教学内容安排•第一章绪论•第二章数码系统•第三章运算方法和运算器•第四章存储系统•第五章指令系统•第六章中央处理器•第七章输入输出设备•第八章输入输出系统第三章运算方法和运算器• 3.1组成计算机硬件电路的基本逻辑部件• 3.2机器数的加减运算及其实现• 3.3定点乘法及其实现• 3.4定点除法及其实现(了解)• 3.5浮点数的算术运算(了解)• 3.6运算器的组教学重点和难点•基本逻辑运算和逻辑电路•机器数的加减运算•定点原码一位乘第三章运算方法和运算器 3.1组成计算机硬件电路的基本逻辑部件逻辑电路的基本概念•表示电路中输入信号与输出信号之间的关系的运算,为逻辑运算•赋以逻辑属性值“0”或“1”的变量,为逻辑变量。

•描述逻辑变量关系的函数(F=f(A,B)),为逻辑函数•实现逻辑函数功能的电路,为逻辑电路•逻辑电路可以做成计算机系统中常用的部件,为逻辑部件。

•逻辑部件分为:组合逻辑部件和时序逻辑电路•描述逻辑函数的值与它的逻辑变量之间关系的表格,称作真值表。

第三章运算方法和运算器 3.1组成计算机硬件电路的基本逻辑部件逻辑代数中基本逻辑运算•逻辑与(逻辑乘)•逻辑或(逻辑加)•逻辑非(逻辑求反)•逻辑异或•逻辑同或第三章运算方法和运算器 3.1组成计算机硬件电路的基本逻辑部件1.“与”逻辑------实现的电路叫与门只有决定事物结果的全部条件同时具备时,结果才会发生(有一个条件不具备,结果也不会发生)。

闭合1闭合1逻辑表达式第三章运算方法和运算器 3.1组成计算机硬件电路的基本逻辑部件2.“或”逻辑------实现的电路叫或门决定事物结果的诸条件中只要有任何一个满足时,结果就发生,这种因果关系叫做逻辑“或”,换句话说,只有所给条件均不具备,结果才不会发生。

第三章运算方法和运算器 3.1组成计算机硬件电路的基本逻辑部件3.“非”(反)逻辑-----实现的电路叫非门(或反相器)如果条件具备了,结果便不会发生;而条件不具备时结果一定发生。

补码一位乘法

补码一位乘法

计算机组成原理第三章运算方法与运算器3.4 补码一位乘法1补码一位乘法的基本方法设[X]补= X0X1X2X3…X n[Y]补= Y0Y1Y2Y3…Y n可证明:[X⋅Y]补= [X]补•( 0.Y1Y2Y3…Yn) –Y0• [X]补进一步展开合并后可得:n[x•y]补=[x] 补•∑(y i+1-y i)2-i (符号位参加运算)i=01补码一位乘法的基本方法[x•y] 补=[x] 补• (y i+1-y i)2-i (符号位参加运算)补码一位乘法的运算规则如下:(1)如果y n+1=y n,部分积加0,部分积算术右移1位;(2)如果y n+1y n=10,部分积加[x]补,部分积算术右移1位;(3)如果y n+1y n=01,部分积加[-x]补,部分积算术右移1位.重复进行n+1步,但最后一步不移位。

包括一位符号位,所得乘积为2n+1位,其中n为数据位位数.1补码一位乘法的基本方法几个特殊问题的处理[x •y] 补=[x] 补• (y i+1-y i )2-i (符号位参加运算) 设[X]补= X 0X 1X 2X 3…X n [Y]补= Y 0Y 1Y 2Y 3…Y n(1)i=n 时,y n+1=?(2)y n+1是哪个寄存器?(3)算术右移的对象有哪些?y n+1=0在乘数寄存器Y 后增加的一位部分积和乘数寄存器均右移2补码一位乘法的举例例1 已知X= +1101 Y=+1011 用补码一位乘法求X⨯Y解:[X]补=01101 [Y]补=01011 [–X]补=10011部分积乘数说明000000 010110Y n+1< Y n部分积+[–X]补+ 110011110011→111001101011结果右移一位,Y n+1= Y n部分积+0+ 000000111001→111100 110101结果右移一位, Y n+1> Y n部分积+[X]补+ 0011010010012补码一位乘法的举例部分积乘数说明→000100 111010将结果右移一位, Y n+1< Y n部分积+[–X]补+ 110011110111→111011 111101将结果右移一位, Y n+1> Y n部分积+[X]补+ 001101001000∴[X⋅Y]补=010001111∴X⋅Y= 010001111。

精品文档-计算机组成与系统结构(裘雪红)-第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
实现上述逻辑功能的一位全加器的逻辑电路及其框图分别

运算方法和运算部件

运算方法和运算部件
7.利用 SN74181 和 SN74182 器件设计一个 16 位并行进位补码加/减运算器,画出运算器的逻辑框图,并给出零 标志、进位标志、溢出标志、符号标志的生成电路。
参考答案:(略)
• 61 •
9.已知二进制数 x = 0.1010,y = -0.1101。请按如下要求计算,并把结果还原成真值。 (1) 求[x+y]补,[x-y]补。 (2) 用原码一位乘法计算[x∗y]原。 (3) 用布斯乘法计算[x∗y]补。 (4) 用不恢复余数法计算[x÷y]原的商和余数。 (5) 用不恢复余数法计算[x÷y]补的商和余数。
int optarith ( int x, int y) { int t = x; x << = 4; x - = t; if ( y < 0 ) y += 3;
y>>2; return x+y; } 参考答案: 对反编译结果进行分析,可知:对于 x,指令机器代码中有一条“x 左移 4 位”指令,即:x=16x,然后有一条 “减法”指令,即 x=16x-x=15,所以,根据源程序,知 M=15;对于 y ,有一条“y 右移 2 位”指令,即 y=y/4, 根据源程序,知 N=4。(当 y<0 时, (y+3)/4=y/4,若不调整,则“-1>>2=-1 而本来-1/4=0”,故使-1+3=2,2/4=0)
溢出。
(1) 234+567
(2) 548+729
参考答案:(略)
先确定位数,最高位有进位,则“溢出”
• 62 •
5.以下是两段 C 语言代码,函数 arith( )是直接用 C 语言写的,而 optarith( )是对 arith( )函数以某 M 和 N 编译生 成的机器代码反编译生成的。根据 optarith( ),可以推断函数 arith( ) 中 M 和 N 的值各是多少? #define M #define N int arith (int x, int y) { int result = 0 ; result = x*M + y/N; return result; }

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

第三章运算方法与运算器(定点数除法)
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左移一位减除数进行比较并上商,即:

计算机原理第三章运算方法和运算器综合练习

计算机原理第三章运算方法和运算器综合练习

计算机原理第3章运算方法和运算器综合练习一、选择题知识点:定点补码的加法,减法,不带符号数的运算,溢出 P261、[X]补+[Y]补=[X+Y]补(mod 2n)2、[X-Y]补=[X+(-Y)]补= [X]补+[-Y]补(mod 2n)3、[-Y]补=[[Y]补]变补(注:连同符号位一起变反加1的过程叫变补或求补。

)4、判断溢出条件: C S+1和C S相异时溢出当C S+1C S=00或 C S+1C S=11时不产生溢出。

当C S+1C S=01或C S+1C S=10时则产生溢出。

1、计算机中实现减法运算使用的方法是()A.从被减数中减去减数 B.从减数中减去被减数再求反C.转换为补码的加法运算 D.依减数的形式再选择一种适当的方法2、定点数作补码加减运算时,其符号位是( )A.与数位分开进行运算B.与数位一起参与运算C.符号位单独作加减运算D.两数符号位作异或运算3、补码加减法运算是()A .操作数用补码表示,两数的尾数相加减,符号位单独处理,减法用加法代替B .操作数用补码表示,符号位与尾数一起参加运算,结果的符号与加减所得相同C .操作数用补码表示,连同符号位直接相加减,减某数用加负某数的补码代表,结果的符号在运算中形成D .操作数用补码表示,由数符决定两尾数的操作,符号位单独处理4、执行二进制算术运算11001001+00100111,其运算结果是()。

A) 11101111 B) 11110000 C) 00000001 D) 101000105、已知X的补码为11101011,Y的补码为01001010,则X+Y的补码为()。

A、10100001B、11011111C、00110101D、溢出6、已知X的补码为11101011,Y的补码为01001010,则X-Y的补码为()。

A、10100001B、11011111C、10100000D、溢出7、下面关于溢出的描述正确的是()A 溢出就是进位B 溢出是指运算结果的最高位向更高位进位或借位C 溢出与补码运算中的模丢失是一个概念D 溢出主要用于判断带符号的运算结果是否超过数的表示范围8、定点运算器运算时产生溢出的原因是()。

计算机组成原理与汇编语言3

计算机组成原理与汇编语言3
第三章 数值运算及运算器
补码加减运算
注意:求一个数的补码: 正数时,补码和原码相同; 负数时, 对原码除符号位外求反加1。
例1: 1: y = -0.0110 [y]补 = 1.1010 例2: y = 0.0111 [y]补 = 0.0111 [-y]补 = 1.1001 [-y]补 = 0.0110
第三章 数值运算及运算器
例(3):按位清
设:A=10010010,将A最高位清“0” 设:B=01111111 10010010 A ∧ 01111111 B ——————— 00010010 A
第三章 数值运算及运算器
例(4):按位测试
设:A=10010010,测A最高位是否为“1”; 设: B=10000000 10010010 ∧ 10000000 ——————— 10000000 结果不全为“0”,表明被测码的被测位为“1”。 结果为全“0”,表明被测码的被测位为“0”。
第三章 数值运算及运算器
(一)对进位公式的分析 设相加的两个n位操作数为: A=An-1An-2…Ai..A0 B=Bn-1Bn-2…Bi..B0
Ci+1 = AiBi + (Ai⊕Bi) Ci —— 进位逻辑表达式 设:Gi = AiBi —— 进位产生函数(Carry Generate Function)
二、溢出检测
1. 采用一个符号位判断
规则: • 当两个同号数相加,若所得结果符号与两数符号不同, 则表明溢出。 • 设An、Bn分别表示两个操作数的符号; Sn表示结果 的符号, 则有: 溢出=AnBnSn + AnBnSn
63+66=129 0,0111111 + 0,1000010 1,0000001

c03 运算方法与运算器

c03  运算方法与运算器

3、根据加数、被加数、和的符号判断 (1)当操作数中的加数与被加数符号相同 时,若结果的符号与操作数的符号不一 致,表示溢出;否则,表示无溢出。 (2)当两个符号不同的操作数相加时,肯 定不会产生溢出。 例:[X]补=0.1010,[Y]补=0.1001 [X]补+[Y]补=1.0011(溢出)
练习题及参考答案
3.2 定点乘法运算及其实现
实现乘除法运算的方案: 1、使用乘除运算较多,速度要求高时, 硬件直接实现; 2、一般情况,配臵乘除法选件; 3、而对速度要求不高的机器,用软件 实现.
3.2.1 原码一位乘法
1、手算过程(两个无符号数) 例: +0.1101×-0.1011
× 1 0 0 1 1 0 1 0 0 0
1.已知:X=-0.01111,Y=+0.11001, 求[X]补,[-X]补,[Y]补,[-Y]补,X+Y=? X-Y=? 并判断是否溢出。 2.用补码运算方法求X+Y=?并判断是否溢 出。 (1)X=0.1001,Y=0.1100 (2) X=-0.0100,Y=-0.1001 3.用补码方法求X-Y=?并判断是否溢出。 (1)X=-0.0100,Y=0.1001 (2) X=-0.1011,Y=0.1010
原码一位乘法
例:已知X=+0.1101 Y=-0.1011 求(X ×Y)原 解:[X]原 =0.1101 [Y]原 =1.1011 Zf = Xf Yf = 1 0 =1 则按原码一位乘法运算规则,求[X×Y]原 的数值部分。 最后求得[X×Y]原 = 1.10001111
流 程 图
判断溢出的方法:
例2 X=0.1011 Y=0.1001 求[X+Y]补 解: [X]变补 = 00.1011 [Y]变补 = 00.1001 [X+Y]变补 = 00.1011 + 00.1001 = 01.0100

第三章 运算方法及运算部件习题

第三章 运算方法及运算部件习题

第三章运算方法及运算部件一、选择题:将正确的答案序号填在横线上1.下列数中最小的数是______。

A.(1010011.10101)2 B.(123.55)8C.(53.B0)16 D.(83.75)102.某数在计算机中用8421BCD码表示为0011 1001 1000,其真值为______。

A.398 B.398H C.1630Q D.1110011000B3.ASCII码是对(1)_进行编码的一种方案,它是(2)_的缩写。

(1)A.字符 B.汉字 C.图形符号 D.声音(2)A.余3码 B.十进制数的二进制编码C.格雷码 D.美国标准信息交换代码4.一个1G的硬盘,最多可存放______个ASCII字符。

A. 220B.224 C. 210 D. 2305.存储32个汉字的机内码需要______。

A.16字节 B.32字节 C.64字节 D.128字节6.机器数10000001B,它所代表的数______。

A.一定是-1 B.一定是-127C.一定是-126 D. 以上3个数都有可能7. 假定一个十进制数为-66,按补码形式存放在一个8位寄存器中,该寄存器的内容用十六进制表示为______。

A.C2H B.BEH C.BDH D.42H8.如果X是负数,由[X]补求[X]原是将______。

A.符号位变反,其他各位不变 B.所有位求反,末位加1C.除符号位外,其他位求反后末位加1D.除符号位外,其他位求反9.下列数中,最大的是______。

A.[X]补=1001101 B.[X]原=1001101C.[X]反=1001101 D.[X]移=100110110. 计算机内的溢出是指其运算的结果______。

A.为无穷大B.超出了计算机内存单元所能存储的数值范围C.超出了该指令所指定的结果单元所能存储的数值范围11.计算机中表示地址时使用______。

A.无符号数 B.原码 C.反码 D.补码12. 计算机系统中采用补码运算的目的是为了______。

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

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

第三章运算方法和运算器3.1补码的移位运算1、左移运算:各位依次左移,末位补0对于算术左移,若没有改变符号位,左移相当于乘以2。

2、右移运算:算术右移:符号位不变,各位(包括符号位)依次右移。

(相当于除以2)逻辑右移:最高位补0,其余各位依次右移例1:已知X=0.1011 ,Y=-0.0101 求 [0.5X]补;[0.25X]补;[-X]补;2[-X]补;[0.5Y]补;[0.25Y]补; [-Y]补;2[-Y]补[X]补=0.1011 [Y]补=1.1011[0.5X]补=0.01011 [0.5Y]补=1.11011[0.25X]补=0.001011 [0.25Y]补=1.111011[-X]补=1.0101 [-Y]补=0.01012[-X]补=0.1010 (溢出) 2[-Y]补=0.10103.2定点加减法运算及其实现3.2.1 补码加减法运算方法由于计算机中的进行定点数的加减运算大都是采用补码。

(1)公式:[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补(证明过程见教材P38)例1 X=0.001010 Y=-0.100011 求[X-Y]补,[X+Y]补解:[X]补=0.001010 [-Y]补=0.100011则 [X-Y]补=[X]补+[-Y]补=0.001010 + 0.100011=0.101101 [X]补=0.001010 [Y]补=1.011101则 [X+Y]补=[X]补+[Y]补=0.001010 + 1.011101=1.100111例2:已知X=+0.25,Y=-0.625,求X+Y; X-Y写出计算的过程.例3:已知X=25,Y=-9,求X+Y; X-Y写出计算的过程.例4:已知X=-25,Y=-9,求X+Y; X-Y写出计算的过程.解: (8位二进制表示)例2: X=0.0100000 Y=-0.1010000[X]补=0.0100000 [Y]补=1.0110000则 [X+Y]补=[X]补+[Y]补=0.0100000 + 1.0110000=1.1010000[X+Y]原=-0.0110000=(-0.375)D[X]补=0.0100000 ,[-Y]补=0.1010000则 [X-Y]补 = [X]补+[-Y]补 = 0.0100000+0.1010000=0.1110000[X+Y]原 = 0.1110000 =(0.875)D例3: X=+0011001 Y=-0001001[X]补=00011001,[Y]补=11110111则 [X+Y]补 = [X]补+[Y]补= 00011001 + 11110111= 00010000[X+Y]原 =+0010000=(+16)D[X]补= 00011001 ,[-Y]补= 00001001则 [X-Y]补 = [X]补+[-Y]补= 00011001 + 00001001= 00100010[X+Y]原 = +0100010 =(34)D例4: X=-0011001 Y=-0001001[X]补=11100111,[Y]补=11110111则 [X+Y]补 = [X]补+[Y]补= 11100111 + 11110111[X+Y]原 =-00100010=(-34)D[X]补= 11100111 ,[-Y]补= 00001001则 [X-Y]补 = [X]补+[-Y]补= 11100111 + 00001001= 11110000[X+Y]原 = -0010000 =(-16)D3.2.2 定点加减法运算中的溢出问题溢出:运算结果大于机器所能表示的最大正数或者小于机器所能表示的最小负数.溢出只是针对带符号数的运算.比如:[X]补=0.1010,[Y]补=0.1001,那么[X]补+[Y]补=1.0011(溢出)溢出是一种错误,计算机中运算时必须能够发现这个现象,并加以处理判断溢出的方法:1、采用变形补码法[X+Y] 变补=[X] 变补+[Y] 变补[X-Y] 变补=[X] 变补+[-Y] 变补例1 X=0.1011 Y=0.0011 求[X+Y]补解: [X]变补 = 00.1011, [Y]变补 = 00.0011[X+Y]变补 = 00.1011 + 00.0011 = 00.1110所以 [X+Y]补 = 0.1110例2 X=0.1011 Y=0.1001 求[X+Y]补解: [X]变补 = 00.1011 [Y]变补 = 00.1001[X+Y]变补 = 00.1011 + 00.1001 = 01.0100运算结果的两符号位是01,不相同,发生溢出,因第一符号位是0,代表正数,所以称这种溢出为“正溢出”。

运算方法与运算器

运算方法与运算器
15、若寄存器内容为10000000,若它等于0,则寄存器 内容为()码;若它等于-0,则为()码。
16、若寄存器内容为11111111,若它等于+127,则寄存 器内容为()码;若它等于-1,则为()码。
17、若寄存器内容为00000000,若它等于-128,则寄存 器内容为()码;
18、 若寄存器内容为10000000,若它等于-128,则寄存 器内容为()码;
定点数的乘/除运算; 溢出概念和判别方法;
3、浮点数的表示与运算
(1)浮点数的表示:浮点数的表示范围;IEEE754标 准 (2)浮点数的加/减运算
4、算术逻辑单元ALU
(1)串行加法器和并行加法器 (2)算术逻辑单元ALU的功能和结构
误点疑点解惑(一)
1、真值和机器数的区别 2、模与补码表示法 3、原码和补码的区别 4、定点数的表示范围 5、浮点数的表示范围 6、浮点数规格化 7、移码偏置值的选择 8、定点数与浮点数的比较 9、3种汉字编码的区别 10、十进制数的BCD编码

27、补码定点整数10010101右移一位后的值是()
28、补码定点整数0101 0101左移2位后的值是()
29、补码的加减法是指()
30、在补码加减法中,用两位符号位判断溢出,判断规 则是怎样的?
31、补码相加,采用一位符号位,什么情况表示溢出?
32、变补操作的含义是(),如何实现变补操作?
33、原码乘法的运算规则是怎样的?
38、为什么现代计算机都用补码来表示整数?
39、假设有两个整数x和y,x=-68,y=-80,采用补码表示(含1位 符号位),x和y分别存放在寄存器A和B中。另外,还有两个 寄存器C和D。A,B,C,D都是8位寄存器。请回答下列问题(用 十六进制表示二进制序列):

浮点数加减运算

浮点数加减运算

出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7
位(均含2位符号位)。若有两个数X=27×29/32,Y=25×5/8,则用浮点
加法计算X+Y的最终结果是:
A.00111 1100010 B. 00111 0100010 C.01000 0010001 D. 发生溢出 解题思路: • X= 2 00111 × 0.11101; Y = 2 00101 × 0.101 ;对阶后大的阶码为00111 • 位数相加后的结果为:01.00010, • 尾数需右移规格化,同时阶码加1后变成 01 000
[X+ Y]补= 00 011 ,11 . 000101011
4) 舍入 ( 0 舍 1入)
在结果尾数的最低位加1,最后的结果为: [X+ Y]补= 00 011 ,11 . 00010110 X+Y = – 0.11101010 2 011
第三章 3.7 浮点数加减运算
4
浮点数加减运算举例
例2 浮点数加减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢
第三章 3.7 浮点数加减运算
4
浮点数加减运算举例
例 设 x = 2 010 × 0.11011011 y = 2 100 × (- 0.10101100) 求 x+y
2)尾数运算 00.00110110 11 + 11.01010100 11.1000101011 3) 尾数规格化处理
分析发现,只左移一次即可达到规格化要求。规格化后的结果为:
计算机组成原理
第三章 运算方法与运算器
3.7 浮点数加减运算
第三章 3.7 浮点数加减运算
1
规格化浮点数的概念

b o o t h 算 法

b o o t h 算 法

第三章运算方法与运算器文章目录定点补码加减法运算补码加减法运算方法溢出及检测溢出检测操作数与运算结果的符号位是否一致最高位的进位和符号位的进位是否一致变形补码补码加减法的逻辑实现移码加减运算及实现逻辑移码的加法运算移码加减法的溢出判断直接采用移码运算的溢出判断方法采用双符号判断定点乘法运算机器数的移位操作原码一位乘法原码一位乘法符号位的确定乘积的数值补码一位乘法运算规则(booth算法)阵列乘法器定点除法运算原码一位除法原码恢复余数法原码不恢复余数法不恢复余数的补码一位除法浮点运算浮点数加减运算阶码和尾数采用补码表示的浮点数加减运算IEEE 754浮点数的加减运算浮点数乘法运算浮点数除法运算逻辑运算运算器定点运算器运算前的基本组成单元算术逻辑运算单元通用寄存器组输入输出数据选择控制内部总线运算器的基本结构单总线双总线三总线浮点运算器基本算术逻辑单元的设计基本算术、逻辑部件基本算术逻辑运算单元设计串行进位加法器并行加法器定点补码加减法运算补码加减法运算方法补码加法:[x]补 + [y]补 = [x + y]补 mod M补码减法:[x]补 - [y]补 = [x - y]补 mod M溢出及检测运算结果超出数据类型所能表示数据范围的现象称为溢出溢出检测操作数与运算结果的符号位是否一致只有符号相同的数相加,才有可能产生溢出,因此检测运算结果的符号位,是否与操作数一致设操作数为S1XXXX和S2XXXX,其中S1和S2为他们的符号位,结果为SXXXX,S是结果的标志位,V是溢出标志位,那么V = S1 S2 !S + !S1 !S2 S如果符号位不同,则S1和S2必定是0和1的组合,其结果V一定为0 如果符号位相同,则可能同时为0或者同时为1,这时就要看结果的符号位S了最高位的进位和符号位的进位是否一致最高位C和符号位S的进位,如果不同步,则发生了溢出变形补码变形补码就是用两个位来表示符号位,正数符号位00,负数符号位11 如果运算后的结果为01,则上溢,10则下溢补码加减法的逻辑实现利用一位全加器(FA)作为基本的加法单元,低位FA的进位,直接送到相邻高位FA的进位输入,构成一个串行进位链进行加法运算时,直接送入全加器,进行减法运算时,减数先求补采用基于变形补码的双符号位溢出检测方法不支持逻辑运算移码加减运算及实现逻辑移码的加法运算公式1:[x]移 + [y]移 = [x + y]移 + 2^n公式2:[x]移 + [y]移 = [x + y]补公式3:[x]移 + [y]补 = [x + y]移 mod 2^(n+1)求移码的加法有三种方式直接对两数的移码求和,然后将高位取反直接求出两数和的补码,然后将高位取反用一个数的移码,加另一个数的补码移码加减法的溢出判断直接采用移码运算的溢出判断方法只有符号相同的加法,才会溢出正数的移码,符号位为1,如果两个正数的移码相加,符号位1+1=0,结果的符号位变成0因此,移码相加后,符号位与操作数相同,则发生了溢出采用双符号判断S1S2 = 00,结果为负,未溢出S1S2 = 01,结果为正,未溢出S1S2 = 10,上溢S1S2 = 11,下溢定点乘法运算机器数的移位操作移位操作是乘法实现过程的基本操作,又分为逻辑移位和算术移位逻辑移位:左移和右移,空出来的位置都补0算术移位:左移时低位补0,右移时高位补符号位原码一位乘法原码一位乘法符号位的确定两个乘数符号位的异或乘积的数值由于符号位已经单独处理了,所以乘积就是绝对值相乘用循环累加和移位操作实现乘法运算两个n位数参加乘法运算,要做n次加法和移位操作补码一位乘法运算规则(booth算法)被乘数一般取双符号位参与运算乘数末位增设附加位Y(n+1),初值为0利用Y(n+1) 与 Yn 的差,决定下一步的具体运算按照上述算法进行n+1步累加操作,n步右移操作Y(n+1) - Yn部分积右移一位部分积加[x]补后,右移一位部分积加[-x]补后,右移一位阵列乘法器一位乘法通过逐位判断、右移、循环累加来实现,速度较慢,为了提高乘法速度,可以采用硬件方式实现阵列乘法器,其基本思想是采用类似手工乘法运算的方法,用大量与门产生手工乘法中的各乘积项,同时将大量一位全加器按照手工乘法算式中需要进行加运算的各相关项的排列方式组成加法器阵列定点除法运算除法运算与乘法运算的处理思想相似,通常是将n位数的除操作转换成若干次的加减和移位来实现原码一位除法原码恢复余数法被除数(余数)减去除数,如果为正则够减商1,如果为负则不够减商0,而且被除数(余数)要恢复到减之前的值,这就叫恢复余数法为了防止溢出,除法运算(x - y)一定要满足(|x| |y|),保证商的绝对值不超过1,因此第一次上商的值,要放在商的符号位,后面上的商,从小数点后依次排列,商的位数一般与除数相等,因此最后一次上商后,就不用做减法和移位了原码不恢复余数法与恢复余数法相比,进行比较后,如果商1则算法不变,如果商0则不恢复余数,先移位再加上除数当余数为正时,商1,余数左移一位,减去除数当余数为负时,商0,余数左移一位,加上除数不恢复余数的补码一位除法算法规则如下被除数与除数同号,被除数减去除数;被除数与除数异号,被除数加上除数余数与除数同号,商1,余数左移一位减去除数;余数与除数异号,商0,余数左移一位加上除数一般情况下,对于商的精度没有特殊要求,商的末位“恒置1”如果要求提高精度,则多求一位商,再用校正的办法对商进行处理当刚好能除尽时,如果除数为正,则商不必修正;如果除数位负,则商需要校正当不能除尽时,如果商为正,则不必修正;如果商为负,则商需要校正求得n位商后,得到的余数往往是不正确的,正确的余数常需要根据具体情况做适当的处理若商为正,当余数与被除数符号相同,则不需处理;当余数与被除数异号时,则应将余数加上除数进行修正才能获得正确的余数若商为负,当余数与被除数同号时,则余数不需要处理;当余数与被除数异号时,则余数需要减去除数进行校正余数之所以需要校正,是因为补码不恢复余数法除法运算过程中先比较上商的缘故浮点运算浮点数常用规格化数进行运算浮点数加减运算阶码和尾数采用补码表示的浮点数加减运算对阶:对阶的原则是小的阶码向大的看齐,因为小阶码增大时,尾数部分右移而减小,损失的是最低位,对精度影响不大尾数运算:对阶完成后,按照定点数的加减法运算执行尾数加减操作结果规格化:为了处理方便,一般取两位符号位,当尾数符号位01或10时,需要向右规格化,将尾数右移一位,同时阶码加一;当尾数为11.1xxx 或00.0xxx时,需要左移规格化,左移次数不固定,直到尾数部分出现11.0xx或00.1xx为止舍入:在对阶右移和结果规格化右移时,会丢掉末尾的值,常用的舍入方法末位恒置1法:只要右移时丢失过1,则末位置10舍1入法:当丢失位数最高位为1时,尾数末尾加1溢出判断:只有阶码溢出时,才产生溢出,阶码符号位为01和10时溢出IEEE 754浮点数的加减运算IEEE 754浮点数的阶码采用移码表示,尾数采用原码表示,且尾数的最高位隐藏,因此算法与之前都采用补码的形式不同对阶和规格化过程中,阶码的运算采用移码的加减运算尾数的运算采用原码运算法则,且隐藏位要参与尾数运算隐藏位参与尾数规格化判断及尾数规格化过程溢出判断,上溢时阶码全1,下溢时阶码全0浮点数乘法运算阶码相加尾数相乘结果规格化浮点数除法运算尾数调整:检查被除数的尾数是否小于除数的尾数(考察绝对值),如果被除数的尾数大于除数尾数,则将被除数的尾数右移一位并调整阶码。

(计算机原理)第3章运算方法与运算器

(计算机原理)第3章运算方法与运算器

比较器
位串比较器和选择器 的实现,包括旁路比 较器和等效比较器的 应用。
控制电路
精度控制电路和后继 累加器的设计和应用, 提高运算精度和性能。
乘法示例
乘法运算的具体示例,讲解乘法 过程和计算结果。
定点数的除法运算
1被除数与除数的转换和余数计算。
2 除法电路
除法电路的设计和实现,包括整除器和余数计算器。
3 除法示例
除法运算的具体示例,讲解除法过程和计算结果。
浮点数的加减法运算
1
浮点数表示
浮点数的格式和表示方法,包括阶码和尾数的位数分配。
逻辑运算
包括布尔运算的实现,逻辑 运算与算术运算的转换,以 及位串比较器和选择器的应 用。
运算器的基本概念和分类
1 基本概念
运算器是一种用于进行算术和逻辑运算的电路,由算术逻辑单元(ALU)和控制单元组成。
2 分类
根据数据长度可分为多位数运算器和单位数运算器;根据功能可分为通用运算器和特殊 运算器。
2
加法运算
浮点数加法的原理和算法,包括对阶、尾数对齐和规格化。
3
减法运算
浮点数减法的原理和算法,包括对阶、尾数对齐和规格化。
浮点数的乘法运算
1 乘法算法
浮点数乘法的原理和算法,包括尾数相乘和阶码相加。
2 乘法电路
浮点数乘法电路的设计和优化,包括乘法器和累加器。
3 乘法示例
浮点数乘法的具体示例,讲解乘法过程和计算结果。
(计算机原理)第3章运算 方法与运算器
学习计算机原理第3章的运算方法与运算器,包括运算方法的分类、运算器的 基本概念和分类,以及不同类型数的加减法、乘法、除法运算,逻辑运算, 和位移运算等。
运算方法分类与特点
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
引言
50年代初,人们对计算方法给予了极大的注意, 取得了不少至今还在应用的成果,那么为什么要对运 算方法展开研究呢?原因有几点: (1)将一个实际数,用机器数(原码、补码、反码) 表示,产生了机器本身特有的规律。 (2)计算机特定的运算方法:定点运算、浮点运算 (3)早期,冯诺依曼体系只设加法器和寄存器 (4)采用什么样的算法与运算器的结构密切相关, 这两者的设计是互相影响的。 综上考虑,从而展开了对运算方法的研究。
1 0011补 0 0011补
变补 变补 补码表示
符号位不变; 负数尾数改变, 正数尾数不变。 符号位改变, 尾数改变。 补码的机器负数
0 1101 1 1101
2013-9-22
8
例. 求(X – Y)补
2) X= –4 X补=1 1100 1) X= 4 X补=0 0100 Y= 5 Y补=0 0101 Y= –5 Y补=1 1011 (-Y)补=1 1011 (-Y)补=0 0101 0 1001 1 0111 9补码) (– (+9补码)
2013-9-22
9
2. 举例
例 设 A = 0.1011,B = –0.0101 求 [A + B]补 验证 解: [A]补 = 0 . 1 0 1 1 0.1011 + [B]补 = 1 . 1 0 1 1 – 0.0101 [A]补 + [B]补 = 1 0 . 0 1 1 0 = [A + B]补 0.0110
负溢出
2013-9-22
29
变形补码在正常情况下, Sf1=Sf2,所 以存储数据时采用正常补码,只在运算 时采用变形补码,以便判别溢出。 变形补码的溢出判断电路

OVR
=1 Sf1 Sf2
2013-9-22
30
三、乘法运算
1. 分析笔算乘法
A = – 0.1101
B = 0.1011
A×B = – 0.10001111 乘积的符号心算求得 0.1101 符号位单独处理 ×0 . 1 0 1 1 1101 乘数的某一位决定是否加被乘数 1101 ? 4个位积一起相加 0000 1101 乘积的位数扩大一倍 0.10001111
2013-9-22
26
例2:x=-0.0110,y=-0.0011,求x+y=? 解: [x]变形补=11.1010, [y]变形补=11.1101, [x+y]变形补=11.1010+11.1101=11.0111 x+y=-0.1001

11.1010 + 11.1101 1 11.0111
2013-9-22 1
第 3 章

运算方法与运算器
运算器的设计方法 定点加、减、乘、除运算 浮点加、减、乘、除运算 十进制数的运算
2013-9-22
2
3.1 运算器的设计方法

作为计算机的核心部件——运算器,它 所具有的只是简单的算术、逻辑运算以 及移位、计数等功能,因此计算机中对 数据信息的加工的基本思想就是:将各 种复杂的运算处理分解为最基本的算术 运算和逻辑运算。
∴A+B= 0.0110 例 6.19 设 A = –9,B = –5 验证 求 [A+B]补 解: [A]补 = 1 , 0 1 1 1 – 1001 + [B]补 = 1 , 1 0 1 1 + – 0101 [A]补 + [B]补 = 1 1 , 0 0 1 0 = [A + B]补 – 1110 2013-9-22 10 ∴ A + B = – 1110
正溢
负溢
23 正确
1. 硬件判断逻辑一(SA、SB与Sf的关系)
溢出= SA SB Sf
SA SB Sf
2. 硬件判断逻辑二(Cf与C的关系) 溢出= Cf C 3. 硬件判断逻辑三(双符号位) 溢出= Sf1 Sf2
2013-9-22
24
溢出判断电路
OVR & OVR
=1
=1
=1
Cf
C1
Xf
ቤተ መጻሕፍቲ ባይዱSf
正溢出
2013-9-22
28
例4:x=-0.1101,y=-0.1011,求x+y=? 解:[x]变形补=11.0011, [y]变形补=11.0101, [x+y]变形补=11.0011+11.0101 Sf1⊕Sf2=1 运算结果溢出

11.0011 + 11.0101 1 10.1000
丢模
2013-9-22
27
例3:x=+0.1010,y=+0.1001,求x+y=? 解:[x]变形补=00.1010, [y]变形补=00.1001, [x+y]变形补=00.1010+00.1001 Sf1⊕Sf2=1 运算结果溢出


00.1010 00.1001 01.0011
2013-9-22
14
练习 1 设 x =
9 16
y=
11 16
,用补码求 x+y
[x]补 = 0.1001
[y]补 = 0.1011
x + y =[x]补 + [y]补= 1. 0100=
12 – 16

练习 2 设机器数字长为 8 位(含 1 位符号位) 且 A = – 97,B = – 41,用补码求 A + B
2. 硬件判断逻辑二(Cf与C的关系) 溢出= Cf C1 3. 硬件判断逻辑三(双符号位) 溢出= Sf1 Sf2
2013-9-22
22
(1)3+2: (2)10+7: 00 0011 第一符号位Sf1 00 1010 00 0010 00 0111 00 0101 正确 01 0001 (3)-3+(-2): (4)-10+(-7): 11 1101 第二符号位Sf2 11 0110 11 1110 11 1001 11 0111 正确 10 1111 (5)6+(-4): (6)-6+4: 00 0110 11 1010 11 1100 00 0100 11 1110 2013-9-22 00 0010 正确
2013-9-22
16
(1)A=3 B=2 (2)A=10 B=7 3+2: 0 0011 10+7: 0 1010 0 0010 0 0111 0 0101 正确 1 0001 正溢 (3)A= -3 B= -2 (4)A= -10 B= -7 1 1 -3+(-2): 1101 -10+(-7): 0110 1 1110 1 1001 1 1011 正确 0 1111 负溢 (5)A=6 B= -4 (6)A= -6 B=4 0 6+(-4): 0110 -6+4: 1 1010 1 1100 0 0100 0 0010 正确 1 1110 正确 2013-9-22 17
Yf
2013-9-22
25
例1:x=+0.1001,y=+0.0101,求x+y=? 解: [x]变形补=00.1001, [y]变形补=00.0101 [x+y]变形补=00.1001+00.0101=00.1110 x+y=0.1110


00.1001 00.0101 00.1110
溢出= SA SB Sf
SA SB Sf
2013-9-22
19
2. 硬件判断逻辑二(Cf与C的关系)
Cf: 符号位进位 C1:最高数值有效位进位
2013-9-22
20
(1)A=3 B=2 (2)A=10 B=7 3+2: 0 0011 10+7: 0 1010 0 10111 Cf=0 0 0010 Cf=0 C1=0 0 0101 正确 C1=1 1 0001 正溢 (3)A= -3 B= -2 (4)A= -10 B= -7 1 1 -3+(-2): 1101 -10+(-7): 0110 Cf=1 11 11110 Cf=1 11 1001 C1=1 1 1011 正确 C1=0 0 1111 负溢 (5)A=6 B= -4 (6)A= -6 B=4 0 6+(-4): 0110 -6+4: 1 1010 Cf=1 11 11100 Cf=0 0 0100 C1=1 0 0010 正确 C1=0 1 1110 正确 2013-9-22 21

设机器数字长为 8 位(含 1 位符号位) 且 A = 15, B = 24,用补码求 A – B [A]补 = 0, 0001111 解: A = 15 = 0001111 B = 24 = 0011000 [B] = 0, 0011000

[– B]补 = 1, 1101000 [A]补 = 0, 0001111 + [– B]补 = 1, 1101000 [A]补 + [– B]补 = 1, 1110111 = [A – B]补 ∴ A – B = – 1001 = –9
2013-9-22
12
行波进位的补码加/减法器电路
2013-9-22
13


M=0
Bi通过异或门与0异或,Bi⊕0=Bi, C0=0 作 A+B M=1 Bi通过异或门与1异或,Bi⊕1=Bi, C0=1 作 A-B 电路中采用进出符号位的进位进行溢出判断。 OVR=Cn⊕Cn-1

如果两个正数相加,得到结果为负;两个负数 相加,得到的结果为正,则运算结果是错误的。 造成错误的原因,是因为运算结果超出了机器 所能表示的数据范围,数值位侵占了符号位, 正确符号被挤走了。 正溢出:两个正数相加的结果超出机器所能表示 的最大正数。 负溢出:两个负数相加的结果小于机器所能表示 的最小负数。
[A]补= 1,0011111
相关文档
最新文档