计算机组成原理课件第二章.ppt

上传人(卖家):晟晟文业 文档编号:4927619 上传时间:2023-01-26 格式:PPT 页数:143 大小:6.16MB
下载 相关 举报
计算机组成原理课件第二章.ppt_第1页
第1页 / 共143页
计算机组成原理课件第二章.ppt_第2页
第2页 / 共143页
计算机组成原理课件第二章.ppt_第3页
第3页 / 共143页
计算机组成原理课件第二章.ppt_第4页
第4页 / 共143页
计算机组成原理课件第二章.ppt_第5页
第5页 / 共143页
点击查看更多>>
资源描述

1、吕强2.1数据与文字的表示方法2.2定点加法、减法运算2.3定点乘法运算2.4定点除法运算2.5定点运算器的组成2.6浮点运算方法和浮点运算器2023-1-26信息工程学院软件工程系2.1.1数据格式2.1.2数的机器码表示2.1.3字符与字符串的表示方法2.1.4汉字的表示方法2.1.5校验码2023-1-26信息工程学院软件工程系l计算机中使用的数据可分成两大类:l符号数据:非数字符号的表示(ASCII、汉字、图形等)l数值数据:数字数据的表示方式(定点、浮点)l计算机数字和字符的表示方法应有利于数据的存储、加工(处理)、传送;l编码:用少量、简单的基本符号,选择合适的规则表示尽量多的信息

2、,同时利于信息处理(速度、方便)2023-1-26信息工程学院软件工程系一、定点表示法l所有数据的小数点位置固定不变 l理论上位置可以任意,但实际上将数据表示有两种方法(小数点位置固定-定点表示法/定点格式):l纯小数 l纯整数 2023-1-26信息工程学院软件工程系1、定点纯小数 2023-1-26信息工程学院软件工程系2、纯小数的表示范围2023-1-26信息工程学院软件工程系3、定点纯整数2023-1-26信息工程学院软件工程系4、定点表示法的特点l定点数表示数的范围受字长限制,表示数的范围有限;l定点表示的精度有限 l机器中,常用定点纯整数表示2023-1-26信息工程学院软件工程系

3、2、浮点表示法 电子质量(克):910-28=0.910-27太阳质量(克):21033=0.210342023-1-26信息工程学院软件工程系2、浮点表示:小数点位置随阶码不同而浮动2023-1-26信息工程学院软件工程系浮点数的规格化表示:(1.75)10=1.11 20(规格化表示)=0.111 21=0.0111 222023-1-26信息工程学院软件工程系3、IEEE754标准(规定了浮点数的表示格式,运算规则等)l规则规定了单精度(32)和双精度(64)的基本格式.l规则中,尾数用原码,指数用移码(便于对阶和比较)2023-1-26信息工程学院软件工程系IEEE754标准l基数R=

4、2,基数固定,采用隐含方式来表示它。l32位的浮点数:lS数的符号位1位,在最高位,“0”表示正数,“1”表示负数。lM是尾数,23位,在低位部分,采用纯小数表示 lE是阶码,8位,采用移码表示。移码比较大小方便。l规格化:若不对浮点数的表示作出明确规定,同一个浮点数的表示就不是唯一的。l 尾数域最左位(最高有效位)总是1,故这一位经常不予存储,而认为隐藏在小数点的左边。l 采用这种方式时,将浮点数的指数真值e变成阶码E时,应将指数e加上一个固定的偏移值127(01111111),即E=e+127。2023-1-26信息工程学院软件工程系l64位的浮点数中符号位1位,阶码域11位,尾数域52位

5、,指数偏移值是1023。因此规格化的64位浮点数x的真值为:x=(-1)S(1.M)2E-1023 e=E-1023 l一个规格化的32位浮点数x的真值表示为 x=(-1)S(1.M)2E-127 e=E-1272023-1-26信息工程学院软件工程系l真值x为零表示:当阶码E为全0且尾数M也为全0时的值,结合符号位S为0或1,有正零和负零之分。l真值x为无穷大表示:当阶码E为全1且尾数M为全0时,结合符号位S为0或1,也有+和-之分。l这样在32位浮点数表示中,要除去E用全0和全1(25510)表示零和无穷大的特殊情况,指数的偏移值不选128(10000000),而选127(01111111

6、)。对于规格化浮点数,E的范围变为1到254,真正的指数值e则为-126到+127。因此32位浮点数表示的绝对值的范围是10-381038(以10的幂表示)。l浮点数所表示的范围远比定点数大。一台计算机中究竟采用定点表示还是浮点表示,要根据计算机的使用条件来确定。一般在高档微机以上的计算机中同时采用定点、浮点表示,由使用者进行选择。而单片机中多采用定点表示。2023-1-26信息工程学院软件工程系浮点数表示范围如下图所示:2023-1-26信息工程学院软件工程系例1 若浮点数x的754标准存储格式为(41360000)16,求其浮点数的十进制数值。解:将16进制数展开后,可得二制数格式为 0

7、100 0001 0011 0110 0000 0000 0000 0000 符号S 阶码E(8位)尾数M(23位)指数e=E-127=10000010-01111111=00000011=(3)10 包括隐藏位1的尾数 1.M=1.011 0110 0000 0000 0000 0000=1.011011 于是有 x=(-)S1.M2e=+(1.011011)23=+1011.011=(11.375)102023-1-26信息工程学院软件工程系例2 将数(20.59375)10转换成754标准的32位浮点数的二进制存储格式。解:首先分别将整数和分数部分转换成二进制数:20.59375=101

8、00.10011 然后移动小数点,使其在第1,2位之间 10100.10011=1.01001001124 e=4于是得到:S=0,E=4+127=131,M=010010011 最后得到32位浮点数的二进制存储格式为:01000001101001001100000000000000=(41A4C000)162023-1-26信息工程学院软件工程系l真值:一般书写的数 l机器码:机器中表示的数,要解决在计算机内部数的正、负符号和小数点运算问题。l原码 l反码l补码l移码2023-1-26信息工程学院软件工程系定点小数x0.x1x2xn 2023-1-26信息工程学院软件工程系定点整数x0.x1

9、x2xn 例:x=+11001110,y=-11001110 x原=011001110,y原=1110011102023-1-26信息工程学院软件工程系原码特点:l表示简单,易于同真值之间进行转换,实现乘除运算规则简单。l进行加减运算十分麻烦。2023-1-26信息工程学院软件工程系2、补码表示法生活例子:现为北京时间下午4点,但钟表显示为7点。有两种办法校对:(1)做减法 7-3=4(逆时针退3格)(2)做加法 7+9=16(顺时针进9格)16(mod 12)=16-12=4(以12为模,变成4)2023-1-26信息工程学院软件工程系l定义:正数的补码就是正数的本身,负数的补码是原负数加上

10、模。l计算机运算受字长限制,属于有模运算。l定点小数x0.x1x2xn,以2为模l定点整数x0 x1x2xn,以2n+1为模l定点小数x0.x1x2xn2023-1-26信息工程学院软件工程系定点整数x0 x1x2xn2023-1-26信息工程学院软件工程系l定义:正数的表示与原、补码相同,负数的补码符号位为1,数值位是将原码的数值按位取反,就得到该数的反码表示。l 电路容易实现,触发器的输出有正负之分。2023-1-26信息工程学院软件工程系l对尾数求反,它跟补码的区别在于末位少加一个1,所以可以推出反码的定义 l定点小数x0.x1x2xnX1=0.1011011,X1反=0.1011011

11、X2=0.1011011,X2反=1.01001002023-1-26信息工程学院软件工程系lx 补=x 反+2-n(证明见书)l反码表示有正0和负0之分2023-1-26信息工程学院软件工程系移码表示法(用在阶码中)l定点整数定义 x移=2n+x 2n x-2n l0000000011111111(-2n2n-1)l例1 x=+1011111 原码为 01011111 补码为 01011111 反码为 01011111 移码为 110111112023-1-26信息工程学院软件工程系例2 x=-1011111,原码为 11011111补码为 10100001反码为 10100000移码为 0

12、0100001l特点:移码和补码尾数相同,符号位相反范围:-2n +(2n-1)浮点IEEE754表示e=-127+12800000000阶码表示数字“0”,尾数的隐含位为011111111阶码表示数字“无穷大”,尾数隐含位为02023-1-26信息工程学院软件工程系例6 以定点整数为例,用数轴形式说明原码、反码、补码表示范围和可能的数码组合情况。2023-1-26信息工程学院软件工程系例7 将十进制真值(127,1,0,1,127)列表表示成二进制数及原码、反码、补码、移码值。2023-1-26信息工程学院软件工程系例8 设机器字长16位,定点表示,尾数15位2023-1-26信息工程学院软

13、件工程系例9假设由S S,E E,MM三个域组成的一个32位二进制字所表示的非零规格化浮点数,真值表示为(注意此例不是IEEE754标准):(1)s(1.MM)2E128问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数是多少?2023-1-26信息工程学院软件工程系l符号数据:字符信息用数据表示,如ASCII等;l字符表示方法ASCII:用一个字节来表示,低7位用来编码(128),最高位为校验位,参见教材P24表2.1 字符串的存放方法2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系汉字的表示方法(一级汉字3755个,二级汉字3008个)l输入码l国

14、标码l一级(1655)*94 l二级(5687)*94 l图形符号(682个)(0109)*94 l拼音、五笔 l汉字内码:汉字信息的存储,交换和检索的机内代码,两个字节组成,每个字节高位都为1(区别于英文字符)2023-1-26信息工程学院软件工程系汉字字模码:汉字字形 l点阵 l汉字库2023-1-26信息工程学院软件工程系校验码(只介绍奇偶校验码)l引入:信息传输和处理过程中受到干扰和故障,容易出错。l解决方法:是在有效信息中加入一些冗余信息(校验位)l奇偶校验位定义 l设(01n1)是一个n位字,则奇校验位定义为:C01n1,式中代表按位加,表明只有当中包含有奇数个1时,才使C1,即C

15、0。同理可以定义偶校验。l只能检查出奇数位错;不能纠正错误。lp26例10自己看一下。l其它还有Hamming,CRC2023-1-26信息工程学院软件工程系2.2.1补码加法2.2.2补码减法2.2.3溢出概念与检测方法2.2.4基本的二进制加法减法器2023-1-26信息工程学院软件工程系补码加法公式:xx补补+y+y补补=x+y=x+y补补(mod 2n+1)2023-1-26信息工程学院软件工程系l假设1,1,1l现分四种情况来证明(1)0,0,则0 补=x,补=y,补=x+y 所以等式成立.(2)0,0,则0或0时,2 ()2,进位2必丢失,又因()0,故补补补 当0时,2 ()2,

16、又因()0,故补补2()补 所以上式成立2023-1-26信息工程学院软件工程系(3)0,则0或 0 这种情况和第2种情况一样,把和的位置对调即得证。(4)0,0,则0 相加两数都是负数,则其和也一定是负数。补2,补2 补补222(2)上式右边分为”2”和(2)两部分.既然()是负数,而其绝对值又小于1,那么(2)就一定是小于2而大于1的数,进位”2”必丢失.又因()0,所以补补2()补2023-1-26信息工程学院软件工程系例11 x=+1011,y=+0101,求 x+y=?解:x补=01001,y补=00101x补0 1 0 0 1y补0 0 1 0 1x+y补0 1 1 1 0 x+y

17、=+1110 2023-1-26信息工程学院软件工程系例12 x=+1011,y=-0101,求 x+y=?解:x补=01001,y补=11011x补0 1 0 0 1y补1 1 0 1 1x+y补1 0 0 1 1 0 x+y=+0110 2023-1-26信息工程学院软件工程系公式:xx补补-y-y补补=x=x补补+-y+-y补补-y-y补补=-y=-y补补+2+2-n-n2023-1-26信息工程学院软件工程系例13 已知x1=-1110,x2=+1101,求:x1补,-x1补,x2补,-x2补。解:x1补=10010-x1补=-x1补+2-4=01101+00001=01110 x2补

18、=01101-x2补=-x2补+2-4=10010+00001=100112023-1-26信息工程学院软件工程系例14 x=+1101,y=+0110,求 x-y=?解:x补=01101 y补=00110,-y补=11010 x补0 1 1 0 1-y补1 1 0 1 0 x-y补1 0 0 1 1 1 x-y=+0111 2023-1-26信息工程学院软件工程系溢出的概念可能产生溢出的情况 l两正数加,变负数,正溢(大于机器所能表示的最大数)l两负数加,变正数,负溢(小于机器所能表示的最小数)下面举两个例子2023-1-26信息工程学院软件工程系例15 x=+1101,y=+1001,求

19、x+y。解:x补=01011,y补=01001x补0 1 0 1 1x补0 1 0 0 1x+y补1 0 1 0 0两个正数相加的结果成为负数,表示正溢。2023-1-26信息工程学院软件工程系例16 x=-1101,y=-1011,求 x+y。解:x补=10011,y补=10101x补1 0 0 1 1x补1 0 1 0 1x+y补0 1 0 0 0两个负数相加的结果成为正数,表示负溢。2023-1-26信息工程学院软件工程系溢出的概念2023-1-26信息工程学院软件工程系检测方法1、双符号位法x补=2n+2+x (mod 2n+2)Sf1 Sf2 00正确(正数)01 正溢10 负溢11

20、正确(负数)Sf1 表示正确的符号,逻辑表达式为V=Sf1 Sf2,可以用异或门来实现2023-1-26信息工程学院软件工程系例17 x=+01100,y=+01000,求 x+y。解:x补=001100,y补=001000 x补0 0 1 1 0 0y补0 0 1 0 0 0 x+y补0 1 0 1 0 0(表示正溢)2023-1-26信息工程学院软件工程系例18 x=-1100,y=-1000,求 x+y。解:x补=110100,y补=111000 x补1 1 0 1 0 0y补1 1 1 0 0 0 x+y补1 0 1 1 0 0(表示负溢)2023-1-26信息工程学院软件工程系2、单

21、符号位法 Cf C00 0正确(正数)01正溢10负溢1 1正确(负数)V=Cf C0,其中Cf为符号位产生的进位,C0为最高有效位产生2023-1-26信息工程学院软件工程系一位全加器真值表2023-1-26信息工程学院软件工程系FA逻辑方程2023-1-26信息工程学院软件工程系FA逻辑电路和框图2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系n位行波进位加法器2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系2.3.1原码并行乘法2.3.2直接补码并行乘法2023-1-26信息工程学院软件工程系1、人工算法与机器算法的同异性2

22、、不带符号的阵列乘法器3、带符号的阵列乘法器2023-1-26信息工程学院软件工程系lx原=xfxn-1x1x0 y原=yfyn-1y1y0 lxy原=(xf yf)+(xn-1x1x0)(yn-1y1y0)l用习惯方法求乘积如下:设1101,1011 1101 ()1011()1101 1101 0000 1101 10001111()2023-1-26信息工程学院软件工程系ln位乘n位积可能为2n位l乘积的最后是所有部分积之和采用流水式阵列乘法器,取代串行方案。2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系2023-

23、1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系例19 参见图2.5,已知不带符号的二进制整数A=11011,B=10101,求每一部分乘积项aibj的值与p9p8p0的值。解:1 1 0 1 1 A(2710)1 0 1 0 1 B(2110)1 1 0 1 1 a4b0=1,a3b0=1,a2b0=0,a1b0=1,a0b0=1 0 0 0 0 0 a4b1=0,a3b1=0,a2b1=0,a1b1=0,a0b1=0 1 1 0 1 1 a4b2=1,a3b2=1,a2b2=0,a1b2=1,a0b2=1 0 0 0 0 0 a4b3=0,a3b3=0,a2b3=0,

24、a1b3=0,a0b3=0 1 1 0 1 1 a4b4=1,a3b4=1,a2b4=0,a1b4=1,a0b4=1 1 0 0 0 1 1 0 1 1 1 PP=p9p8p7p6p5p4p3p2p1p0=1000110111(56710)2023-1-26信息工程学院软件工程系求补电路 原理:算前求补乘法器算后求补,见下图2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系l求补电路小结 lE=0时,输入和输出相等 lE=1时,则从数最右端往左边扫描,直到第一个1的时候,该位和右边各位保持不变,左边各数值位按位取反l可以用符号作为E 的输入 l 2023-1-26

25、信息工程学院软件工程系2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系例20 设x=+15,y=-13,用带求补器的原码阵列乘法器求出乘积xy=?解:x原=01111,y原=11101,|x|=1111,|y|=1101符号位运算:01=11 1 1 11 1 0 11 1 1 10 0 0 01 1 1 11 1 1 11 1 0 0 0 0 1 1乘积符号为1,算后求补器输出11000011,xy原=111000011换算成二进制数真值是 xy=(-11000011)2=(-195)10 2023-1-26信息工程学院软件工程系例21 设x=-15,y=-1

26、3,用带求补器的补码阵列乘法器求出乘积xy=?并用十进制数乘法进行验证。解:x补=10001,y补=10011,乘积符号位运算:11=0尾数部分算前求补器输出|x|=1111,|y|=11011 1 1 11 1 0 11 1 1 10 0 0 01 1 1 11 1 1 11 1 0 0 0 0 1 1乘积符号为0,算后求补器输出11000011,xy补=011000011补码二进制数真值 xy=028127126121120=(+195)10十进制数乘法验证 xy=(-15)(-13)=+195 2023-1-26信息工程学院软件工程系2.4.1原码除法算法原理2.4.2并行除法器2023

27、-1-26信息工程学院软件工程系设有n位定点小数(定点整数也适用)被除数x,x原=xf.xn-1x1x0除数y,y原=yf.yn-1y1y0则有商q=x/y,q原=(xfyf)(0.xn-1x1x0/0.yn-1y1y0)商的符号运算qf=xfyf与原码乘法一样,用模2求和得到。下面是人工算法例子。2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系l人工除法时,人可以比较被除数(余数)和除数的大小来确定商1(够减)或商0(不够减)l机器除法时,余数为正表示够减,余数为负表示不够减。不够减时必须恢复原来余数,才能继续向下运算。这种方法叫恢复余数法,控制比较复杂。l不

28、恢复余数法(加减交替法加减交替法)余数为正,商1,下次除数右移做减法;余数为负,商0,下次除数右移做加法。控制简单,有规律。2023-1-26信息工程学院软件工程系1、可控加法/减法(CAS)单元原理:采用不恢复余数(加减交替)法lP=0,作加法运算lP=1,作减法运算2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系2、不回复余数的阵列除法器2023-1-26信息工程学院软件工程系 例例23230.101001,0.111,求。l解:解:xx补补=0 0.101001,y.101001,y补补=0.0.111,-y111,-y补补=1 1.001.0010.1

29、0 1 0 0 1;被除数-y补 1.0 0 1;第一步减除数y1.1 1 0 0 0 10 q3=1;余数为正,商1-y补 1.1 1 0 0 1;除数右移2位减1.1 1 1 1 1 10 q1=1;余数为正,商1商q=q4.q3q2q1=0.101,余数r=(0.00r6r5r4r3)=0.000110 2023-1-26信息工程学院软件工程系2.5.1逻辑运算2.5.2多功能算术/逻辑运算单元2.5.3内部总线2.5.4定点运算器的基本结构2023-1-26信息工程学院软件工程系1、逻辑非运算2、逻辑加运算3、逻辑乘运算4、逻辑异运算2023-1-26信息工程学院软件工程系x=x0 x

30、1x2xn,对x求逻辑非,则有x=z=z0z1z2znzi=xi,i=0,1,2,n2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系x=x0 x1x2xn,y=y0y1y2yn则有x+y=z=z0z1z2znzi=xi+yi,i=0,1,2,n2023-1-26信息工程学院软件工程系例25 x=10100001,y=100111011,求 x+y解:1 0 1 0 0 0 0 1x1 0 0 1 1 0 1 1y1 0 1 1 1 0 1 1z即 x+y=101110112023-1-26信息工程学院软件工程系x=x0 x1x2xn,y=y0y1y2yn则有xy

31、=z=z0z1z2znzi=xiyi,i=0,1,2,n2023-1-26信息工程学院软件工程系例26 x=10111001,y=11110011,求 x+y解:1 0 1 1 1 0 0 1x1 1 1 1 0 0 1 1y1 0 1 1 0 0 0 1z即 xy=101100012023-1-26信息工程学院软件工程系x=x0 x1x2xn,y=y0y1y2yn则有xy=z=z0z1z2znzi=xiyi,i=0,1,2,n2023-1-26信息工程学院软件工程系例27 x=10101011,y=11001100,求 x+y解:1 0 1 0 1 0 1 1x1 1 0 0 1 1 0 0

32、y0 1 1 0 0 1 1 1z即 xy=011001112023-1-26信息工程学院软件工程系1、基本思想2、逻辑表达式3、算术逻辑运算的实现4、两级先行进位的ALU2023-1-26信息工程学院软件工程系1、基本思想l创新点:l实现并行进位(先行进位)l实现16种算术运算,16种逻辑运算l基本思想:一位全加器FA的逻辑表达式:l为了实现多种算术逻辑运算,可将Ai和Bi输入一个函数发生器(进位传递函数和进位产生函数)得到输出Xi和Yi,作为一位全加器的输入(见下页图)2023-1-26信息工程学院软件工程系ALU的逻辑图与逻辑表达式2023-1-26信息工程学院软件工程系2、逻辑表达式X

33、iYi 与控制参数和输入量的关系构造如下真值表2023-1-26信息工程学院软件工程系ALU的某一位逻辑表达式见下:2023-1-26信息工程学院软件工程系如何实现先行进位?答:由于每一位中X、Y的产生是同时的,则可以由下面方法算出并行进位的Cn4 Cn1Y0X0CnCn2Y1X1Cn1Y1Y0X1X0X1CnCn3Y2X2Cn2Y2Y1X1Y0X1X2 X0X1X2Cn Cn4Y3X3Cn3Y3Y2X3Y1X2X3Y0X1X2X3X0X1X2X3Cn 2023-1-26信息工程学院软件工程系l令GY3Y2X3Y1X2X3Y0X1X2X3 PX0X1X2X3 lG为进位发生输出 P为进位传送输

34、出l增加P和G的目的在于实现多片(组)ALU之间的先行进位,需要配合电路,称为先行进位发生器(CLA)l器件:741812023-1-26信息工程学院软件工程系3、算术逻辑运算的实现2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系l算术逻辑运算的实现(74181)lM=L时,对进位信号没有影响,做算术运算 lM=H时,进位门被封锁,做逻辑运算 l说明:l74181执行正逻辑输入/输出方式的一组算术运算和逻辑运算和负逻辑输入/输出方式的一组算术运算和逻辑运算是等效的lA=B端可以判断两个数是否相等。2023-1-26信息工程学院软件工程系4、两级先行仅为的ALUl

35、4片(组)的先行进位逻辑lC Cn+xn+x=G=G0 0+P+P0 0C Cn n lC Cn+yn+y=G=G1 1+P+P1 1C Cn+xn+x=G=G1 1+G+G0 0P P1 1+P+P0 0P P1 1C Cn n l C Cn+xn+x=G=G2 2+P+P2 2C Cn+y n+y=G=G2 2+G+G1 1P P2 2+G+G0 0P P1 1P P2 2+P+P0 0P P1 1P P2 2C Cn n lC Cn+4n+4=G=G3 3+P+P3 3C Cn+z n+z=G=G3 3+G+G2 2P P3 3+G+G1 1P P2 2P P3 3+G+G0 0P P1

36、 1P P2 2P P3 3+P+P0 0P P1 1P P2 2P P3 3C Cn n=G=G*+P+P*C Cn n lG*为成组先行进位发生输出 lP*为成组先行进位传送输出 2023-1-26信息工程学院软件工程系图2.12 成组先行进位部件CLA的逻辑图2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系内部总线 l机器内部各部份数据传送频繁,可以把寄存器间的数据传送通路加以归并,组成总线结构。l分类 l所处位置l内部总线(CPU内)l外部总线(系统总线)l逻辑结构l单向传送

37、总线l双向传送总线 2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系1、单总线结构的运算器2023-1-26信息工程学院软件工程系2、双总线结构的运算器2023-1-26信息工程学院软件工程系3、三总线结构的运算器2023-1-26信息工程学院软件工程系2.6.1浮点加法、减法运算2.6.2浮点乘法、除法运算2.6.3浮点运算流水线2.6.4浮点运算器实例2023-1-26信息工程学院软件工程系1、浮点加减运算设有两个浮点数和,它们分别为 2EM 2EM 其中E和E分别为数和的阶码,M和M为数和的尾数。两浮点数进行加法和减法的运算规则是(M2EEM)2E2023

38、-1-26信息工程学院软件工程系2、浮点运算步骤(1)0操作数检查;(2)比较阶码并完成对阶(小阶向大阶对齐);(3)尾数求和运算;(4)结果规格化;(5)舍入处理。2023-1-26信息工程学院软件工程系浮点加减法运算操作流程2023-1-26信息工程学院软件工程系 例例28 28 设设x x2 20100100.11011011,y=-20.11011011,y=-21001000.10101100,0.10101100,求求x+yx+y 。1、0操作数检查(非0)2、对阶:阶码对齐后才能加减。规则是阶码小的向阶码大的数对齐;l若E0,表示两数阶码相等,即EE;l若E0,表示EE;l若EE

39、。l当EE时,要通过尾数的移动以改变E或E,使之相等。x浮=00010,0.11011011;y浮=00100,1.01010100阶差=Ex补-Ey补=00010-00100=11110即阶差为-2,Mx右移两位,Ex加2。x浮=00100,0.00110110(11)2023-1-26信息工程学院软件工程系3、尾数相加 0.0 0 1 1 0 1 1 0(11)1.0 1 0 1 0 1 0 01.1 0 0 0 1 0 1 0(11)4、结果规格化l规则:尾数右移1位,阶码加1;尾数左移1位,阶码减1。l左规处理,结果为1.00010101(10),阶码为000112023-1-26信息

40、工程学院软件工程系l舍入处理(对阶和向右规格化时)l就近舍入(0舍1入):类似”四舍五入”,丢弃的最高位为1,进1l朝0舍入:截尾 l朝舍入:正数多余位不全为”0”,进1;负数,截尾 l朝 舍入:负数多余位不全为”0”,进1;正数,截尾 采用0舍1入法处理,得到1.00010110。l溢出判断和处理 l阶码上溢,一般将其认为是和。l阶码下溢,则数值为0。阶码符号位为00,不溢出。得最终结果为x+y=2011(-0.11101010)2023-1-26信息工程学院软件工程系 例例29 29 设设x=10 x=10ExExMx=10Mx=102 20.3,0.3,y=10y=10EyEyMy=10

41、My=103 30.2,0.2,求求 x+y=?x-y=?x+y=?x-y=?解:解:Ex=2,Ey=3,ExEy,Ex=2,Ey=3,ExEy,对阶时小阶向大阶看齐。对阶时小阶向大阶看齐。x+y=(Mx10 x+y=(Mx10Ex-EyEx-Ey+My)+My)1010EyEy=(0.3=(0.310102-32-3+0.2)+0.2)10103 3=0.23=0.23 10 103 3=230=230 x-y=(Mx10 x-y=(Mx10Ex-EyEx-Ey-My)-My)1010EyEy=(0.3=(0.310102-32-3-0.2)-0.2)10103 3=-0.17=-0.17

42、10 103 3=-170=-1702023-1-26信息工程学院软件工程系设1补11.01100000,2补11.01100001,3补11.01101000,4补11.01111001,求执行只保留小数点后4位有效数字的舍入操作值。2023-1-26信息工程学院软件工程系l课堂练习:x=0.1101*201 y=-0.1010*211l尾数和阶符都采用补码表示,都采用双符号位表示法。l求x+y 2023-1-26信息工程学院软件工程系x浮=0001,00.1101 y浮=0011,11.0110 阶差=1110 即为-2 Mx应当右移2位,x浮=0011,00.0011(01)尾数和为11

43、.1001(01)左规11.0010(10),阶码减1为0010 舍入(就近舍入)11.0011 丢弃10 x+y=-0.1101*2102023-1-26信息工程学院软件工程系l设有两个浮点数和:2EM2EMl2(EE)(MM)l2(EE)(MM)l乘除运算分为四步 l0操作数检查 l阶码加减操作l尾数乘除操作 l结果规格化和舍入处理2023-1-26信息工程学院软件工程系l补码采用双符号位,为了对溢出进行判断l00 为正 11 为负 l01 上溢 10 下溢011,110,求补 和 补,并判断是否溢出。补00011,补00110,补11010 补补补01001,结果上溢。补补补11101,

44、结果正确,为3。2023-1-26信息工程学院软件工程系尾数处理 l截断 l舍入 l尾数用原码表示时 l只要尾数最低为1或者移出位中有1数值位,使最低位置1 l0舍1入 l尾数用补码表示时l丢失的位全为0,不必舍入。l丢失的最高位为0,以后各位不全为0时;或者最高为1,以后各位全为0时,不必舍入。l丢失的最高位为1,以后各位不全为0时,则在尾数的最低位入1的修正操作。2023-1-26信息工程学院软件工程系例30 设有浮点数250.0110011,23(0.1110010),阶码用4位补码表示,尾数(含符号位)用8位原码表示,求浮。要求用原码完成尾数乘法运算,运算结果尾数保留高8位(含符号位)

45、,并用尾数低位字长的值处理舍入操作。2023-1-26信息工程学院软件工程系解:解:阶码采用双符号位阶码采用双符号位,尾数原码采用单符号位尾数原码采用单符号位,则有则有MxMx原原=0.0.0110011,My0110011,My原原=1.1.11100101110010ExEx补补=1111011,Ey011,Ey补补=0000011011xx浮浮=1111011,011,0.0.0110011,y0110011,y浮浮=0000011,011,1.1.11100101110010(1)(1)求阶码和:求阶码和:ExEx补补+Ey+Ey补补=1111011+011+0000011=011=1

46、111110 110(补码形式补码形式-2)-2)(2)(2)尾数乘法运算可采用原码阵列乘法器实现,即有尾数乘法运算可采用原码阵列乘法器实现,即有MxMx原原MyMy原原=0.0.01100110110011原原 1.1.11100101110010原原=1.1.0101101,01101100101101,0110110原原(3)(3)规格化处理:乘积不是规格化的数,需要左规。尾规格化处理:乘积不是规格化的数,需要左规。尾数左移数左移1 1位变为位变为1.1.1011010,1101100,1011010,1101100,阶码变为阶码变为1111101(-3)101(-3)。(4)(4)舍入

47、处理:尾数为负数,取高位字长,按舍入规则舍入处理:尾数为负数,取高位字长,按舍入规则舍去低位字长,故尾数为舍去低位字长,故尾数为1.1.1011011 1011011。最终相乘结果为最终相乘结果为 x xyy浮浮=1111101,101,1.1.10110111011011其真值为其真值为 x xy=2y=2-3-3(-0.1011011)(-0.1011011)2023-1-26信息工程学院软件工程系 例例31 31 设基数设基数R=10,x=10R=10,x=10ExExMx=10Mx=102 20.4,0.4,y=10y=10EyEyMy=10My=103 30.2,0.2,用浮点法求用

48、浮点法求x xy=?y=?x xy=?y=?解:解:Ex=2,Ey=3,Mx=+0.4,My=+0.2Ex=2,Ey=3,Mx=+0.4,My=+0.2x xy=10y=10(Ex+Ey)(Ex+Ey)(Mx(MxMy)=10My)=102+32+3(0.4(0.40.2)=0.2)=80008000 x xy=10y=10(Ex-Ey)(Ex-Ey)(Mx(MxMy)=10My)=102-2-3 3(0.4(0.40.2)=0.20.2)=0.22023-1-26信息工程学院软件工程系1、提高并行性的两个渠道l空间并行性:增加冗余部件,如增加多操作部件处理机和超标量处理机 l时间并行性:改善

49、操作流程如:流水线技术2023-1-26信息工程学院软件工程系2、流水技术原理l在流水线中必须是连续的任务,只有不断的提供任务才能充分发挥流水线的效率 l把一个任务分解为几个有联系的子任务。每个子任务由一个专门的功能部件实现 l在流水线中的每个功能部件之后都要有一个缓冲寄存器,或称为锁存器l流水线中各段的时间应该尽量相等,否则将会引起“堵塞”和“断流”的现象 l流水线需要有装入时间和排空时间,只有当流水线完全充满时,才能充分发挥效率 2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系l一个具有k 级过程段的流水线处理 n 个任务需要的时钟周期数为Tkk(n1),所

50、需要的时间为:TTk 而同时,顺序完成的时间为:Tnklk级线性流水线的加速比:2023-1-26信息工程学院软件工程系Aa2P,Bb2q 在4级流水线加法器中实现上述浮点加法时,分为以下操作:l求阶差l对阶l相加l规格化2023-1-26信息工程学院软件工程系2023-1-26信息工程学院软件工程系浮点运算器实例lCPU之外的浮点运算器(数字协处理器)如80287 l完成浮点运算功能,不能单用。l可以和80386或80286异步并行工作。l高性能的80位字长的内部结构。有8个80位字长以堆栈方式管理的寄存器组。l浮点数格式完全符合IEEE标准。lCPU之内的浮点运算器(486DX以上)202

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(计算机组成原理课件第二章.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|