ImageVerifierCode 换一换
格式:PPT , 页数:104 ,大小:807.51KB ,
文档编号:3480732      下载积分:29 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-3480732.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(三亚风情)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

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

运算方法和运算部件课件.ppt

1、2007.7.2计算机组成原理1第3章 运算方法和运算部件运算方法和运算部件2007.7.2计算机组成原理2第3章 运算方法和运算部件数据是计算机处理的对象。从外部形式来看,数据是计算机处理的对象。从外部形式来看,计算机可处理数值、文字、图、声音、视频,甚至计算机可处理数值、文字、图、声音、视频,甚至各种模拟信息量。这些形式的信息,在计算机系统各种模拟信息量。这些形式的信息,在计算机系统内部,主要表示成定点数(整数)、浮点数(实内部,主要表示成定点数(整数)、浮点数(实数)、逻辑数(布尔数)、字符、字符串等形式,数)、逻辑数(布尔数)、字符、字符串等形式,并且都必须采用数字化编码。在计算机中如

2、何完成并且都必须采用数字化编码。在计算机中如何完成数据的各种运算,如何通过硬件电路实现运算,如数据的各种运算,如何通过硬件电路实现运算,如何校验数据的正确性是本章讨论的主要内容。何校验数据的正确性是本章讨论的主要内容。2007.7.2计算机组成原理3本章要点:本章要点:u 常用的进位计数制及其相互转换常用的进位计数制及其相互转换u 数值数据的表示和运算数值数据的表示和运算u 运算部件运算部件u 浮点运算浮点运算u 数据校验数据校验2007.7.2计算机组成原理43.1 数字化信息编码数字化信息编码 3.1.1 数字化信息编码的概念数字化信息编码的概念目前,计算机的应用非常广泛,遍及人类社会目前

3、,计算机的应用非常广泛,遍及人类社会生活的各个领域,产生了巨大的经济效益和社会影生活的各个领域,产生了巨大的经济效益和社会影响。从用户角度来看,计算机能够处理数值、文字、响。从用户角度来看,计算机能够处理数值、文字、声音、图画、活动图像等。但是,在计算机内部,声音、图画、活动图像等。但是,在计算机内部,这些都不能直接由计算机进行处理和存储,它们必这些都不能直接由计算机进行处理和存储,它们必须采取须采取“特殊的表示形式特殊的表示形式”才能由计算机进行加工才能由计算机进行加工处理。这种特殊的表示形式就是二进制编码形式,处理。这种特殊的表示形式就是二进制编码形式,即采用二进制编码表示的数值、文字、图

4、画、声音即采用二进制编码表示的数值、文字、图画、声音和活动图像才能由计算机进行处理。所以,在计算和活动图像才能由计算机进行处理。所以,在计算机系统中所指的数据均是以二进制编码形式出现的。机系统中所指的数据均是以二进制编码形式出现的。2007.7.2计算机组成原理5计算机内部处理的所有数据都是计算机内部处理的所有数据都是“数字化编码数字化编码”的二进的二进制数据。计算机的输入设备(或接口芯片)实现将现实世界制数据。计算机的输入设备(或接口芯片)实现将现实世界中的媒体信息(模拟信号),如声音、文字、图画、活动图中的媒体信息(模拟信号),如声音、文字、图画、活动图像等转化为二进制数据(数字信号)。在

5、计算机中进行处理、像等转化为二进制数据(数字信号)。在计算机中进行处理、存储和传输的信息采用二进制进行编码的原因有以下几点:存储和传输的信息采用二进制进行编码的原因有以下几点:(1)二进制只有两种基本状态,使用有两个稳定状态)二进制只有两种基本状态,使用有两个稳定状态的物理器件(如三极管)就可以表示二进制数的每一位,而的物理器件(如三极管)就可以表示二进制数的每一位,而制造有两个稳定状态的物理器件要比制造有多个稳定状态的制造有两个稳定状态的物理器件要比制造有多个稳定状态的物理器件容易得多。例如用高、低两个电位,或用脉冲的有物理器件容易得多。例如用高、低两个电位,或用脉冲的有无,或脉冲的正、负极

6、性等都可以方便、可靠地表示无,或脉冲的正、负极性等都可以方便、可靠地表示“0”和和“1”;(2)二进制的编码、计数和运算规则都很简单。可用)二进制的编码、计数和运算规则都很简单。可用开关电路实现,简便易行;开关电路实现,简便易行;(3)两个符号)两个符号“1”和和“0”正好与逻辑命题的两个值正好与逻辑命题的两个值“真真”和和“假假”相对应,为计算机中实现逻辑运算和程序中相对应,为计算机中实现逻辑运算和程序中的逻辑判断提供了便利的条件。的逻辑判断提供了便利的条件。2007.7.2计算机组成原理63.1.2 二进制编码和码制转化二进制编码和码制转化 在计算机里,常常需要将某一信息(输入)变换为某一

7、在计算机里,常常需要将某一信息(输入)变换为某一特定的代码(输出)。把二进制码按一定的规律编排,使每特定的代码(输出)。把二进制码按一定的规律编排,使每组代码具有一特定的含义称为二进制编码。例如,电报码中组代码具有一特定的含义称为二进制编码。例如,电报码中用用4位十进制数字表示汉字,就是编码的典型例子。位十进制数字表示汉字,就是编码的典型例子。编码是计算机系统的基础,而编码的基础是数制。数制编码是计算机系统的基础,而编码的基础是数制。数制是用于描述数字系统或体系结构的一种方法。为了描述数的是用于描述数字系统或体系结构的一种方法。为了描述数的大小,人类采用进位技术的方法,称为进位计数制,简称大小

8、,人类采用进位技术的方法,称为进位计数制,简称“数制数制”。人们在日常生活中,习惯于用十进制数,而在计。人们在日常生活中,习惯于用十进制数,而在计算机中,多采用二进制数,二进制数的优点是其运算规律简算机中,多采用二进制数,二进制数的优点是其运算规律简单且实现二进制数的数字装置简单。二进制数的缺点是人们单且实现二进制数的数字装置简单。二进制数的缺点是人们对其使用时不习惯且当二进制位数较多时,书写起来很麻烦,对其使用时不习惯且当二进制位数较多时,书写起来很麻烦,特别是在写错了以后不易查找错误,为此,书写时常采用八特别是在写错了以后不易查找错误,为此,书写时常采用八进制和十六进制数。进制和十六进制数

9、。2007.7.2计算机组成原理7为了区分这几种进制数,规定在数字的后面为了区分这几种进制数,规定在数字的后面加字母加字母D表示十进制数,加字母表示十进制数,加字母B表示二进制数,表示二进制数,加字母加字母O表示八进制数,加字母表示八进制数,加字母H表示十六进制数,表示十六进制数,十进制数可以省略不加。例如:十进制数可以省略不加。例如:11D和和11都表示是都表示是十进制数。另外,也可以用基数作下标表示,例十进制数。另外,也可以用基数作下标表示,例如:如:(15)10或或15表示十进制数,表示十进制数,(15)2表示二进制数,表示二进制数,(15)8表示八进制数,表示八进制数,(15)16表示

10、十六进制数。表示十六进制数。2007.7.2计算机组成原理8对于任何进制数,都有以下几个基本特点。对于任何进制数,都有以下几个基本特点。(1)基数)基数 在某种数制中,允许使用的数字符号的个数,在某种数制中,允许使用的数字符号的个数,称为这种数制的基数或基。例如:十进制的基数为称为这种数制的基数或基。例如:十进制的基数为10,有十,有十个数码个数码09;二进制的基数为;二进制的基数为2,有两个数码,有两个数码0和和1;八进制;八进制的基数为的基数为8,有八个数码,有八个数码07;十六进制的基数为;十六进制的基数为16,有十,有十六个数码六个数码09和和A到到F。(2)位权)位权 任一种任一种N

11、进制中进制中,Ni 称为第称为第i位的权。例如十进位的权。例如十进制数制数756中最高位的位权为中最高位的位权为102,中间位的位权为,中间位的位权为101,最低,最低位的位权为位的位权为100。(3)进位)进位 在同一位权上计数值达到基数时,就要进入在同一位权上计数值达到基数时,就要进入高一级的位权,这就是数制中的进位。基数是不同数制的进高一级的位权,这就是数制中的进位。基数是不同数制的进位条件。例如十进制数是位条件。例如十进制数是“逢十进一逢十进一”和和“借一当十借一当十”。2007.7.2计算机组成原理91几种常用进制(1)十进制()十进制(Decimal)十进制用十进制用09十个数字符

12、号,以一定的规律排列十个数字符号,以一定的规律排列起来,表示数值的大小。相邻位之间,低位逢十向起来,表示数值的大小。相邻位之间,低位逢十向高位进一。它的基数为高位进一。它的基数为10,各位的系数各位的系数Ki可以是可以是09十个数字中任一个。各位的权为十个数字中任一个。各位的权为10i。因而,任意一。因而,任意一个个n位十进制数位十进制数Ni可表示为可表示为:121011012101101010101010nnmnnmNKKKKKK110niiimK321012361.72 103 106 101 107 10 例如:例如:2007.7.2计算机组成原理102)二进制)二进制(Binary)二

13、进制是数字电路中应用最二进制是数字电路中应用最广泛的计数制。因为在数字电路中通常只有高电平广泛的计数制。因为在数字电路中通常只有高电平和低电平两个状态。这两个状态刚好可以用二进制和低电平两个状态。这两个状态刚好可以用二进制数中的两个符号数中的两个符号0和和1来表示。它的运算规则简单来表示。它的运算规则简单,在在电路中易于实现。在二进制中电路中易于实现。在二进制中,相邻位之间相邻位之间,低位逢低位逢二向高位进一。它的基数为二向高位进一。它的基数为2,各位的系数各位的系数Ki可以是可以是0或或1,各位的权为各位的权为2i。因而任一个。因而任一个n位二进制数位二进制数N2可可表示为:表示为:1210

14、1212101222222nnmnnmNKKKKKK12niiimK 4321012(10110.1)1 20 21 21 20 21 2 例如例如:2007.7.2计算机组成原理11(3)八进制)八进制(Octal)如果将一个数值较大的十进制数转换为二进制如果将一个数值较大的十进制数转换为二进制数,不仅位数多,难以记忆,且不便书写数,不仅位数多,难以记忆,且不便书写,易出错。易出错。因而除了二进制外,常用的还有八进制或十六进制。因而除了二进制外,常用的还有八进制或十六进制。八进制中,各相邻位之间,低位逢八向高位进八进制中,各相邻位之间,低位逢八向高位进一。它的基数为一。它的基数为8,各位的权

15、为,各位的权为8i,各位的系数,各位的系数Ki可可以是以是07八个数字中任意一个,因而任意一个八个数字中任意一个,因而任意一个n位位八进制数八进制数N8可表示为:可表示为:例如例如:12101812101888888nnmnnmNKKKKKK18niiimK210128(256.73)2 85 86 87 83 8 2007.7.2计算机组成原理12(4)十六进制)十六进制(Hexadecimal)十六进制数中,各相邻位之间,低位逢十六向高十六进制数中,各相邻位之间,低位逢十六向高位进一。它的基数为位进一。它的基数为16,为了书写和计算方便,在,为了书写和计算方便,在十六进制数中,各位的系数十

16、六进制数中,各位的系数Ki可以是可以是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F十六个数十六个数字符号中任一个。各位的权为字符号中任一个。各位的权为16i,因而任一个因而任一个n位位十六进制数十六进制数N16可表示为:可表示为:121011612101161616161616nnmnnmNKKKKKK116niiimK210116(9.)9 1610 1611 1615 16AB F例如:例如:2007.7.2计算机组成原理13 表表3-1给出了上述四种进制之间的对应关系。给出了上述四种进制之间的对应关系。表表3-1 四种进位制数之间的对应关系四种进位制数之间的对应关系二进

17、制数八进制数十进制数十六进制数000000010010001101000101011001111000100110101011110011011110111101234567101112131415161701234567891011121314150123456789ABCDEF2007.7.2计算机组成原理142不同进制间的转换不同进制间的转换(1)二进制、八进制、十六进制数转换成十进制数)二进制、八进制、十六进制数转换成十进制数当二进制、八进制、十六进制数转换成十进制数时,只当二进制、八进制、十六进制数转换成十进制数时,只要要“按权展开按权展开”即可。即可。【例【例3-1】二进制数转换成

18、十进制数。】二进制数转换成十进制数。(10100.01)2=(124+023+122+021+020+02-1+12-2)10=(20.25)10【例【例3-2】八进制数转换成十进制数。】八进制数转换成十进制数。(300.6)8=(382+081+080+68-1)10=(192.75)10【例【例3-3】十六进制数转换成十进制数。】十六进制数转换成十进制数。(3B.C)16=(3161+11160+1216-1)10=(59.75)10(2)十进制数转换成二进制、八进制、十六进制数)十进制数转换成二进制、八进制、十六进制数2007.7.2计算机组成原理15十进制数转换成二进制、八进制、十六进

19、制数时,因为十进制数转换成二进制、八进制、十六进制数时,因为整数部分和小数部分转换的规则不同,所以要将整数和小数整数部分和小数部分转换的规则不同,所以要将整数和小数部分分开进行转换。部分分开进行转换。整数部分的转换整数部分的转换整数部分的转换规则是整数部分的转换规则是“除基取余,逆向取除基取余,逆向取”。也就是。也就是说,用要转换的十进制整数去除以基数说,用要转换的十进制整数去除以基数R,将得到的余数作,将得到的余数作为结果数据中各位的数字,直到余数为为结果数据中各位的数字,直到余数为0为止。先得到的余为止。先得到的余数作为转换后的最低位,最后得到的余数作为转换后的最高数作为转换后的最低位,最

20、后得到的余数作为转换后的最高位。位。【例【例3-4】将十进制整数】将十进制整数835分别转换成二进制和八进制分别转换成二进制和八进制数。数。二进制转换:二进制转换:104 8 834 1 13 8 8 8 低位 余数 高位 1 5 0 2 0 所以,所以,(834)10=(1502)82007.7.2计算机组成原理16二进制转换:二进制转换:417 26 2 834 104 208 52 13 2 2 2 2 2 低位 余数 高位 0 0 1 0 0 0 3 6 1 0 2 2 2 2 0 1 1 1 所以,所以,(834)10=(1101000010)2小数部分的转换小数部分的转换小数部分的

21、转换规则是小数部分的转换规则是“乘基取整,正向取乘基取整,正向取”。也就是说,用要转。也就是说,用要转换的十进制小数去乘以基数换的十进制小数去乘以基数R,将得到的乘积的整数部分作为结果数据中,将得到的乘积的整数部分作为结果数据中各位的数字,小数部分继续与基数各位的数字,小数部分继续与基数R相乘。以次类推,直到某一步乘积的相乘。以次类推,直到某一步乘积的小数部分为小数部分为0或已得到希望的位数为止。最后,将先得到的整数部分作为或已得到希望的位数为止。最后,将先得到的整数部分作为转换后的最高位,最后得到的整数部分作为转换后的最低位。转换后的最高位,最后得到的整数部分作为转换后的最低位。2007.7

22、.2计算机组成原理17【例【例3-5】将十进制小数】将十进制小数0.6875分别转换成二、分别转换成二、八进制数。八进制数。0.68752=1.375 1 高位高位0.3752=0.75 0 0.752=1.5 1 0.52=1.0 1 低位低位所以,所以,(0.6875)10=(0.1011)20.68758=5.5 5 高位高位0.58=4.0 4 所以,所以,(0.6875)10=(0.54)8 低位低位其它例题其它例题(略略)2007.7.2计算机组成原理18二进制数转换成八进制数二进制数转换成八进制数 二进制数转换为八进制数的规则可以概括为二进制数转换为八进制数的规则可以概括为“三位

23、并一位三位并一位”。即以小数点为基数,整数部分从。即以小数点为基数,整数部分从右至左,每三位一组,最高位不足三位时,添右至左,每三位一组,最高位不足三位时,添0补补足三位;小数部分从左至右,每三位一组,最低有足三位;小数部分从左至右,每三位一组,最低有效位不足三位时,添效位不足三位时,添0补足三位。然后,将各组的补足三位。然后,将各组的三位二进制数按三位二进制数按22,21,20权展开后相加,得到一权展开后相加,得到一位八进制数。位八进制数。【例【例3-9】将(】将(1000110.01101)2转换成八进转换成八进制数。制数。001 000 110 .011 010 1 0 6 .3 2 所

24、以,(所以,(1000110.01101)2=(106.32)82007.7.2计算机组成原理19二进制数转换成十六进制数二进制数转换成十六进制数二进制数转换为十六进制数规则可概括为二进制数转换为十六进制数规则可概括为“四位并一四位并一位位”。即以小数点为基数,整数部分从右至左,每四位一组,。即以小数点为基数,整数部分从右至左,每四位一组,最高位不足四位时,添最高位不足四位时,添0补足四位;小数部分从左至右,每补足四位;小数部分从左至右,每四位一组,最低有效位不足四位时,添四位一组,最低有效位不足四位时,添0补足四位。然后,补足四位。然后,将各组的四位二进制数按将各组的四位二进制数按23,22

25、,21,20权展开后相加,权展开后相加,得到一位十六进制数。得到一位十六进制数。【例【例3-10】将(】将(10010111.11011)2转换成十六进制数。转换成十六进制数。1001 0111 .1101 1000 9 7 .D 8 所以,(所以,(10010111.11011)2=(97.D8)16思考:思考:计算机能够直接识别运算的是二进制,那么计算计算机能够直接识别运算的是二进制,那么计算机中还要采用八进制、十六进制的目的是什么?机中还要采用八进制、十六进制的目的是什么?2007.7.2计算机组成原理203.2 常用的数据表示3.2.1 真值与机器数真值与机器数在计算机内部,数据是以二

26、进制的形式存储和运算的,无论数值还在计算机内部,数据是以二进制的形式存储和运算的,无论数值还是数的符号,都只能用是数的符号,都只能用0、1来表示。数的正负用高位字节的最高位来表来表示。数的正负用高位字节的最高位来表示,定义为符号位,用示,定义为符号位,用“0”表示正数,表示正数,“1”表示负数。例如,在机器中表示负数。例如,在机器中用用8位二进制表示一个数位二进制表示一个数+42,其格式为:,其格式为:00101010 符号位,符号位,“0”表示正表示正而用而用8位二进制表示一个数位二进制表示一个数-53,其格式为:,其格式为:10110101 符号位,符号位,“1”表示负表示负在计算机内部,

27、符号和数字都用二进制码表示,两者合在一起构成在计算机内部,符号和数字都用二进制码表示,两者合在一起构成数的机内表示形式,称为机器数,而它真正表示的带有符号的数称为这数的机内表示形式,称为机器数,而它真正表示的带有符号的数称为这个机器数的真值。机器数又分为定点数和浮点数。个机器数的真值。机器数又分为定点数和浮点数。以上分析可见,在机器数中,用以上分析可见,在机器数中,用0、1取代了真值的正、负号。取代了真值的正、负号。2007.7.2计算机组成原理213.2.2 数的机器码表示整数又可分为无符号整数(不带符号的整数)和整数(带符号的整整数又可分为无符号整数(不带符号的整数)和整数(带符号的整数)

28、。无符号整数中,所有二进制位全部用来表示数的大小,有符号整数)。无符号整数中,所有二进制位全部用来表示数的大小,有符号整数用最高位表示数的正负号,其他位表示数的大小。数用最高位表示数的正负号,其他位表示数的大小。无符号数在计算机中通常有三种表示方法。无符号数在计算机中通常有三种表示方法。(1)位数不等的二进制码。位数不等的二进制码。(2)BCD码。码。BCD码的表示形式一般又有两种:压缩码的表示形式一般又有两种:压缩BCD码和非压码和非压缩缩BCD码。前者每位码。前者每位BCD码用码用4位二进制表示,位二进制表示,1个字节(个字节(8位二进制)位二进制)表示表示2位位BCD码,如码,如1001

29、0011B表示二进制数表示二进制数93;后者每位;后者每位BCD码用码用1个字节表示,高个字节表示,高4位总是位总是0000,低,低4位的位的00001001表示表示09。(3)ASCII码(码(American Standard Code for Information Interchange,ASCII),美国标准信息交换码。该编码已被国际标准化),美国标准信息交换码。该编码已被国际标准化组织组织ISO采纳,作为国际通用的信息标准交换代码。采纳,作为国际通用的信息标准交换代码。ASCII码表示与非压码表示与非压缩缩BCD码表示很相似,低码表示很相似,低4位完全相同,都是用位完全相同,都是用

30、00001001表示表示09;差;差别仅在高别仅在高4位,位,ASCII码不是码不是0000,而是,而是0011。ASCII码包含码包含52个大、小写英文字母,个大、小写英文字母,10个十进制数字字符,个十进制数字字符,32个个标点符号、运算符号、特殊号,还有标点符号、运算符号、特殊号,还有34个不可显示打印的控制字符编码,个不可显示打印的控制字符编码,一共是一共是128个编码。个编码。2007.7.2计算机组成原理223.2.3 定点数和浮点数表示当所要处理的数含有小数部分时,就有一个如何表示小数点的问题。当所要处理的数含有小数部分时,就有一个如何表示小数点的问题。在计算机中并不用某个二进制

31、位来表示小数点,而是隐含规定小数点在计算机中并不用某个二进制位来表示小数点,而是隐含规定小数点的位置。若约定小数点的位置是固定的,这就是定点表示法;若给定的位置。若约定小数点的位置是固定的,这就是定点表示法;若给定小数点的位置是可以变动的,则成为浮点表示法。他们不但关系到小小数点的位置是可以变动的,则成为浮点表示法。他们不但关系到小数点的问题,而且关系到数的表示范围和精度。数点的问题,而且关系到数的表示范围和精度。1定点数定点数计算机处理的数据不仅有符号,而且大量的数据带有小数,小数点计算机处理的数据不仅有符号,而且大量的数据带有小数,小数点不占有二进制一位而是隐含在机器数里某个固定位置上。通

32、常采取两不占有二进制一位而是隐含在机器数里某个固定位置上。通常采取两种简单的约定:一种是约定所有机器数的小数的小数点位置隐含在机种简单的约定:一种是约定所有机器数的小数的小数点位置隐含在机器数的最低位之后,叫定点整数。如器数的最低位之后,叫定点整数。如 小数点位置小数点位置另一种约定所有机器数的小数点隐含在符号位之后、有效部分最高另一种约定所有机器数的小数点隐含在符号位之后、有效部分最高位之前,叫定点小数,如:位之前,叫定点小数,如:小数点位置小数点位置定点整数和定点小数在计算机中的表示形式没什么区别,其小数点定点整数和定点小数在计算机中的表示形式没什么区别,其小数点完全靠事先约定而隐含在不同

33、位置。完全靠事先约定而隐含在不同位置。10011001010110012007.7.2计算机组成原理232.浮点数浮点数当要处理的数是既有整数又有小数的混合小数时,采用当要处理的数是既有整数又有小数的混合小数时,采用定点数格式很不方便。为此,人们一般都采用浮点数进行运定点数格式很不方便。为此,人们一般都采用浮点数进行运算。浮点数与科学计数法相似,把一个二进制数通过移动小算。浮点数与科学计数法相似,把一个二进制数通过移动小数点位置表示成阶码和尾数两部分:数点位置表示成阶码和尾数两部分:其中:其中:EN的阶码,的阶码,是有符号的整数;是有符号的整数;SN的尾数,是数值的有效数字部分,一的尾数,是数

34、值的有效数字部分,一般规定取二进制定点小数形式。般规定取二进制定点小数形式。如:如:(101.1101)2=2+30.1011101,(0.01011101)2=2-11011101浮点数的格式如下:浮点数的格式如下:E1E2.Em.阶符阶码数符尾数 E0小数点S0S1S2.Sn2007.7.2计算机组成原理24浮点数由阶码和尾数两部分组成,底数浮点数由阶码和尾数两部分组成,底数2在机器在机器数中不出现,是隐含的。其中,阶码一般用补码定数中不出现,是隐含的。其中,阶码一般用补码定点整数表示,尾数一般用补码或原码定点小数表示。点整数表示,尾数一般用补码或原码定点小数表示。为保证不损失有效数字,一

35、般还对尾数进行规格为保证不损失有效数字,一般还对尾数进行规格化处理,即保证尾数的最高位是化处理,即保证尾数的最高位是1,实际大小通过,实际大小通过阶码进行调整。后面阶码进行调整。后面3.4节将对浮点数进行详细介绍。节将对浮点数进行详细介绍。思考思考:计算机中引入浮点数的目的是什么?计算机中引入浮点数的目的是什么?2007.7.2计算机组成原理253.3 二进制数值数据的编码与运算算法3.3.1 原码、反码、补码的定义原码、反码、补码的定义1原码原码对于无符号数,原码是一种用数值本身表示的二进制编对于无符号数,原码是一种用数值本身表示的二进制编码。码。对于有符号数,原码是一种以符号和数值表示的二

36、进制对于有符号数,原码是一种以符号和数值表示的二进制编码。有符号数的原码编码规则是:用最高位表示符号,整编码。有符号数的原码编码规则是:用最高位表示符号,整数用数用0表示,负数用表示,负数用1表示。其他位表示该数的绝对值。表示。其他位表示该数的绝对值。例如:例如:X=(+105)X原原=(01101001)2Y=(-105)Y原原=(11101001)2注意:注意:0的原码有两种,即的原码有两种,即+0原原=(00000000)2,-0原原=(10000000)2结论:正数的原码是它本身,负数的原码是真值取绝对结论:正数的原码是它本身,负数的原码是真值取绝对值后,在最高位(左端)补值后,在最高

37、位(左端)补“1”。2007.7.2计算机组成原理262反码反码反码使用得较少,它只是补码得一种过渡。反码使用得较少,它只是补码得一种过渡。对于无符号数,反码是一种用对数值按位取反表示的二对于无符号数,反码是一种用对数值按位取反表示的二进制编码。进制编码。对于有符号数,反码是一种用符号位和对数值按位取反对于有符号数,反码是一种用符号位和对数值按位取反表示的二进制编码。有符号数的反码编码规则是:用最高位表示的二进制编码。有符号数的反码编码规则是:用最高位表示符号,正数用表示符号,正数用0表示,负数用表示,负数用1表示。正数的反码是其原表示。正数的反码是其原码本身,负数反码的数值部分是原码的数值部

38、分按位取反。码本身,负数反码的数值部分是原码的数值部分按位取反。例如:例如:+65原原=(01000001)2 +65反反=(01000001)2-65原原=(11000001)2 65反反=(00111110)2注意:注意:0的反码有两种,即的反码有两种,即+0反反=(00000000)2,-0反反=(11111111)2。结论:正数的反码与其原码相同,负数的反码是符号位结论:正数的反码与其原码相同,负数的反码是符号位不变,其余各位按位取反。不变,其余各位按位取反。2007.7.2计算机组成原理273补码补码补码是计算机处理有符号数的运算常用的一种方法。对于无符号数,补码是一种用对数值按位取

39、反并加1表示的二进制编码。对于有符号数,补码是一种用符号和对数值按位取反并加1表示的二进制编码。对于n位计算机,某数x的补码定义为:结论结论:正数的补码等于正数本身,负数的补码等于模(即2n)减去它的绝对值,即符号位1不变,数值部分是原码的数值部分按位取反并加1。2007.7.2计算机组成原理283补码补码补码是计算机处理有符号数的运算常用的一种方法。补码是计算机处理有符号数的运算常用的一种方法。对于无符号数,补码是一种用对数值按位取反并加对于无符号数,补码是一种用对数值按位取反并加1表示的二进制表示的二进制编码。编码。对于有符号数,补码是一种用符号和对数值按位取反并加对于有符号数,补码是一种

40、用符号和对数值按位取反并加1表示的表示的二进制编码。二进制编码。对于对于n位计算机,某数位计算机,某数x的补码定义为:的补码定义为:结论结论:正数的补码等于正数本身,负数的补码等于模(即:正数的补码等于正数本身,负数的补码等于模(即2n)减去)减去它的绝对值,即符号位它的绝对值,即符号位1不变,数值部分是原码的数值部分按位取反并不变,数值部分是原码的数值部分按位取反并加加1。=X2n-1X02n-|X|0X-2n-1X补2007.7.2计算机组成原理294三种码制的比较三种码制的比较(1)对于正数它们都等于真值本身,而对于负数各有不同的表示;)对于正数它们都等于真值本身,而对于负数各有不同的表

41、示;(2)原码和反码各有两种零的表示法,而补码具有唯一的零。)原码和反码各有两种零的表示法,而补码具有唯一的零。3.3.2 补码加、减运算规则补码加、减运算规则在计算机中可进行两种运算:算术运算和逻辑运算。算术运算时,在计算机中可进行两种运算:算术运算和逻辑运算。算术运算时,参与运算的二进制数码表示的是数值大小。常见的算术运算有加、减、参与运算的二进制数码表示的是数值大小。常见的算术运算有加、减、乘、除、乘方、开方等。一般计算机中都提供了加、减、乘、除指令,乘、除、乘方、开方等。一般计算机中都提供了加、减、乘、除指令,其他更复杂的算术运算要利用算术变换成基本的四则运算来实现。从硬其他更复杂的算

42、术运算要利用算术变换成基本的四则运算来实现。从硬件实现的角度看,各种算术运算的基础是加、减运算。对于补码机,加件实现的角度看,各种算术运算的基础是加、减运算。对于补码机,加法运算又是基础的基础。法运算又是基础的基础。补码的加减法运算规则:补码的加减法运算规则:XY补补=X补补+Y补补其中,其中,X、Y为正、负数均可。该式说明,无论加法还是减法运算,为正、负数均可。该式说明,无论加法还是减法运算,都可由补码的加运算实现,运算结果(和或差)也以补码表示。若运算都可由补码的加运算实现,运算结果(和或差)也以补码表示。若运算结果不产生溢出,且最高位(符号位)为结果不产生溢出,且最高位(符号位)为0,则

43、表示结果为正数,最高,则表示结果为正数,最高位为位为1,则结果为负数。,则结果为负数。2007.7.2计算机组成原理303.3.3 补码加减法运算部件补码加减法运算部件根据上节所述,对于减法运算根据上节所述,对于减法运算,因为因为X-Y补补=X+(-Y)补补=X补补+-Y补,所以计算时,可以补,所以计算时,可以先求出先求出-Y的补码,然后再进行加法运算,这样在用的补码,然后再进行加法运算,这样在用逻辑电路实现减法运算时,可以只考虑用加法电路,逻辑电路实现减法运算时,可以只考虑用加法电路,而不必设置减法电路。实现补码加减运算电路如图而不必设置减法电路。实现补码加减运算电路如图3-1所示。图所示。

44、图3-12007.7.2计算机组成原理31在图在图3-1中,被加数(或被减数)中,被加数(或被减数)X和加数(或减数)和加数(或减数)Y分别存放在分别存放在A寄存器和寄存器和B寄存器中。当执行加法运算时,执寄存器中。当执行加法运算时,执行行X补补+Y补,将补,将X补和补和Y补从补从A寄存器和寄存器和B寄存器送到寄存器送到加法器的两个输入端。当执行减法运算时,执行加法器的两个输入端。当执行减法运算时,执行Y补的各补的各位取反(即位取反(即01,10),然后在最低位加然后在最低位加1,即可得,即可得-Y补。补。假设假设Y=0.0011,则,则-Y的真值应等于的真值应等于-0.0011。根据上述。根

45、据上述方法,先取方法,先取Y数中的各位的反值,得数中的各位的反值,得1.1100,然后在最低位,然后在最低位加加1,即,即1.1100+0.0001=1.1101。该值正好是。该值正好是-Y的补码。的补码。在逻辑电路中。在逻辑电路中。ALU由多个全加器及其他电路组成。由多个全加器及其他电路组成。每个全加器有三个输入端,其中一个接收从低位来的进位信每个全加器有三个输入端,其中一个接收从低位来的进位信号,而最低位恰好没有进位信号输入,因此可用来作为号,而最低位恰好没有进位信号输入,因此可用来作为“+1”信号,于是可归纳出以下控制信号:信号,于是可归纳出以下控制信号:2007.7.2计算机组成原理3

46、2(1)当执行加法时,应提供的控制信号有:)当执行加法时,应提供的控制信号有:AALU,BALU(从(从B寄存器的各触发器的寄存器的各触发器的“1”端输端输出),出),ALUA。(2)当执行减法时,应提供的控制信号有:)当执行减法时,应提供的控制信号有:ALU,BALU(从寄存器的各触发器的从寄存器的各触发器的“”端端输出输出),ALU+1,ALUA。其中,。其中,ALU+操作可以与加法操作可以与加法操作同时进行,所以总共只需要进行一次加法运算。操作同时进行,所以总共只需要进行一次加法运算。当前大部分计算机字长为当前大部分计算机字长为64位,一般其符号位取位,一般其符号位取1位,位,数值部分取

47、数值部分取61位。位。ALU和寄存器也都为和寄存器也都为64位,最高位产生的位,最高位产生的进位自动丢弃,满足补码定义中有关进位自动丢弃,满足补码定义中有关“mod 2”的运算规则,的运算规则,不必另行处理。这在运算结果不超出机器能表示的数的范围不必另行处理。这在运算结果不超出机器能表示的数的范围时,结果是正确的。超出机器数范围的情况称之为溢出。时,结果是正确的。超出机器数范围的情况称之为溢出。思考:思考:计算机采用补码数进行运算的原因是什么?计算机采用补码数进行运算的原因是什么?2007.7.2计算机组成原理333.3.4 定点原码一位乘法运算大家熟知的笔算乘法运算是将乘法运算转换成移位和加

48、大家熟知的笔算乘法运算是将乘法运算转换成移位和加法运算来实现的。但是如果让计算机按笔算乘法运算来实现法运算来实现的。但是如果让计算机按笔算乘法运算来实现乘法运算就会凸现以下主要缺点:乘法运算就会凸现以下主要缺点:(1)四个位积一次相加,机器难以实现;四个位积一次相加,机器难以实现;(2)位积长度增加位积长度增加1倍,浪费硬件资源。倍,浪费硬件资源。下面对笔算乘法运算进行改进:下面对笔算乘法运算进行改进:将将 ABA0.10110.1A0.00A0.001A0.0001A0.1A0.00A0.001(A0.1A)0.1(A0.1(0A0.1(A0.1A)0.1(A0.1(0A0.1(A0.1(A

49、0)2-1(A2-1(0A2-1(A2-1(A+0)2007.7.2计算机组成原理34以上运算过程如下(被加数为0.1101):部分积部分积乘乘 数数0.0000+0.1101 10110.1101 0.0110+0.1101 10111101 1.0011 0.1001+0.0000 11011110 0.1001 0.0100+0.1110 11101111 1.0001 0.1000 11111111 2007.7.2计算机组成原理35上式的运算过程步骤可归为如下几点:上式的运算过程步骤可归为如下几点:(1)乘法运算可用移位运算和加法运算实现,当乘法运算可用移位运算和加法运算实现,当4位

50、数乘位数乘4位数时,需要作位数时,需要作4次移位运算和次移位运算和4次加法运次加法运算;算;(2)由乘数的末位值决定乘数是否与部分积相加,由乘数的末位值决定乘数是否与部分积相加,然后右移然后右移1位,形成新的部分积;同时乘数也右移位,形成新的部分积;同时乘数也右移1位,由次低位作为末位值,空出的最高位为部分积位,由次低位作为末位值,空出的最高位为部分积的最低位。的最低位。(3)每次作加法时,被乘数仅仅与原部分积的高位每次作加法时,被乘数仅仅与原部分积的高位相加,其低位被移至乘数所空出的高位位置。相加,其低位被移至乘数所空出的高位位置。2007.7.2计算机组成原理36对于原码的乘法,原码与真值

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

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


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