组成原理0917_第1页
组成原理0917_第2页
组成原理0917_第3页
组成原理0917_第4页
组成原理0917_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、9 9月月1717日日计算机组成原理回顾2计算机系统计算机系统计算和计算机的历史计算和计算机的历史冯冯诺依曼结构计算机的特点诺依曼结构计算机的特点运算方法和运算器运算方法和运算器3数据与文字的表示方法数据与文字的表示方法定点加减运算定点加减运算定点乘除运算定点乘除运算定点运算器的组成定点运算器的组成浮点运算方法和浮点运算器浮点运算方法和浮点运算器4真值:真值:(+5)(+5)1010=(+101)=(+101)2 2(-7)(-7)1010=(-111)=(-111)2 2机器数:机器数:S 数值数值符号位符号位数的符号在计算机中的表示:数的符号在计算机中的表示:原码、反码、补码:原码、反码、

2、补码:0表示正数,表示正数,1表示负数表示负数移码:移码:0表示负数,表示负数,1表示正数表示正数将符号(将符号(+/-+/-)数码化)数码化用最高位做符号位用最高位做符号位 符号(符号(+/-+/-)+ + 尾数(绝对值)尾数(绝对值)真值和机器数真值和机器数1.原码表示法原码表示法5若若定点小数定点小数的真值为的真值为X 0.xn-1xn-2 x0,则原码表示的定义是:,则原码表示的定义是:例如,例如, 0.1001,则,则 原原0.1001 0.1001,则,则 原原1.1001对于对于0,原码有,原码有“ 0”、“ 0”之分,故有两种形式:之分,故有两种形式: 0原原 0.000.0

3、0原原 1.000.0 10 11|01 原若若定点整数定点整数的真值为的真值为X xn-1xn-2 x0 ,则原码表示的定义是:,则原码表示的定义是:2n0 2n2n|0 2n 原 采用原码表示法简单易懂,缺点是运算复杂。采用原码表示法简单易懂,缺点是运算复杂。 2.反码表示法反码表示法6 所谓反码,就是二进制的各位数码所谓反码,就是二进制的各位数码0变为变为1,1变为变为0。在一些文献中,这种以。在一些文献中,这种以2为基数的反码又称为为基数的反码又称为1的补的补码。码。 对于正数对于正数X 0.xn-1xn-2 x0 ,则:,则:反反 0.xn-1xn-2 x0 对于负数对于负数X 0.

4、xn-1xn-2 x0 ,则:,则:反反 1. xn-1xn-2 x0 若若定点小数定点小数的真值为的真值为X 0.xn-1xn-2 x0 ,则反码表示的定义是:,则反码表示的定义是:10 (22-n)01 反 对于对于0,有,有0反反和和0反反之分之分:0反反0.000.00反反1.111.1若若定点整数定点整数的真值为的真值为X xn-1xn-2 x0,则反码表示的定义是:,则反码表示的定义是: 2n0 (2n+11)02n 反例如,例如, 0.1001,则,则反反0.1001 0.1001,则,则反反1.01103.补码表示法补码表示法7 2n0 2n+1+2n+1-| 0 2n mod

5、 2n1 补若若定点小数定点小数的真值为的真值为X 0. xn-1xn-2 x0,则补码表示的定义是:,则补码表示的定义是:例如,例如, 0.1001,则,则补补0.1001 0.1001,则,则补补1.0111 0补补 0补补 0.000.0 1补补 1.000.0 若若定点整数定点整数的真值为的真值为X xn-1xn-2 x0,则补码表示的定义是:,则补码表示的定义是: 对于负数,补码等于反码的最低位加对于负数,补码等于反码的最低位加1: 10 22|01 mod 2 补补反2n 为小数为小数补反1为整数为整数 此外,若此外,若补补xnxn-1x0 ,其中,其中xn是符号位,则还有下面的关

6、系:是符号位,则还有下面的关系:2n xn + 2ixii=0n-14.移码表示法移码表示法8例如,例如, 1001,则,则移移11001 1001,则,则移移00111若若定点整数定点整数的真值为的真值为X xn-1xn-2 x0,则移码表示的定义是:,则移码表示的定义是:移2n2n2n 四种机器码的比较(以四种机器码的比较(以n位定点整数为例):位定点整数为例):1. 原码、反码和补码的符号位为原码、反码和补码的符号位为0正正1负,移码为负,移码为1正正0负;负;2. 原码和反码的表示范围为原码和反码的表示范围为 2n2n ,0的原码和反码都有两个;补码和移码的表的原码和反码都有两个;补码

7、和移码的表示范围为示范围为2n2n ,0的补码和移码都只有一个;的补码和移码都只有一个;3. 正数的原码、反码和补码相同,负数则不同;正数的原码、反码和补码相同,负数则不同;4. 移码等于补码的符号位取反;移码的大小关系与真值的大小关系相同。移码等于补码的符号位取反;移码的大小关系与真值的大小关系相同。9真值真值原码原码反码反码补码补码移码移码+7+6+5+4+3+2+1+0-0-1-2-3-4-5-6-7-8011101100101010000110010000100001000100110101011110011011110111101110110010101000011001000010

8、000111111101101110010111010100110000111011001010100001100100001000011111110110111001011101010011000111111101101110010111010100110000111011001010100001100100001000010数据格式数据格式 计算机中常用的数据表示格式有两种,一是定点格式,二是浮点格式。定点格式容许的数值范围有限,但要求计算机中常用的数据表示格式有两种,一是定点格式,二是浮点格式。定点格式容许的数值范围有限,但要求的处理硬件比较简单;浮点格式容许的数值范围很大,但要求的处理

9、硬件比较复杂。的处理硬件比较简单;浮点格式容许的数值范围很大,但要求的处理硬件比较复杂。1.定点数的表示方法定点数的表示方法 定点数是指小数点的位置固定不变。小数点的位置是事先约定的,不需要占用一个二进制位来表示。通常将数定点数是指小数点的位置固定不变。小数点的位置是事先约定的,不需要占用一个二进制位来表示。通常将数据表示成纯小数或纯整数。据表示成纯小数或纯整数。定点小数定点小数 小数点位于符号位和最高有效位之间。小数点位于符号位和最高有效位之间。xnxn - 1 xn - 2 x1 x0符号位符号位n个数值位个数值位小数点位置(隐含)小数点位置(隐含) 采用原码表示时,所能表示的数的范围是:

10、采用原码表示时,所能表示的数的范围是:0 |X| 12n 。11定点整数定点整数 小数点位于最低有效位之后。小数点位于最低有效位之后。xnxn - 1 xn - 2 x1 x0符号位符号位n个数值位个数值位小数点位置(隐含)小数点位置(隐含) 采用原码表示时,所能表示的数的范围是:采用原码表示时,所能表示的数的范围是:0 |X| 2n 1 。2.浮点数的表示方法浮点数的表示方法 一个一个R进制的数进制的数N可以写成可以写成N = MRE其中其中M为尾数,为尾数,E为指数,为指数,R为基数。在计算机中通常取为基数。在计算机中通常取R为为2、8或或16。 在机器中表示一个浮点数时,一要给出在机器中

11、表示一个浮点数时,一要给出尾数尾数,用定点小数的原码或补码表示;二要给出指数,用整数的补码或,用定点小数的原码或补码表示;二要给出指数,用整数的补码或移码表示,称为移码表示,称为阶码阶码。EsEk-1Ek-2E0阶码阶码MsMn-1 Mn-2 M0阶符阶符尾数尾数数符数符12 为了使浮点数的表示形式唯一,当尾数为了使浮点数的表示形式唯一,当尾数M不为不为0时,时,若若尾数用原码表示,规定尾数用原码表示,规定 |M| 1,即尾数的二进制形式,即尾数的二进制形式为为0.1或或1.1;若若尾数用补码表示,规定尾数用补码表示,规定 M 1或或1 M ,即尾数的二进制形式为,即尾数的二进制形式为0.1或

12、或1.0。这称为浮点数的。这称为浮点数的规格化表示规格化表示。M 对于原码表示是规格化的,对于补码表示则不是对于原码表示是规格化的,对于补码表示则不是。 当一个浮点数的尾数当一个浮点数的尾数M=0,不管阶码取何值,或者阶码比它能表示的最小值还小时,不管尾数取何值,都把该,不管阶码取何值,或者阶码比它能表示的最小值还小时,不管尾数取何值,都把该浮点数当零看待,称为浮点数当零看待,称为机器零机器零。此时要求把浮点数的阶码和尾数都清为零,保证零这个数表示的唯一性。此时要求把浮点数的阶码和尾数都清为零,保证零这个数表示的唯一性。浮点数的表示范围:浮点数的表示范围:设设阶码和尾数都用阶码和尾数都用补码补

13、码表示,阶码共表示,阶码共k1位(含一位阶符),尾数共位(含一位阶符),尾数共n1位(含一位数符)。位(含一位数符)。浮点数的表示范围如下:浮点数的表示范围如下:1 1.01.011 11 1,00,000 0规格化绝对值最小负数规格化绝对值最小负数1 1.11.111 11 1,00,000 0绝对值最小负数绝对值最小负数0 0.10.100 01 1,00,000 0规格化最小正数规格化最小正数0 0.00.001 11 1,00,000 0最小正数最小正数1 1.00.000 00 0,11,111 1绝对值最大负数绝对值最大负数0 0.11.111 10 0,11,111 1最大正数最

14、大正数真值真值尾数尾数阶码阶码122)21( kn122)1( kkn22)2( k212)2( kn22)2( kn212)22( 13IEEE 754 标准标准 (Institute of Electrical and Electronics Engineers) (Institute of Electrical and Electronics Engineers) IEEE 754是目前广泛采用的浮点数编码格式。是目前广泛采用的浮点数编码格式。32位浮点数:位浮点数:SEM18231.隐藏位隐藏位64位浮点数:位浮点数:SEM111521.隐藏位隐藏位32位浮点数中,位浮点数中,S是浮点

15、数的是浮点数的符号位符号位,占,占1位,安排在最高位,位,安排在最高位,0正正1负。符号位后面是负。符号位后面是阶码阶码E,占,占8位。位。E的计算方法是的计算方法是将浮点数的指数真值加上一个固定的偏移值将浮点数的指数真值加上一个固定的偏移值127(一种移码一种移码)。)。E的取值范围是的取值范围是1254,对应的指数真值为,对应的指数真值为126127。E取取255表示表示“无穷大无穷大”,E取取0表示机器零。表示机器零。M是是尾数尾数,占,占23位,放在最低位,用位,放在最低位,用原码原码表示。尾数的真值为表示。尾数的真值为1.M,即在,即在M前面有一个前面有一个隐藏的隐藏的1。这相当于将

16、尾数规格化到。这相当于将尾数规格化到1和和2之间,而将整数部分的之间,而将整数部分的1隐藏不表。隐藏不表。 一个一个32位浮点数位浮点数X的真值可表示为:的真值可表示为:X = (1)S(1.M)2E12714 64位浮点数中,阶码位浮点数中,阶码E占占11位,计算方法是将浮点数的指数真值加上一个固定的偏移值位,计算方法是将浮点数的指数真值加上一个固定的偏移值1023。E的取值范围是的取值范围是12046,对应的指数真值为,对应的指数真值为10221023。E取取2047表示表示“无穷大无穷大”,E取取0表示机器零。尾数表示机器零。尾数M占占52位,有一个隐藏位,有一个隐藏位位1。 一个一个6

17、4位浮点数位浮点数X的真值可表示为:的真值可表示为:X = (1)S(1.M)2E1023IEEE 754标准中的一些特殊值(以标准中的一些特殊值(以32位为例):位为例):符号符号阶码阶码尾数尾数值值正零:正零:0000负零:负零:1000正无穷大:正无穷大: 02550负无穷大:负无穷大: 12550非数:非数:0或或12550NaN注意:本书中提及的规格化有两种,移码也有两种。IEEE754标准指的移码以及规格化与浮点数表示不同。15阶码阶码: :移码移码尾数规范化尾数规范化IEEE754标准真值加127尾数的真值为1.M并将整数部分的1隐藏不表示浮点数移码定义与补码符号位相反原码:1. 1或

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论