收藏 分销(赏)

计算机运算方法.pptx

上传人:精*** 文档编号:10339519 上传时间:2025-05-23 格式:PPTX 页数:168 大小:669.86KB
下载 相关 举报
计算机运算方法.pptx_第1页
第1页 / 共168页
计算机运算方法.pptx_第2页
第2页 / 共168页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2020/2/5,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2020/2/5,#,1,1,大纲,2.1,数制与编码,2.2,数据的表示方法,2.3,定点数加减法运算,2.4,定点数乘法运算,2.5,定点数除法运算,2.6,浮点数算数运算,2.7,算数逻辑单元,2,2,2.1,数制与编码,2.1.1,数制及其转换,2.1.2 BCD,码,2.1.3,校验码,3,3,2.1.1,数制及其转换,二进制,八进制,十进制,十六进制,数制转换,4,4,二进制,概念:二进制是计算机技术中使用最广泛的一种数制,使用,0,和,1,两个数码来表示。,进位规则:“逢二进一”。,借位规则:“借一当二”。,表示方式:,如(255),10,=(11111111),2,5,5,八进制,概念:八进制由,0,7,表示数码,进位规则:,“,逢八进一”。,借位规则:“借一当八”。,表示方式:如,(12345670),8,、,12345670Q,。,6,6,十进制,概念:日常生活中的进位计数制都是十进制。,表示方法:如,(1234567890),10,、,1234567890,。,7,7,十六进制,概念,:,由,0,9,、,A,F(a,f),表示数码,A,F,(a,f),分别对应十进制的,10,15,。,进位规则:,“,逢十六进一”。,借位规则:“借一当十六”。,表示方式:如,(1234567890ABCDEF),16,1234567890ABCDEFH,、,0 x1234567890ABCDEF,8,8,数制转换,二进制转换为八进制和十六进制,八进制或十六进制转换成二进制,八进制与十六进制的转换,任意进制转换为十进制,十进制转换为任意进制,9,9,二进制转换为八进制和十六进制,对于一个二进制混合数,在转换时应以小数点为界。其整数部分,从小数点开始往左将一串二进制数分为,3,位(八进制)一组或,4,位(十六进制)一组,在数的最左边可根据需要加“,0”,补齐;对于小数部分,从小数点开始往右也将一串二进制数分为,3,位一组或,4,位一组,在数的最右边也可根据需要加“,0”,补齐。最终使总的位数成为,3,或,4,的整数倍,然后分别用对应的八进制或十六进制取代。,10,10,八进制或十六进制转换成二进制,将每一位改为,3,或,4,位二进制数即可(必要,时去掉整数最高位或者小数最低位的,0,)。,11,11,八进制与十六进制的转换,十六进制转换为八进制(或八进制转换为十六进制)时,先将十六进制(八进制)转换为二进制,然后由二进制转换为八进制(十六进制)。,12,12,任意进制转换为十进制,按权展开相加法:将任意进制的数各位数码与它们的权值相乘,再把乘积相加,就得到了一个十进制数。,例如:,(11011.1),2,=1,2,4,+1,2,3,+0,2,2,+1,2,1,+1,2,0,+1,2,-1,=27.5,13,13,十进制转换为任意进制,一个十进制数转换为任意进制数,常采用基数乘除法。对于整数部分用除基取余法;对于小数部分用乘基取整法,最后将整数部分与小数部分的转换结果拼接起来。,14,除基取余法,除基取余法(整数部分的转换):,整数部分除基取余,,先余为低,后余为高,商为,0,时结束。,15,乘基取整法,乘基取整法(小数部分的转换):小数部分乘基取整,先整为高,后整为低乘积为 0(或满足精度要求)时结束。,16,例,2-1,将十进制数,123.6875,转换成二进制数。,17,解答,整数部分:,1 2 3,6 1,3 0,1 5,7,3,1,除基,222,222,0,1,1,2,取余,0,1,1,1,1,最低位,最高位,故整数部分,123=(1111011),2,18,解答,小数部分:乘基取整,0.6875,2,1.3750 1,最高位,0.3750,2,0.7500 0,2,1.5000 1,0.5000,2,1.0000 1,最低位,故小数部分,0.6875=(0.1011),2,所以,,123.6875=(1111011.1011),2,19,2.1.2 BCD,码,8421,码,2421,码,余,3,码,20,8421,码,概念:,8421,码是一种最为常用的有权码,设其各位的数值为,b,3,、,b,2,、,b,1,、,b,0,,则权值从高到低依次为,8,、,4,、,2,、,1,,则它表示的十进制数为,D=8b,3,+4b,2,+2b,1,+1b,0,21,8421,码相加,若其和小于或等于,(1001),2,,即,(9),10,,则不需要修正,若其和大于或等于,(1010),2,,也即,(10),10,,则需要加,6,修正(从,1010,到,1111,这,6,个为无效编码,当运算结果落于这个区间时,需要将运算结果加上,6,),并向高位进位,进位可以在首次相加或修正时产生。,22,例子,1+8=9 4+9=13 9+7=16,0001 0100 1001,+1000 +1001 +0111,1001 1101 10000,进位,不需要修正,+0110,修正,+0110,修正,10011,进位,10110,23,2421,码,概念:,2421,码也是一种有权码,权值由高到低分别为,2,、,4,、,2,、,1,。,特点:大于等于,5,的,4,位二进制数中最高位为,1,,小于,5,的最高位为,0,。,如:十进制数,5,的,2421,码是,1011,而不是,0101,。,24,余,3,码,概念:余,3,码是一种无权码,是在,8421,码的基础上加上,(0011),2,形成的。,如:十进制数,8,的余,3,码为,1011,。,25,2.1.3,校验码,概念:校验码是指能够发现或能够自动纠正错误的数据编码,也称为检错纠错编码。,原理:通过增加一些冗余码来检验或纠错编码。,校验码的码距:任意两个合法码字之间各位值不同的二进制位数的最小值,称为数据校验码的码距。,26,三种常见校验码,奇偶校验码,海明校验码,循环冗余校验(,CRC,)码,27,奇偶校验码,概念:该编码是在原编码的基础上再加一个校验位(一般位于原编码的最左边或最右边),它的码距等于,2,。,特点:可以检测出奇数位错误,但是不能确定出错的位置,不能检测出偶数位错误。,实现方法:由若干位有效信息(如一个字节),再加上一个二进制位(校验位)组成校验码。,28,奇校验码,整个校验码(包含有效信息位和校验位)中“1”的个数为奇数。,29,偶校验码,整个校验码(包含有效信息位和校验位)中“,1”,的个数为偶数。,30,奇偶校验码的性质与用途,局限性:奇偶校验只能发现数据代码中奇数位出错情况,但不能纠正错误,因此奇偶校验码属于检错码。,用途:常用于对存储器数据的检查或者传输数据的检查。,31,例,2-2,给出两个编码1001101和1010111 的奇校验码和偶校验码。设最高位为校验位,余7位是信息位,则对应的奇偶校验码为:,32,解答,1001101 11001101(奇校验)01001101(偶校验)1010111 01010111(奇校验)11010111(偶校验),33,海明校验码,可自动纠正一位或几位的错误,在数据中加入几位校验位,将数据代码的码距比较均匀地拉大,并把数据的每一个二进制位分配在几个奇偶校验组中,某一位出错会引起有关的几个校验位的值发生变化,它不但可以发生出错,还能指出哪一位出错,为自动纠正提供依据。,34,校验位的个数,设有效信息有,K,位,校验位有,R,位,组成,N,位(,N=K+R,)有校验码,把,N,位分成,R,个奇偶校验小组,,R,位信息就构成一个指误字。其中有一种状态表示无错,另,2,R,-1,状态表示错误。,N,、,R,和,K,的关系应如下表示:,N=K+R2,R,-1,例,R=3,,则,N=K+R7,,应而,K4,。,35,有效信息位数与检验位位数的关系,K,1,24,511,1226,2757,58120,R,2,3,4,5,6,7,36,分组原则,在海明校验码中,用,P,I,记各组的奇偶校验位,用,X,表示有效位。,P,I,和,X,中位置的设计方法与分组的原则有关。,例如,与,N=1,、,n=7,、,k=4,相应的海明码可示意为,位号,1,2,3,4,5,6,7,8,9,10,11,Pi,占位,P,1,P,2,P,3,P,4,37,编码、查错和纠错的原理,设,4,位有效信息为,b,1,、,b2,、,b3,、,b4,,,3,位校验位为,P1,、,P2,、,P3,,海明校验码的序号和分组如表,2-1,所示。,表,2-1,n=4,,,k=3,的海明码序号和分组,海明码序号,1,2,3,4,5,6,7,含义,P,1,P,2,P,3,P,4,P,5,P,6,P,7,第,3,组,4,5,6,7,第,2,组,2,3,6,7,第,1,组,1,3,5,7,38,例 2-3,在n=4、k=3时,求1010的海明码。,39,解答,确定海明码的位数:设信息位,b,4,b,3,b,2,b,1,(,1010,),校验位,P,3,P,2,P,1,,对应的海明码,H,7,H,6,H,5,H,4,H,3,H,2,H,1,。,确定校验位的分配,:,P,1,的海明码位号为,2,1-1,=2,0,=1,,即,H1,为,P1,。,P,2,的海明码位号为,2,2-1,=2,1,=2,,即,H2,为,P2,。,解答,P,3,的海明码位号为,2,3-1,=2,2,=4,,即,H4,为,P3,。,将信息位按原来的顺序插入,则海明码各位的分配如下。,H,7,H,6,H,5,H,4,H,3,H,2,H,1,b,4,b,3,b,2,P,3,b,1,P,2,P,1,40,41,解答,分组及编码:,3=1+2,,所以,b,1,由,P,2,P,1,校验。,5=1+4,,所以,b,2,由,P,3,P,1,校验。,6=2+4,,所以,b,3,由,P,3,P,2,校验。,7=1+2+4,,所以,b,4,由,P,3,P,2,P,1,校验。,反之,,P,1,校验的位数有,3,、,5,、,7,,所以,b,4,b,2,b,1,P,1,为一组同理,,b,4,b,3,b,1,P,2,、,b,4,b,3,b,2,P,3,也各为一组。根据编码规则采用偶校验使每,解答,一组保持偶性,则得,P,1,=0,,,P,2,=1,,,P,3,=0,。所以,,1010,对应的海明码为,101,0,0,10,(粗体为校验位,其他位为信息位),42,43,海明码的检错与纠错,每个校验组分别利用校验位和参与该校验位的信息位进行奇偶校验检查,就构成了,k,个校验方程:,G,1,=P,1,b,1,b,2,b,4,G,2,=P,2,b,1,b,3,b,4,G,3,=P,3,b,2,b,3,b,4,若,G,3,G,2,G,1,=000,,则说明无错;否则出错,而且,G,3,G,2,G,1,的值就是错误位的位号,如,海明码的检错与纠错,G,3,G,2,G,1,=001,,说明第,1,位出错,即,H1,出错,直接将该位取反就达到了纠错的目的,。,44,45,循环码(,CRC,),一种建立在模,2,运算的编码规律的校验码,它可以通过模,2,运算来建立有效信息和校验位之间的约定关系,即要求,N=K+R,位的某数能被某一约定的除数除尽。,设待编码的有效信息以多项式,M,(,X,)表示,用约定的一个多项式,G,(,X,)去除,可用以下式子表示:,M,(,X,),=Q,(,X,),G,(,X,),+R,(,X,),M,(,X,),-R,(,X,),=Q,(,X,),G,(,X,),因而可将,M,(,X,),-R,(,X,)作为编好的码送目标部件,若在目标部件中能除约定的,G,(,X,)余数为,0,,表明数据传送正确。若不是表明有错误,再进一步确定哪一位错。,46,47,例,2-4,对,4,位有效信息(,1100,)作,CRC,编码,约定的生成多项式,G(x)=1011,。,R=,生成多项式最高幂次,=3,,,K=,有效信息码长度,=4,,,N=K+R=7,。,48,解答,移位,将原信息码左移,R,位,低位补,0,。得到,1100000,。,49,解答,模,2,除,模,2,除法:和算术除法类似,但每一位除(减)的结果不,步骤如下。,1 1 1 0 Q,(商),1 1 0 0 0 0 0 2,n,M,(被除数),G,(除数),1 0 1 1,1 0 1 1,1 1 1 0,1 0 1 1,1 0 1 0,1 0 1 1,0 1 0 R,(余数),作为校验位,50,解答,由模,2,除法得到的余数为,010,,则信息码经编码后的,CRC,码为,1100,010,(粗体为校验位)。,51,检错和纠错,对于得到的,CRC,码,用生成多项式,G(x),做模,2,除法,若余数为,0,,则码字无错。若得到的,CRC,码,C,7,C,6,C,5,C,4,C,3,C,2,C,1,=1100011,,将这个数据与,1011,进行模,2,除法,得到的余数为,001,,则说明,C1,出错,将,C1,取反即可。,52,52,大纲,2.1,数制与编码,2.2,数据的表示方法,2.3,定点数加减法运算,2.4,定点数乘法运算,2.5,定点数除法运算,2.6,浮点数算数运算,2.7,算数逻辑单元,53,53,2.2,数据的表示方法,2.2.1,真值和机器码,2.2.2,字符与字符串,2.2.3,定点数表示法,2.2.4,浮点数表示法,54,54,真值与机器码,真值:采用正负号和二进制的绝对值所表示的数值。,机器码:可将正负号用一位数码,0,和,1,来表代替的数值,一般这种符号位放在数的最高位。,例:设机器字长为,8,位字长,数,N1,的真值为(,+1001110B,),数,N2,的真值为(,-1001110,),则与,N1,、,N2,对应的机器数为:,55,真值与机器码,0,1 0 0 1 1 1 0B,1,1 0 0 1 1 1 0B,56,56,无符号数,指整个机器字长的二进制位均为数值位,,没有符号位,,相当于数的绝对值,。,57,57,有符号数,有符号数用“0”表示“正”号,用“1”表示“负”号,将符号位数值化,通常约定二进制的最高位为符号位,组成有符号数。,表示方法:原码、反码、补码和移码,。,58,58,2.2.2,字符与字符串,字符编码,ASCII,码,汉字的表示和编码,字符串的存放,59,字符编码,ASCII,码,在计算机中,用一个字节表示一个,ASCII,码,其最高一位(,b,7,)填,0,,余下的,7,位可以给出,128,个编码,表示,128,个不同的字符和控制码。在进行奇偶校验时,也可以用最高位(,b,7,)作为校验位。,60,60,汉字的表示和编码,汉字输入码,汉字的内码,汉字字形码,61,汉字的输入码,国标码,区位码,拼音码,五笔字型,62,国标码,1981,年颁发了,通用汉字字符集(基本集)及其交换码标准,GB2312-80,方案,简称为国标码,有,6763,个汉字归结在一起称为汉字基本字符集。,根据使用的频度分为两级,第一级为,3755,个汉字,按拼音排序;第二级为,3008,个汉字,按部首排序。此外还有各种符号、,国标码,数字、字母等,628,个。,总计为,7445,个汉字、字母。用,2,个字节来表示一个汉字。,63,64,区位码,将,GB2312-80,方案中的字符,按其位置划分为,94,个区,每个区,94,个字符,,19,区为图形字符区,包括符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号等,共,682,个。,1015,区为空白区、,1655,区为第一级汉字区(,3755,)、,5687,区为第二汉字区(,3008,个)、,8894,区为空白区,用,4,位,H,。,区位码,前两面二位为区号,后两位为区号内字符编码,例“京”字的区位码为,1E09H,国标码(,H,),=,区位码(,H,),+2020H,65,66,拼音码,拼音码是以汉语拼音为基础的输入方法。但汉字同音字太多,输入重码率很高,因此按拼音输入后还必须进行同音字选择,影响了输入速度。,67,字形编码,字形编码是用汉字的形状来进行的编码。把汉字的笔划部件用字母或数字进行编码,按笔划的顺序依次输入,就能表示一个汉字。,68,汉字的内码,汉字内码是用于汉字信息的存储、交换检索等操作的机内代码,一般采用两个字节表示。为了与英文字符能够区别,汉字机内代码中两个字节的最高位均规定为“,1”,。,69,汉字字形码,字形信息的表示大体上有两类形式:一类是用活字或文字版的母体字形形式,另一类是点阵表示法、矢量表示法等形式,其中最基本的,也是大多数字形库采用的是以点阵的形式存储汉字字形编码的方法。,70,70,字符串的存放,可按先存储低位字节、后存储高位字节的顺序存放字符串的内容(又称小端模式),也可按先存储高位字节、后存储低位字节的顺序存放字符串的内容(又称大端模式)。,71,71,2.2.3,定点数表示法,计算机中的小数点并不是用某个数字来表示,而是用隐含的小数点的位置表示的。根据小数点的位置是否固定,又可分为定点表示和浮点表示。其中,定点表示形式又分为定点小数表示和定点整数表示。,72,72,定点小数,将小数点固定在符号位,X,0,之后,数值最高位,X,-1,之前。格式如下:,其数据的表示范围随机器码表示方法的不同而不一样。,X,0,X,-1,X,-2,X,-(n-1),符号位,小数点位置,73,定点小数表示,二进,1.1111111 1.0000001 0.0000001 0.1111111,制原码,十进,(1-2,-7,)-2,-7,2,-7,(1-2,-7,),制真值,若字长为(,n+1,)位,则,2,-n,|X|1-2,-n,A.,设字长为,8,位,用原码表示时,其表示范围如下:,最小负数 最大负数 最小正数 最大正数,定点小数表示,B.,设字长为,8,位,用补码表示时,其表示范围如下:,最小负数 最大负数 最小正数 最大正数,二进,1.0000000 1.1111111 0.0000001 0.1111111,制补码,十进制真值,1 -2,-7,2,-7,(1-2,-7,),若字长为(,n+1,)位,则,-1X1-2,-n,74,75,定点整数,将小数点固定在数的最低位之后,格式如下:,其数据的表示范围随机器码表示方法的不同而不一样。,d,0,d,1,d,2,d,(n-1),符号位,小数点位置,76,定点整数表示,二进制原码,11111111 10000001 00000001 01111111,十进制真值,(2,7,-1)-1 +1 (2,7,-1),若字长为(,n+1,)位,则,1|X|2,n,-1,A.,设字长为,8,位,用原码表示时,其表示范围如下:,最小负数 最大负数 最小正数 最大正数,B.,设字长为,8,位,用补码表示时,其表示范围如下:,最小负数 最大负数 最小正数 最大正数,二进制补码,10000000 11111111 00000001 01111111,十进制真值,-2,7,-1,+1,(2,7,-1),若字长为(,n+1,)位,则,-2,n,X2,n,-1,77,77,原码、反码、补码、移码,原码表示法,补码表示法,反码表示法,移码表示法,78,78,原码表示法,一种比较直观的机器数表示法,原码的最高位作为符号位,用“,0”,表示正,用“,1”,表示负,有效数值部分用二进制的绝对值表示纯小数时,,X=X,0,.X,1,X,2,X,3,X,n-1,其中,X,0,为符号位,共,N,位字长;则:,X 0X1-2,-,(,n-1,),1-X=1+|X|-(1-2,-(n-1),)X0,X,原,=,79,79,例子,若,X,1,=+0.1001,,,X,2,=0.1011,,字长为,8,位,则其原码分别为,:,X,1,原,=0.1011000,X,2,原,=1+0.1011000=1.1011000,,其中最高位是符号位,80,80,补码表示法,模:是计量器具的容量,或称模数。在计算机中,机器数表示数据的字长即位数是固定的。其模数的大小:对于,n,位整数(含一位符号位),则它的模数为,2,n,对于纯小数(含符号位),则它的模数总是,2,。若在运算过程中结果大于等于模数,则说明该值已超过了机器所能表示的范围,模数自然丢失。,例:某一台计算机的字长为,8,位,则它所能表示的二进制数为,0000000011111111,,共,256,个,即模数为,2,8,。,81,补码表示法,补码定义为机器数的最高位作为符号位,用“,0”,表示正号,用“,1”,表示负号。,82,82,纯小数的情况,X=X,0,.X,1,X,2,X,3,X,n-1,其中,X,0,为符号位,共,N,位字长;则:,X 0X1-2,-,(,n-1,),2+X=2-|X|-1XC,0,0,1,加,X,,部分积右移两位,,0-C,0,1,0,加,X,,部分积右移两位,,0-C,0,1,1,加,2X,,部分积右移两位,,0-C,1,0,0,加,2X,,部分积右移两位,,0-C,1,0,1,减,X,,部分积右移两位,,1-C,1,1,0,减,X,,部分积右移两位,,1-C,1,1,1,加,0,,部分积右移两位,,1-C,114,示例,【,例,2-14】X=0.1101,,,Y=0.0110,,求,X,Y,原,=,?,115,解答,解:,|X|=000.1101,,,2|X|=001.1010,(用三符号表示),,|Y|=00.0110,(用双符号表示),,具体如下表所示:,部分积 乘数,C,说 明,000.0000 00.01100 Y,n-1,Y,n,C=100,,加,2|X|,+001.1010,001.1010 00.011,右移两位,0-C,000.011010 Y,n-1,Y,n,C=011,,加,2|X|,+001.1010,010.000010 00.0,右移两位,0C,000.10000010,Y,n-1,Y,n,C=000,,最后一步不移位,故,X,Y,原,=0.10000010,116,2.4.3,补码一位乘法,补码与真值的转换公式,布斯算法运算规则,补码一位乘法运算规则,实现逻辑,117,补码和真值的转换公式,设,X,补,=X,0,.X,1,X,2,X,n,,有:,X=-X,0,+,X,i,2,-i,X,i,2,-i,等式左边,X,为真值,n,i=1,118,布斯算法运算规则(一),BOOTH,夫妇首先提出,也称,Booth,算法,具体的证明过程在此不做介绍,其运算规则如下:,(,1,)符号位参与运算,运算的数均以补码表示,(,2,)被乘数一般取双符号位参与运算,部分积初值为,0,(,3,)乘数可取单符号位,以决定最后一步是否需要校正,即是否要加,X,补,(,4,)乘数末位增设附加位,Yn+1,,且初值为,0,(,5,)按下表所示进行操作:,119,Booth,算法运算规则(二),(,6,)按上述算法进行,n+1,步操作,但第,n+1,步不再移位,仅根据,Y,0,与,Y,1,的比较结果作相应的运算即可,Yn(,高位,),Yn+1(,低位,),操 作,0,0,部分积右移一位,0,1,部分积加,X,补,右移一位,1,0,部分积加,-X,补,右移一位,1,1,部分积右移一位,120,补码一位乘法运算规则,(,1,)如果,Y,n,=Y,n,+1,,部分积,Z,i,加,0,,再右移一位;,(,2,)如果,Y,n,Y,n,+1=01,,部分积加,X,补,,再右移一位;,(,3,)如果,Y,n,Y,n,+1=10,,部分积加,X,补,,再右移一位。,这样重复进行,n+1,步,但最后一步不移位。包括一位符号位,所得乘积为,2n+1,位,其中,n,为尾数位数。,121,补码一位乘法逻辑原理图,122,2.4.4,补码二位乘法,运算规则,示例,123,运算规则一,(,1,)符号位参加运算,两数均用补码表示。,(,2,)部分积与被乘数均采用三位符号表示,乘数末位增加一位,Y,n,+1,,其初值为,0,。,(,3,)按下表操作,124,运算规则二,Yn-1,Yn,Yn+1,操 作,0,0,0,加,0,,部分积右移两位,0,0,1,加,X,补,部分积右移两位,0,1,0,加,X,补,部分积右移两位,0,1,1,加,2X,补,部分积右移两位,1,0,0,加,2-X,补,部分积右移两位,1,0,1,加,-X,补,部分积右移两位,1,1,0,加,-X,补,部分积右移两位,1,1,1,加,0,,部分积右移两位,(,4,),若尾数,n,为偶数,则乘数用双符号,最后一步不移位。若尾数,n,为奇数,则乘数用单符号,最后一步移一位,125,示例,【例 2-15】X=0.1101,Y=0.0110,求,X Y补=?,126,解答,解:,X,补,=111.1101,2-X,补,=001.1010,2X,补,=110.0110,(用三符号表示),Y,补,=00.0110,(用双符号表示),部分积 乘数,Y,n+1,说明,000.0000 00.01100 Y,n-1,Y,n,Y,n+1,Y=100,,加,2-X,补,+001.1010,001.1010,000.011010 00.011,右移两位,+110.0110 Y,n-1,Y,n,Y,n+1,Y=011,,加,2X,补,110.110010,110.110010 00.0,右移两位,Y,n-1,Y,n,Y,n+1,Y=100,,最后一步步移位,111.10110010,故,X Y补=,1.10110010,127,127,大纲,2.1,数制与编码,2.2,数据的表示方法,2.3,定点数加减法运算,2.4,定点数乘法运算,2.5,定点数除法运算,2.6,浮点数算数运算,2.7,算数逻辑单元,128,2.5,定点数除法运算,2.5.1,原码一位除法,2.5.2,补码一位除法,129,2.5.1,原码一位除法,恢复余数法,不恢复余数法,示例,130,恢复余数法,设被除数,X=0.1001,,除数,Y=0.1011,,,X,Y,的人工计算过程如下:,0.1101,0.1011,),0.10010,-1011,1110,-1011,1100,-1011,1,所以,,X,Y=0.1101,,余数,=0.00000001,由于每次商,0,之前都要先恢复余数,因此这种方法称为恢复余数法。,131,不恢复余数法,不恢复余数法又称加减交替法,它是恢复余数法的一种变形,132,运算规则,(,1,)符号位不参加运算,并要求,|X|0,,,Y,的尾数右移,m-n,位,,n,增加,m-n,位,若,E0,,,X,的尾数右移,n-m,位,,m,增加,n-m,位,小阶向大阶移位。,140,141,运算规则,(3),尾数求和运算,不论加法运算还是减法运算,都按加法进行操作,,其方法与定点加减法运算完全一样。,(4),结果规格化,要使结果规格化,尾数可采用双符号使得尾数为,00.1,或,11.0,相应阶码增加或减小。,运算规则,(5),舍入处理,在对阶或向右规格化时,尾数要向右移位,这样,被右移的尾数的低位部分会被丢掉,从而造成一定误差,因此要进行舍入处理,(6),浮点数的溢出,尾数采用双符号产生,01,或,10,并不是溢出,而是阶码双符号产生,01,或,10,才是浮点数的溢出。,142,143,2.6.2,浮点数乘除运算,浮点数乘法运算,浮点数除法运算,144,浮点乘法运算,设有两个浮点数,X,和,Y,分别为:,X=2,m,M,x,Y=2,n,M,y,XY=2,m+n,M,x,M,y,其中:,m,和,n,分别为,X,和,Y,的阶码,,M,x,和,M,y,为数的尾数,浮点乘法运算可分三步:,(1),阶码相加,(2),尾数相乘,(3),结果规格化,145,浮点除法运算,设有两个浮点数,X,和,Y,分别为:,X=2,m,M,x,Y=2,n,M,y,XY=2,m-n,(M,x,M,y,),其中:,m,和,n,分别为,X,和,Y,的阶码,,M,x,和,M,y,为数的尾数,浮点除法运算可分三步:,浮点除法运算,(,1,)检查被除数的尾数:是否大于除数(绝对值),若大,则被除数要右移一位,阶码增,1,(,2,)阶码求差,(,3,)尾数相除,146,147,2.6.3,浮点运算器,浮点运算器的一般结构,浮点协处理器,CPU,内的浮点运算器,148,浮点运算器的一般结构,浮点运算器是计算机内专门用于浮点数运算的部件。计算机中的浮点运算器总是由处理阶码和处理尾数的两部分组成。浮点运算器可用两个松散连接的定点运算部件来实现:即阶码部件和尾数部件,如图,浮点运算器的一般结构,149,150,浮点协处理器,(,1,)可与配套的,CPU,芯片异步并行工作。,(,2,)高性能的,80,位字长的内部结构,有,8,个,80,位字长的以堆栈方式管理的寄存器组。,(,3,)浮点数的格式,完全符合,IEEE,制定的国际标准。,(,4,)能处理包括二进制浮点数、二进制整数和十进制数串三大类共,7,种数据。,(,5,)内部的出错管理功能,151,CPU,内的浮点运算器,浮点运算部件采用流水线设计。浮点部件内有浮点专用的加法器、乘法器和除法器,有,8,个,80,位寄存器组成的寄存器堆,内部的数据总线为,80,位宽。,152,大纲,2.1,数制与编码,2.2,数据的表示方法,2.3,定点数加减法运算,2.4,定点数乘法运算,2.5,定点数除法运算,2.6,浮点数算数运算,2.7,算数逻辑单元,153,2.7,算数逻辑单元,2.7.1,算数逻辑的单元简介,2.7.2,多功能算数逻辑单元,2.7.3,运算器,154,2.7.1,算数逻辑的单元简介,算术逻辑单元(,Arithmetic Logic Unit,,,ALU,)是进行整数运算的结构。,155,2.7.2,多功能算数逻辑单元,基本思想,X,i,、,Y,i,与控制参数和输入量的关系,算术逻辑运算的实现,两级先行进位的,ALU,156,基本思想,一位全加器(,FA,)的逻辑表达式为:,F,i,=A,i,B,i,C,i,C,i+1,=A,i,B,i,+B,i,C,i,+C,i,A,i,式中,F,i,是第,i,位的和数,,A,i,、,B,i,是第,i,位的被加数和加数,,C,i,是,B,第,i,位的进位输入,,C,i,1,是第,i,位的进位输出。,157,X,i,、,Y,i,与控制参数和输入量的关系,控制参数,S0,、,S1,、,S2,、,S3,分别控制输入,Ai,和,Bi,,产生,Xi,和,Yi,的函数。其中,Yi,是受,S0,、,S1,控制的,Ai,和,Bi,的组合函数,而,Xi,是受,S2,、,S3,控制的,Ai,和,Bi,的组合函数,其函数关系如表。,s,0,s,1,Y,i,s,2,s,3,X,i,0 0,A,i,0 0,1,0 1,A,i,B,i,0 1,A,i,+B,i,1 0,A,i,B,i,1 0,A,i,+B,i,1 1,0,1 1,A,i,由此可推出进位公式:,C,n+i+1,=Y,i,+X,i,C,n+i,158,算术逻辑运算的实现,如图为负逻辑或正逻辑操作数方式的,74181ALU,方框图,当,M,0,时,,M,对进位信号没有任何,Fi,不仅与本位的被操作数,Yi,和操作数,Xi,有关,而且与向本位的进位值,Cn+i,有关,因此,M,0,时,进行算术操作。,当,M,1,时,封锁了各位的进位输出,即,Cn+i=0,,因此各位的运算结果,Fi,仅与,Yi,和,Xi,有关,故,M,1,时,进行逻辑操作。,159,74181ALU,算术,/,逻辑运算功能表,注意:表中算术运算操作是用补 码来表示的。其中“加”是指算术加,运算时要考虑进位,而符号“”是指“逻辑加”。其次,减法是用补码方法进行的,其中数的反码是内部产生的,而结果输出“,A,减,B,减,1”,,因此做减法时须在最末位产生一个强迫进位(加,1,),以便产生“,A,减,B”,的结果。另外,“,A,B”,输出端可表示两个数相等,因此它与其他,ALU,的“,A,B”,输出端按“与”逻辑连接后,可以检测若干部件的全“,1”,条件。,160,两级先行进位的,ALU,用,TTL,器件实现的成组先行进位部件,74182,的逻辑电路图如图所示。其中,G*,称为成组进位发生输出,,P*,称为成组进位传送输出。,两级先行进位的,ALU,161,162,两级先行进位的,ALU,如图为用两个,16,位全先行进位部件级联组成的,32,位,ALU,逻辑方框图。在这个电路中使用了八个,74181ALU,和两个,74182ALU,器件。很显然,对一个,16,位来说,,CLA,部件构成了第二级的先行进位逻辑,即实现四个小组(位片)之间的先行进位,从而使全字长,ALU,的运算时间大大缩短。,两级先行进位的,ALU,163,164,2.7.3,运算器,单总线结构运算器,双总线结构运算器,三总线结构运算器,165,单总线结构运算器,单总线结构的运算器如图所示。,对这种结构的运算器来说,在同一时间内,只能有一个操作数放在单总线上。,166,双总线结构运算器,双总线结构的运算器如图所示。,在这种结构中,两个操作数同时加到,ALU,进行运算,只需要一次操作控制,而马上就可以得到运算结果。,167,三总线结构运算器,三总线结构的运算器如图所示。,在三总线结构中,,ALU,的两个输入端分别由两条总线供给,而,ALU,的输出则与第三条总线相连,168,168,致谢,谢谢大家!,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服