《计算机组成原理第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章习题参考答案第4章数值的机器运算4-2.某加法器采⽤组内并⾏,组间并⾏的进位链,4位⼀组,写出进位信号C6逻辑表达式。
[解] 组间并⾏的进位链,产⽣的最低⼀组的进位输出为:C4=G1*+P1*C0 (其中:G1*=G4+P4G3+P4P3G2+P4P3P2G1;P1*=P4P3P2P1)然后在组内产⽣进位信号C6:C6=G6+P6C5=G6+P6G5+P6P5C44-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[解](1)[X]补=0.11011,[Y]补=0.1111100.11011 [X]补+00.11111 [Y]补01.11010 [X+Y]补结果正溢出!(2)[X]补=0.11011,[Y]补=1.0101100.11011 [X]补+11.01011 [Y]补00.00110 [X+Y]补结果不溢出!X+Y=0.00110(3)[X]补=1.01010,[Y]补=1.1111111.01010 [X]补+11.11111 [Y]补11.01001 [X+Y]补结果不溢出!X+Y=-0.10111(4)[X]补=1.00101,[Y]补=0.1111011.00101 [X]补+00.11110 [Y]补00.00011 [X+Y]补结果不溢出!X+Y=0.000114-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[解](1)[X]补=0.11011,[Y]补=1.00001, [-Y]补=0.1111100.11011 [X]补+00.11111 [-Y]补01.11010 [X-Y]补结果正溢出!(2)[X]补=0.10111,[Y]补=0.11011, [-Y]补=1.0010100.10111 [X]补+11.00101 [-Y]补11.11100 [X-Y]补结果不溢出!X-Y=11.11100(3)[X]补=0.11011,[Y]补=1.01101, [-Y]补=0.1001100.11011 [X]补+00.10011 [-Y]补01.01110 [X-Y]补结果正溢出!(4)[X]补=1.01010,[Y]补=1.11111,[-Y]补=0.0000111.01010 [X]补+00.00001 [-Y]补11.01011 [X-Y]补结果不溢出!X-Y=-0.101014-6.已知:X=0.1011,Y=-0.0101求:[X/2]补 ,[X/4]补 ,[-X]补 ,[Y/2]补 ,[Y/4]补 ,[-Y]补,[2Y]补[解] 由[X]补=0.1011,[Y]补=1.1011 得:[X/2]补=0.0101,[X/4]补=0.0010,[-X]补=1.0101[Y/2]补=1.1101,[Y/4]补=1.1110,[-Y]补=0.0101,[2Y]补=1.01104-7. 设下列数据长8位,包括⼀位符号位,采⽤补码表⽰,分别写出每个数右移或左移两位之后的结果(1)0.1100100 (2) 1.0011001 (3) 1.1100110 (4)1.0000111[解] (1)右移两位后为 0.0011001 左移两位后为1.0010000(溢出)或0.0010000 (2)右移两位后为 1.1100110 左移两位后为0.1100100(溢出)或1.1100100(3)右移两位后为1.1111001 左移两位后为 1.0011000(4)右移两位后为 1.11000001 左移两位后为0.0011100(溢出)或1.00111004-8.分别⽤原码乘法和补码乘法计算X×Y.(1) X=0.11011,Y=-0.11111(2) X=-0.11010,Y=-0.01110[解]原码乘法:(1)|X|=0.11011 → B, |Y|=0.11111 →C,0→A5=1,+ |X|00.1101100.01101 1 0 1 1 1 1 部分积右移1位5=1,+ |X|01.0100000.10100 0 1 0 1 1 1 部分积右移1位5=1,+ |X|01.0111100.10111 1 0 1 0 1 1 部分积右移1位5=1,+ |X|01.1001000.11001 0 1 0 1 0 1 部分积右移1位5=1,+ |X|01.1010000.11010 0 0 1 0 1 0 部分积右移1位所以, |X×Y|=0.1101000101X×Y=-0.1101000101(2) |X|=0.11010 → B, |Y|=0.01110 → C, 0→A 5=0,+ 000.0000000.00000 0 0 0 1 1 1 部分积右移1位5=1,+ |X|00.1101000.01101 0 0 0 0 1 1 部分积右移1位5=1,+ |X|01.0011100.10011 1 0 0 0 0 1 部分积右移1位5=1,+ |X|01.0110100.10110 1 1 0 0 0 0 部分积右移1位5=0,+ 000.1011000.01011 0 1 1 0 0 0 部分积右移1位所以, |X×Y|=0.010*******X×Y=+0.010*******补码乘法:(1)[X]补=0.11011 → B, [Y]补=1.00001 → C, 0 → A [-X]补说明 + [-X]补5C 6=10,+ [-X]补11.0010111.10010 1 1 0 0 0 0 1 部分积右移1位+ [X]补5C 6=01,+ [X]补00.0110100.00110 1 1 1 0 0 0 0 部分积右移1位5C 6=00,+ 000.0011000.00011 0 1 1 1 0 0 0 部分积右移1位5C 6=00,+ 000.0001100.00001 1 0 1 1 1 0 0 部分积右移1位5C 6=00,+ 000.0000100.00000 1 1 0 1 1 1 0 部分积右移1位+ [-X]补 5C 6=10,+ [-X]补所以, [X×Y]补=1.0010111011X×Y =-0.1101000101(2)[X]补=1.00110 → B, [Y]补=1.10010 → C, 0→A [-X]补说明5C 6=00,+ 01位+ [-X]补 00.11010 C 5C 6=10,+ [-X]补00.1101000.01101 0 0 1 1 0 0 1 部分积右移1位+ [X]补 11.00110 C 5C 6=01,+ [X]补11.1001111.11001 1 0 0 1 1 0 0 部分积右移1位+ 0 00.00000 C 5C 6=00,+ 011.1100111.11100 1 1 0 0 1 1 0 部分积右移1位+ [-X]补 00.11010 C 5C 6=10,+[-X]补00.1011000.01011 0 1 1 0 0 1 1 部分积右移1位+ 0 5C 6=11,+ 000.01011所以, [X×Y]补=0.010*******X×Y = 0.010*******4-10.分别⽤原码和补码加减交替法计算X/Y 。
计算机组成原理机器运算
小数
x [x]原 =
x 为真值 如 x = + 0.1101
x= 0.1101 [x]原 = 0 . 1101
2.1.2
1>x≥0 0≥x> 1
用 小数点 将符号 位和数值部分隔开
1–x
[x]原 = 1 ( 0.1101) = 1 . 1101 [x]原 = 0 . 1000000 用 小数点 将符号 位和数值部分隔开
[x]补
? [x]
原
[x]原 = 1,0010 ∴ x = 0010
当真值为 负 时,原码 可用 补码除符号位外 每位取反,末位加 1 求得
2013-7-8 26
练习 求下列真值的补码
真值
[x]补
[x]原
0,1000110 1,1000110 0.1110 1.1110 0.0000 1.0000
x 为真值,n 为 整数的位数
移码在数轴上的表示
0 2
n
2n
偏置值
–1 [x]移码
2
n+1
–2
n
0
2 –1
n
真值
如
x = 10100
[x]移 = 25 + 10100 = 1,10100 x = –10100 [x]移 = 25 – 10100 = 0,01100
用 逗号 将符号位 和数值部分隔开
31
2013-7-8
18
3、反码表示法
对尾数求反,它跟补码的区别在于末位少
加一个1,所以可以推出反码的定义
定点小数x0.x1x2…xn
x
[x]反=
1>x≥0
0≥x >-1
2+x –2-n
(计算机组成原理)第4章 运算方法与运算器-fjw-1
0,1011 + 1,1100
0,0111
[X+Y]补 = 0, 0111
0,1011 + 0,0100
0,1111
[X-Y]补 = 0, 1111
7
2、补码加减运算的溢出判断
❖ 当运算结果超出机器数的表示范围时,称为溢出。计 算机必须具备检测运算结果是否发生溢出的能力,否 则会得到错误的结果。
❖ 对于加减运算,可能发生溢出的情况:同号(两数) 相加,或者异号(两数)相减。
❖ (2)双符号位判溢方法 ▪ X和Y采用双符号位补码参加运算,正数的双符号 位为00,负数的双符号位为11;当运算结果的两 位符号Sf1 Sf2不同时(01或10),发生溢出。 ▪ V= Sf1 ⊕ Sf2= Xf ⊕Yf ⊕Cf⊕ Sf ▪ Sf1 Sf2=01,则正溢出;Sf1 Sf2=10,则负溢出。
一 原码乘法及实现 二 补码乘法及实现 三 阵列乘法器
19
一、原码乘法及实现
❖ 由于计算机的软硬件在逻辑上具有一定的等价性,因 此实现乘除法运算,可以有三种方式:
❖ Ⅰ.用软件实现。
▪ 硬件上:设计简单,没有乘法器和除法器。 ▪ 指令系统:没有乘除指令,但有加/减法和移位指
令 ▪ 实现:乘除运算通过编制一段子程序来实现 ▪ 算法:程序中运用串行乘除运算算法,循环累加、
Xf 符号位
X1 X2
Xf 符号位
X1 X2
Xn
0
Xn
14
补码的算术移位举例
❖ 例:设X=0.1001,Y=-0.0101,求 ▪ [X]补= 0?.1001 ▪ [2X]补= ?1.0010(溢出) ▪ [X/2]补=?0.0100 ▪ [Y]补= 1?.1011 ▪ [2Y]补= ?1.0110 ▪ [Y/2]补=?1.1101
第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.进位信号串行传递的加法器称为串行加法器。
计算机组成原理: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
计算机组成原理第4章
本章学习要求
• 掌握:定点补码加法和减法运算方法 • 理解:3种溢出检测方法 • 理解:补码移位运算和常见的舍入操作方法 • 了解:串行加法器与并行加法器 • 理解:进位产生和进位传递 • 掌握:定点原码、补码乘法运算方法 • 掌握:定点原码、补码加减交替除法运算方法 • 理解:浮点加减乘除运算 • 理解:逻辑运算 • 了解:运算器的基本结构及浮点协处理器
第4章 数值的机器运算
设操作数信号为4、3、2、1、(最低 位信号为1)。向最低位进位的信号为C0、 Gi、Pi 分别是各位的进位产生函数和进位 传递函数。
(1)完善第4位先行进位信号的逻辑表达 式。 C4=G4+P4G3+……
(2)基于操作数,试述表达式中各项的 实际含义。
第4章 数值的机器运算
[-Y]补=[[Y]补]变补
第4章 数值的机器运算
2.补码减法(续)
“某数的补码表示”与“变补”是两个不 同的概念。一个负数由原码转换成补码时,符 号位是不变的,仅对数值位各位变反,末位加 “1”。而变补则不论这个数的真值是正是负, 一律连同符号位一起变反,末位加“1”。[Y]补 表示的真值如果是正数,则变补后[-Y]补所表示 的真值变为负数,反之亦然。
第4章 数值的机器运算
16位单级先行进位加法器
S1 6~S1 3
S1 2~S9
S8~S5
S4~S1
C16 4位CLA C12 4位CLA C8 4位CLA C4 4位CLA
加法器
加法器
加法器
加法器
C0
A1 6~A1 3
A1 2~A9
B1 6~B1 3
B1 2~B9
A8~A5 B8~B5
4计算机组成原理(第四章)
23
算术逻辑部件ALU
实现Ai+Bi 选择S3~S0=1011 、M=1
Fi=( Ai+Bi )⊕0= Ai+Bi
实现AiBi 选择S3~S0=1110 、M=1
控制信号与选择器输出关系
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
■ 2■因逻辑相同,能直接用4位先行进位电路(CLA)生成这些信
号
16
多级先行进位
组内进位信号能同时产生、组间进位信号也能同时产生,由此 可构成多级并行进位逻辑。16位2级先行进位加法器如下图:
17
多级先行进位
二级先行进位的实现思路(16位为例): 4位一组分成4组,组内实现先行进位,为一级先行进位;其 电路称为成组先行进位电路; 让一级进位链多产生两个辅助函数Gi*和Pi*,并作为高一级 先行进位的输入,该高一级进位为二级先行进位; 组间进位信号C4.C8、C12、C16,根据其逻辑关系式由二级进 位链来产生;(注:一级和二级进位链用同一电路) 再将组间进位信号C4.C8、C12、C16输入一级加法电路,与操 作数一起产生和的输出。
15
多级先行进位
四个组内的最高进位C16.C12、C8、C4可以分别表示为
:C4 = G1* + P1* C0 C8 = G2* + P2* C4 C12 = G3* + P3* C8 C16 = G4* + P4* C12
■ 1■这4组进位结构与前述4位先行进位逻辑完全相同,组 间进位信号只与最低进位C0有依赖关系, 所以能同时 产生
控制参数不同,得到的组合函数也不同,就能实现多种算术和逻 辑运算——ALU。
计算机组成原理之数值机器运算培训教程
计算机组成原理
数值的
机器运算
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位数的相加。串行进位又称行波进位,每 一级进位直接依赖于前一级的进位,即进 位信号是逐级形成的。
计算机组成原理第4章浮点数运算方法ppt课件
jy]移 (mod 2n+1) 则直接可得移码形式。
同理,当作除法运算时,商的阶码可用下式完成: [jx]移+[-jy]补 = [jx - jy]移
11
5. 溢出判断
在浮点规格化中已指出,当尾数之和(差)出现 01.××…×或10.××…×时,并不表示溢出,只有 将此数右规后,再根据阶码来判断浮点运算结果是否 溢出。
若机器数为补码,尾数为规格化形式,并假设阶符取 2位,阶码取7位,数符取2位,尾数取n位,则它们能 表示的补码在数轴上的表示范围如下图。
浮 点 数 加 减 运 算 流 程 图
16
浮点加减法运算
1. 大型计算机和高档微型机中,浮点加减法运算是由 硬件完成的。低档的微型机浮点加减法运算是由软 件完成的,但无论用硬件实现或由软件实现加减法 运算,基本原理是一致的。
2. 浮点加减法运算要经过对阶、尾数求和、规格化、 舍入和溢出判断五步操作。其中尾数运算与定点加
23
2. 尾数运算
(1)浮点乘法尾数运算 (2)浮点除法尾数运算
24
(1)浮点乘法尾数运算
预处理:检测两个尾数中是否有一个为0, 若有一个为0,乘积必为0,不再作其他操 作;如果两尾数均不为0,则可进行乘法运 算。
相乘:两个浮点数的尾数相乘可以采用定 点小数的任何一种乘法运算来完成。
规格化:相乘结果可能要进行左规,左规 时调整阶码后如果发生阶下溢,则作机器 零处理;如果发生阶上溢,则作溢出处理。
计算机组成原理计算机的运算方法(共56张PPT)精选全文
10 0001 0000
0000
0001
……
……
1001
1010
0
00110000
1
00110001
……
9
00111001
A
16 0001 0110
1111
F
由于ASCII码低四位与BCD码相同,转换方便。 ASCII码左移四位得BCD码, BCD码前加0011得ASCII码。
一般采用二进制运算的计算机中不采用BCD码,矫正不方便。 商用计算机中采用BCD码,专门设置有十进制运算电路。
八进制数与十六进制数之间,可将二进制数作为中介进行转换。
、数值的处理(数制转换)
3) BCD码(十进制):P214-215
如果计算机以二进制进行运算和处理时,只要在输入输出处理时进
行二 / 十进制转换即可。
但在商业统计中,二 / 十进制转换存在两个问题:
(1)转换占用实际运算很大的时间; (2)十进制的,无法用二进制精确表示;
例:将(0. 1)10转换成二进制数 ( 要求5位有效位) 。
结果
0.1×2
最高位 0 .2×2
… 0 .4×2
0 .8×2
1 .6×2
1 .2×2
0 .4×2
直到乘积的小数部分为0,
或结果已满足所需精度要求为止.
0 .8×2
最低位 1 .6000
可能永远乘不完,小数部分不为0, 意味存在一点误差。
2 105
余数
结果
2 52
1
2 26
0
2 13
0
26
1
23
0
21
1
0
1
直到商等于0为止
13计科计算机组成原理考试复习 (1)
CPU将提供15根地址线A14-A0、8根数据线与 存储器相连;而存储芯片仅有13根地址线、8根数据 线。四个芯片的地址线A12~A0、数据线D7~D0及读 写控制信号 WE 都是同名信号并联在一起;高位地 址线A14、A13经过一个地址译码器产生四个片选信号 CS ,分别选中四个芯片中的一个。
3、在堆栈操作中,压栈操作时做什么操作? 答:压栈操作时SP减1后将数据存入SP指示的存储单 元 。 4、堆栈指针SP的内容是内容? 答:堆栈指针SP的内容是栈顶地址 5、自底向上生成堆栈的进栈时是如何操作的? 答:自底向上生成堆栈的进栈,堆栈的栈底地址大于栈顶 地址,通常栈指针始终指向栈顶的满单元。进栈时, SP的内容需要先自动减1,然后再将数据压入堆栈。 6、自底向上生成堆栈的出栈时是如何操作的? 答:自底向上生成堆栈的出栈时,需要先将堆栈中的数据 弹出,然后SP的内容再自动加1。
3、以下浮点数的表示中,尾数是补码表示时,
判断哪一个符合规格化要求? 1)0.0011110×20 ;答:有2位无效0 2)0.0001011×2-2 ;答:有3位无效0 3)1.1110010×21 ;答:有3位无效0 4)1.0011011×2-4 ;答:规格化 4、以下浮点数的表示中,尾数是原码表示, 判断哪一个符合规格化要求? 1)1.0010011×2-4 ;答:有2位无效0 2)1.1100110×21 ;答:规格化 3)0.0011110×20 ;答:有2位无效0 4)0.0111011×2-2 ;答:有1位无效0
3、
在二进制尾数的浮点数中,为了保持数值 不变,小数点右移2位,阶码要如何处理? 答:二进制尾数小数点右移2位(左规2位), 阶码要减2 (例:0.0025×104 = 0.25×102 = 25) 4、 在二进制尾数的浮点数中,为了保持数值 不变,小数点左移2位,阶码要如何处理? 答:二进制尾数小数点左移2位(右规2位), 阶码要加2 (例:25000×10-3 = 250×10-1 = 25)
计算机组成原理课件第四章计算机中的算术运算
结果:
[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”表示正溢出,说明运算结果为正数。
计算机组成原理课后复习题范文
计算机组成原理蒋本珊复习题第1章概论1.电子数字计算机和电子模拟计算机的区别在哪里?解:电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。
2.冯·诺依曼计算机的特点是什么?其中最主要的一点是什么?解:冯·诺依曼计算机的特点如下:①计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成;②计算机内部采用二进制来表示指令和数据;③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。
第③点是最主要的一点。
3.计算机的硬件是由哪些部件组成的?它们各有哪些功能?解:计算机的硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。
它们各自的功能是:①输入设备:把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计算机内部所能识别和接受的信息方式。
②输出设备:将计算机的处理结果以人或其他设备所能接受的形式送出计算机。
③存储器:用来存放程序和数据。
④运算器:对信息进行处理和运算。
⑤控制器:按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自动工作。
4.什么叫总线?简述单总线结构的特点。
解:总线是一组能为多个部件服务的公共信息传送线路,它能分时地发送与接收各部件的信息。
单总线结构即各大部件都连接在单一的一组总线上,这个总线被称为系统总线。
CPU 与主存、CPU 与外设之间可以直接进行信息交换,主存与外设、外设与外设之间也可以直接进行信息交换,而无须经过CPU的干预。
5.简单描述计算机的层次结构,说明各层次的主要特点。
解:现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分的多级层次结构。
第0级为硬件组成的实体。
第1级是微程序级。
这级的机器语言是微指令集,程序员用微指令编写的微程序一般是直接由硬件执行的。
第2级是传统机器级。
这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。
知识点 计算机组成原理
知识点计算机组成原理知识点-计算机组成原理计算机组成原理重要知识点第一章绪论一、冯.诺依曼思想体系――计算机(硬件)由运算器、控制器、存储器、输入输出设备五部分组成,存储程序,按地址出访、顺序继续执行二、总线的概念。
按传送信息的不同如何划分;按逻辑结构如何划分三、冯.诺依曼结构(普林斯顿结构)与哈弗结构的存储器设计思想四、计算机系统的概念,软件与硬件的关系、计算机系统的层次结构(实际机器与交互式机器)五、计算机的主要性能指标的含义(机器字长,数据通路宽度,主存容量,运算速度)六、cpu和主机两个术语的含义,完备的计算机系统的概念,硬件、软件的功能分割七、总线概念和总线分时共享资源的特点、三态门与总线电路第二章数据的机器层次表示一、真值和机器数的概念数的真值变为机器码时存有四种则表示方法:原码表示法,反码表示法,补码表示法,移码则表示码。
其中移码主要用作则表示浮点数的阶码e,以利比较两个指数的大小和对阶操作方式二、一个定点数由符号位和数值域两部分组成。
按小数点位置不同,定点数有纯小数和纯整数两种表示方法。
几种定点机器数的数值则表示范围。
三、浮点数浮点数的标准表示法:符号位s、阶码e、尾数m三个域组成。
其中阶码e通常用移码表示(其值等于指数的真值e加上一个固定偏移值)。
规格化浮点数(原码,补码则表示的规格化浮点数的区别)五、处理字符信息(符号数据即非数值信息),七、常用的bcd码:8421码、2421码、余3码、格雷码(有权码,无权码,特点)八、检错纠错码:奇偶校验(掌握奇偶校验原理及校验位的形成及检测方法),海明码的纠错原理(理解)第三章指令系统一、指令格式:指令的基本格式,指令的地址码结构(3、2、1、0地址指令的区别),非规整型指令的操作码(扩展览会操作码)二、编址方式(位,字节,字…)三、操作数串行方式――立即串行、轻易串行、间接串行、寄存器串行、寄存器间接串行、相对串行、基址寻址、变址寻址、页面寻址四、指令串行方式――顺序对串行方式、弹跳串行方式五、指令类型及功能六、不同的计算机的i/o指令差别很大,通常有两种方式:独立编址方式,统一编址方式第四章数值的机器运算一、为运算器构造的简单性,运算方法中算术运算通常采用补码加减法,原码乘除法或补码乘除法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
3
4.1 基本算术运算的实现
计算机中最基本的算术运算是加法运算 不论加、 , 不论加 、 减 、 乘 、 除运算最终都可以归结 为加法运算。 为加法运算 。 所以在此讨论最基本的运算部 加法器, 件 ——加法器 , 以及并行加法器的进位问题 加法器 。
4
4.1.1 加法器
1.全加器 全加器 全加器( )是最基本的加法单元, 全加器(FA)是最基本的加法单元, 它有三个输入量:操作数A 它有三个输入量:操作数 i和Bi、低位传来 的进位C 两个输出量:本位和S 的进位 i-1,两个输出量:本位和 i、向高位 的进位C 的进位 i。
图4-1 全加器的逻辑框图
5
全加器真值表
Ai Bi Ci-1 Si Ci
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
0 1 1 0 1 0 0 1
0 0 0 1 0 1 1 1
6
2.串行加法器与并行加法器 2.串行加法器与并行加法器
加法器有串行和并行之分。在串行加法器中, 加法器有串行和并行之分。在串行加法器中, 只有一个全加器,数据逐位串行送入加法器进行运算; 只有一个全加器,数据逐位串行送入加法器进行运算; 并行加法器则由多个全加器组成, 并行加法器则由多个全加器组成,其位数的多少取决 于机器的字长,数据的各位同时运算. 于机器的字长,数据的各位同时运算 串行加法器具有器件少、 成本低的优点, 串行加法器具有器件少 、 成本低的优点 , 但运 算速度太慢, 算速度太慢,所以除去某些低速的专用运算器外很少 采用。 采用。 并行加法器可同时对数据的各位相加, 并行加法器可同时对数据的各位相加 , 但存在 着一个加法的最长运算时间问题。 着一个加法的最长运算时间问题。这是因为虽然操作 数的各位是同时提供的, 数的各位是同时提供的,但低位运算所产生的进位会 影响高位的运算结果。 例如: 相加, 影响高位的运算结果 。 例如 : 11…11和 00…01相加 , 和 相加 最低位产生的进位将逐位影响至最高位,因此, 最低位产生的进位将逐位影响至最高位,因此,并行 加法器的最长运算时间主要是由进位信号的传递时间 决定的,而每个全加器本身的求和延迟只是次要因素。 决定的,而每个全加器本身的求和延迟只是次要因素。 很明显, 很明显,提高并行加法器速度的关键是尽量加快进位 产生和传递的速度。 产生和传递的速度。
16
4.4 定点乘法运算
在计算机中, 在计算机中 , 乘法运算大多数由累加与 移位来实现, 移位来实现,也有些机器中具有由大规模集成 电路制造的阵列乘法模块。 电路制造的阵列乘法模块。
4.5 定点除法运算
除法是乘法的逆运算,与乘法运算的处 除法是乘法的逆运算 , 理思想相似,可以将n位除转化成若干次 位除转化成若干次“ 理思想相似,可以将 位除转化成若干次“减 移位” 法-移位”,也有些计算机具有由大规模集成 电路制造的阵列除法模块。 电路制造的阵列除法模块。
“某数的补码表示 ” 与 “ 变补 ” 是两个不同的 某数的补码表示” 变补” 某数的补码表示 概念。 一个负数由原码转换成补码时, 概念 。 一个负数由原码转换成补码时 , 符号 位是不变的, 仅对数值位各位变反, 位是不变的 , 仅对数值位各位变反 , 末位加 “ 1”。 而变补则不论这个数的真值是正是负 , 。 而变补则不论这个数的真值是正是负, 一律连同符号位一起变反,末位加“ 。 一律连同符号位一起变反,末位加“1”。[Y] 表示的真值如果是正数, 则变补后[-Y] 补 所 补 表示的真值如果是正数 , 则变补后 表示的真值变为负数,反之亦然。 表示的真值变为负数,反之亦然。 例1:Y=-0.0110, [Y]原=1.0110, : , , [Y]补=1.1010, [-Y]补=0.0110 , [Y]原=0.0110, 例2:Y=0.0110, : , , [Y]补=0.0110, [-Y]补=1.1010 ,
13
4.3.1 带符号数的移位操作
1.原码的移位规则 原码的移位规则 不论正数还是负数, 在左移或右移时, 不论正数还是负数 , 在左移或右移时 , 符号位均不变,空出位一律以“ 补入 补入。 符号位均不变,空出位一律以“0”补入。 负数的原码移位前后结果为: 负数的原码移位前后结果为: 左移:移位前有: 左移:移位前有:1 X1 X2 … Xn-1 Xn 移位后有: 移位后有:1 X2 X3 … Xn 0 右移:移位前有: 右移:移位前有:1 X1 X2 … Xn-1 Xn 移位后有: 移位后有:1 0 X1 … Xn-2 Xn-1
1
本章学习内容 4.1 基本算术运算的实现 4.2 定点加减运算 4.3 带符号数的移位和舍入操作 4.4 定点乘法运算 4.5 定点除法运算 4.6 规格化浮点运算 4.7 十进制整数的加法运算 4.8 逻辑运算与实现 4.9 运算器的基本组成与实例
2
本章学习要求 掌握: 掌握:定点补码加法和减法运算方法 理解: 理解:补码移位运算和常见的舍入操作方法 了解: 了解:串行加法器与并行加法器 掌握:定点原码、 掌握:定点原码、补码乘法运算方法 掌握:定点原码、 掌握:定点原码、补码加减交替除法运算方法 理解: 理解:浮点加减乘除运算 了解: 了解:运算器的基本结构
补码加法示例
例3:A=0.1011,B=-0.1110,求A+B : , , ∵[A]补=0.1011 [B]补=1.0010 0.1011 [A]补 + 1.0010 [B]补 1.1101 [A+B]补 ∴[A+B]补=1.1101 A+B=-0.0011
11
补码减法示例 例4:A=0.1011,B=-0.0010,求A-B : , , ∵[A]补=0.1011 [B]补=1.1110 [-B]补=0.0010 0.1011 [A]补 + 0.0010 [-B]补 0.1101 [A-B]补 ∴[A-B]补=0.1101 A-B=0.1101
12
4.3 带符号数的移位和舍入操作
在计算机中,实现乘除运算的方案通常有 种 在计算机中,实现乘除运算的方案通常有3种: 软件实现。在低档微机中无乘除运算指令, ⑴ 软件实现 。 在低档微机中无乘除运算指令 , 只能用乘法和除法子程序来实现乘除运算。 只能用乘法和除法子程序来实现乘除运算。 ⑵ 在原有实现加减运算的运算器基础上增加 一些逻辑线路,使乘除运算变换成加减和移位操作。 一些逻辑线路 , 使乘除运算变换成加减和移位操作 。 在机器中设有乘除指令。 在机器中设有乘除指令。 设置专用的乘、除法器, ⑶ 设置专用的乘 、 除法器 , 机器中设有相应 的乘除指令。 的乘除指令。 不管采用什么方案实现乘除法, 不管采用什么方案实现乘除法,基本原理是相 同的。 如果采用第⑵ 种方案, 同的 。 如果采用第 ⑵ 种方案 , 则必然会涉及到移位 操作。 操作。
17表示方法, 第2章中已经讨论了浮点数的表示方法,这里将 章中已经讨论了浮点数的表示方法 进一步讨论规格化浮点数的四则运算问题, 进一步讨论规格化浮点数的四则运算问题 , 其中尾 数的基值r=2。 数的基值 。 浮点运算的阶码只有加减运算, 尾数则有加、 浮点运算的阶码只有加减运算 , 尾数则有加 、 除四种运算。 减 、 乘 、 除四种运算 。 可见浮点运算器主要由两个 定点运算部件组成, 一个是阶码运算部件, 定点运算部件组成 , 一个是阶码运算部件 , 用来完 成阶码加、 成阶码加 、 减 , 以及控制对阶时小阶的尾数右移次 数和规格化时对阶码的调整; 数和规格化时对阶码的调整 ; 另一个是尾数运算部 件 , 用来完成尾数的四则运算以及判断尾数是否已 规格化。此外,还需要有溢出判断电路等。 规格化。此外,还需要有溢出判断电路等。 现代计算机可把浮点运算部件做成任选件, 现代计算机可把浮点运算部件做成任选件,或 称为协处理器。 称为协处理器 。 所谓协处理器是因为它只能协助主 处理器工作,不能单独工作。 处理器工作,不能单独工作。