计算机组成与体系结构第三章ppt课件.ppt

上传人:牧羊曲112 文档编号:1438919 上传时间:2022-11-24 格式:PPT 页数:85 大小:1.25MB
返回 下载 相关 举报
计算机组成与体系结构第三章ppt课件.ppt_第1页
第1页 / 共85页
计算机组成与体系结构第三章ppt课件.ppt_第2页
第2页 / 共85页
计算机组成与体系结构第三章ppt课件.ppt_第3页
第3页 / 共85页
计算机组成与体系结构第三章ppt课件.ppt_第4页
第4页 / 共85页
计算机组成与体系结构第三章ppt课件.ppt_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《计算机组成与体系结构第三章ppt课件.ppt》由会员分享,可在线阅读,更多相关《计算机组成与体系结构第三章ppt课件.ppt(85页珍藏版)》请在三一办公上搜索。

1、2,第三章 信息编码与数据表示,数值数据的表示,3.1,浮点机器数的表示方法,数据格式,3.2,定点机器数的表示方法,3.3,3.4,非数值数据的表示,3.5,校验码,3.6,现代计算机系统的数据表示,3.7,本章小结,3,3.1 数值数据的表示,进位计数制,一,不同数制之间的相互转换,二,十进制数的编码,三,4,一、进位计数制,数制的两大要素:基数R:指在这种进位制中允许使用的基本数码个数。基数为R的数制称为R进制数。 R进制数的主要特点就是逢R进1 。权Wi:权也称位权,指某一位i上的数码的权重值,即权与数码所处的位置i有关。 Wi Ri。假设任意数值N用R进制数来表示,形式为: N=(D

2、m1Dm-2D0 D-1D-2 D-k )R 其中,Di为该进制的基本符号,Di0,R-1,i = -k, -k+1, ,m-1,m;小数点在D0和D-1之间。,5,一、进位计数制,则数值N的实际值为:,例如:R10,即十进制数。它的每一位上的数码Di只能取0,1,2,9;各个数码的权为10i,i指示数码所处的位置,个位i0,十位i1,百位i2,依此类推。思考:二进制、八进制、十六进制?,6,一、进位计数制,例1:(2345.459)102103 3102 41015100 410-1 510-2 910-3例2:(11011.011)2124 123 022121 12-0 02-1 12-

3、2 12-3=(27.375)10例3:(123.67)8182 281 38068-1 78-2=(83.859375)10,7,二、不同数制之间的相互转换,常用的几种数制的对应关系,1,二、八、十六进制转换为十进制,2,十进制转换为二、八、十六进制,3,8,(1)常用的几种数制的对应关系,9,(2)二、八、十六进制转换为十进制,转换方法:加权求和。(按式41)例:(5AC.E6)16= 5162 10161 12160 14161 6162 (1452.8984375)10十进制(Decimal)、二进制(Binary)、八进制(Octal)、十六进制(Hexdecimal)数分别用D、B

4、、Q、H来标志。例如:(1011)2(1011)B1011B1011b(123.45)2( 123.45 )D 123.45D 123.45(2B.D)16=(2B.D)H=(43.8125)10=(53.64)Q,10,(3)十进制转换为二、八、十六进制,转换方法:可以分为以下两种方法直接转换:十进制二、八、十六进制间接转换:十进制二进制 八、十六进制(a)十进制转化为R进制(b)二进制转化为八、十六进制,11,(a)十进制转化为R进制,转换方法整数部分:除以R取余,先得低位,直到商为0。小数部分:乘R取整,先得高位,直到积为0或者达到精度要求为止。例:(123.75)10=( ? )2(1

5、23.75)10=( ? )8,1111011.11,173.6,12,小数部分的精度要求,当小数部分不能整除为二进制时,则乘以2取整的过程中,积不会为0;或者当小数部分转化为二进制位数很长,这时由精度来决定二进制位数。例如:(0.35)10( ? )2无法整除(0.6875)10( ? )2位数太长若要求精度大于10,则表示“”左右两边的十进制值的差的绝对值10。则我们只需取4位二进制小数即可满足要求,因为1024。,13,(b)二进制转化为八、十六进制,二进制八进制以小数点为中心分别向两边分组,每三位一组,写出对应的八进制数字。(不够位数则在两边加0补足3位 )二进制十六进制以小数点为中心

6、分别向两边分组,每四位一组,写出对应的十六进制符号。(不够位数则在两边加0补足4位 )例:(1011111.11)2=( ? )8=( ? )16,137.6,5F.C,14,思考1:八、十六进制如何转化为二进制?,八进制二进制:将每位八进制数展开为3位二进制数,最高位和最低位的0可以略去。十六进制二进制:将每位十六进制数展开为4位二进制数,最高位和最低位的0可以略去。例:(765.23)8= ( ? )2例:(765.23)16= ( ? )2,111 110 101.010 011,111 0110 0101.0010 0011,15,思考2:计算机中为什么采用二进制表示数据?,1、具有二

7、值状态的物理器件容易实现。2、二进制的运算规则简单,硬件实现容易。3、具有逻辑特性,可代表“真假”、“是非”。,16,三、十进制数的编码,提出的问题:如何在计算机内使用二进制来表示十进制数据? (1)二十进制码(BCD码)(2)十进制数串的表示方法,17,(1)二十进制码(BCD码),BCD(Binary Coded Decimal)码:使用二进制来编码十进制数字09。编码方法:一般使用4位二进制编码来表示1位十进制数字,在16个编码中选用10个来表示数字09。不同的选择构成不同的BCD码 。分类:有权码:编码的每一位都有固定的权值,加权求和的值即是表示的十进制数字。如8421码、2421码、

8、5211码、4311码、84 -2-1码等。无权码:编码的每一位并没有固定的权,主要包括格雷码、余3码等。,18,(1)二十进制码(BCD码),19,几种常见的BCD码,8421码:特点:4位二进制数位的权从高到低依次是8、4、2、1;8421码实际上就是十进制数字09的二进制编码本身。是最常用的一种BCD码,在没有特别指出的一般情况下,所提到的BCD码通常就是指8421码。格雷码:特点:又叫循环码,它的任何相邻的两个编码(例如2和3、7和8、9和0等)之间只有一位二进制位不同。优点:是用它构成计数器时,在从一个编码变到下一个编码时,只有一个触发器翻转即可,波形更完美、可靠。格雷码的编码方案有

9、许多种。余3码:对应的8421码加上0011构成的。,20,(2)十进制数串的表示方法,字符串形式:用ASCII码来表示十进制数字或符号位,即1个字节存放1位十进制数字或符号位。压缩的十进制数串形式:用BCD码来表示十进制数字,即1个字节存放2个十进制的数字;符号位放在最低位数字位之后,一般用C(12)表示正号,用D(13)表示负号。例如 258被表示成258CH,占用两个字节,-34被表示为034DH,也占用两个字节。共同点:必须给出它在主存中的首地址和位长。,21,(2)十进制数串的表示方法,采用十进制表示数据的优点是:对于需要大量地进行输入输出数据而运算简单的场合,大大减少了十二和二十转

10、换,提高了机器的运行效率;十进制数串的位长可变,许多机器中规定该长度从0到31,有的甚至更长。不受定点数和浮点数统一格式的约束,从而提高了数据的表示范围和运算精度。,22,3.2 数据格式,计算机中参与运算的数据有两种:无符号数据( Unsigned ):所有的二进制数据位数均用来表示数值本身,没有正负之分。带符号数据( Signed):则其二进制数据位,包括符号位和数值位。计算机中的带符号数据又称为机器数。1、机器数与真值 机器数:把“+”、“-”符号代码化,并保存在计算机中的数据。真值:是指机器数所真正表示的数值,用数值并冠以“+”、“-”符号的方法来表示。机器数的编码方法:原码、反码、补

11、码、移码。,23,3.2 数据格式,计算机硬件如何区分它们是无符号数据还是带符号数据的呢?例: (Intel X86系列CPU)假设AX(1111111111111111)2,BX(0000000000000001)2,那么执行下面两段程序时,计算机硬件将把AX和BX中的数据看成是不同的数据。程序ACMPAX,BX; 结果影响标志位JLL1;有符号数小于转移执行JL指令时,操作数AX和BX被当作有符号数据,AX(1)10,BX(1)10,所以执行结果是转移到L1标号处执行。程序BCMPAX,BXJBL1;无符号数小于转移执行JB指令时,操作数AX和BX被当作无符号数据,AX(65535)10,

12、BX(1)10,所以执行结果是不转移,顺序执行。,24,3.2 数据格式,2、小数点的表示方法在机器数中,小数点及其位置是隐含规定的;有两种隐含方式:定点数:小数点的位置是固定不变的 浮点数:小数点的位置是浮动的定点机器数分为定点小数、定点整数两种。 浮点机器数中小数点的位置由阶码规定,因此是浮动的。,25,3.2 数据格式,(a) 定点整数格式,(c)浮点数格式,(b)定点小数格式,26,3.3 定点机器数的表示方法,定点机器数的小数点的位置是固定不变的,可以分为两种:定点小数:用于表示纯小数,小数点隐含固定在最高数据位的左边,整数位则用于表示符号位。定点整数:用于表示纯整数,小数点位置隐含

13、固定在最低位之后,最高位为符号位。1、原码表示法3、反码表示法2、补码表示法4、移码表示法5、定点机器数转换,27,1、原码表示法,(1)表示方法:最高位表示数的符号,其他位表示数值位。符号位:0正数,1负数。数值位:与绝对值相同。对于定点整数:若X=+X1X2Xn,则X原= 0,X1X2Xn ;若X=- X1X2Xn ,则X原= 1,X1X2Xn 。对于定点小数:若X=+0. X1X2Xn ,则X原= 0.X1X2Xn ;若X=- 0.X1X2Xn ,则X原= 1.X1X2Xn 。,“,”和“.”只用于助记,在计算机中并无专用部件来表示,28,1、原码表示法,例1:X=1011,Y1011,

14、则:X原 ;Y原 ;例2:X=0.1101,Y- 0.1101,则:X原 ;Y原 ;例3: X=1011, Y- 0.1101,求X和Y的8位原码机器数。X原 ;Y原 ;例4:0原?,0,1011,1,1011,0.1101,1.1101,0,0001011,1. 1101000,29,1、原码表示法,(2)0 的表示:0 的原码表示有两种形式,即分别按照正数和负数表示。+0原 000 -0原 100(3)表示范围:对于n1位原码机器数X,它所能表示的数据范围为:定点整数:(2n1)X 2n1定点小数:(12n)X 12n,包括1位符号位,n位数值位,30,2、补码表示法,(1)表示方法:最高

15、位为符号位,其他位为数值位。符号位:0正数,1负数。数值位:正数时,与绝对值相同;负数时,为绝对值取反后,末位加1。,31,2、补码表示法,例1:X=1011,Y1011,则:X补 ;Y补 ;例2:X=0.1101,Y- 0.1101,则:X补 ;Y补 ;例3: X=1011, Y- 0.1101,求X和Y的8位补码机器数。X补 ;Y补 ;例4:0补?,0,1011,1,0101,0.1101,1.0011,0,0001011,1. 0011000,32,2、补码表示法,(2)0 的表示:0 的补码表示形式是唯一的,即分别按照正数和负数表示均一致,为全零。+0补 000 -0补 000(3)表

16、示范围:对于n1位补码机器数X,它所能表示的数据范围为:定点整数:2nX 2n1定点小数:1X 12n计算机中的整型数据(int)均用补码来表示。,包括1位符号位,n位数值位,33,3、反码表示法,(1)表示方法:最高位表示数的符号,其他位表示数值位。符号位:0正数,1负数。数值位:正数时,与绝对值相同;负数时,为绝对值取反。,34,3、反码表示法,例1:X=1011,Y1011,则:X反 ;Y反 ;例2:X=0.1101,Y- 0.1101,则:X反 ;Y反 ;例3: X=1011, Y- 0.1101,求X和Y的8位反码机器数。X反 ;Y反 ;例4:0反?,0,1011,1,0100,0.

17、1101,1.0010,0,0001011,1. 0010111,35,(2)0 的表示:0 的反码表示有两种形式,即分别按照正数和负数表示。+0反 000 -0反 111(3)表示范围:对于n1位反码机器数X,它所能表示的数据范围为:定点整数:(2n1)X 2n1定点小数:(12n)X 12n,包括1位符号位,n位数值位,3、反码表示法,36,4、移码表示法,(1)表示方法:最高位为符号位,其他位为数值位。符号位:1正数,0负数。数值位:正数时,与绝对值相同;负数时,为绝对值取反后,末位加1。,移码表示:即为补码的符号位取反,37,4、移码表示法,例1:X=1011,Y1011,则: X移

18、;Y移 ;例2:X=0.1101,Y- 0.1101,则:X移 ;Y移 ;例3: X=1011, Y- 0.1101,求X和Y的8位移码机器数。X移 ;Y移 ;例4:0移?,1,1011,0,0101,1.1101,0.0011,1,0001011,0. 0011000,38,4、移码表示法,(2)0 的表示:0 的移码表示形式是唯一的,即分别按照正数和负数表示均一致。+0移 100 -0移 100(3)表示范围:对于n1位移码机器数X,它所能表示的数据范围为:定点整数:2n1X 2n1定点小数:1X 12n移码通常作为浮点数的阶码。,包括1位符号位,n位数值位,39,5、定点机器数转换,机器

19、数转换为真值 四种定点机器数转换为真值的方法要点是:首先根据机器数的符号位确定真值的正负,然后对照机器数的定义和表示,反方向求出真值的绝对值 机器数之间的相互转换原码、补码、反码和移码之间的相互转换,最简单的方法是先求出它们的真值,然后再转换为另一种表示方法。,40,3.4 浮点机器数的表示方法,浮点机器数的格式,浮点机器数的规格化表示,浮点数的表示范围,41,1、浮点机器数的格式,浮点机器数用于表示实数,其小数点的位置由其中的阶码规定,因此是浮动的。浮点数N的构成:,浮点数的格式:阶码的底是隐含规定的。,在机器中,为了方便浮点数大小的比较,通常将数符放置在浮点数的首位。,42,1、浮点机器数

20、的格式,尾数M:为定点小数,尾数的位数决定了浮点数有效数值的精度,尾数的符号代表了浮点数的正负,因此又称为数符。尾数一般采用原码和补码表示。阶码E:为定点整数,阶码的数值大小决定了该浮点数实际小数点位置与尾数的小数点位置(隐含)之间的偏移量。阶码的位数多少决定了浮点数的表示范围。阶码的符号叫阶符。阶码一般采用移码和补码表示。阶码的底R:一般为2、8或16 ,且隐含规定。,43,1、浮点机器数的格式,根据IEEE 754 国际标准,常用的浮点数格式有3种,阶码的底隐含为2。短实数又称为单精度浮点数,长实数又称为双精度浮点数,临时实数主要用于进行浮点数运算时保存临时的计算结果。,44,2、浮点机器

21、数的规格化表示,浮点数的规格化表示:为了充分利用尾数的二进制数位来表示更多的有效数字,将尾数的绝对值限定在某个范围之内。例如:R2,则规格化浮点数的尾数M应满足条件:最高有效位为1,即,45,2、浮点机器数的规格化表示,为便于计算机硬件对尾数的机器数形式的规格化判断,通常采用下列方法实现判定:(1)对于原码表示的尾数,当最高有效位(M1)为1时,浮点数为规格化,即尾数为.1形式;(2)对于补码表示的尾数,当符号位(MS)与最高有效位(M1)相异时,浮点数为规格化,即尾数为0.1形式或者为1.0形式。,对于非规格化浮点数,可以通过修改阶码和左右移尾数的方法来使其变为规格化浮点数,这个过程叫做规格

22、化。,46,2、浮点机器数的规格化表示,若尾数进行右移实现的规格化,则称为右规;若尾数进行左移实现的规格化,则称为左规。 使用规格化的浮点数表示数据的优点:(1)提高了浮点数据的精度;(2)使程序能够更方便地交换浮点数据;(3)可以使浮点数的运算更为简化。,47,2、浮点机器数的规格化表示,例:一浮点数的阶码为6位(包括一位阶符),尾数为10位(包括一位数符),阶码与尾数均采用补码表示,阶码的底为2。写出X与Y的规格化浮点数。(1)X123.25(2)Y34/128(1)X(123.25)10 (1111011.01)2 0. 11110110127,48,2、浮点机器数的规格化表示,EX=+

23、7=(+00111)2,MX=0. 111101101EX补=000111, MX 补=1. 000010011则:X浮= 1 000111 000010011(2)Y(34/128 ) 10 (0.010001)2 0. 1000121EY=00001,MY=0. 100010000EY补=111111, MY 补=0. 100010000则:Y浮= 0 111111 100010000,49,3、浮点数的表示范围,在浮点数的表示范围中,有两种情况被称为机器零:(1)若浮点数的尾数为零,无论阶码为何值;(2)当阶码的值遇到比它能表示的最小值还要小时(阶码负溢出),无论其尾数为何值,机器零,5

24、0,3、浮点数的表示范围,浮点数的表示范围通常:最小(负)数、最大负数、最小正数、最大(正)数。位于最大负数和最小正数之间的数据(除0外),机器无法表示,称为下溢。对于下溢的处理,计算机直接将其视为机器零。当一个数据大于最大(正)数,或者小于最小(负)数时,机器也无法表示,称为上溢,上溢又称溢出。,51,3、浮点数的表示范围,写出例3.10中的浮点数格式的规格化和非规格化表示范围。解:(1)规格化表示范围:(2)非规格化表示范围:,52,3.5 非数值数据的表示,非数值数据:文字和符号(字符)、图像、声音等非数值数据的表示:对其进行二进制编码,53,一、字符编码,字符的表示:采用字符编码,即用

25、规定的二进制数表示文字和符号的方法。 ASCII码:美国标准信息交换码,为国际标准,在全世界通用 。常用的7位ASCII码的每个字符都由7个二进制位b6b0 表示,有128个编码,最多可表示128种字符;其中包括:10个数字09:30H39H,顺序排列26个小写字母az:61H7AH ,顺序排列26个大写字母AZ:41H5AH ,顺序排列各种运算符号和标点符号等。,54,ASCII码编码表,55,ASCII码分类,95个可打印或显示的字符:称为图形字符,有确定的结构形状,可在打印机和显示器等输出设备上输出;而且这些字符均可在计算机键盘上找到相应的键,按键后就可以将相应字符的二进制编码送入计算机

26、内。 33个控制字符:不可打印或显示,分成5类: 10个传输类控制字符:用于数据传输控制; 6个格式类控制字符,用于控制数据的位置 4个设备类控制字符,用于控制辅助设备; 4个信息分隔类控制字符,用于分隔或限定数据 9个其他控制字符、空格字符和删除字符。,56,基于IBM ProPrinter打印机的扩展ASCII码,57,二、汉字编码,对于汉字,计算机的处理技术必须解决三个问题:汉字输入、汉字储存与交换、汉字输出,它们分别对应着汉字输入码、交换码、内码、字形码的概念。1、汉字输入码汉字输入码也称外码,是为了将汉字输入计算机而编制的代码,是代表某一汉字的一串键盘符号。汉字输入码种类:数字编码:

27、如区位码、国标码、电报码等。拼音编码:如全拼码、双拼码、简拼码等。字形编码:如王码五笔、郑码、大众码等。音形编码:如表形码、钱码、智能ABC等。,58,二、汉字编码,汉字交换码是指不同的具有汉字处理功能的计算机系统之间在交换汉字信息时所使用的代码标准。目前国内计算机系统所采用的标准信息处理交换码,是基于1980年制定的国家标准信息交换用汉字编码字符集基本集(GB2312-80)修订的国标码。该字符集共收录了6763个汉字和682个图形符号。6763个汉字按其使用频率和用途,又可分为一级常用汉字3755个,二级次常用汉字3008个。其中一级汉字按拼音字母顺序排列,二级汉字按偏旁部首排列。采用两个

28、字节对每个汉字进行编码,每个字节各取七位,这样可对12812816384个字符进行编码。,59,二、汉字编码,两种典型的数字编码:区位码:是将国家标准局公布的6763个两级汉字分为94个区,每个区分94位,实际上把汉字表示成二维数组,每个汉字在数组中的下标就是区位码。例如“中”字位于54区48位,“中”字的区位码即为“5448”。国标码:将区位码加2020H,占用两个字节。例如“中”字的国标码为区位码5448的区码和位码转化为16进制,为3630H,再加2020H得国标码5650H。,60,二、汉字编码,2、汉字内码汉字内码是用于汉字信息的存储、交换、检索等操作的机内代码,一般采用两个字节表示

29、。汉字可以通过不同的输入法输入,但其内码在计算机中是唯一的。英文字符的机内代码是七位的ASCII码,当用一个字节表示时,最高位为“0”。为了与英文字符能相互区别,汉字机内代码中两个字节的最高位均规定为“1”。机内码等于汉字国标码加上8080H。例如“中”字的机内码为D6D0H。,61,二、汉字编码,3、汉字字形码汉字字形码是将汉字字形经过点阵数字化后形成的一串二进制数,用于汉字的显示和打印。根据汉字输出的要求不同,点阵有以下几种:简易型汉字:1616, 32字节/汉字普通型汉字:2424, 72字节/汉字提高型汉字:3232,128字节/汉字。汉字字库:将所有汉字的字模点阵代码按内码顺序集中起

30、来,构成了汉字库。,62,63,3.6 校验码,64,3.6 校验码,1、校验码定义:是一种具有发现某些错误或自动改正错误能力的一种数据编码方法。2、校验码目的:用于检查或纠正在存取、读写和传送数据的过程中可能出现的错误。3、校验码的基本思想:“冗余校验”,即通过在有效信息代码的基础上,添加一些冗余位来构成整个校验码。4、校验码的构成:有效信息校验位(由有效信息产生的冗余位),65,3.6 校验码,5、校验过程:,有效信息,校验码编码器,校验码,校验位,校验码,发送/写/存,接收/读/取,有效信息,校验位,有效信息,校验位,校验码译码器,正确,错误,输出,66,3.6 校验码,6、校验码原理:

31、通过判断代码的合法性来检错的。只有当合法码之间的码距d2时,校验码才具有检错能力,当码距d 3时,校验码才具有纠错能力。码距:一种码制的码距是指该码制中所有代码之间的最小距离。两个代码之间的距离:在一种编码中,在任何两个代码之间逐位比较,对应位值不同的个数。校验码的检错纠错能力与码距的关系如下:若码距d为奇数,如果只用来检查错误,则可以发现d1位错误;如果用来纠正错误,则能够纠正 位错误。若码距d为偶数,则可以发现 位错误,并能够纠正( )位错误。,67,3.6 校验码,7、常见校验码:奇偶校验码:码距d=2,检错码,能检验奇数位错误;通常用于磁带或者串行通信中。海明校验码:码距d=3,纠错码

32、,能纠正1位或多位错误;通常用于磁盘冗余阵列中。CRC校验码:码距d=3,纠错码,能纠正1位错误;通常用于磁盘或数据块的校验。,68,在有效信息位的前面或者后面添加一位奇(偶)校验位就组成了奇(偶)校验码。奇(偶)校验码的编码和译码在硬件上通常采用异或非门(异或门)实现。 1、编码奇校验位的取值应该使整个奇校验码中“1”的个数为奇数,偶校验位的取值应该使整个偶校验码中“1”的个数为偶数。假设在发送端,要发送七位ASCII码(B6 B5 B4 B3 B2 B1 B0),在ASCII码前面添加一位奇校验位P奇或偶校验位P偶变为一个字节的奇偶校验码,则它们的生成表达式为,二、奇偶校验码,69,2、译

33、码在接收端,必须检验接收到的校验码信息的奇偶性,对于奇校验码,校验码中“1”的个数应该为奇数,否则出错;对于偶校验码,校验码中“1”的个数应该为偶数,否则出错。设E奇为奇校验码出错信号,E偶为偶校验码出错信号,为1出错,为0正确,则它们的表达式为,奇偶校验的编码电路,例如:字符“A”的ASCII码为41H,奇校验码为C1H,偶校验码为41H。,二、奇偶校验码,70,二、奇偶校验码,71,三、海明码,1、编码海明码的编码步骤如下:(1)计算校验位的位数假设信息位为k位,增加r位校验位,构成n=k+r位海明码字。若要求海明码能纠正一位错误,用r位校验位产生的r位指误字来区分无错状态及码字中n个不同

34、位置的一位错误状态,则要求r满足:2 r k + r + 1计算出k位有效信息时,必须添加的能纠错一位的海明校验码的校验位的位数r,72,(2)确定有效信息和校验位的位置假设k位有效信息从高到低为 ,添加的r位校验位为 ,则它们构成n=k+r位的海明码排列设为 ,H的下标被称为海明位号,则第i位的校验位Pi必须位于位号为2i-1的位置,即 ,其中,i=1,2,r;有效信息则在其余的海明码位置上顺序排列。,三、海明码,73,三、海明码,(3)分组由于海明码是分组进行奇偶校验的,每一组通过一个监督表达式来监督有效信息的变化,因此,分组必须使得监督表达式得出的指误字能够反映出错位的位号。分组的原则是

35、:校验位只参加一组奇偶校验,有效信息则参加至少两组的奇偶校验,若 Di = Hj ,则Di参加那些位号之和等于j的校验位的分组校验。,74,三、海明码,(4)进行奇偶校验,合成海明码首先,按照分组和奇偶校验的规律将每个校验位的生成表达式写出,然后,再带入有效信息的值,依次得出校验位的取值,最后将校验位按各自的位置插入,与有效信息一起合成海明码。,75,三、海明码,2、译码 在接收端收到每个海明码后,也必须按上述分组检验每组的奇偶性有无发生变化,方法是按照监督关系式算出指误字Sr Sr-1 S2 S1 ,若为全零,则说明各组奇偶性全部无变化,信息正确,将相应的有效信息位析取出来使用;否则,指误字

36、的十进制值,就是出错位的海明位号。,76,四、循环冗余码CRC,循环冗余码CRC(Cyclic Redundancy Code),又称为多项式码。 1、编码k位要发送的有效信息位可对应于一个k-1次多项式M(x),r位冗余校验位对应于一个r-1次多项式R(x)。由k位信息位后面加上r位冗余位组成的n=k+r位CRC码字则对应于一个n-1次多项式C(x),即: C(x)= xr M(x)+ R(x) 该CRC码称为(n,k)循环码。,77,四、循环冗余码CRC,由信息位产生冗余位的编码过程,就是已知M(x)求R(x)的过程。在CRC码中可以通过找到一个特定的多项式G(x)来实现。用G(x)去除x

37、r M(x)得到的余式就是R(x),假设商的多项式为Q(x),编码过程 即xr M(x)G(x) Q(x)+ R(x)生成多项式G(x)应满足以下条件:(1)必须是r次多项式,最高项xr 和x0的系数为1,即它对应的二进制编码是r+1位的。(2)CRC校验码的任何一位发生错误,余数不为零;且不同位发生错误,余数不同。(3)对余数继续模2除,应使余数循环。,78,四、循环冗余码CRC,目前已经有多种生成多项式被列入国际标准中,如:CRC-4、CRC-12、CRC-16、CCITT-16、CRC-32等。目前常用的CRC-16多项式为x16+x12+x5+1(记为1021),CCITT-16多项式

38、为x16+x15+x2+1(记为8005)。图3.9 CRC(n,k)校验码串行生成电路原理图图中Gi代表生成多项式G(x)各项的系数,79,四、循环冗余码CRC,2、译码 接收端的校验过程就是用G(x)来除接收到的码字多项式的过程。若余式为零则认为传输无差错;若余式不为零则传输有差错。出错的位置与余数值是一一对应的关系,通过查找出错模式表,即可以确定是那一位出错。,80,3.7 现代计算机系统的数据表示,几种类型的数据在Pentium系列CPU中的表示形式 :1、字符串由字符的ASCII码或者文字的Unicode编码组成,按顺序存放在内存或寄存器中。每个ASCII码字符占1个字节,每个Uni

39、code编码占用2个字节,81,3.7 现代计算机系统的数据表示,BCD在基于Pentium系列CPU的IA构架中,BCD数据分为压缩的(packed)BCD码和非压缩(unpacked)的BCD码两种,前者以每字节2位BCD数字的形式存储,后者以每字节1位BCD数字的方法存储,82,3.7 现代计算机系统的数据表示,3、指针指针实际上是内存单元的地址,因此是无符号数据。IA构架中定义了两种类型的指针,(1)一种是32位的近指针,用于定义段内偏移量和段内访问;(2)一种是48位的全指针,又称远指针,用于段间访问。4、浮点数Pentium系列CPU支持IEEE 754标准的3种浮点数格式:单精度

40、、双精度和扩展精度浮点数。,83,本章小结,数制有两个要素:基数R与位权W。计算机中的信息均由二进制来表示,即R=2,W=2i。用于表示十进制数值的二进制编码被称为BCD码,4位二进制编码表示一个十进制数字。机器数是数值数据在机器中的表示形式,根据小数点的位置是否浮动,可以分为定点数和浮点数。定点机器数根据小数点的隐含位置又分为定点小数和定点整数两种。浮点机器数由阶码E和尾数M两部分构成,阶码是定点整数,尾数是定点小数;阶码E(即指数)的底,一般隐含为2。浮点机器数的小数点的位置随阶码数值而变化。IEEE754标准的浮点数有单精度、双精度、临时浮点数3种格式,分别为32位、64位和80位。,84,本章小结,真值转化为定点机器数时,有四种表示形式:原码、反码、补码和移码。移码主要用于表示浮点数的阶码。计算机中的非数值数据的表示,字符数据通常采用7位的ASCII码来表示。汉字的输入编码用于使用西文标准键盘输入汉字,汉字的机内码则用于汉字的存储、检索和处理,汉字的字模码则用于汉字的显示和打印输出。计算机中使用校验码来检错和纠错。奇偶校验码是最简单的一种检错码,它可以检查出一位或奇数位错误。海明校验码是一种多重奇偶校验码,具有纠错能力,而CRC校验码则是一种目前广泛使用的纠错码,可以纠错一位。本章重点为定点机器数和浮点机器数的表示方法。,85,The End !,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号