第2章数据的机器层次表示(2015)_第1页
第2章数据的机器层次表示(2015)_第2页
第2章数据的机器层次表示(2015)_第3页
第2章数据的机器层次表示(2015)_第4页
第2章数据的机器层次表示(2015)_第5页
已阅读5页,还剩216页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机组成原理计算机组成原理第第2章章数据的机器层次数据的机器层次表示表示计算机组成原理计算机组成原理第第2章章了解无符号数与带符号数的区别了解无符号数与带符号数的区别了解真值和机器数的概念了解真值和机器数的概念掌握原码、补码和反码表示法和掌握原码、补码和反码表示法和3种机器数之种机器数之间的区别间的区别理解定点数表示法理解定点数表示法掌握定点数的表示范围掌握定点数的表示范围计算机组成原理计算机组成原理第第2章章理解浮点数表示法理解浮点数表示法掌握浮点数的表示范围掌握浮点数的表示范围掌握最小规格化正数与最小正数的区别掌握最小规格化正数与最小正数的区别理解浮点数阶码的移码表示法理解浮点数阶码的移

2、码表示法理解理解IEEE754浮点数标准浮点数标准计算机组成原理计算机组成原理第第2章章理解常见的字符编码方法(理解常见的字符编码方法(ASCII码)码)了解汉字的表示方法了解汉字的表示方法掌握汉字国标码、区位码、机内码和字形码的掌握汉字国标码、区位码、机内码和字形码的特点和区别特点和区别了解二了解二-十进制编码的原理十进制编码的原理掌握掌握8421码、码、2421码和余码和余3码的特点码的特点计算机组成原理计算机组成原理第第2章章了解十进制数的了解十进制数的Gray码码理解奇偶校验码检错的原理理解奇偶校验码检错的原理掌握奇偶校验位的形成方法掌握奇偶校验位的形成方法理解汉明校验码检错的原理理解

3、汉明校验码检错的原理了解循环冗余校验码了解循环冗余校验码计算机组成原理计算机组成原理第第2章章数据是计算机加工和处理的对象,数据的机器数据是计算机加工和处理的对象,数据的机器层次表示直接影响到计算机的结构和性能层次表示直接影响到计算机的结构和性能本章主要介绍本章主要介绍无符号数无符号数和和带符号数带符号数的表示方法、的表示方法、数的数的定点定点与与浮点浮点表示方法、表示方法、字符字符和和汉字汉字的编码的编码方法、方法、数据校验码数据校验码等等计算机组成原理计算机组成原理第第2章章2.1 数值数据的表示数值数据的表示2.2 机器数的定点表示与浮点表示机器数的定点表示与浮点表示2.3 非数值数据的

4、表示非数值数据的表示 2.4 十进制数和数串的表示十进制数和数串的表示2.5 不同类型的数据表示举例不同类型的数据表示举例2.6 数据校验码数据校验码计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.1.1 计算机中的数值数据计算机中的数值数据 在计算机中常用后缀字母来表示不同的数制在计算机中常用后缀字母来表示不同的数制 十进制数(十进制数(D) 二进制数(二进制数(B) 八进制数(八进制数(Q) 十六进制数(十六进制数(H) C语言中,八进制常数以前缀语言中,八进制常数以前缀0开始,十六进制开始,十六进制常数以前缀常数以前缀0 x开始开始 数制的转换数制的转换计算机组成原理

5、计算机组成原理2.1 数值数据的表示数值数据的表示2.1.2 无符号数和带符号数无符号数和带符号数无符号数:整个机器字长的全部二进制位均表无符号数:整个机器字长的全部二进制位均表示数值位(没有符号位),相当于数的绝对值示数值位(没有符号位),相当于数的绝对值 N1 =01001 表示无符号数表示无符号数9 N2 =11001 表示无符号数表示无符号数25位权:数制中每一固定位置对应的单位值位权:数制中每一固定位置对应的单位值复习复习计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示字长为字长为n+1位的无符号数的表示范围位的无符号数的表示范围 0(2n+1-1) 例如:字长为例如

6、:字长为8位,无符号数的表示范围是位,无符号数的表示范围是 02550000000011111111计算机组成原理计算机组成原理寄存器的位数寄存器的位数反映无符号数的表示范围反映无符号数的表示范围 8 位位 0 25516 位位 0 65535-32767-+327672.1 数值数据的表示数值数据的表示计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示真值:真值:有符号数,即正、负数。用有符号数,即正、负数。用“+”、“-”号加号加绝对值来表示数值的大小绝对值来表示数值的大小机器数:机器数:对于数的符号对于数的符号“+”或或“-”,计算机是无法,计算机是无法识别的,把数的符号数

7、码化。约定二进制数的最高识别的,把数的符号数码化。约定二进制数的最高位为符号位,位为符号位,“0”表示正号,表示正号,“1”表示负号表示负号计算机组成原理计算机组成原理带符号的数带符号的数 符号数字化的数符号数字化的数+ 0.10110 1011小数点的位置小数点的位置+ 11000 1100小数点的位置小数点的位置 11001 1100小数点的位置小数点的位置 0.10111 1011小数点的位置小数点的位置真值真值 机器数机器数2.1 数值数据的表示数值数据的表示计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示N1、N2若为有符号数:若为有符号数: N1 =01001 表示

8、有符号数表示有符号数+9 N2 =11001 不同的机器数表示不同的值不同的机器数表示不同的值 原码时表示带符号数原码时表示带符号数-9, 补码则表示补码则表示-7, 反码则表示反码则表示-6 计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.1.3 原码表示法原码表示法最高位表示符号位最高位表示符号位符号位为符号位为“0”表示该数为正表示该数为正符号位为符号位为“1”表示该数为负,数值部分与真值表示该数为负,数值部分与真值相同相同计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.1.3 原码表示法原码表示法例例1:X1=0.0110, X2=-0.0110

9、 X1原原=0.0110 , X2原原=1.0110计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.1.3 原码表示法原码表示法 例例2:X1=1101, X2=-1101 X1原原=0,1101 , X2原原=1,1101计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.1.3 原码表示法原码表示法若真值为若真值为纯小数纯小数,原码形式为,原码形式为Xs.X1X2Xn,其中,其中Xs表示符号位表示符号位X原原=X 0X11-X=1+|X| -1X0X=-0.0101 X原=1+0.0101=1.0101计算机组成原理计算机组成原理2.1 数值数据的表示数

10、值数据的表示若真值为若真值为纯整数纯整数,原码形式为,原码形式为XsX1X2Xn,其中,其中Xs表示符号位表示符号位X原原=X 0X2n2n-X=2n+|X| -2nX0X=-10111 X原=100000+10111=110111计算机组成原理计算机组成原理例例 已知已知 x原原 = 1.0011 求求 x例例 已知已知 x原原 = 1,1100 求求 x2.1 数值数据的表示数值数据的表示计算机组成原理计算机组成原理例例 求求 x = 0 的原码的原码 例例 已知已知 x原原 = 0.1101 求求 x2.1 数值数据的表示数值数据的表示计算机组成原理计算机组成原理2.1 数值数据的表示数

11、值数据的表示原码表示中,真值原码表示中,真值0有两种不同的表示:有两种不同的表示: +0原原 =00000 -0原原 =10000注意计算机组成原理计算机组成原理原码作加法,会出现如下问题:原码作加法,会出现如下问题:能否能否 只作加法只作加法 ? 找到一个与负数等价的正数找到一个与负数等价的正数 来代替这个负数来代替这个负数就可使就可使 减减 加加加法加法 正正 正正加加加法加法 正正 负负加法加法 负负 正正加法加法 负负 负负减减减减加加 要求要求 数数1 数数2 实际操作实际操作 结果符号结果符号正正可正可负可正可负可正可负可正可负负负2.1 数值数据的表示数值数据的表示计算机组成原理

12、计算机组成原理2.1 数值数据的表示数值数据的表示原码表示法的优点是直观易懂,机器数和真原码表示法的优点是直观易懂,机器数和真值间的相互转换很容易值间的相互转换很容易原码实现乘、除运算的规则很简单原码实现乘、除运算的规则很简单实现加、减运算的规则较复杂实现加、减运算的规则较复杂计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.1.4 补码表示法补码表示法 补码表示法的设想是:补码表示法的设想是:使符号位参加运算,简化加减法的规则使符号位参加运算,简化加减法的规则使减法运算转化成加法运算,简化机器的运算使减法运算转化成加法运算,简化机器的运算器电路器电路计算机组成原理计算机组成

13、原理- 123 时钟时钟逆时针逆时针- 363顺时针顺时针+ 9 615可见可见 3 可用可用 + 9 代替代替记作记作 3 + 9 (mod 12)同理同理 4 + 8 (mod 12) 5 + 7 (mod 12) 时钟以时钟以 12为模为模减法减法 加法加法称称 + 9 是是 3 以以 12 为模的为模的 补数补数2.1 数值数据的表示数值数据的表示计算机组成原理计算机组成原理 一个负数加上一个负数加上 “模模” 即得该负数的补即得该负数的补数数 一个正数和一个负数互为补数时一个正数和一个负数互为补数时 它们绝对值之和即为它们绝对值之和即为 模模 数数2.1 数值数据的表示数值数据的表示

14、计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示设设A=9,B=5,求,求A-B(mod 12)A-B=9-5=4模模12,-5可以用其补数可以用其补数7代替代替-5=+7(mod 12)A-B=9+7=16=43点、点、15点、点、27点点在时钟上看见的都是在时钟上看见的都是3点点3=15=27(mod 12)计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示只要确定了只要确定了“模模”,就可找到一个与负数,就可找到一个与负数等价等价的正数(该正数即为负数的补数)来代替此负的正数(该正数即为负数的补数)来代替此负数数正数可以用模加上负数本身求得,可把减法运正数可

15、以用模加上负数本身求得,可把减法运算用加法实现算用加法实现计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示9-5=9+(-5)=9+(12-5)=9+7=16-12 (mod 12)=4计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示65-25=65+(-25)=65+(100-25)=65+75= 40 (mod 100)计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.1.4 补码表示法补码表示法1.模模由于设备的原因,机器数是有字长限制的,不由于设备的原因,机器数是有字长限制的,不可能容纳无限大的任意数可能容纳无限大的任意数当运算结果超出

16、了机器的最大表示范围,就会当运算结果超出了机器的最大表示范围,就会发生发生溢出溢出(丢失进位),所产生的溢出量称为(丢失进位),所产生的溢出量称为模模,用字母,用字母M表示表示计算机组成原理计算机组成原理000024 23 22 21 202.1 数值数据的表示数值数据的表示模是计量器的容量模是计量器的容量例:一个例:一个4位的计数器,计数值为位的计数器,计数值为015,计满,计满15之后再加之后再加1,计数器发生溢出,溢出量为,计数器发生溢出,溢出量为16,即模等于即模等于160001001000110100010101100111100010011010101111001101111011

17、1100001丢失丢失计算机组成原理计算机组成原理寄存器的位数寄存器的位数 8 位位 0 2552.1 数值数据的表示数值数据的表示模:模:256计算机组成原理计算机组成原理寄存器的位数寄存器的位数16 位位 0 655352.1 数值数据的表示数值数据的表示模:模:65536计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示当二进制数为全当二进制数为全1,再加,再加1时,向更高位的进位时,向更高位的进位 就是就是模模一个字长为一个字长为n+1位的纯整数的溢出量为位的纯整数的溢出量为2n+1,即,即 以以2n+1为模为模一个纯小数的溢出量为一个纯小数的溢出量为2,即以,即以2为模

18、为模计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示计算机组成原理计算机组成原理 计数器计数器(模(模 16)+ 0101 101110000可见可见 1011 可用可用 + 0101 代替代替同理同理 011 0.1001自然去掉自然去掉记作记作 1011(mod 24) + 0101(mod 23) + 101 (mod 2) + 1.01112.1 数值数据的表示数值数据的表示计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.补码表示补码表示补码的符号位与原码相同,数值部分的表示与补码的符号位与原码相同,数值部分的表示与数的符号有关:对于正数,数值部分与

19、真值形数的符号有关:对于正数,数值部分与真值形式相同式相同对于负数,其数值部分为真值形式按位取反,对于负数,其数值部分为真值形式按位取反,且在最低位加且在最低位加1计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.补码表示补码表示例例1:X1=0.0110 , X2=-0.0110 X1补补=0.0110 , X2补补=1.1010计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.补码表示补码表示 若真值为纯小数,补码形式为若真值为纯小数,补码形式为Xs.X1X2Xn,其中,其中Xs表示符号位表示符号位X补补=X 0X12+X=2-|X| -1 X0(mod

20、 2)X=-0.0101 X补=10.0000-0.0101=1.1011计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.补码表示补码表示例例1:X1=0.0110 , X2=-0.0110 X1补补=0.0110 , X2补补=1.1010计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示 若真值为纯整数,补码形式为若真值为纯整数,补码形式为XsX1X2Xn,其中,其中Xs表示符号位表示符号位X补补=X 0X2n2n+1+X=2n+1-|X| -2n X0(mod 2n+1)X=-10111 X原=1000000-10111=101001计算机组成原理计算机

21、组成原理2.1 数值数据的表示数值数据的表示例例2:X1=1101 , X2=-1101 X1补补=0,1101 , X2补补=1,0011计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示在补码中,真值在补码中,真值0的表示形式是唯一的的表示形式是唯一的 +0补补=-0补补=00000注意计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示3.由真值、原码转换为补码由真值、原码转换为补码当当X为正数时,为正数时,X补补=X原原=X当当X为负数时,由为负数时,由X原原转换为转换为X补补: X原原除掉符号位外的各位取反加除掉符号位外的各位取反加“1” 自低位向高位,尾数

22、的第一个自低位向高位,尾数的第一个“1”及其右部及其右部的的“0”保持不变,左部的各位取反,符号位保保持不变,左部的各位取反,符号位保持不变持不变计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示3.由真值、原码转换为补码由真值、原码转换为补码例如:例如:X原原 =1.1110011000 X补补 =1.0001101000计算机组成原理计算机组成原理真值真值0, 10001101, 01110100.11101.00100.00000.00001.00000,10001101,10001100.11101.11100.00001.0000不能表示不能表示练习练习求下列真值的补码

23、求下列真值的补码+ 0补补 = 0补补= 1000110 x补补 x原原x = +70 x = 0.1110 x = 0.0000 x = 70 x = 0.1110 x = 0.0000 x = 1.0000= 1000110计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.1.3 原码表示法原码表示法若真值为若真值为纯小数纯小数,它的原码形式为,它的原码形式为Xs.X1X2Xn,其中其中Xs表示符号位。表示符号位。X原=X 0X11-X=1+|X| -1X0计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.补码表示补码表示 若真值为纯小数,它的补码形式为

24、若真值为纯小数,它的补码形式为Xs.X1X2Xn,其中,其中Xs表示符号位表示符号位X补=X 0X12+X=2-|X| -1 X0(mod 2)计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.1.5 反码表示法反码表示法反码的符号位表示方法与原码相同反码的符号位表示方法与原码相同对于正数,数值部分与真值形式相同对于正数,数值部分与真值形式相同对于负数,数值部分为真值绝对值形式按位取对于负数,数值部分为真值绝对值形式按位取反反计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.1.5 反码表示法反码表示法例例1:X1=0.0110 , X2=-0.0110 X

25、1反反=0.0110 , X2反反=1.1001计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.1.5 反码表示法反码表示法若真值为纯小数,反码形式为若真值为纯小数,反码形式为Xs.X1X2Xn,其中,其中Xs表示符号位表示符号位X反反=X 0X1(2-2-n)+X -1X 0(mod 2-2-n)计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.1.5 反码表示法反码表示法 例例1:X1=0.0110 , X1反反=0.0110 , 计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示2.1.5 反码表示法反码表示法 X2=-0.0110X2

26、反反=(10.0000-0.0001)+(-0.0110) =1.1111-0.0110 =1.1001计算机组成原理计算机组成原理2.1 数值数据的表示数值数据的表示 若真值为纯整数,它的反码形式为若真值为纯整数,它的反码形式为XsX1X2Xn,其中,其中Xs表示符号位表示符号位X反反=X 0X2n(2n+1-1)+X -2n 最大阶码最大阶码下溢下溢 阶码阶码 最大阶码最大阶码下溢下溢 阶码阶码 0 THEN READ (C) (1)向量法向量法在存储器中占用连续的空间,在存储器中占用连续的空间,每个字节存放一个字符每个字节存放一个字符代码代码,字符串的所有字符是邻接的,字符串的所有字符是

27、邻接的字长为字长为32位的存储器,每一个主存单元可存放位的存储器,每一个主存单元可存放4个字符,个字符,整个字符串需整个字符串需5个主存单元。每个字节中实际存放的是个主存单元。每个字节中实际存放的是相应字符的相应字符的ASCII码码计算机组成原理计算机组成原理IFX0THENREA(C)D2.3 非数值数据的表示非数值数据的表示5449462020202030454541444852433E2928584E计算机组成原理计算机组成原理2.3 非数值数据的表示非数值数据的表示(2)串表法串表法一个存储单元有一个存储单元有32位,仅存放一个字符代码位,仅存放一个字符代码字符串的每个字符代码后有一个

28、链接字,指出字符串的每个字符代码后有一个链接字,指出下一个字符的存储单元地址链接字占据了存储下一个字符的存储单元地址链接字占据了存储单元的大部分空间,使得主存的有效利用率下单元的大部分空间,使得主存的有效利用率下降(只有原来的降(只有原来的25) 上例中整个字符串需上例中整个字符串需19个主存单元个主存单元 计算机组成原理计算机组成原理2.3 非数值数据的表示非数值数据的表示2.3.2 汉字的表示汉字的表示1.汉字国标码汉字国标码 GB2312-80,简称国标码,简称国标码常用汉字常用汉字6763个,一级汉字个,一级汉字3755个,按拼音排个,按拼音排序;二级汉字序;二级汉字3008个,按部首

29、排序;各种图形个,按部首排序;各种图形符号符号682个,共计个,共计7445个个每个汉字、图形符号用两个字节表示,每个字每个汉字、图形符号用两个字节表示,每个字节只使用低七位编码节只使用低七位编码计算机组成原理计算机组成原理2.3 非数值数据的表示非数值数据的表示2.汉字区位码汉字区位码 将将6763个汉字分为个汉字分为94个区,每个区中包含个区,每个区中包含94个汉字个汉字(位),区和位组成一个二维数组,每个汉字在数组(位),区和位组成一个二维数组,每个汉字在数组中对应一个唯一的区位码中对应一个唯一的区位码区位码定长区位码定长4位,前位,前2位表示区号,后位表示区号,后2位表示位号,位表示位

30、号,区号和位号用十进制数表示,区号区号和位号用十进制数表示,区号位号从位号从01到到94“中中”字在字在54区的区的48位,区位码为位,区位码为“54-48”,“国国”字在字在25区的区的90位,区位码为位,区位码为“25-90” 计算机组成原理计算机组成原理2.3 非数值数据的表示非数值数据的表示 国标码区位码(十六进制)国标码区位码(十六进制)2020H 例:已知汉字例:已知汉字“春春”的区位码为的区位码为“20-26”,计,计算它的国标码算它的国标码 区位码:区位码: 20 26 十进制十进制 14H 1AH 十六进制十六进制 +20H +20H 国标码:国标码: 34H 3AH计算机组

31、成原理计算机组成原理2.3 非数值数据的表示非数值数据的表示3.汉字机内码汉字机内码 汉字可以通过不同的输入码输入,但在计算汉字可以通过不同的输入码输入,但在计算机内部其内码是唯一的机内部其内码是唯一的汉字处理系统要保证中西文的兼容,当系统汉字处理系统要保证中西文的兼容,当系统中同时存在中同时存在ASCII码和汉字国标码时,将会产码和汉字国标码时,将会产生二义性生二义性计算机组成原理计算机组成原理2.3 非数值数据的表示非数值数据的表示 例如:从主存中读出两个字节的内容,例如:从主存中读出两个字节的内容,30H和和21H,既可能是表示汉字,既可能是表示汉字“啊啊”的国标的国标码,又可能是表示西

32、文码,又可能是表示西文“0”和和“!”的的ASCII码码啊啊30 210 0! !计算机组成原理计算机组成原理2.3 非数值数据的表示非数值数据的表示常用的汉字机内码为两字节长的代码,在相应常用的汉字机内码为两字节长的代码,在相应汉字国标码的每个字节最高位上加汉字国标码的每个字节最高位上加“1” 汉字机内码汉字国标码汉字机内码汉字国标码8080H“啊啊”字的国标码是字的国标码是3021H,机内码是,机内码是B0A1H3021+ 8080B0A1计算机组成原理计算机组成原理2.3 非数值数据的表示非数值数据的表示计算机组成原理计算机组成原理2.3 非数值数据的表示非数值数据的表示4.汉字字形码汉

33、字字形码 确定一个汉字字形点阵的代码,又叫汉字字模确定一个汉字字形点阵的代码,又叫汉字字模码或汉字输出码码或汉字输出码凡笔画所到之处,记为凡笔画所到之处,记为“1”,否则记为,否则记为“0”据汉字质量的不同,有据汉字质量的不同,有1616、2424、3232或或4848的点阵结构的点阵结构计算机组成原理计算机组成原理2.3 非数值数据的表示非数值数据的表示5.汉字编码的发展汉字编码的发展 1990年颁布了繁体字的编码标准年颁布了繁体字的编码标准GB12345-90,用于,用于规范必须使用繁体字的场合,共收录规范必须使用繁体字的场合,共收录6866个汉字(比个汉字(比GB2312多多103个字)

34、,纯繁体的字大概有个字),纯繁体的字大概有2200余个余个1995年底推出年底推出GBK编码,是中文编码扩展国家标准,编码,是中文编码扩展国家标准,该编码标准兼容该编码标准兼容GB2312,共收录汉字,共收录汉字21003个、符号个、符号883个,并提供个,并提供1894个造字码位,简、繁体字融于一个造字码位,简、繁体字融于一库库2000年底又颁布了年底又颁布了GB18030大字符集标准,这个标准大字符集标准,这个标准可以涵盖可以涵盖27484个汉字,繁、简字均处于同一平台个汉字,繁、简字均处于同一平台 计算机组成原理计算机组成原理2.3 非数值数据的表示非数值数据的表示计算机组成原理计算机组

35、成原理2.3 非数值数据的表示非数值数据的表示2.3.3 统一代码(统一代码(Unicode)信息处理应用需要多文种、大字量、多用途的信息处理应用需要多文种、大字量、多用途的字符集字符集设计一种全新的编码方法,有足够的能力来表设计一种全新的编码方法,有足够的能力来表示任意一种语言里使用的所有符号,这就是统示任意一种语言里使用的所有符号,这就是统一代码(一代码(Unicode)计算机组成原理计算机组成原理2.3 非数值数据的表示非数值数据的表示1编码方式编码方式 Unicode用一个用一个16位的数表示每个符号,符号位的数表示每个符号,符号集可表示集可表示65536个不同的字符或符号,称为基个不

36、同的字符或符号,称为基本多语言平面(本多语言平面(BMP)这个空间已经非常大了,但设计者考虑到将来这个空间已经非常大了,但设计者考虑到将来某一天它可能也会不够用,所以采用了一种可某一天它可能也会不够用,所以采用了一种可使这种表示法使用得更远的方法使这种表示法使用得更远的方法计算机组成原理计算机组成原理2.3 非数值数据的表示非数值数据的表示 2实现方式实现方式Unicode的实现方式不同于编码方式的实现方式不同于编码方式一个字符的一个字符的Unicode 编码是确定的,编码是确定的,Unicode的实现方式称为的实现方式称为Unicode转换格式(转换格式(Unicode Translatio

37、n Format,简称为,简称为UTF)目前存在的目前存在的UTF格式有:格式有:UTF-7,UTF-7.5,UTF-8,UTF-16以及以及UTF-32计算机组成原理计算机组成原理第第2章章2.1 数值数据的表示数值数据的表示2.2 机器数的定点表示与浮点表示机器数的定点表示与浮点表示2.3 非数值数据的表示非数值数据的表示 2.4 十进制数和数串的表示十进制数和数串的表示2.5 不同类型的数据表示举例不同类型的数据表示举例2.6 数据校验码数据校验码计算机组成原理计算机组成原理2.4 十进制数和数串的表示十进制数和数串的表示 2.4.1 十进制数的编码(二十进制编码)十进制数的编码(二十进

38、制编码)四位二进制数表示一位十进制数,为二进制编码的十四位二进制数表示一位十进制数,为二进制编码的十进制数,简称进制数,简称BCD码码四位二进制数可以组合出四位二进制数可以组合出16种代码,使用种代码,使用10种状态,种状态,表示十进制数的表示十进制数的09十个数码,其他的六种状态为冗十个数码,其他的六种状态为冗余状态余状态计算机组成原理计算机组成原理2.4 十进制数和数串的表示十进制数和数串的表示 2.4.1 十进制数的编码(二十进制编码)十进制数的编码(二十进制编码)可以取任意的可以取任意的10种代码来表示十个数码,可能产生种代码来表示十个数码,可能产生多多种种BCD编码编码BCD编码既具

39、有二进制数的形式,又保持了十进制数编码既具有二进制数的形式,又保持了十进制数的特点的特点计算机组成原理计算机组成原理2.4 十进制数和数串的表示十进制数和数串的表示 几种常见的几种常见的BCD码码十进制数十进制数8421码码2421码码余余3码码Gray码码01234567890000000100100011010001010110011110001001000000010010001101001011110011011110111100110100010101100111100010011010101111000000000100110010011011101010101110011000计

40、算机组成原理计算机组成原理2.4 十进制数和数串的表示十进制数和数串的表示1.8421码码(1)有权码,四位二进制代码的位权从高到低分有权码,四位二进制代码的位权从高到低分别为别为8、4、2、1(2)每个代码与它所代表的十进制数之间符合二每个代码与它所代表的十进制数之间符合二进制数和十进制数相互转换的规则进制数和十进制数相互转换的规则(3)不允许出现不允许出现10101111计算机组成原理计算机组成原理2.4 十进制数和数串的表示十进制数和数串的表示2.2421码码(1)有权码,四位二进制代码的位权从高到低分有权码,四位二进制代码的位权从高到低分别为别为2、4、2、1(2)是对是对9的的自补码

41、自补码。自身按位取反,得到该数对。自身按位取反,得到该数对9之补的之补的2421码码例:例:3的的2421码是码是0011。3对对9之补是之补是6,而,而6的的2421码是码是1100(3)不允许出现不允许出现01011010计算机组成原理计算机组成原理2.4 十进制数和数串的表示十进制数和数串的表示3.余余3码码(1)无权码,也可看作是一种特殊的有权码,即在无权码,也可看作是一种特殊的有权码,即在8421码的基础上加码的基础上加+3(+0011)形成的,各位的)形成的,各位的“1”不表示一个固定的十进制数值不表示一个固定的十进制数值(2)是对是对9的的自补码自补码(3)不允许出现不允许出现0

42、0000010、11011111计算机组成原理计算机组成原理2.4 十进制数和数串的表示十进制数和数串的表示4格雷码(格雷码(Gray)码)码 (1) 无权码无权码 (2) 从一种代码变到相邻的下一种代码时,只有从一种代码变到相邻的下一种代码时,只有一个二进制位的状态在发生变化一个二进制位的状态在发生变化 (3) 具有循环特性,即首尾两个数的具有循环特性,即首尾两个数的Gray码也只码也只有一个二进制位不同,又称为循环码有一个二进制位不同,又称为循环码 (4) 十进制十进制Gray码也有码也有6个代码为非法码,视具个代码为非法码,视具体方案而定体方案而定计算机组成原理计算机组成原理2.4 十进

43、制数和数串的表示十进制数和数串的表示将将3609用常见的用常见的BCD码表示码表示(3609)10=(0011 0110 0000 1001)8421(3609)10=(0011 1100 0000 1111)2421(3609)10=(0011 1001 0011 1100)余余3码码计算机组成原理计算机组成原理2.4 十进制数和数串的表示十进制数和数串的表示十进制数十进制数64.5所对应的二进制数表示为(),所对应的二进制数表示为(),8421码表示为(),码表示为(),2421码表示为(),余三码表示为(),余三码表示为()码表示为()1000000.10110 0100.0101110

44、0 0100.10111010 0110.1110计算机组成原理计算机组成原理2.4 十进制数和数串的表示十进制数和数串的表示2.4.2 十进制数串十进制数串1.非压缩的十进制数串非压缩的十进制数串一个字节可存放一个十进制数或符号的一个字节可存放一个十进制数或符号的ASCII码码分成分成前分隔式数字串前分隔式数字串和和后嵌入式数字串后嵌入式数字串两种格两种格式式计算机组成原理计算机组成原理2.4 十进制数和数串的表示十进制数和数串的表示2.4.2 十进制数串十进制数串1.非压缩的十进制数串非压缩的十进制数串前分隔式数字串,符号位占用单独一个字节,前分隔式数字串,符号位占用单独一个字节,放在数值

45、位之前,正号对应的放在数值位之前,正号对应的ASCII码为码为2BH,负号对应的负号对应的ASCII码为码为2DH0010101100101101计算机组成原理计算机组成原理2.4 十进制数和数串的表示十进制数和数串的表示 如:如:+256,在主存中连续四个字节存放,在主存中连续四个字节存放,对应的对应的ASCII码为码为2BH,32H,35H,36H 如:如:-256,在主存中连续四个字节存放,在主存中连续四个字节存放,对应的对应的ASCII码为码为2DH,32H,35H,36H计算机组成原理计算机组成原理后嵌入式数字串,正号为后嵌入式数字串,正号为00H,负号为,负号为40H,嵌入到最末数

46、值位。正数最末位不变,负数最嵌入到最末数值位。正数最末位不变,负数最末位加上末位加上40H2.4 十进制数和数串的表示十进制数和数串的表示0100000000000000 如:如:+256,在主存中连续三个字节存放,对,在主存中连续三个字节存放,对应的应的ASCII码为码为32H,35H,36H 如:如:-256,在主存中连续三个字节存放,对,在主存中连续三个字节存放,对应的应的ASCII码为码为32H,35H,76H计算机组成原理计算机组成原理2.4 十进制数和数串的表示十进制数和数串的表示2.压缩的十进制数压缩的十进制数一个字节存放两位一个字节存放两位BCD码表示的十进制数,便码表示的十进

47、制数,便于直接进行十进制算术运算于直接进行十进制算术运算一个压缩的十进制数串占用连续的多个字节,一个压缩的十进制数串占用连续的多个字节,每位数字占每位数字占半个字节半个字节,常用,常用8421码表示码表示符号位占符号位占半个字节半个字节,存放在最低数值位之后,存放在最低数值位之后,CH表示正号,表示正号,DH表示负号表示负号11001101计算机组成原理计算机组成原理2.4 十进制数和数串的表示十进制数和数串的表示2.压缩的十进制数压缩的十进制数规定数字的个数加符号位之和必须为规定数字的个数加符号位之和必须为偶数偶数,当,当和为和为奇数奇数时,应在最高数值位之前补一个时,应在最高数值位之前补一

48、个“0”(即第一个字节的高半字节为(即第一个字节的高半字节为“0000”)计算机组成原理计算机组成原理2.4 十进制数和数串的表示十进制数和数串的表示如:如:+256两个字节:两个字节:25H,6CH0010010101101100如:如:-2568三个字节:三个字节:02H,56H,8DH000000100101110101101000计算机组成原理计算机组成原理第第2章章2.1 数值数据的表示数值数据的表示2.2 机器数的定点表示与浮点表示机器数的定点表示与浮点表示2.3 非数值数据的表示非数值数据的表示 2.4 十进制数和数串的表示十进制数和数串的表示2.5 不同类型的数据表示举例不同类

49、型的数据表示举例2.6 数据校验码数据校验码计算机组成原理计算机组成原理2.6 数据校验码数据校验码数据校验码是能够发现错误或能够自动纠正错数据校验码是能够发现错误或能够自动纠正错误的数据编码,又称误的数据编码,又称“检错纠错编码检错纠错编码”码距:码距:任意两个码字之间任意两个码字之间最少变化最少变化的二进制位的二进制位数数例,用四位二进制表示例,用四位二进制表示16种状态,则有种状态,则有16个不个不同的码字,此时码距为同的码字,此时码距为1,即两个码字之间,即两个码字之间最最少少仅有一个二进制位不同(如仅有一个二进制位不同(如0000与与0001之间)之间)计算机组成原理计算机组成原理2

50、.6 数据校验码数据校验码数据校验码的原理:在编码中,除去合法的码数据校验码的原理:在编码中,除去合法的码字外,再加进一些非法的码字,当某个合法码字外,再加进一些非法的码字,当某个合法码字出现错误时,就变成为非法码字字出现错误时,就变成为非法码字合理地安排非法码字的数量和编码规则,能达合理地安排非法码字的数量和编码规则,能达到纠错的目的到纠错的目的计算机组成原理计算机组成原理2.6 数据校验码数据校验码例,用四位二进制表示八个状态,其中只有八个码字例,用四位二进制表示八个状态,其中只有八个码字是合法码字,而另八个码字为非法码字,此时码距为是合法码字,而另八个码字为非法码字,此时码距为2对于码距

51、对于码距2的数据校验码,开始具有检错的能力的数据校验码,开始具有检错的能力码距越大,检、纠错能力就越强,而且检错能力总是码距越大,检、纠错能力就越强,而且检错能力总是大于或等于纠错能力大于或等于纠错能力计算机组成原理计算机组成原理2.6 数据校验码数据校验码2.6.1 奇偶校验码奇偶校验码1.奇偶校验概念奇偶校验概念奇偶校验码可以检测出奇偶校验码可以检测出一位一位(或奇数位)错误,(或奇数位)错误,码距等于码距等于2实现方法:有效信息(如一个字节),加上一实现方法:有效信息(如一个字节),加上一个二进制位(校验位)组成校验码,根据校验个二进制位(校验位)组成校验码,根据校验码的奇偶性质进行校验

52、码的奇偶性质进行校验奇偶校验码奇偶校验码(N+1位位)=N位有效信息位有效信息+1位校验位位校验位计算机组成原理计算机组成原理N N位位1 1位位2.6 数据校验码数据校验码奇偶校验位奇偶校验位计算机组成原理计算机组成原理N N位位1 1位位2.6 数据校验码数据校验码奇偶校验码奇偶校验码计算机组成原理计算机组成原理2.6 数据校验码数据校验码校验位的取值(校验位的取值(0或或1)使整个校验码中)使整个校验码中“1”的的个数为奇数或偶数,有两种校验规律:个数为奇数或偶数,有两种校验规律:奇校验奇校验整个校验码(有效信息位和校验位)整个校验码(有效信息位和校验位)中中“1”的个数为奇数的个数为奇

53、数偶校验偶校验整个校验码中整个校验码中“1”的个数为偶数的个数为偶数计算机组成原理计算机组成原理2.6 数据校验码数据校验码计算机组成原理计算机组成原理CPU奇偶奇偶校验校验电路电路主存主存2.6 数据校验码数据校验码8位位8位位9位位9位位0101010101010101101010101110101010101010101101010101101010111101010111有有4个个1有有5个个1正确正确出错出错有有6个个1中断处理中断处理计算机组成原理计算机组成原理2.6 数据校验码数据校验码2.简单奇偶校验(以奇校验为例)简单奇偶校验(以奇校验为例) (1)校验位形成校验位形成一个字

54、节的代码一个字节的代码D7D0写入主存时,同时送往写入主存时,同时送往奇偶校验逻辑电路,该电路产生的奇偶校验逻辑电路,该电路产生的“奇形成奇形成”信号就是校验位,与信号就是校验位,与8位代码一起作为奇校验位代码一起作为奇校验码写入主存码写入主存若若D7D0中有中有偶数偶数个个“1”,则,则“奇形成奇形成”=1若若D7D0中有中有奇数奇数个个“1”,则,则“奇形成奇形成”=0计算机组成原理计算机组成原理2.6 数据校验码数据校验码D7D6D5D4D3D2D1D0D校奇形成偶校验出错奇校验出错偶形成AB=1=1=1=1=1=1=1=111计算机组成原理计算机组成原理2.6 数据校验码数据校验码2.

55、简单奇偶校验(以奇校验为例)简单奇偶校验(以奇校验为例)异或是数学运算符,用于逻辑运算。异或的数异或是数学运算符,用于逻辑运算。异或的数学符号为学符号为“ ”,计算机符号为,计算机符号为“xor”如果如果a、b两个值不相同,则异或结果为两个值不相同,则异或结果为1。如。如果果a、b两个值相同,异或结果为两个值相同,异或结果为0异或也叫半加运算,运算法则是不带进位的二异或也叫半加运算,运算法则是不带进位的二进制加法进制加法计算机组成原理计算机组成原理2.6 数据校验码数据校验码2.简单奇偶校验(以奇校验为例)简单奇偶校验(以奇校验为例)计算机组成原理计算机组成原理2.6 数据校验码数据校验码(2

56、)校验检测校验检测读出时,将读出的读出时,将读出的9位代码(位代码(8位信息位和位信息位和1位位校验位)同时送入奇偶校验电路检测校验位)同时送入奇偶校验电路检测若读出代码无错,则若读出代码无错,则“奇校验出错奇校验出错”=0;若读;若读出代码中的某一位上出现错误,则出代码中的某一位上出现错误,则“奇校验出奇校验出错错”=1,某一位出现了错误,错误位置是不能某一位出现了错误,错误位置是不能确定的确定的计算机组成原理计算机组成原理2.6 数据校验码数据校验码3.交叉交叉奇偶奇偶校验校验每一个字节有一个奇偶校验位做每一个字节有一个奇偶校验位做横向校验横向校验,全,全部字节的同一位设一个奇偶校验位做部

57、字节的同一位设一个奇偶校验位做纵向校验纵向校验 第第1字节字节 1 1 0 0 1 0 1 1 1 第第2字节字节 0 1 0 1 1 1 0 0 0 第第3字节字节 1 0 0 1 1 0 1 0 0 第第4字节字节 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 0计算机组成原理计算机组成原理2.6 数据校验码数据校验码交叉校验可以发现两位同时出错的情况交叉校验可以发现两位同时出错的情况计算机组成原理计算机组成原理2.6 数据校验码数据校验码已知下面数据块约定:横向校验、纵向校验均为奇校已知下面数据块约定:横向校验、纵向校验均为奇校验,指出至少有多少位出错验,指出至少有多少

58、位出错 第第1字节字节 1 0 0 1 1 0 1 1 0 第第2字节字节 0 0 1 1 0 1 0 1 1 第第3字节字节 1 1 0 1 0 0 0 0 0 第第4字节字节 1 1 1 1 0 0 0 0 0 第第5字节字节 0 1 0 0 1 1 1 1 0 1 0 1 0 1 1 1 1计算机组成原理计算机组成原理2.6 数据校验码数据校验码2.6.2 海明校验码海明校验码海明码是多重奇偶校验,在有效信息位中加入几个海明码是多重奇偶校验,在有效信息位中加入几个校验位形成海明码,并把海明码的每一个二进制位校验位形成海明码,并把海明码的每一个二进制位分配到几个奇偶校验组中分配到几个奇偶校

59、验组中某一位出错后,会引起有关的几个校验位的值发生某一位出错后,会引起有关的几个校验位的值发生变化,不但可以发现错误,还能指出错误的位置变化,不但可以发现错误,还能指出错误的位置能检测和自动校正一位错,能发现两位错能检测和自动校正一位错,能发现两位错计算机组成原理计算机组成原理汉明码(汉明码(Hamming Code),是在电信领域的一种线性),是在电信领域的一种线性调试码,以发明者理查德调试码,以发明者理查德卫斯里卫斯里汉明的名字命名汉明的名字命名由于汉明编码简单,它们被广泛应用于内存(由于汉明编码简单,它们被广泛应用于内存(RAM) 2.6 数据校验码数据校验码计算机组成原理计算机组成原理

60、2.6 数据校验码数据校验码2.6.2 海明校验码海明校验码校验位的位数校验位的位数K和信息位的位数和信息位的位数N应满足下列应满足下列关系:关系:2K-1 N+K+1(纠错(纠错1位,检错位,检错2位)位)校验位的位数校验位的位数K和信息位的位数和信息位的位数N应满足下列应满足下列关系:关系:2K N+K+1(纠错(纠错1位)位)计算机组成原理计算机组成原理2.6 数据校验码数据校验码计算机组成原理计算机组成原理汉明码的组成需增添汉明码的组成需增添 ?位检测位位检测位检测位的位置检测位的位置 ?检测位的取值检测位的取值 ?2k-1 n + k + 1组成汉明码的三要素组成汉明码的三要素2i

温馨提示

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

评论

0/150

提交评论