计算机组成原理ch03.ppt_第1页
计算机组成原理ch03.ppt_第2页
计算机组成原理ch03.ppt_第3页
计算机组成原理ch03.ppt_第4页
计算机组成原理ch03.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章 数据在机器层次的表示,3.1 数值数据的表示 3.2 数的定点表示与浮点表示 3.3 文字数据的表示 3.4 数据校验码 3.5 小型案例实训 3.6 本章小结 3.7 学习加油站,3.1 数值数据的表示,一、进位计数制与计数制之间的转换 1. 进位计数制的基本概念 进位计数制,简称进位制,按进位的方式计数。在日常生活中习惯使用十进制,也用六十进制,如分、秒的计时等。但在计算机内部,数据是以二进制形式表示的。,3.1 数值数据的表示,2. 计算机中常用的进位制 二进制数 0,1 八进制数 0,1,27 十进制数 0,1,29 十六进制数 0,1,29 ,a,b,c,d,e,f,3.1

2、数值数据的表示,3. 进位计数制与计数制之间的转换 不同进制数的基数不同,所使用的数字的取值范围也不同。 将任意进制数转换为十进制数的方法是“按权相加”,即利用按权展开多项式将系数与位权值相乘后,将乘积逐项求和。,3.1 数值数据的表示,将十进制数转换为任意进制数时,整数部分与小数部分需分别进行转换。 1)利用除基取余法将十进制整数转换为R进制整数的规则: 把被转换的十进制整数除以基数R,所得余数即为R进制整数的最低位数字。 将前次计算所得到的商再除以基数R,所得余数即为R进制整数的相应位数字。 重复步骤,直到商为0为止。,2)利用乘基取整法将十进制小数转换为R进制小数的规则: 把被转换的十进

3、制小数乘以基数R,所得乘积的整数部分即为R进制小数的最高位数字。 将前次计算所得到的乘积的小数部分再乘以基数R,所得新的乘积的整数部分即为R进制小数的相应位数字。 重复步骤,直到乘积的小数部分为0或求得所要求的位数为止。,3.1 数值数据的表示,二进制数与八进制数、十六进制数之间的转换可以利用它们之间的对应关系直接进行转换。 1)将二进制数转换为八进制数的方法: 将二进制数的整数部分从最低有效位开始,每三位二进制数对应一位八进制数,不足三位,高位补0。 将二进制数的小数部分从最高有效位开始,每三位二进制数对应一位八进制数,不足三位,低位补0。 2)将二进制数转换为十六进制数的方法: 将二进制数

4、的整数部分从最低有效位开始,每四位二进制数对应一位十六进制数,不足四位,高位补0。 将二进制数的小数部分从最高有效位开始,每四位二进制数对应一位十六进制数,不足四位,低位补0。,3.1 数值数据的表示,二、无符号数与有符号数 无符号数,就是整个机器字长的全部二进制位均表示数值位(没有符号位),相当于数的绝对值。 有符号数,约定机器字的最高位为符号位,“0”表示正,“1”表示负。常见的表示形式有:原码、反码和补码。,3.1 数值数据的表示,三、原码表示 1. 原码的定义,带符号的绝对值表示,整数,x 为真值,n 为整数的位数,如,x = +1110,x原 = 0 , 1110,x原 = 24 +

5、 1110 = 1 , 1110,x原 =,0,x 2n x 0,2n+ x 0 x 2n,用 逗号 将符号位 和数值位隔开,小数,x 为真值,如,x = + 0.1101,x原 = 0 . 1101,x = + 0.1000000,x原 = 0 . 1000000,用 小数点 将符号 位和数值位隔开,用 小数点 将符号 位和数值位隔开,3.1 数值数据的表示,2. 原码中0的表示 纯小数0原码表示: +0原=0.000 -0原=1.000 纯整数和的原码表示: +0原=000 - 0原=100,3.1 数值数据的表示,3. 原码的特点 原码表示直观、易懂,与真值的转换容易。 原码表示中0有两

6、种不同的表示形式,给使用带来了不便。通常0的原码用表示,若在计算过程中出现了,则需要用硬件将变为。 原码表示的加减运算复杂。,3.1 数值数据的表示,四、补码表示,时钟,逆时针,顺时针,可见 3 可用 + 9 代替,时钟以 12为模,减法 加法,称 + 9 是 3 以 12 为模的补数,结论,一个负数加上 “模” 即得该负数的补数,两个互为补数的数 它们绝对值之和即为 模 数,计数器(模 16), 1011,1011,0000,+ 0101,1011,10000,6.1,3.1 数值数据的表示,2. 补码的定义,整数,x 为真值,n 为整数的位数,如,x = +1010,x补 = 27+1 +

7、( 1011000 ),= 100000000,x补 = 0,1010,x = 1011000,1,0101000,用 逗号 将符号位 和数值位隔开,小数,x 为真值,x = + 0.1110,如,x补 = 0.1110,x = 0.1100000,1.0100000,x补 = 2+( 0.1100000 ),= 10.0000000,3.1 数值数据的表示,3. 特殊补码的表示 真值0的补码表示 纯小数: 0补=0.000 纯整数 : 0补=0000 -1和-2n的补码表示 纯小数的-1补码表示: -1补=1.000 纯整数-2n补码表示: -2n补=1000 (n个0),3.1 数值数据的

8、表示,4. 由真值、原码转换为补码 当X为正数时, X补= X原 当X为负数时, X补= X反+1,3.1 数值数据的表示,五、反码表示,整数,x反 =,0,x 2n x 0,( 2n+1 1) + x 0 x 2n( mod 2n+1 1),如,x = +1101,x反 = 0,1101,= 1,0010,x = 1101,x反 = (24+1 1) 1101,= 11111 1101,x 为真值,n 为整数的位数,小数,x = +0.1101,x反 = 0.1101,x = 0.1010,x反 = (2 2-4) 0.1010,= 1.0101,如,x反 =,x 1 x 0,( 2 2-n

9、) + x 0 x 1(mod 2 2-n),x 为真值,3.1 数值数据的表示,2. 反码的特点 在反码表示中,用符号位表示数值的正负,形式与原码表示相同,即“0”为正;“1”为负。 在反码表示中,数值0有两种表示方法。 纯小数0反码表示: +0反=0.000 ;-0反=1.111 纯整数0反码表示: +0反=0000 ;-0反=1111 反码的表示范围与原码的表示范围相同。注意:纯小数的反码不能表示,纯整数的反码不能表示。,3.2 数的定点表示与浮点表示,一、定点表示 1. 定点小数和定点整数,Sf S1S2 Sn,数符,数值部分,小数点位置,Sf S1S2 Sn,数符,数值部分,小数点位

10、置,或,定点机,小数定点机,整数定点机,原码,补码,反码,(1 2-n) +(1 2-n),(2n 1) +( 2n 1), 1 +(1 2-n),(1 2-n) +(1 2-n),(2n 1) +( 2n 1),3.2 数的定点表示与浮点表示,二、浮点表示 1. 浮点表示的数据格式,3.2 数的定点表示与浮点表示,2. 浮点数的规格化 目的在于: 为了提高运算精度,应尽可能占满尾数的位数,以保留更多的有效数字。 为了保证浮点数表示的唯一性。 规格化数表示形式: 尾数原码表示: S原 =Sf.S1S2Sn,其中S1=1 尾数补码表示: S补 =Sf.S1S2Sn,其中Sf与S1相反,3.2 数

11、的定点表示与浮点表示,三、浮点数阶码的移码表示法 移码具有以下特点: (1)在移码中,最高位为“0”表示负数,最高位为“1”表示 正数,这与原码、补码以及反码的符号位取值正好相反。 (2)移码全为0时,它所对应的真值最小;全为1时,它所对应的真值最大。因此,移码的大小直观地反映了真值的大小,这将有助于两个浮点数进行阶码的大小比较。 (3)真值0在移码中的表示形式也是惟一的,即。 (4)移码把真值映射到一个正数域,所以可将移码视为无符号数,直接按无符号数规则比较大小。 (5)同一数值的移码和补码除最高位相反外,其他各位相同。,(1) 移码定义,x 为真值,n 为 整数的位数,移码在数轴上的表示,

12、如,x = 10100,x移 = 25 + 10100,用 逗号 将符号位 和数值位隔开,x = 10100,x移 = 25 10100,= 1,10100,= 0,01100,(2) 移码和补码的比较,设 x = +1100100,x移 = 27 + 1100100,x补 = 0,1100100,设 x = 1100100,x移 = 27 1100100,x补 = 1,0011100,补码与移码只差一个符号位,= 1,1100100,= 0,0011100,1,0,0,1,(3) 真值、补码和移码的对照表,- 1 0 0 0 0 0, 0 0 0 0 0,+ 1 1 1 1 1,0 0 0

13、0 0 0,1 1 1 1 1 1,0 0 0 0 0 0,1 0 0 0 0 0,当 x = 0 时,+0移 = 25 + 0, 0移 = 25 0, +0移 = 0移,当 n = 5 时,最小的真值为 25, 100000移,可见,最小真值的移码为全 0,(4) 移码的特点,用移码表示浮点数的阶码,能方便地判断浮点数的阶码大小,= 1,00000,= 1,00000,= 100000,= 000000,= 25100000,3.2 数的定点表示与浮点表示,三、浮点数阶码的移码表示法浮点数的阶码常采用移码表示最主要的原因有: 便于比较浮点数的大小。阶码大的,其对应的真值就大,阶码小的,对应的

14、真值就小。 简化机器中的判零电路。当阶码全为0,尾数也全为0时,表示机器零。,3.2 数的定点表示与浮点表示,四、定点数与浮点数的比较 在字长相同的条件下,浮点表示的数据范围大,精度高。 浮点运算算法复杂,所需设备量大,运算速度慢。,3.3 文字数据的表示,一、字符与字符串的表示 1. ASCII码,b6b5b4,b3b2b1b0,3.3 文字数据的表示,2. 字符串数据,3.3 文字数据的表示,二、汉字的表示 汉字的输入编码 数字编码 拼音码 字形编码,3.3 文字数据的表示,2. 汉字内码 汉字内码是用于汉字信息存储、交换、检索等操作的机内代码,一般采用两个字节表示。英文字符的机内代码是7

15、位的ASCII码,当用一个字节表示时,最高位为“0”。为了与英文字符能相互区别,汉字机内代码中两个字节的最高位均规定为“1”。例如汉字操作系统CCDOS中使用的汉字内码是一种最高位为“1”的两字节内码。 有些系统中字节的最高位用于奇偶校验位,这种情况下用三个字节表示汉字内码。,3.3 文字数据的表示,3. 汉字字模码 字模码是用点阵表示的汉字字形代码,它是汉字的输出形式。,3.4 数据校验码,一、奇偶校验码 1. 奇偶校验概念 奇偶校验实现方法是:由若干位有效信息(如个字节),再加上一个二进制位(校验位)组成校验码。校验位的取值(0或1)将使整个校验码中“1”的个数为奇数或偶数,所以有两种可供

16、选择的校验规律: 奇校验整个校验码(有效信息位和校验位)中“1”的个数为奇数。 偶校验整个校验码中“1”的个数为偶数。,3.4 数据校验码,2. 简单奇偶校验,3.4 数据校验码,3. 交叉奇偶校验,3.4 数据校验码,二、海明校验码 海明校验码中校验位的位数 设有效信息位的位数为,校验位的位数为,则组成的海明校验码共长位。校验时,需进行组奇偶校验,将每组的奇偶校验结果组合,可以组成一个位的二进制数,共能够表示种状态。在这些状态中,必有一个状态表示所有奇偶校验都是正确的,用于判定所有信息均正确无误,剩下的种状态可以用来判定出错代码的位置。因为海明校验码共长位,所以校验位的位数与有效信息位的位数

17、应满足关系:,3.4 数据校验码,2. 海明校验码的编码方法 一个具有位有效信息的海明校验码可以按照下面的步骤进行编码: (1)将位有效信息和位校验位,构成位的海明校验码。设校验码各位编码的位号按从左向右(或从右向左)的顺序从1到排列,则规定校验位所在的位号分别为,有效信息位按原编码的排列次序安排在其他位号中。 以7位ASCII码的海明校验码为例,按ASCII码的有效信息位的排列为。根据表3-4,可知应选择校验位位数,这样构成的海明校验码共有7+4=11位。根据规定,4个校验位分别位于位号为的位置上,即位号为的位置上,相应地命名为,其中下标为校验位所在的位号,有效信息位依次排列在其余位上。编码

18、排列位置为:,3.5 小型案例实训,【案例1】海明校验码 【说明】有一个(7,4)码,写出代码0011的海明校验码。 【分析】根据海明校验码的编码方法和步骤,可以求解本例。 【解答】 确定海明校验位的位数,因为是(7,4)码,所以N=7,K=4,校验位的位数为3。 确定校验位的位置,位号(17)为2的权值的那些位,即20、21、22的位置作为校验位,即: 7 6 5 4 3 2 1 D3 D2 D1 P3 D0 P2 P1 分组, 校验位的形成 P1=D3D1D0=011=0 P2=D3D2D0=001=1 P3=D3D2D1=001=1 为了能检测两个错误,增加一位校验P4,放在最高位。 P

19、4=D3D2D1D0P1P2P3 =0011011=0 所以,信息码0011的海明校验码为:00011110。,3.6 本章小结,1.一个定点数由符号位和数值域两部分组成。按小数点位置不同,定点数有纯小数和纯整数两种表示方法。 2.按IEEE754标准,一个浮点数由符号位S、阶码E、尾数M三个域组成。其中阶码E的值等于指数的真值e加上一个固定偏移值。 3.数的真值变成机器码时有4种表示方法:原码表示法、反码表示法、补码表示法、移码表示法。其中移码主要用于表示浮点数的阶码E,以利于比较两个指数的大小和对阶操作。 4.字符信息属于符号数据,是处理非数值领域的问题。国际上采用的字符系统是7位的ASCII码。,3.7 学习加油站,3.7.1 答疑解惑 【问题1】浮点数的阶码为什么通常采用移码? 答:因为移码便于进行比较,也能适合于实现加减法操作。 【问题2】在检错码中,奇偶校验法能否定位发生错误的信息位?是否具有纠错功能? 答:奇偶校验法不能定位发生错误的信息位,奇偶校验法没有纠错能力。 【问题3】简述CRC码的纠错原理。 答:CRC码是一种纠错能力较强的编码。在进行校

温馨提示

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

评论

0/150

提交评论