运算方法和运算器课件.ppt
《运算方法和运算器课件.ppt》由会员分享,可在线阅读,更多相关《运算方法和运算器课件.ppt(115页珍藏版)》请在三一办公上搜索。
1、2023/3/27,1,第二章 运算方法和运算器,2.1数据与文字的表示2.2定点加法、减法运算2.3定点乘法运算2.4定点除法运算2.5定点运算器的组成2.6浮点运算与浮点运算器,返回,2023/3/27,2,2.1数据与文字的表示方法,2.1.1数据格式2.1.2数的机器码表示2.1.3字符的表示2.1.4汉字的表示2.1.5校验码,2023/3/27,3,2.1数据与文字的表示方法,计算机中使用的数据可分成两大类:符号数据:非数字符号的表示(ASCII、汉字、图形等)数值数据:数字数据的表示方式(定点、浮点)计算机数字和字符的表示方法应有利于数据的存储、加工(处理)、传送;编码:用少量、
2、简单的基本符号,选择合适的规则表示尽量多的信息,同时利于信息处理(速度、方便),2023/3/27,4,2.1.1数据格式,一、复习10进制和R进制之间的转换 R进制到10进制:10进制到R进制:整数部分:除r取余,r为进制基数小数部分:乘r取整,2023/3/27,5,2.1.1数据格式,二、数值数据 计算机在数据、文字的表示方式时,应该考虑一下几个因素:表示的数据类型(整数、小数、实数和复数)数值的范围数值精度存储、处理、传送的硬件代价,2023/3/27,6,2.1.1数据格式,三、计算机常用的数据表示格式有两种:定点表示:小数点位置固定数值范围有限浮点表示:小数点位置不固定数值范围很大
3、,2023/3/27,7,2.1.1数据格式,四、定点表示法所有数据的小数点位置固定不变理论上位置可以任意,但实际上将数据表示成两种形式:纯小数纯整数定点数表示:带符号数不带符号数,2023/3/27,8,1、定点纯小数,x0 x1 x2 x3 xn-1 xn表示数的范围是 0|12n(最小数、最大数、最接近0的正数、最接近0的负数),符号,量值,小数点固定于符号位之后,不需专门存放位置,2.1.1数据格式,2023/3/27,9,2.1.1数据格式,2、纯小数的表示范围,2023/3/27,10,2.1.1数据格式,3、定点纯整数 x0 x1 x2 x3 xn-1 xn表示数的范围是 0|2
4、n1最小数、最大数、最接近0的正数、最接近0的负数呢?,符号,量值,小数点固定于最后一位之后,不需专门存放位置,2023/3/27,11,2.1.1数据格式,4、定点表示法的特点定点数表示数的范围受字长限制,表示数的范围有限;定点表示的精度有限机器中,常用定点纯整数表示 如果用定点表示,则如何表示实数(包括小数和整数)呢?-引入浮点,2023/3/27,12,2.1.1数据格式,五、浮点表示:小数点位置随阶码不同而浮动1、格式:N=RE.M2、机器中表示,指数E,基数R,取固定的值,比如10,2等,尾数M,纯小数,2023/3/27,13,2.1.1数据格式,3、IEEE754标准(规定了浮点
5、数的表示格式,运算规则等)规则规定了单精度(32)和双精度(64)的基本格式.规则中,尾数用原码,指数用移码(便于对阶和比较),2023/3/27,14,2.1.1数据格式,IEEE754标准基数R=2,基数固定,采用隐含方式来表示它。32位的浮点数:S是数的符号位,1位,在最高位,“0”表示正数,“1”表示负数。M是尾数,23位,在低位部分,采用纯小数表示E是阶码,8位,采用移码表示。移码比较大小方便。规格化:若不对浮点数的表示作出明确规定,同一个浮点数的表示就不是惟一的。尾数域最左位(最高有效位)总是1,故这一位经常不予存储,而认为隐藏在小数点的左边。采用移码表示阶码E,将浮点数的指数真值
6、e变成阶码E时,应将指数e加上一个固定的偏移值127(01111111),即E=e+127。,2023/3/27,15,2.1.1数据格式,64位的浮点数中符号位1位,阶码域11位,尾数域52位,指数偏移值是1023。因此规格化的64位浮点数x的真值为:x=(-1)S(1.M)2E-1023 e=E-1023一个规格化的32位浮点数x的真值表示为 x=(-1)S(1.M)2E-127 e=E-127,2023/3/27,16,2.1.1数据格式,真值x为零表示:当阶码E为全0且尾数M也为全0时的值,结合符号位S为0或1,有正零和负零之分。真值x为无穷大表示:当阶码E为全1且尾数M为全0时,结合
7、符号位S为0或1,也有+和-之分。浮点数所表示的范围远比定点数大。e的范围为-126至+127,32位浮点数表示的绝对值范围是10-38至1038一般在高档微机以上的计算机中同时采用定点、浮点表示,由使用者进行选择。而单片机中多采用定点表示。,2023/3/27,17,2.1.1数据格式,例1:若浮点数x的754标准存储格式为(41360000)16,求其浮点数的十进制数值。解:将16进制数展开后,可得二制数格式为 0 100 00010011 0110 0000 0000 0000 0000 S 阶码(8位)尾数(23位)指数e=阶码-127=10000010-01111111=000000
8、11=(3)10包括隐藏位1的尾数1.M=1.011 0110 0000 0000 0000 0000=1.011011于是有x=(-1)S1.M2e=+(1.011011)23=+1011.011=(11.375)10,2023/3/27,18,2.1.1数据格式,例2:将数(20.59375)10转换成754标准的32位浮点数的二进制存储格式。解:首先分别将整数和分数部分转换成二进制数:20.59375=10100.10011 然后移动小数点,使其在第1,2位之间 10100.10011=1.01001001124 e=4于是得到:S=0,E=4+127=131,M=010010011 最
9、后得到32位浮点数的二进制存储格式为:01000001101001001100000000000000=(41A4C000)16,2023/3/27,19,2.1.1数据格式,4、十进制数串的表示字符串形式,一个字节存放一个十进制数BCD(压缩),一个字节存放两者个十进制数编码方式BCD码ASCII码的低4位符号占半个字节,2023/3/27,20,十进制数串的表示方法,1.字符串形式每个十进制的数位或符号位都用一个字节存放,-38,2.压缩的十进制数串形式一个字节存放两个十进制的数位,符号位占半个字节(例如用C表示正,D表示负),+12,123,-12,每个数位可用BCD码或ASCII码,2
10、023/3/27,21,2.1.2数的机器码表示,一、数的机器码表示真值:一般书写的数机器码:机器中表示的数,要解决在计算机内部数的正、负符号和小数点运算问题。原码反码补码移码,2023/3/27,22,1、原码表示法,定点整数X0X1X2Xn x 2nx0 0,正数x原=符号 2n-x 0 x-2n 1,负数说明:有正0和负0之分例:x=+11001110 x原=011001110-x原=111001110,2023/3/27,23,1、原码表示法,原码特点:表示简单,易于同真值之间进行转换,实现乘除运算规则简单。进行加减运算十分麻烦。,2023/3/27,24,2、补码表示法,定义:正数的
11、补码就是正数的本身,负数的补码是原负数加上模。定点整数x0 x1x2xn x 2nx0 0,正数,0 x补=符号 2n+1+x 0 x-2n 1,负数,2023/3/27,25,2、补码表示法,补码性质高位表明正负正数的补码符号位为1,尾数与原码相同负数的补码符号位为1,数值位是将原码的数值按位取反,再在末位加1。范围-2n2n-1(定点整数)正0和负0的补码相同但是,在求补码还要减法,电路繁琐,下面的反码表示解决着个问题。,2023/3/27,26,3、反码表示法,定义:正数的表示与原、补码相同,负数的反码符号位为1,数值位是将原码的数值按位取反,就得到该数的反码表示。电路容易实现,触发器的
12、输出有正负之分。反码表示有正0和负0之分,2023/3/27,27,3、反码表示法,例:X1=+0.1011011 X1 原=0.1011011 X1 反=0.1011011X1 补=0.1011011 X2=-0.1011011 X2 原=1.1011011X2 反=1.0100100X2 补=1.0100101,2023/3/27,28,4、移码表示法,移码表示法(用在阶码中)定点整数定义 x移=2n+x 2n x-2n 0000000011111111(-2n2n-1)例:+1011111 原码为01011111补码为01011111 反码为01011111移码为 11011111移码正
13、数符号为1,负数符号为0,与原、反、补码的符号表示相反。,2023/3/27,29,4、移码表示法,例:-1011111 原码为11011111补码为10100001 反码为10100000移码为00100001特点:移码和补码尾数相同,符号位相反,2023/3/27,30,4、移码表示法,课堂作业:1123,求:X1原,X1反,X1补,X1移2-123,求:X2原,X2反,X2补,X2移,2023/3/27,31,例7将十进制真值(127,1,0,1,127)列表表示成二进制数及原码、反码、补码、移码值。,2023/3/27,32,例8设机器字长16位,定点表示,尾数15位,数符1位,问:定
14、点原码整数表示时,最大正数是多少?最小负数是多少,最大正数值(2151)10(32767)10最小负数值(2151)10(32767)10,2023/3/27,33,2.1.3字符和字符串(非数值)的表示方法,符号数据:字符信息用数据表示,如ASCII等;字符表示方法ASCII:用一个字节来表示,低7位用来编码(128),最高位为校验位,参见教材P24表2-1字符串的存放方法,2023/3/27,34,表21 ASC字符编码表,2023/3/27,35,2.1.4汉字的存放,汉字的表示方法(一级汉字3755个,二级汉字3008个)输入码国标码一级(1655)*94二级(5687)*94图形符号
15、(682个)(0109)*94拼音、五笔汉字内码:汉字信息的存储,交换和检索的机内代码,两个字节组成,每个字节高位都为1(区别于英文字符),2023/3/27,36,2.1.4汉字的存放,汉字字模码:汉字字形点阵汉字库,2023/3/27,37,2.1.5校验码,校验码(奇偶校验码)引入:信息传输和处理过程中受到干扰和故障,容易出错。解决方法:是在有效信息中加入一些冗余信息(校验位)奇偶校验位定义设(01n1)是一个n位字,则奇校验位定义为:C01n1,式中代表按位加,表明只有当中包含有奇数个1时,才使C1,即C0。同理可以定义偶校验。只能检查出奇数位错;不能纠正错误。p26例10自己看一下。
16、,2023/3/27,38,2.2 定点加法、减法运算,2.2.1补码加减法2.2.2溢出检测2.2.3基本的加法和减法器2.2.4十进制加法器,2023/3/27,39,2.2.1补码加减法,补码加法公式:x+y补=x补+y补补码减法公式:x-y补=x补+-y补其中:-y补等于y补取反,末位加1,2023/3/27,40,2.2.1补码加减法,如:y=0.0111 y补=0.0111-y补=1.1001,从右边到左边,除了第一个1和右边的0保持不变以外,其它按位取反,很重要!,2023/3/27,41,2.2.1补码加减法,例1:x=-0.1011,y=0.0111,求x+y补x补=1.01
17、01 y补=0.0111x+y补=x补+y补=1.0101+0.0111=1.1100例 2:x=+0.11011,y=-0.11111,求x-y补x补=0.11011 y补=1.00001-y补=0.11111x-y补=x补+-y补=1.11010,2023/3/27,42,2.2.1 补码加减法,课堂作业:例3:0.1011,0.1001,求例4:0.1101,0.1011,求,2023/3/27,43,2.2.2 溢出的检测,溢出的检测可能产生溢出的情况两正数加,变负数,上溢(大于机器所能表示的最大数)两负数加,变正数,下溢(小于机器所能表示的最小数),2023/3/27,44,2.2.
18、2 溢出的检测,一、检测方法1、双符号位法(参与加减运算的数采用变形补码表示)Sf1 SF2 0 0正确(正数)01上溢10下溢11正确(负数)Sf1 表示正确的符号,逻辑表达式为V=Sf1 Sf2,可以用异或门来实现,2023/3/27,45,2.2.2 溢出的检测,二、检验举例:0.1100,0.1000,求 0.1100,-0.1000,求 结果出现了01或10的情况就为溢出,2023/3/27,46,2.2.2 溢出的检测,2、单符号位法Cf C000正确(正数)01上溢10下溢11正确(负数)V=Cf C0 其中Cf为符号位产生的进位,C0为最高有效位产生,2023/3/27,47,
19、2.2.3基本的加法和减法器,基本的加法和减法器半加器HiAi Bi不考虑进位全加器考虑低位进位Ci-1和向高位的进位Ci,2023/3/27,48,一位全加器真值表,2023/3/27,49,FA逻辑方程,因为:,2023/3/27,50,FA逻辑方程,逻辑方程见下,2023/3/27,51,FA逻辑电路和框图,FA(全加器)逻辑电路图 FA框图,2023/3/27,52,n位行波进位加法器,图2-3行波进位的补码加法/加法器,2023/3/27,53,2.定点乘法运算,2.3.1 定点原码乘法2.3.2 定点补码乘法,2023/3/27,54,2.3.1 定点原码乘法,乘法实现方法在现有的
20、加法和减法器的基础上增加适当的移位线路及控制逻辑可以实现用LSI和VLSI工艺实现专用的乘法器编制子程序(单片机等低端机器),2023/3/27,55,一、定点原码乘法原理,1、人工算法与机器算法的异同性:x原=xf.xn-1x1x0 y原=yf.yn-1y1y0 x.y原=(xf yf)+(0.xn-1x1x0).(0.yn-1y1y0)尾数乘法如下:设0.1101,0.1011 0.1 1 0 1()0.1 0 1 1()1101 1101 0000 1101 0.10001111(),2023/3/27,56,1、人工算法与机器算法的异同性,n位乘n位积可能为2n位.乘积的最后是所有部分
21、积之和,有n个数相加,而FA只有两个输入端所以需要改造方法一:硬件实现方法(串行的“加法和移位”),硬件 结构简单,速度太慢(已经淘汰).方法二:不带符号位的阵列乘法器,2023/3/27,57,2、不带符号位的阵列乘法器,不带符号阵列乘法器逻辑图,2023/3/27,58,2、不带符号位的阵列乘法器,2023/3/27,59,2、不带符号位的阵列乘法器,例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=
22、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,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=1000110111B=567D,2023/3/27,60,3、带符号位的阵列乘法器,求补电路原理:算前求
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运算 方法 运算器 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3922178.html