计算机图形学 第二章 数据表示)_第1页
计算机图形学 第二章 数据表示)_第2页
计算机图形学 第二章 数据表示)_第3页
计算机图形学 第二章 数据表示)_第4页
计算机图形学 第二章 数据表示)_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

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

文档简介

1、1234X0X-(15-1X0X-(6若二进制原码小数的位数分别是若二进制原码小数的位数分别是8 8、1616位位, ,求其该数表示的最大值、最小值及所能求其该数表示的最大值、最小值及所能表示数的个数?表示数的个数?8位: 127/128,-127/128,25516位: 32767/32768 , -32767/32768 , 655357若二进制的位数分别是8、16,求其表示的最大值、最小值及表示数的个数8位: 127,-127,25516位: 32767 , -32767 , 655358910X0-111X0-12131415161718X X 19 20X X X1 1 = 0101

2、 0101= 0101 0101 X X1 1 补补=0101 0101=0101 0101 X X1 1 移移=1101 0101=1101 0101X X2 2 = -0101 0101= -0101 0101 X X2 2 补补=1010 1011=1010 1011 X X2 2 移移=0010 1011=0010 1011212223242526272829X补补=00101100,Y补补=00110101 X补补=0 0 1 0 1 1 0 0 + Y补补=0 0 1 1 0 1 0 110000110 X+Y= + 973031323334353637383940414243计算

3、机组成原理计算机组成原理442.2 机器数的定点表示与浮点表示机器数的定点表示与浮点表示 2.2.1 定点表示法定点表示法 在定点表示法中约定:所有数据的小数在定点表示法中约定:所有数据的小数点位置固定不变。通常,把小数点固定在有点位置固定不变。通常,把小数点固定在有效数位的最前面或末尾,这就形成了两类定效数位的最前面或末尾,这就形成了两类定点数。点数。1.定点小数定点小数 小数点的位置固定在最高有效数位之前,小数点的位置固定在最高有效数位之前,符号位之后,记作符号位之后,记作Xs.X1X2Xn,这个数是一这个数是一个纯小数。定点小数的小数点位置是隐含约个纯小数。定点小数的小数点位置是隐含约定

4、的,小数点并不需要真正地占据一个二进定的,小数点并不需要真正地占据一个二进制位。制位。计算机组成原理计算机组成原理452 20 0 2 2-1 -1 2 2-2 -2 2 2-(n-1)-(n-1)2 2-n-n2.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 当当Xs=0,X1Xn=1时,时,X为最大正数,即:为最大正数,即:X最大正数最大正数 =(1-2-n)。1 1最大正数最大正数1 11 11 10 0定点小数格式定点小数格式小数点位置小数点位置X Xs sX X1 1X Xn nX X2 2X Xn-1n-12 20 0 2 2-1 -1 2 2-2 -2 2 2-(n-

5、1)-(n-1)2 2-n-n注意计算机组成原理计算机组成原理462 20 0 2 2-1 -1 2 2-2 -2 2 2-(n-1)-(n-1)2 2-n-n2.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 最小正数最小正数0 00 01 10 00 0定点小数格式定点小数格式小数点位置小数点位置X Xs sX X1 1X Xn nX X2 2X Xn-1n-12 20 0 2 2-1 -1 2 2-2 -2 2 2-(n-1)-(n-1)2 2-n-n 当当Xn=1,XsXn-1=0时,时,X为最小正数,为最小正数,即:即:X最小正数最小正数 =2-n。注意计算机组成原理计算机

6、组成原理472.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 当当Xs=1Xs=1,表示,表示X X为负数,此时情况要稍微复为负数,此时情况要稍微复杂一些,这是因为在计算机中带符号数可用补杂一些,这是因为在计算机中带符号数可用补码表示,也可用原码表示。码表示,也可用原码表示。原码与补码所能表示的绝对值最大的负数原码与补码所能表示的绝对值最大的负数是有区别的,所以原码和补码的表示范围有一是有区别的,所以原码和补码的表示范围有一些差别。些差别。计算机组成原理计算机组成原理482 20 0 2 2-1 -1 2 2-2 -2 2 2-(n-1)-(n-1)2 2-n-n2 20 0 2

7、2-1 -1 2 2-2 -2 2 2-(n-1)-(n-1)2 2-n-n2.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 原码表示的绝原码表示的绝对值最大负数对值最大负数11111 X绝对值最大负数绝对值最大负数(原码表示时)原码表示时)=-(1-2-n)补码表示的绝补码表示的绝对值最大负数对值最大负数10000X绝对值最大负数(补码表示时)绝对值最大负数(补码表示时)=-1注意计算机组成原理计算机组成原理49 综上所述:综上所述: 若机器字长有若机器字长有n+1位,则:位,则:原码定点小数表示范围为原码定点小数表示范围为:-(1-2-n)(1-2-n)补码定点小数表示范围为:

8、补码定点小数表示范围为:-1(1-2-n) 若机器字长有若机器字长有8位,则:位,则:原码定点小数表示范围为原码定点小数表示范围为:-(1-2-7)(1-2-7)补码定点小数表示范围为:补码定点小数表示范围为:-1(1-2-7)2.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 计算机组成原理计算机组成原理502 2n n 2 2n-1 n-1 2 2n-2 n-2 2 21 1 2 20 02.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 2.定点整数定点整数 小数点位置隐含固定在最低有效数位之小数点位置隐含固定在最低有效数位之后,记后,记作作XsX1X2Xn,这个数是

9、一个纯整数。这个数是一个纯整数。定点整数格式定点整数格式小数点位置小数点位置X Xs sX X1 1X Xn nX X2 22 2n n 2 2n-1 n-1 2 2n-2 n-2 2 20 01 1最大正数最大正数1 11 11 10 0X最大正数最大正数 =(2n-1)注意计算机组成原理计算机组成原理512 2n n 2 2n-1 n-1 2 2n-2 n-2 2 21 1 2 20 02 2n n 2 2n-1 n-1 2 2n-2 n-2 2 21 1 2 20 02 2n n 2 2n-1 n-1 2 2n-2 n-2 2 21 1 2 20 02.2 机器机器数的定点表示与浮点表示

10、数的定点表示与浮点表示X绝对值最大负数(原码表示时)绝对值最大负数(原码表示时)=-(2n-1)最小正数最小正数0 00 01 10 00 0X最小正数最小正数 =1X绝对值最大负数(补码表示时)绝对值最大负数(补码表示时)=-2n原码表示的绝原码表示的绝对值最大负数对值最大负数11111补码表示的绝补码表示的绝对值最大负数对值最大负数10000注意注意计算机组成原理计算机组成原理52 综上所述:综上所述: 若机器字长若机器字长有有n+1位,则:位,则:原码定点整数的表示范围为:原码定点整数的表示范围为:-(2n-1)(2n-1)补码定点整数的表示范围为补码定点整数的表示范围为:-2n (2n

11、-1) 若机器字长有若机器字长有8位,则:位,则:原码定点整数表示范围为:原码定点整数表示范围为:-127127补码定点整数表示范围为:补码定点整数表示范围为:-1281272.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 计算机组成原理计算机组成原理532.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 2.2.2 浮点表示法浮点表示法 小数点的位置根据需要而浮动,这就是小数点的位置根据需要而浮动,这就是浮点数。例如:浮点数。例如: N=MrE 式中:式中:r为浮点数阶码的底,与尾数的基为浮点数阶码的底,与尾数的基数相同,通常数相同,通常r=2。E和和M都是带符号数,都

12、是带符号数,E叫叫做阶码做阶码,M叫做尾数叫做尾数。在大多数计算机中,尾在大多数计算机中,尾数为纯小数,常用原码或补码表示;阶码为纯数为纯小数,常用原码或补码表示;阶码为纯整数,常用移码或补码表示。整数,常用移码或补码表示。=M2E计算机组成原理计算机组成原理542.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 浮点数的一般格式:浮点数的一般格式: 浮点数的底是隐含的,在整个机器数中不浮点数的底是隐含的,在整个机器数中不出现。阶码的符号位为出现。阶码的符号位为es,阶码的大小反映了阶码的大小反映了在数在数N中小数点的实际位置;尾数的符号位为中小数点的实际位置;尾数的符号位为ms,它

13、是整个浮点数的符号位,反映了该浮点它是整个浮点数的符号位,反映了该浮点数的正负。数的正负。 假设阶码和尾数部分均用补码表示。假设阶码和尾数部分均用补码表示。e es se em mm ms s阶码部分阶码部分E E尾数部分尾数部分M MK位位N位位1位位1位位计算机组成原理计算机组成原理55阶码部分阶码部分E E尾数部分尾数部分M Mesms2 2-1 -1 2 2-(n-1)-(n-1)2 2-n-n2 2k-1 k-1 2 20 02.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示00111111.浮点数的表示范围浮点数的表示范围 当当es=0,ms=0,阶码和尾数的数值位各阶码

14、和尾数的数值位各位全为位全为1(即阶码和尾数都为最大正数)时,(即阶码和尾数都为最大正数)时,该浮点数为最大正数。该浮点数为最大正数。X最大正数最大正数=(1-2-n)22k-1注意计算机组成原理计算机组成原理56阶码部分阶码部分E E尾数部分尾数部分M Mesms2 2-1 -1 2 2-(n-1)-(n-1)2 2-n-n2 2k-1 k-1 2 20 02.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 当当es=1,ms=0,尾数的最低位尾数的最低位mn=1,其其余各位为余各位为0(即阶码为绝对值最大负数,尾数(即阶码为绝对值最大负数,尾数为最小正数)时,该浮点数为最小正数。

15、为最小正数)时,该浮点数为最小正数。1100000X最小正数最小正数=2-n2-2k注意计算机组成原理计算机组成原理57阶码部分阶码部分E E尾数部分尾数部分M Mesms2 2-1 -1 2 2-(n-1)-(n-1)2 2-n-n2 2k-1 k-1 2 20 02.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 当当es=0,阶码的数值位为全阶码的数值位为全1;ms=1,尾数的数值位为全尾数的数值位为全0(即阶码为最大正数,尾(即阶码为最大正数,尾数为绝对值最大的负数)时,该浮点数为绝数为绝对值最大的负数)时,该浮点数为绝对值最大负数。对值最大负数。 1110000X绝对值最大

16、负数绝对值最大负数=-122k-1注意计算机组成原理计算机组成原理582.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 2.规格化的浮点数规格化的浮点数 为了提高运算的精度,需要充分地利用为了提高运算的精度,需要充分地利用尾数的有效数位,通常采取规格化的浮点数尾数的有效数位,通常采取规格化的浮点数形式,即规定形式,即规定尾数的最高数位必须是一个有尾数的最高数位必须是一个有效值效值。 1/r |M| 1 如果如果r=2,则有则有1/2|M|1。 计算机组成原理计算机组成原理592.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示尾数用原码表示时,规格化浮点数的尾数的最高尾数用

17、原码表示时,规格化浮点数的尾数的最高数位总等于数位总等于1 1。在尾数用补码表示时,规格化浮点数。在尾数用补码表示时,规格化浮点数应满足应满足尾数最高数位与符号位不同尾数最高数位与符号位不同(msm1 =1msm1 =1),),即当即当1/21/2M M1 1时,应有时,应有0.1xxx0.1xxx形式,当形式,当-1-1M M- -1/21/2时,应有时,应有1.0 xxx1.0 xxx形式。形式。需要注意,当需要注意,当M=-1/2M=-1/2,对于原码来说,是规格化,对于原码来说,是规格化数,而对于补码来说,不是规格化数;当数,而对于补码来说,不是规格化数;当M=-1M=-1时,对时,对

18、于原码来说,这将无法表示,而对于补码来说,这是于原码来说,这将无法表示,而对于补码来说,这是一个规格化数。一个规格化数。计算机组成原理计算机组成原理60阶码部分阶码部分E E尾数部分尾数部分M Mesms2 2-1 -1 2 2-(n-1)-(n-1)2 2-n-n2 2k-1 k-1 2 20 0阶码部分阶码部分E E尾数部分尾数部分M Mesms2 2-1 -1 2 2-(n-1)-(n-1)2 2-n-n2 2k-1 k-1 2 20 02.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 X规格化的最小正数规格化的最小正数=2-12-2k00011111 X规格化的绝对值最小负

19、数规格化的绝对值最小负数= -(2-1+2-n)2-2k01000100注意注意计算机组成原理计算机组成原理612.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 计算机组成原理计算机组成原理622.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 2.2.3 浮点数阶码的移码表示法浮点数阶码的移码表示法 移码就是移码就是在真值在真值X上加一个常数(偏置上加一个常数(偏置值),相当于值),相当于X在数轴上向正方向平移了一在数轴上向正方向平移了一段距离,这就是段距离,这就是“移码移码”一词的来由,移码一词的来由,移码也可称为增码或偏码。也可称为增码或偏码。 X移移=偏置值偏置值

20、+X 字 长字 长 n+ 1 位 定 点 整 数 的 移 码 形 式 为位 定 点 整 数 的 移 码 形 式 为X0X1X2Xn。计算机组成原理计算机组成原理632.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 最常见的移码的偏置最常见的移码的偏置值为值为2n。当字长当字长8位位时,偏置值为时,偏置值为27。 例例1:X=1011101 X移移=27+X=10000000+1011101=11011101 X补补=01011101 例例2:X=-1011101 X移移= 27 +X=10000000-1011101=00100011 X补补=10100011计算机组成原理计算机组

21、成原理64 2.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示计算机组成原理计算机组成原理65 2.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示偏置值为偏置值为2 2n n的移码的移码具有以下特点:具有以下特点: 在移码中,最高位为在移码中,最高位为“0”0”表示负数,最高位表示负数,最高位为为“1”1”表示正数。表示正数。 移码为全移码为全0 0时,它所对应的真值最小,为全时,它所对应的真值最小,为全1 1时,它所对应的真值最大。时,它所对应的真值最大。 真值真值0 0在移码中的表示形式是唯一的,即在移码中的表示形式是唯一的,即+0+0移移=-0=-0移移= =1000

22、1000。 移码把真值映射到一个正数域,所以可将移移码把真值映射到一个正数域,所以可将移码视为无符号数,直接按无符号数规则比较大小。码视为无符号数,直接按无符号数规则比较大小。计算机组成原理计算机组成原理66 2.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 同一数值的移码和补码除最高位相反外,同一数值的移码和补码除最高位相反外,其他各位相同。其他各位相同。 浮点数的阶码常采用移码表示最主要的原因浮点数的阶码常采用移码表示最主要的原因有:有:便于比较浮点数的大小。阶码大的,其对应的便于比较浮点数的大小。阶码大的,其对应的真值就大,阶码小的,对应的真值就小。真值就大,阶码小的,对应的

23、真值就小。简化机器中的判零电路。当阶码全为简化机器中的判零电路。当阶码全为0 0,尾数也,尾数也全全为为0 0时,表示机器零。时,表示机器零。注意计算机组成原理计算机组成原理672.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 2.2.4 定点/浮点表示法与定点/浮点计算机1.1.定点定点/ /浮点表示法的区别浮点表示法的区别假设定点数和浮点数的字长相同。假设定点数和浮点数的字长相同。(1)(1)数值的表示范围数值的表示范围浮点表示法所能表示的数值范围将远远浮点表示法所能表示的数值范围将远远大于定点数。大于定点数。计算机组成原理计算机组成原理682.2 机器机器数的定点表示与浮点表

24、示数的定点表示与浮点表示 应当注意的有两点:不管定点数还是浮点数,每个数值都对应于数轴不管定点数还是浮点数,每个数值都对应于数轴上的一个点。所谓数的表示范围实际上指的只是数的上的一个点。所谓数的表示范围实际上指的只是数的上、下限,它们之间是一些不连续的点,而不是一段上、下限,它们之间是一些不连续的点,而不是一段连续的区间。连续的区间。对于定点数而言,各个点在数轴上的分布是均匀对于定点数而言,各个点在数轴上的分布是均匀的;而对于浮点数而言,各个点在数轴上的分布是不的;而对于浮点数而言,各个点在数轴上的分布是不均匀的,越靠近数轴的原点,两个相邻数之间的距离均匀的,越靠近数轴的原点,两个相邻数之间的

25、距离就越近。就越近。计算机组成原理计算机组成原理692.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 (2)(2)精度精度浮点数虽然扩大了数的表示范围,但这浮点数虽然扩大了数的表示范围,但这正是以降低精度为代价的,也就是数轴上各正是以降低精度为代价的,也就是数轴上各点的排列更稀疏了。点的排列更稀疏了。(3)(3)数的运算数的运算浮点运算要比定点运算复杂得多。浮点运算要比定点运算复杂得多。计算机组成原理计算机组成原理702.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 (4)(4)溢出处理溢出处理在定点运算时,当运算结果超出数的表在定点运算时,当运算结果超出数的表示范围,

26、就发生溢出。示范围,就发生溢出。而在浮点运算时,运算结果超出尾数的而在浮点运算时,运算结果超出尾数的表示范围却并不一定溢出,只有当阶码超出表示范围却并不一定溢出,只有当阶码超出所能表示的范围时,才发生溢出。所能表示的范围时,才发生溢出。计算机组成原理计算机组成原理712.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示2.定点机与浮点机 并不是所有的计算机都具有浮点运算功能,通常并不是所有的计算机都具有浮点运算功能,通常可以分为几档:可以分为几档:(1)(1)定点机定点机 以定点运算为主,浮点运算通过软件来实现的。以定点运算为主,浮点运算通过软件来实现的。(2)(2)定点机浮点运算部件

27、定点机浮点运算部件 浮点运算部件(浮点运算部件(FPUFPU)是专门用于对浮点数进行运)是专门用于对浮点数进行运算的部件。算的部件。(3)(3)浮点机浮点机 具有浮点运算指令和基本的浮点运算器。具有浮点运算指令和基本的浮点运算器。计算机组成原理计算机组成原理722.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 2.2.5 实用浮点数举例实用浮点数举例 大多数计算机的浮点数采用大多数计算机的浮点数采用IEEE 754标标准,其格式如下准,其格式如下,IEEE754标准中有三种形标准中有三种形式的浮点数。式的浮点数。msEm类型类型 数符数符 m ms s 阶码阶码 E E 尾数尾数

28、m m 总位数总位数 偏偏置值置值 短浮点数短浮点数 1 1 8 8 2323 3232 7FH7FH 127127 长浮点数长浮点数 1 1 1111 5252 6464 3FFH3FFH 10231023 临时浮点数临时浮点数 1 1 1515 6464 8080 3FFFH3FFFH 1638316383 计算机组成原理计算机组成原理73 2.2 机器机器数的定点表示与浮点表示数的定点表示与浮点表示 以短浮点数为例讨论浮点代码与其真值之间的关以短浮点数为例讨论浮点代码与其真值之间的关系。最高位为数符位;其后是系。最高位为数符位;其后是8 8位阶码,以位阶码,以2 2为底,阶为底,阶码的偏

29、置值为码的偏置值为127127;其余;其余2323位是尾数。位是尾数。为使尾数部分能表示更多一位的有效值,为使尾数部分能表示更多一位的有效值,IEEE754IEEE754采用采用隐含尾数最高数位隐含尾数最高数位1 1(即这一位(即这一位1 1不表示出来)的不表示出来)的方法,因此尾数实际上是方法,因此尾数实际上是2424位。位。应注意的是,应注意的是,隐含的隐含的1 1是一位整数(即位权为是一位整数(即位权为2 20 0),在浮点格式中表示出来的在浮点格式中表示出来的2323位尾数是纯小数,并用原位尾数是纯小数,并用原码表示。码表示。计算机组成原理计算机组成原理742.2 机器机器数的定点表示

30、与浮点表示数的定点表示与浮点表示 例例1:将:将(100.25)10转换成短浮点数格式。转换成短浮点数格式。 十进制数十进制数二进制数二进制数 (100.25)10=(1100100.01)2 非规格化数非规格化数规格化数规格化数 1100100.01=1.1001000126 计算移码表示的阶码(偏置值阶码真值)计算移码表示的阶码(偏置值阶码真值) 1111111+110=10000101 以短浮点数格式存储该数。以短浮点数格式存储该数。 符号位符号位=0 阶码阶码=10000101 尾数尾数=10010001000000000000000计算机组成原理计算机组成原理752.2 机器机器数的

31、定点表示与浮点表示数的定点表示与浮点表示 短浮点数代码为短浮点数代码为 0;100 0010 1;100 1000 1000 0000 0000 0000 表示为十六进制的代码:表示为十六进制的代码:42C88000H。 例例2:把短浮点数:把短浮点数C1C90000H转换成为十进转换成为十进制数。制数。 十六进制十六进制二进制形式,并分离出符号位、二进制形式,并分离出符号位、阶码和尾数。阶码和尾数。 C1C90000H= 1;10000011;10010010000000000000000阶码阶码符号位符号位尾数尾数计算机组成原理计算机组成原理762.2 机器机器数的定点表示与浮点表示数的定

32、点表示与浮点表示 计算出阶码真值(移码偏置值)计算出阶码真值(移码偏置值) 10000011-1111111=100 以规格化二进制数形式写出此数以规格化二进制数形式写出此数 1.100100124 写成非规格化二进制数形式写成非规格化二进制数形式 11001.001 转换成十进制数,并加上符号位。转换成十进制数,并加上符号位。 (11001.001)2=(25.125)10 所以,该浮点数所以,该浮点数=-25.125计算机组成原理计算机组成原理772.5 现代微机系统中的数据表示举例现代微机系统中的数据表示举例现代微机系统大多采用现代微机系统大多采用IntelIntel系列的微处理器,系列

33、的微处理器,近年来近年来,IntelIntel的微处理器有了极大的发展,从的微处理器有了极大的发展,从8038680386到到8048680486、奔腾(也称为、奔腾(也称为8058680586)、直至最新的)、直至最新的奔腾系列,形成了奔腾系列,形成了IAIA(Intel ArchitectureIntel Architecture)结构)结构。下面以下面以IA-32IA-32结构结构为例,介绍现代微机系统的数据为例,介绍现代微机系统的数据表示。表示。IA-32IA-32结构的基本数据类型分为字节、字、双字结构的基本数据类型分为字节、字、双字(DWORDDWORD)、四字()、四字(QWOR

34、DQWORD)和双四字()和双四字(DQWORDDQWORD)。)。计算机组成原理计算机组成原理782.5 现代微机系统中的数据表示举例现代微机系统中的数据表示举例070000字节字双字四字双四字低四字高四字低双字高双字低字高字低字节高字节15316312763643132151678NNNNNN+1N+2N+4N+8计算机组成原理计算机组成原理792.5 现代微机系统中的数据表示举例现代微机系统中的数据表示举例1、无符号整数 无符号整数是包含字节、字、双字和四字的无符无符号整数是包含字节、字、双字和四字的无符号的二进制数。无符号整数的范围,对于字节,从号的二进制数。无符号整数的范围,对于字节

35、,从0 0255255;对字,从;对字,从0 06553565535;对于双字,从;对于双字,从0 02 232-132-1;对于四字,从对于四字,从0 02 264-164-1。 当在主存中存储无符号整数时,字存放在当在主存中存储无符号整数时,字存放在任何字任何字节地址开始节地址开始2 2个连续字节中;双字存放在个连续字节中;双字存放在4 4个连续字节个连续字节中;四字存放在中;四字存放在8 8个连续的字节中。个连续的字节中。计算机组成原理计算机组成原理802.5 现代微机系统中的数据表示举例现代微机系统中的数据表示举例2、带符号整数 带符号整数是包含字节、字、双字和四字的带符带符号整数是包

36、含字节、字、双字和四字的带符号的二进制定点整数。号的二进制定点整数。所有带符号整数的数据类型都所有带符号整数的数据类型都以补码形式表示,符号位是最高位(以补码形式表示,符号位是最高位(MSBMSB)。)。正数的正数的符号位为符号位为0 0,负数的符号位为,负数的符号位为1 1。带符号整数的范围,。带符号整数的范围,对于字节,从对于字节,从-128-128+127+127;对于字,从;对于字,从-32768-32768+32767+32767;对于双字,从;对于双字,从-2-23131+2+231-131-1;对于四字,从;对于四字,从- -2 26363+2+263-163-1。 当在主存中存

37、储当在主存中存储带符号带符号整数时,字存放在整数时,字存放在2 2个连个连续字节中;双字存放在续字节中;双字存放在4 4个连续字节中;四字存放在个连续字节中;四字存放在8 8个连续的字节中。个连续的字节中。计算机组成原理计算机组成原理81 2.5 现代微机系统中的数据表示举例现代微机系统中的数据表示举例3、浮点数 IA-32IA-32结构定义了三种浮点数据类型:单结构定义了三种浮点数据类型:单精度浮点数(短浮点数)、双精度浮点数(长精度浮点数(短浮点数)、双精度浮点数(长浮点数)和扩展精度浮点数(临时浮点数)。浮点数)和扩展精度浮点数(临时浮点数)。 这些数据类型的格式与这些数据类型的格式与I

38、EEE 754IEEE 754标准所标准所规定的格式直接对应,在此不再重复。规定的格式直接对应,在此不再重复。计算机组成原理计算机组成原理822.5 现代微机系统中的数据表示举例现代微机系统中的数据表示举例4.指针数据指针数据 指针是主存单元的地址,指针是主存单元的地址,IA-32 结构定结构定义了两种类型的指针:近指针和远指针。义了两种类型的指针:近指针和远指针。 近指针即近指针即32位指针,是一个位指针,是一个32位的段内位的段内偏移量,段内寻址时用。偏移量,段内寻址时用。 远指针即远指针即48位指针,由位指针,由16位选择符和位选择符和32位偏移量组成,用于跨段访问。位偏移量组成,用于跨

39、段访问。 0031313247段选择符偏移量偏移量近指针远指针计算机组成原理计算机组成原理832.5 现代微机系统中的数据表示举例现代微机系统中的数据表示举例5、串数据串是位、字节、字或双字的连续序列。串串是位、字节、字或双字的连续序列。串数据包括位串和字节串。数据包括位串和字节串。位串是指连续的位,它能从任一字节的任位串是指连续的位,它能从任一字节的任一位置开始,位串长度可达一位置开始,位串长度可达2 232-132-1位。字节串包位。字节串包含连续的字节、字或双字,长度为含连续的字节、字或双字,长度为0 02 232-132-1字节字节(4G4G字节)。字节)。计算机组成原理计算机组成原理

40、842.5 现代微机系统中的数据表示举例现代微机系统中的数据表示举例IA-32 IA-32 结构中所指的结构中所指的BCDBCD码实际上是指码实际上是指NBCDNBCD码(即码(即84218421码)。码)。BCDBCD数分成压缩的数分成压缩的BCDBCD数数和非压缩的和非压缩的BCDBCD数两种。数两种。压缩压缩BCDBCD数是每字节包含两位十进制数,数是每字节包含两位十进制数,其低位在其低位在3 30 0位上,高位在位上,高位在7 74 4位上;而非压位上;而非压缩的缩的BCDBCD数每个字节仅包含一位十进制数,在数每个字节仅包含一位十进制数,在3 30 0位上。位上。计算机组成原理计算机

41、组成原理852.6 数据校验数据校验码码数据校验码是指那些能够发现错误或能够自动纠数据校验码是指那些能够发现错误或能够自动纠正错误的数据编码,又称之为正错误的数据编码,又称之为“检错纠错编码检错纠错编码”。 任何一种编码都由许多码字构成,任意两个码字任何一种编码都由许多码字构成,任意两个码字之间最少变化的二进制位数,被称为之间最少变化的二进制位数,被称为数据校验码的码数据校验码的码距距。例如,用四位二进制表示。例如,用四位二进制表示1616种状态,则有种状态,则有1616个不个不同的码字,此时码距为同的码字,此时码距为1 1,即两个码字之间最少仅有,即两个码字之间最少仅有一个二进制位不同(如一

42、个二进制位不同(如00000000与与00010001之间)。这种编码之间)。这种编码没有检错能力,因为当某一个合法码字中有一位或几没有检错能力,因为当某一个合法码字中有一位或几位出错,就变成为另一个合法码字了。位出错,就变成为另一个合法码字了。计算机组成原理计算机组成原理862.6 数据校验码数据校验码具有检、纠错能力的数据校验码的实现原理是:具有检、纠错能力的数据校验码的实现原理是:在编码中,除去合法的码字外,再加进一些非法的码在编码中,除去合法的码字外,再加进一些非法的码字,当某个合法码字出现错误时,就变为非法码字。字,当某个合法码字出现错误时,就变为非法码字。合理地安排非法码字的数量和

43、编码规则,就能达到纠合理地安排非法码字的数量和编码规则,就能达到纠错的目的。错的目的。例如,若用四位二进制表示八个状态,其中只有例如,若用四位二进制表示八个状态,其中只有八个码字是合法码字,而另八个码字为非法码字,此八个码字是合法码字,而另八个码字为非法码字,此时码距为时码距为2 2。对于码距。对于码距2 2的数据校验码,开始具有检的数据校验码,开始具有检错的能力。码距越大,检、纠错能力就越强,而且检错的能力。码距越大,检、纠错能力就越强,而且检错能力总是大于或等于纠错能力。错能力总是大于或等于纠错能力。计算机组成原理计算机组成原理872.6 数据校验数据校验码码2.6.1 奇偶校验码1.1.

44、奇偶校验概念奇偶校验概念 奇偶校验码是一种最简单的数据校验码,它可以奇偶校验码是一种最简单的数据校验码,它可以检测出检测出一位一位(或奇数位)错误。奇偶校验码的码距等(或奇数位)错误。奇偶校验码的码距等于于2 2。 奇偶校验实现方法是:由若干位有效信息(如一奇偶校验实现方法是:由若干位有效信息(如一个字节),再加上一个二进制位(校验位)组成校验个字节),再加上一个二进制位(校验位)组成校验码,然后根据校验码的奇偶性质进行校验。码,然后根据校验码的奇偶性质进行校验。 奇偶校验码(奇偶校验码(N+1N+1位)位)=N=N位信息位位信息位+1+1位校验位。位校验位。计算机组成原理计算机组成原理88N

45、 N位位1 1位位2.6 数据校验数据校验码码奇偶校验位奇偶校验位计算机组成原理计算机组成原理89N N位位1 1位位2.6 数据校验数据校验码码奇偶校验码奇偶校验码计算机组成原理计算机组成原理902.6 数据校验码数据校验码 校验位的取值(校验位的取值(0或或1)将使整个校验码中)将使整个校验码中“1”的个数为奇数或偶数,所以有两种可供选择的校验的个数为奇数或偶数,所以有两种可供选择的校验规律:规律: 奇校验奇校验整个校验码(有效信息位和校验位)整个校验码(有效信息位和校验位)中中“1”的个数为奇数的个数为奇数。 偶校验偶校验整个校验码中整个校验码中“1”的个数为偶数的个数为偶数。有效信息有

46、效信息(8 8 位)位)奇检验码奇检验码(9 9 位)位)偶检验码偶检验码(9 9 位)位)00000000000000001 100000000000000000 0000000000000000001010001010100010 001010001010100011 1010100010101000101111111011111110 001111111011111111 1011111110111111111111111111111111 111111111111111110 01111111111111111计算机组成原理计算机组成原理91CPU奇偶奇偶校验校验电路电路主存主存2.6

47、 数据校验码数据校验码8位位8位位9位位9位位0101010101010101101010101110101010101010101101010101101010111101010111有有4个个1有有5个个1正确正确出错出错有有6个个1中断处理中断处理计算机组成原理计算机组成原理922.6 数据校验码数据校验码2.简单奇偶校验(以奇校验为例)(1)(1)校验位形成校验位形成 当要把一个字节的代码当要把一个字节的代码D7D7D0D0写入主存时,就同写入主存时,就同时将它们送往奇偶校验逻辑电路,该电路产生的时将它们送往奇偶校验逻辑电路,该电路产生的“奇奇形成形成”信号就是校验位。它将与信号就是校

48、验位。它将与8 8位代码一起作为奇位代码一起作为奇校验码写入主存。校验码写入主存。 若若D7D7D0D0中有中有偶数偶数个个“1”1”,则,则“奇形成奇形成”=1=1, 若若D7D7D0D0中有中有奇数奇数个个“1”1”,则,则“奇形成奇形成”=0=0。计算机组成原理计算机组成原理932.6 数据校验码数据校验码D7D6D5D4D3D2D1D0D校奇形成偶校验出错奇校验出错偶形成AB=1=1=1=1=1=1=1=111计算机组成原理计算机组成原理942.6 数据校验码数据校验码(2)(2)校验检测校验检测 读出时,将读出的读出时,将读出的9 9位代码(位代码(8 8位信息位和位信息位和1 1位

49、校验位)同时送入奇偶校验电路检测。位校验位)同时送入奇偶校验电路检测。若读出代码无错,则若读出代码无错,则“奇校验出错奇校验出错”=0=0;若读出代码中的某一位上出现错误,则若读出代码中的某一位上出现错误,则“奇校奇校验出错验出错”=1=1,从而指示这个,从而指示这个9 9位代码中一定有位代码中一定有某一位出现了错误,但具体的错误位置是不能某一位出现了错误,但具体的错误位置是不能确定的。确定的。计算机组成原理计算机组成原理952.6 数据校验码数据校验码3.交叉奇偶校验 通信设备在进行大量字节(数据块)传送通信设备在进行大量字节(数据块)传送时,不仅每一个字节有一个奇偶校验位做横向时,不仅每一

50、个字节有一个奇偶校验位做横向校验,而且全部字节的同一位也设置一个奇偶校验,而且全部字节的同一位也设置一个奇偶校验位做纵向校验,这种横向、纵向同时校验校验位做纵向校验,这种横向、纵向同时校验的方法称为交叉校验。的方法称为交叉校验。计算机组成原理计算机组成原理962.6 数据校验码数据校验码2.6.2 海明校验码海明校验码 海明码实际上是一种多重奇偶校验,海明码实际上是一种多重奇偶校验,其实现原理是:在有效信息位中加入几个其实现原理是:在有效信息位中加入几个校验位形成海明码,并把海明码的每一个校验位形成海明码,并把海明码的每一个二进制位分配到几个奇偶校验组中。当某二进制位分配到几个奇偶校验组中。当

51、某一位出错后,就会引起有关的几个校验位一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错误,还的值发生变化,这不但可以发现错误,还能指出错误的位置,为自动纠错提供了依能指出错误的位置,为自动纠错提供了依据。据。计算机组成原理计算机组成原理972.6 数据校验码数据校验码 (1)编码编码 一个字节由一个字节由8位二进制位组成,此时位二进制位组成,此时N=8,K=5,故海明码的总位数为故海明码的总位数为13位,可表示为:位,可表示为: H13 H12 H2 H1 五个校验位五个校验位P5P1对应的海明码位号应对应的海明码位号应分别为:分别为:H13 、H8 、H4 、H2 、H1

52、,除,除P5 外,外,其余四位都满足其余四位都满足Pi的位号等于的位号等于2i-1的关系,而的关系,而P5只能放在只能放在H13上,因为它已经是海明码的最上,因为它已经是海明码的最高位了。因此,有如下排列关系:高位了。因此,有如下排列关系: P5 D8 D7 D6 D5 P4 D4 D3 D2 P3 D1 P2 P1 计算机组成原理计算机组成原理982.6 数据校验码数据校验码 各个信息位形成各个信息位形成Pi 值的偶校验的结果:值的偶校验的结果: P1=D1 D2 D4 D5 D7 P2=D1 D3 D4 D6 D7 P3=D2 D3 D4 D8 P4=D5 D6 D7 D8 依据各信息位形

53、成依据各信息位形成Pi(i=14)值时,值时,不同信息位出现在不同信息位出现在Pi项中的次数是不一样的,项中的次数是不一样的,其中其中D4和和D7都出现三次,而都出现三次,而D1、D2、D3、D5、D6、D8仅出现两次,为此,还要补充一仅出现两次,为此,还要补充一位位P5校验位,使:校验位,使: P5=D1 D2 D3 D5 D6 D8计算机组成原理计算机组成原理992.6 数据校验码数据校验码 (2)校验校验 将接收到的海明码按如下关系进行偶将接收到的海明码按如下关系进行偶校验:校验: S1=P1 D1 D2 D4 D5 D7 S2=P2 D1 D3 D4 D6 D7 S3=P3 D2 D3

54、 D4 D8 S4=P4 D5 D6 D7 D8 S5=P5 D1 D2 D3 D5 D6 D8 校验得到的结果值校验得到的结果值S5S1(指误字),指误字),它能反映它能反映13位海明码的出错情况:位海明码的出错情况:计算机组成原理计算机组成原理1002.6 数据校验码数据校验码 当当S5S1为为00000时,表明无错时,表明无错。 当当S5S1中仅有一位不为中仅有一位不为0,表明是某一,表明是某一校验位出错或三位海明码(包括信息位和校校验位出错或三位海明码(包括信息位和校验位)同时出错。验位)同时出错。 当当S5S1中有两位不为中有两位不为0,表明是两位海,表明是两位海明码同时出错,此时只

55、能发现错误,而无法明码同时出错,此时只能发现错误,而无法确定出错的位置。确定出错的位置。 当当S5S1中中有三位不为有三位不为0,表明是一位信,表明是一位信息位出错或三位校验位同时出错,出错位的息位出错或三位校验位同时出错,出错位的位号位号由由S4S1四位编码值指明四位编码值指明,此时不仅能,此时不仅能检查出一位错,而且能准确地定位,因此可检查出一位错,而且能准确地定位,因此可以纠正这个错误(将该位变反)。以纠正这个错误(将该位变反)。计算机组成原理计算机组成原理1012.6 数据校验码数据校验码 当当S5S1中有四位或五位不为中有四位或五位不为0时,表明时,表明出错情况严重,系统工作可能出现

56、故障,出错情况严重,系统工作可能出现故障,应检查系统硬件的正确性。应检查系统硬件的正确性。 当当五个五个Si位有三个为位有三个为1时,表示是某一时,表示是某一信息位信息位Di出错。出错信息位的海明码位号出错。出错信息位的海明码位号由由S4S1这四位的译码值指出(分别为这四位的译码值指出(分别为12、11、10、9、7、6、5、3)。例如)。例如,当,当S5S1=00111时,时, S4S1的译码值为的译码值为7,即对应,即对应H7(也就是也就是D4 )位出错。位出错。计算机组成原理计算机组成原理1022.6 数据校验码数据校验码例:设有一个例:设有一个8位信息为位信息为10101100,试求海

57、明,试求海明编码的生成和校验过程。编码的生成和校验过程。(1)编码生成编码生成 按偶校验有:按偶校验有: P1=0 0 1 0 0=1 P2=0 1 1 1 0=1 P3=0 1 1 1=1 P4=0 1 0 1=0 P5=0 0 1 0 1 1=1 可得到用二进制表示的海明码为:可得到用二进制表示的海明码为: 1 1 0 1 0 0 1 1 0 1 0 1 1计算机组成原理计算机组成原理1032.6 数据校验码数据校验码(2)校验校验 假设传送后假设传送后H11(D7)位发生了错误:位发生了错误: 1 1 1 1 0 0 1 1 0 1 0 1 1 出错出错 检错的过程很简单,只要将接受到的检错的过程很简单,只要将接受到的码字重新进行偶校验:码字重新进行偶校验: S1=1 0 0 1 0 1=1 S2=1 0 1 1 1 1=1 S3=1 0 1 1 1=0 S4=0 0 1 1 1=1 S5=1 0 0 1 0 1 1=0计算机组成原理计算机组成原理1042.6 数据校验码数据校验码 所以指误字为所以指误字为01011,其中低,其中低4位有位有效,相应的十进制数是效,相应的十进制数是11,指出,指出H11出

温馨提示

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

评论

0/150

提交评论