版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成基础书1第1页,共76页,2023年,2月20日,星期二数值的机器运算3.1定点数的加、减法运算和加、减法电路的实现3.2定点数的乘运算3.3
逻辑运算3.4定点运算器的基本结构与工作原理2第2页,共76页,2023年,2月20日,星期二机器数的运算方法机器数的运算方法是设计运算器的依据,要搞清楚运算器的原理,首先要搞清楚机器数的运算方法。因此说,计算机的运算器是根据人们约定的机器数运算法则来设计的。目的是以最简单的方法完成机器数的运算,同时使计算机的运算器结构最简单。3第3页,共76页,2023年,2月20日,星期二3.1定点数的加、减法运算
和加、减法电路的实现3.1.1定点数的加减运算3.1.2从半加器到算术逻辑部件ALU4第4页,共76页,2023年,2月20日,星期二3.1.1定点数的加减运算加法规则:0+1=1+0=11+1=10(1为向高位的进位)0+0=0减法规则0-1=1(向高位借位1)1-0=1 1-1=00×0=0乘法规则:0×1=1×0=01×1=15第5页,共76页,2023年,2月20日,星期二原码运算原码进行加法运算时,如两数的符号相异,实际要做减法运算。而减法运算对计算机而言要复杂的多。假设:X=+10101,Y=-11010。计算X+Y一般的运算步骤是:首先要比较X和Y的绝对值大小。即:本题︱X︱﹤︱Y︱
其次作减法︱X︱-
︱Y︱
结果的符号应与绝对值大的那个数相同。所以结果是:Z=-001016第6页,共76页,2023年,2月20日,星期二这就是说,用原码进行异号数相加时,要有3步工作,即:比较两个数的绝对值大小绝对值大的数的绝对值减去绝对值小的数的绝对值将结果赋予绝对值大的那个数的符号如上所述,用原码进行加法运算是很麻烦的。如果用补码(数值连同符号)运算,可以得出同样结果,且运算过程变得十分简单。7第7页,共76页,2023年,2月20日,星期二补码运算规则:补码运算时,其符号位与数值部分一起参加运算。符号运算后如有进位出现,将进位舍去不要。补码运算性质:〔X+Y〕补=〔X〕补+〔Y〕补
〔X-Y〕补=〔X〕补+〔-Y〕补例:已知:X=11010,Y=-10101,求X+Y=?解:
〔X〕补=011010,
〔Y〕补=101011。
〔X〕补=011010〔Y〕补=101011〔X+Y〕补
=1000101符号进位舍掉∴X+Y=+001018第8页,共76页,2023年,2月20日,星期二以原码运算中的例题为例:X=+10101,
Y=-11010。计算X+Y〔X〕补
=010101,〔Y〕补=100110〔X〕补
=010101,〔X+Y〕补=111011〔Y〕补=100110结果为负,数值取补。
〔X+Y〕补=111011∴X+Y=-00101
结果与前面计算结果完全一样,而计算机的运算过程简化了。同时计算机的结构也大大简化了。9第9页,共76页,2023年,2月20日,星期二例如:已知X=-0.1101,Y=-0.0001求X+Y=?
〔X〕补=1.0011+〔Y〕补=1.1111
舍去不要11.0010∴X+Y=0.1100
结果符号为负,依然不是最终结果,须将结果的数值部分再补一次,恢复为最终结果。例如:已知X=0.1101Y=-0.0001求X+Y=?
〔X〕补=0.1101+〔Y〕补=1.1111
舍去不要10.1100∴X+Y=0.1100
10第10页,共76页,2023年,2月20日,星期二补码减法引入补码以后,计算机中的减法运算都可以统一转化为补码的加法运算,其符号位也可正常参与运算。即:
〔X补-Y〕补
=〔X〕补+〔-Y〕补如十进制“36”与“45”的差可转化成:“36”与“-45”的和。求〔-Y〕补的方法:〔Y〕补逐位取反,末位加“1”
11第11页,共76页,2023年,2月20日,星期二(+36)补=0100100(-45)补=(45)补每位取反+1=(0101101)反+1=1010010+1=1010011
(+36)补=0100100+(-45)补=1010011
(1110111)补
=(1110110)反(-9)10
(10001001)原12第12页,共76页,2023年,2月20日,星期二例:设X=+0.11001,Y=+0.10001,求X-Y解:〔X〕补=0.11001,〔Y〕补=0.10001〔-Y〕补=〔Y〕补每位取反+1=1.01110+1=1.01111〔X〕补=0.11001+〔-Y〕补=1.01111〔X补-Y〕补
=10.01000舍去不要∴X-Y=+0.0100013第13页,共76页,2023年,2月20日,星期二练习:已知:X=+0.01001,Y=-0.10001求X-Y14第14页,共76页,2023年,2月20日,星期二溢出概念与检测方法例题:有X=+0.1011,Y=+0.1001求X+Y〔X〕补=0.1011,〔Y〕补
=0.1001〔X〕补=0.1011+〔Y〕补=0.1001〔X+Y〕补
=1.0100
两个正数相加结果为负,显然是错误的。例题:有X=-10011,Y=-11001求X+Y〔X〕补=101101+〔Y〕补=100111〔X+Y〕补
=1010100舍去15第15页,共76页,2023年,2月20日,星期二
之所以发生错误,是因为运算结果产生了“溢出”。两个正数相加,结果大于机器所能表示的最大正数,称为“上溢”。而两个负数相加,结果小于机器所表示的最小负数,称为“下溢”。在定点小数机器中,数的表示范围︱X︱
<1,在运算过程中如出现大于1的现象,就称为溢出。为了判断溢出是否发生,多采用双符号位法,称为“变形补码”或“模4补码”。从而使前面介绍的模2
补码所能表示数的范围扩大一倍。16第16页,共76页,2023年,2月20日,星期二规则:符号位00表示正数,11表示负数。结果的符号位为01时,称为上溢;为10时,称为下溢。例如:已知X=+0.1100,Y=+0.1000 求X+Y〔X〕补
=001100,〔X〕补
=001000〔X〕补=001100+〔Y〕补=001000
010100两个符号位出现“01”,表示出现溢出,为上溢出。17第17页,共76页,2023年,2月20日,星期二例如:已知X=-0.1100,Y=-0.1000求X+Y〔X〕补
=11.0100,〔Y〕补=11.1000〔X〕补=11.0100+〔Y〕补=11.1000
10.1100两个符号位出现“10”,表示结果溢出,为下溢出。从以上两例可以看出,溢出都是发生在同符号两数相加时,而两个符号相异数相加不会发生溢出。
18第18页,共76页,2023年,2月20日,星期二例:已知X=0.11011,Y=-0.11111,用变形补码计算X-Y=?,并判断是否益出。〔X〕补变=00.11011,〔Y〕原=1.11111,〔Y〕反
=1.00000〔Y〕补变=11.00001,〔-Y〕补变=00.11111〔X〕补变=00.11011〔-Y〕补变=00.11111〔X〕补变+〔-Y〕补变
=01.11010结果为正益出。注意:益出时,两个符号中左边符号仍然有正负含义,但运算结果错误。19第19页,共76页,2023年,2月20日,星期二例:已知:X=0.10111,Y=0.11011,用变形补码计算X-Y=?,并判断是否益出。解:〔X〕补变=00.10111〔Y〕补变=00.11011,〔-Y〕补变=11.00101〔X〕补变=00.10111〔-Y〕补变=11.00101〔X〕补变+〔-Y〕补变
=11.11100
结果无益出,X+Y=-0.0010020第20页,共76页,2023年,2月20日,星期二练习:已知:X=0.10110,Y=-0.10011计算:X+Y,X-Y,并判断是否溢出。21第21页,共76页,2023年,2月20日,星期二解:〔X〕补变=00.10110,〔Y〕补变=11.01101〔X〕补变=00.10110+〔Y〕补变=11.01101=100.00011无溢出
X+Y=0.00011〔-Y〕补变=00.10011〔X〕补变=00.10110-〔Y〕补变=00.10011=01.01001溢出22第22页,共76页,2023年,2月20日,星期二练习:
设:X=-10011,Y=-11001
求:X-Y
设:X=-11001,Y=-10011
求:X-Y23第23页,共76页,2023年,2月20日,星期二练习:用变形补码的加、减法计算下列各式,并指出运算结果是否益出。
X=0.1001,Y=-0.0110,求X+YX=0.1100,Y=-0.0110,求X-YX=-0.1101,Y=-0.1101,求X+YX=-0.1101,Y=-0.1111,求X-Y24第24页,共76页,2023年,2月20日,星期二3.1.2从半加器到算术逻辑部件ALU算术逻辑部件ALU(ArithmeticLogicUnit)是运算器的核心,用来实现数据加工和处理所必需的各种整型数据和逻辑型数据的算术运算和逻辑运算功能。算术运算包括加、减、乘、除运算,但不论是那种运算都离不开加法运算,因此加法器是ALU中最基本的部件。25第25页,共76页,2023年,2月20日,星期二半加器二进制加法法则是:
0+0=00+1=11+0=11+1=0(进位为1)对2个1位的2进制数Xi与Yi的加法运算,其输出与输入关系可用下列真值表表示,见下表。26第26页,共76页,2023年,2月20日,星期二
27第27页,共76页,2023年,2月20日,星期二1.半加器据此真值表可知,和数Si同被加数Xi、加数Yi的关系可用一个异或门表示,而向高位的进位值Ci同Xi、Yi的关系可用一个与门表示,因此可画出相应的逻辑电路如下图所示。这种只考虑被加数和加数,不考虑低位向本位的进位值的加法器称为半加器。28第28页,共76页,2023年,2月20日,星期二
29第29页,共76页,2023年,2月20日,星期二2.全加器如果考虑低位向本位的进位Ci-1,则2个1位二进制数Xi与Yi的加法运算,其输出与输入的关系可用下表所示的真值表表示。这种考虑低位向本位的进位值的加法器称为全加器,在多位2进制数进行加法运算时,除最低位外,其余各位都必须采用全加器电路。
30第30页,共76页,2023年,2月20日,星期二全加器真值表31第31页,共76页,2023年,2月20日,星期二全加器的逻辑电路
32第32页,共76页,2023年,2月20日,星期二算术逻辑部件ALU算术逻辑部件ALU除了完成加、减法等算术运算外,还必须具有逻辑运算功能,可采用如下图所示的电路实现多功能算术/逻辑部件。33第33页,共76页,2023年,2月20日,星期二4位二进制算术逻辑部件7418134第34页,共76页,2023年,2月20日,星期二3.2定点数的乘法运算
3.2.1定点数的乘法运算3.2.2了解定点数的除法运算35第35页,共76页,2023年,2月20日,星期二定点乘法运算原码一位乘法运算完成两个原码表示的数相乘时,乘积的符号由两数的符号位逻辑加(异或)所得,数值部分则是两个正数相乘之积。设:被乘数=〔X〕原
=xf·x1x2…xn
乘数=〔Y〕原
=yf·y1y2…yn
乘积=(xfyf)·(xf·x1x2…xn)(yf·y1y2…yn)数值部分的运算方法与普通的十进制小数乘法相似(去掉符号,绝对值相乘)。不过二进制乘法比十进制更简单一些。36第36页,共76页,2023年,2月20日,星期二设X=0.1101,Y=0.1011,先用习惯方法求解。
0.1101
×0.1011110111010000
+11010.10001111乘数的两种可能,决定着部分积的两种可能。即:乘数位部分积001被乘数本身37第37页,共76页,2023年,2月20日,星期二习惯的手工算法对机器并不完全适用。原因是:两个n位数相乘,乘积可能为2n位,用这种乘数和移位配合相加的方法,则需要2n位长的加法器,而机器通常只有n位字长,且机器只有两个操作数相加的加法器。计算机中实现乘法运算的方法是移位相加,采用部分积右移的方法。即:根据乘数每个数值是“0”还是“1”(从最低位开始),决定部分积是加上被乘数,还是“0”;得到的新部分积右移一位,在重复上述动作,直到乘法作完为止。38第38页,共76页,2023年,2月20日,星期二积存器B:存放被乘数X;计数器I:控制逐位相乘的次数积存器C:存放乘数Y(具有移位功能);加法器F:进行部分积和被乘数相加。39第39页,共76页,2023年,2月20日,星期二
例:X=0.1101(被),Y=0.1011(乘),求X×Y
部分积乘数判别位说明
0.0000
101
1
1
Y0=1,+X
+0.11010.11010.01101
10
1
1
整体右移,Y1=1,+X
+0.11011.00110.1001111
0
0
整体右移,Y2=0,+0
+0.00000.10010.0100111
11
整体右移,Y3=1,+X+0.11011.0001
0.1000
1111
整体右移,得到X×Y
40第40页,共76页,2023年,2月20日,星期二例:X=10.101,Y=101,求X×Y
部分积乘数判别位说明
00000
101
1
Y0=1,+X+10.10110.101010.101
10
0
整体右移,Y1=0,+0+00000010.100010.101
11
整体右移,Y2=1,+X+10.1011101.0
1101.
001
整体右移,得X×Y
在本例中,部分积右移时,小数点跟随一起移动。
41第41页,共76页,2023年,2月20日,星期二例:已知X=0.1011,Y=-0.1010,用原码一位乘法。求
X×Y的值。要求写出计算机中的运算步骤。解:乘积的符号位=01=1,尾数绝对值相乘。部分积乘数判别位说明
0.0000
10100Y0=0,+0
+0.00000.00000.00000
10
11
整体右移,Y1=1,+X
+0.10110.10110.010110100整体右移,Y2=0,+0
+0.00000.01010.0010110
11
整体右移,Y3=1,+X+0.10110.1101
0.0110
1100
整体右移,得到X×Y
42第42页,共76页,2023年,2月20日,星期二练习:用原码一位乘法计算X=-0.1010,Y=0.1101的积X•Y43第43页,共76页,2023年,2月20日,星期二原码两位乘法原码两位乘法,可使乘法运算步骤减少一半,从而提高运算速度。而增加的判断电路,对于逻辑电路而言并不复杂。2位乘法判断位是两位,即Y1YN-1,共有4种可能。判别位Y1YN-1操作00只对上次部分积右移2位01上次部分积加被乘数,然后右移2位10上次部分积加被乘数的2倍(即左移1位),然后右移2位11上次部分积加被乘数的3倍,右移2位44第44页,共76页,2023年,2月20日,星期二例:X=101011,Y=001001,求X×Y以X为被乘数,Y为乘数,其判别位:Y1Y0=01,Y2Y3=10,Y4Y5=00
部分积判别位操作说明
000000001001
部分积加X,右移2位+X1010111010111010110010
部分积加2X,再右移2位+2X1010110110000011000001100
上次部分积右移2位
11000001145第45页,共76页,2023年,2月20日,星期二3.补码乘法由于目前绝大多数计算机都采用补码表示法来进行加减运算。因此在采用补码加诚运算的计算机中也常采用补码乘法。在补码乘法中被乘数为X和乘数为Y釆用补码表示—[X]补和[Y]补,运算结果Z也用补码表示—[Z]补,运算时符号位Xs和Ys参与运算。46第46页,共76页,2023年,2月20日,星期二3.3
逻辑运算3.3.1“与”、“或”和“非”运算3.3.2“异或”运算47第47页,共76页,2023年,2月20日,星期二逻辑运算用F表示电灯是“亮”还是“灭”这一命题,F=“1”表示灯“亮”,F=“0”表示灯“灭”,这里的“0”与“1”就有了新的含义——逻辑含义,它表示一种命题的两种相应的结果。如果“1”表示“肯定”,则“0”就表示“否定”。两值判据在计算机中是很容易实现的,可以用电平的“高”“低”,信号的“有”“无”,晶体管的“通”“断”来表示逻辑命题的两种相反结果“0”和“1”。48第48页,共76页,2023年,2月20日,星期二3.3.1.“与”、“或”和“非”运算有3种最基本的逻辑运算,即“与”逻辑、“或”逻辑和“非”逻辑。1.逻辑“与”有一电灯F同开关A、B及电池串接如下图所示,规定A、B为“1”表示开关闭合,A、B为“0”表示开关“断开”;F为“1”表示灯“亮”,为“0”表示灯“灭”。当A和B取不同值(“0”、“1”)的组合时,F的求值(“0”、“1”)如表3-5所示,该表称为逻辑关系的“真值表”。49第49页,共76页,2023年,2月20日,星期二逻辑“与”
50第50页,共76页,2023年,2月20日,星期二当A与B同时为“1”时,F才为“1”,F和A、B之间的关系就称为“与”逻辑关系,“逻辑与”又称为“逻辑乘”,其逻辑表达式为:F=A×B=A·B=A∧B式中“×”“·”和“∧”为逻辑与的符号,A、B称为逻辑变量,F称为逻辑函数,注意A、B、F在逻辑运算中只有“0”和“1”两种取值。51第51页,共76页,2023年,2月20日,星期二2.逻辑“或”有一电灯F同两个并联开关A、B相串联,如下图所示。A、B、F的取值约定同“与”逻辑,同样可以列出真值表,见表3—6。由真值表可见,当A或B为“1”时(或同时为“1”时)F为“1”。F和A与B之间的这种关系为“或”逻辑关系,“逻辑或”又称“逻辑加”,其逻辑表达式为F=A+B=A∨B。式中“+”和“∨”为逻辑或的符号。52第52页,共76页,2023年,2月20日,星期二53第53页,共76页,2023年,2月20日,星期二3.逻辑“非”一个单刀双掷开关同A、B两个灯泡连接如下图所示。A、B的取值为“1”表示灯“亮”,为“0”表示灯“灭”。同样可列出其真值表,见下表,由表见,A为“0”,B为“1”,A为“1”,B为“0”,A与B是相反相成的关系,称为“逻辑非”关系,又称为“逻辑反”,其逻辑表达式为:54第54页,共76页,2023年,2月20日,星期二55第55页,共76页,2023年,2月20日,星期二3.3.2.“异或”运算除上述三种基本的逻辑运算外,在计算机中还常用另一种逻辑运算—异或运算。有一逻辑函数F=f(A,B),其真值表如下表所示。由真值表可知,只有当A=‘0’,B=“1”(即A、B相异)或A=“1”、B=“0”时,F才为“1”,F同A、B间的这种关系称为“异或”关系,其逻辑表达式:56第56页,共76页,2023年,2月20日,星期二
“异或”运算执行的是两个逻辑变量之间“不相等”的逻辑测试,又称为“按位加”。
57第57页,共76页,2023年,2月20日,星期二常见的逻辑门的符号表示
58第58页,共76页,2023年,2月20日,星期二3.4浮点数运算和浮点数运算器的实现3.4.1.二进制数的浮点表示法3.4.2二进制数的浮点运算3.4.3浮点运算器的基本结构59第59页,共76页,2023年,2月20日,星期二定点数和浮点数所谓定点数和浮点数,是指在计算机中一个数的小数点的位置是固定的,还是浮动的。小数点位置固定不变,则叫定点数,否则叫浮点数。采用定点数表示法的计算机叫定点计算机。采用浮点数表示法的计算机叫浮点计算机。浮点计算机表示数的范围比定点计算机大得多,使用方便,运算速度快。但比定点计算机结构复杂,造价也高。目前,大、中型计算机,高档微机都采用浮点表示法,或具有定点和浮点两种表示法。60第60页,共76页,2023年,2月20日,星期二定点数表示法定点数表示法通常将小数点规定在数值部分的最高位之前,将数表示成纯小数。或将小数点规定在数值部分的最后面,将数表示成整数。纯小数表示法:整数表示法:图中所示小数点“·”在机器中实际上是不表示出来的,是事先约定好固定在那里的。机器中一旦确定了小数点的位置,在计算机系统中就不再改变。符号数值部分.符号
.数值部分61第61页,共76页,2023年,2月20日,星期二浮点数表示法问题的提出早期采用定点表示法,存在以下不足:
编程困难:程序设计人员要做大量的数据规格化工作;
数据的表示范围小;
如,8位定点小数的表示范围为[1/128~127/128];
而8位浮点小数的表示范围为[1/256~7.5];
数据存贮的空间利用率低。为此,引入了浮点数表示法。62第62页,共76页,2023年,2月20日,星期二浮点数表示法是指在数的表示中,其小数点的位置是浮动的。任一二进制数N可表示为:
N=2E·M式中,M为数N的尾数;E为指数,是数N的阶码,是一个二进制整数。因此,一个浮点数分为阶码和尾数两部分。浮点数的表示方法:Ef(1位)E(m位)S(1位)M(n位)Ef:阶符
、S:尾符。63第63页,共76页,2023年,2月20日,星期二不同字长的机器,采用浮点表示法时,要事先对上述4部分所占二进制位数加以约定,机器才可以自动识别。阶码一般用移码表示,通常用整数形式表示。阶码指明小数点在数据中的位置,因而决定了浮点数的表示范围。尾数一般用补码表示,且应表示成规格化的纯小数,即︱M︱
≤0.5。它决定了浮点数的表示精度。如:
111001.1101=
0.1110011101×211064第64页,共76页,2023年,2月20日,星期二例如:X=+23.2510,用浮点规格化表示法表示其原码形式。(23.25)10=(10111.01)2,机器数原码形式为:010111.01
用规格化浮点表示为:2+101×0.1011101
在机器中表示为:01010101110165第65页,共76页,2023年,2月20日,星期二例:浮点数X=2-11×0.11010的原码、反码和补码是:原码1011011010反码1100011010补码1101011010例:浮点数X=-2-11×0.11010的原码、反码和补码是:原码1011111010反码1100100101补码110110011066第66页,共76页,2023年,2月20日,星期二
IEEE754标准浮点表示法在IEE754浮点数标准中,定义的浮点数的格式如下图所示。其中浮点数编码有32位、64位和80位三种格式,分别称为短实数、长实数和临时实数,短实数和长实数又分别称为单精度数和双精度数。
S:尾符67第67页,共76页,2023年,2月20日,星期二浮点数符号位阶码尾数总位数短实数长实数临时实数11181125235264326480短实数、长实数和临时实数各部分具体位数如下表短实数示例:68第68页,共76页,2023年,2月20日,星期二
Intel系列的协处理器支持以上3种形式的浮点数的存储方法:短型浮点数(32位)、长型浮点数(64位)和临时浮点数(80位)。这些浮点数的数据格式都符合IEEE-754标准。注意:尾数是带有一个隐含位的第2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度互联网游戏运营与分成合同
- 2024年度广告牌租赁合同
- 2024年度公交IC卡广告媒体经营权转让合同
- 2024年度供应链管理合同:电子产品制造与分销
- 2024年度成都市新能源开发利用合同
- 2024年度林场土地使用权抵押贷款合同
- 2024年度仇媛广告投放合作协议
- 2024年度企业质量管理体系建设合同
- 2024年度产品维护与保养合同:玻璃钢、GRG、FRP
- 教育挂靠资质合同模板
- 开展生物安全应急演练总结5篇
- 供应商质量问题赔偿协议
- DB62∕T 3176-2019 建筑节能与结构一体化墙体保温系统应用技术规程
- DB37T 5173-2021 绿色农房建设技术标准
- 食药同源-PPT课件(PPT 55页)
- 胃溃疡诊治指南
- 【班会课件】告别假努力提效真学习高中励志学习主题班会
- 清表清淤回填施工方案
- 浙江心理健康教育B证材料(教案设计)
- 高中地理 1.3 中国的世界遗产教案 中图版选修3
- 八股文启蒙范文及讲解
评论
0/150
提交评论