计算机组成原理课件第三章计算机中的数据表示.ppt_第1页
计算机组成原理课件第三章计算机中的数据表示.ppt_第2页
计算机组成原理课件第三章计算机中的数据表示.ppt_第3页
计算机组成原理课件第三章计算机中的数据表示.ppt_第4页
计算机组成原理课件第三章计算机中的数据表示.ppt_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章 计算机中数据的表示,学时:6个学时 重点:掌握各种数据的编码方法,主要内容,概述 字符编码 中文编码 逻辑数据 数值数据 校验码,概述,计算机中最重要的功能是处理信息,如:数值、文字、符号、语言和图象等。计算机内部,各种信息都必须采用数字化编码的形式被传送、存储、加工。因此掌握信息编码的概念与处理技术是至关重要的。 所谓编码,就是用少量简单的基本符号,选用一定的组合规则,以表示出大量复杂多样的信息。,概述,常用的信息分为: 定点数(fixed-point) 数值信息 浮点数(floating-point) 字符(character) 非数值信息 汉字(Chinese character

2、) 逻辑数据(logical data),字符编码,用一定位数的二进制数“0”和“1”进行编码给出。 常用的字符编码ASCII码。 ASCII (American Standard Code for Information Interchange),字符编码,ASCII码是美国信息交换标准代码。 (American Standard Code for Information Interchange) 包括0-9十个数字,大小写英文字母 及专用符号等95种可打印字符。,Computer,01000011 01101111 01101101 01110000 01110101 01110100 0

3、1100101 01110010,7 6 5 4 3 2 1,中文编码,汉字输入码:为进行汉字输入,将汉字 代码化。 汉字机内码:在计算机内部进行汉字处理。 汉字字型码:汉字输出时的编码。,国标码:国家标准信息交换用汉字编码。国标码采用双字节的编码方式。,国标码收入6763个汉字,682个西文字符、图符,构成 9494 的矩阵。 (每一行为“区”,每一列为“位”:国标区位码),机内码,“啊”:区位码“1601” “1001H”,00010000 00000001,10010000 10000001,“啊”:机内码“B0A1H”,中文编码,中文编码,字符代码化(输入),数字码 拼音码 字形码,中

4、文编码,逻辑数据,逻辑型数据只有两个值:真 和 假, 正好可以用二进制码的两个符号分别表示, 例如 1 表示 真 则 0 表示 假 不必使用另外的编码规则。 对逻辑型数据可以执行逻辑的 与 或 非等基本逻辑运算。其规则如下,逻辑数据,X Y X与Y X或Y X的非 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 0,数值数据,定点数: 浮点数 十进制数串,数值数据定点数的表示方法,定点数:定点纯小数和定点纯整数 定点纯小数:约定小数点的位置隐含在符号位之后,最高数值位之前 定点纯整数:约定小数点隐含在数值最低位的右边,简称定点整数。,数值数据定点数的表示方法,原码表

5、示法(Sign-Magnitude representation) 补码表示法(Twos Complement representation) 反码表示法(Nagation) 移码表示法,数值数据定点数的表示法(原码),定点小数表示: Ns. N1 N2 Nn 定义: X 原 = 定点整数表示:Ns N1 N2 Nn 定义: X 原 =,X,1 - X,0 X 1,-1 X 0,X,2n - X,0 X 2n,- 2n X 0,数值数据定点数的表示法(原码),实例:X1 = 0.10110 -0.10110 0.0000 X 原= 010110 110110 00000 10000 实例:X1

6、 = 10110 -10110 0000 X 原= 010110 110110 00000 10000,数值数据定点数的表示法(原码),性质: 原码为符号位加数的绝对值,0正1负 原码零有两个编码,+0和 -0编码不同 原码难以用于加减运算,但乘除方便 N+1位二进制原码所表示的范围: 小数:MAX=1-2-n ,MIN=( 1-2-n ) 整数:MAX= 2n-1, MIN=( 2n-1),数值数据定点数的表示法(补码),补码是在“模”和“同余”的概念下导出的。 “模”是指一个计量系统的计量范围,即产生“溢出”的量。,数值数据定点数的表示法(补码),现在是北京时间3点整,而时钟却指向5点。,

7、5-2=3,5+10=3(12自动丢失。12就是模),数值数据定点数的表示法(补码),继续推导: 5-2=5+10 (MOD 12) 5+(-2)=5+10 (MOD 12) -2=10 (MOD 12) 结论:,可以说:在模为12的情况下,-2的补码 就是10。 一个负数用其补码代替,同样可以得到正确的运算结果。,数值数据定点数的表示法(补码),进一步结论: 在计算机中,机器能表示的数据位数是一定的,其运算都是有模运算。如果是n位整数,其模为2n。如果是n位小数,其模为2。 若运算结果超出了计算机所能表示的数值范围,则只保留它的小于模的低n位的数值,超过n位的高位部分就自动舍弃了。,数值数据

8、定点数的表示法(补码),定义: 任意一个X的补码为X补,可以用该数加上其模M来表示。 X补=X+M,数值数据定点数的表示法(补码),定点小数表示: Ns. N1 N2 Nn 定义: X 补 = (MOD 2) 定点整数表示:Ns N1 N2 Nn 定义: X 补 = (MOD 2n+1),X,2+ X,0 X 1,-1 X 0,X,2n+1 + X,0 X 2n,- 2n X 0,数值数据定点数的表示法(补码),实例:X1 = 0.10110 -0.10110 0.0000 X 补 =010110 101010 00000 实例:X1 = 10110 -10110 0000 X 补 =0101

9、10 101010 00000,数值数据定点数的表示法(补码),由于正数的补码就是正数本身,故着重讲解负数求补码的方法。,负数求补码,数值数据定点数的表示法(补码),(1)由定义求 例:,X补=2+X,=10+(-0.1101001),=1.0010111,数值数据定点数的表示法(补码),例: X=- 1101001 解:,X补=28+X,=100000000+(-1101001),=10010111,反过来,由补码求真值,只要将公式进行交换即可。,数值数据定点数的表示法(补码),(2)由原码求补码 除符号位以外,其余各位求反,末位加1。 例:X=- 0.0101011 解:,X原= 1 0

10、1 0 1 0 1 1,X补=,1,1,1,1,0,0,0,0,+,1,1 1 0 1 0 1 0 1,由补码求原码,此规则同样适用。,数值数据定点数的表示法(补码),由原码求补码的简便原则: 除符号位以外,其余各位按位取反,从最低位开始遇到的第一个1以前的各位保持不变。,例:X原= 1 1 0 1 1 0 1 0 0,X补=,1 0 1 0 0 1,1 0 0,1 0 0,由-X补求X补,此规则同样适用。,数值数据定点数的表示法(补码),(3)由X补求-X补:连符号位一起各位求反,末位加1。 例:X补=1.1010101 解:,X补= 1 1 0 1 0 1 0 1,-X补=,0,0,0,0

11、,1,1,1,0,+,1,0 0 1 0 1 0 1 1,数值数据定点数的表示法(补码),(4). 由X补求1/(2X)补:将X补的符号位和数值位一起向右移动一次.符号位移走后保持原来的值不变. 例:,X补=,1,0,0,1,1,0,0,0,X/2补=,1,0,1,0,1,0,0,0,1,这称为“算术移位”,你会求X/4补和X/8补吗?,数值数据定点数的表示法(补码),性质: 0的补码是唯一的 补码便于加减运算 n+1位补码所能表示的数: 小数:MAX=1-2-n ,MIN=1 整数:MAX= 2n-1, MIN= 2n,数值数据定点数的表示法(反码),定点小数表示: Ns. N1 N2 Nn

12、 定义: X 反 = 定点整数表示:Ns N1 N2 Nn 定义: X 反 =,X,(2-2-n )+ X,0 X 1,-1 X 0,X,( 2n+1 1)+ X,0 X 2n,- 2n X 0,数值数据定点数的表示法(反码),由原码求反码,如果X为正数,则X反=X原;如果X为负数,则将X原除符号位以外,每位都变反,可得到X反。 实例:X1 = 0.10110 -0.10110 0.0000 X 反 = 010110 101001 00000 11111 实例:X1 = 10110 -10110 0000 X 反 = 010110 101001 00000 11111,数值数据定点数的表示法(

13、移码),对于n+1位数Ns N1 N2 Nn 定义: X 移 =2n+X 由于移码是在原值X上加一个2n,所以也称为增码,因此,符号为1时,表示正数,符号为0时,表示负数。 X=1101010,X移=27+X =11101010,-2n X 2n,数值数据定点数的表示法(移码),由X补求X移:只要将X补的符号位求反,就可得到X移。 性质: 若X1移X2移,则有 X1X2,数值数据浮点数表示法,定义: 任意一个R进制都可以通过移动小数点的位置写成 N=RE*M 式中: R式基数,可以取2,8,16,一旦定义则不能改变,是隐含的。 M是纯小数 (含数的符号),称为尾数,表示数N的全部有效数字。 E

14、是阶码,纯整数,制粗小数点在该数中的位置。 由于阶码可以取不同的数值,所以,小数点的位置是不确定的,这种数被称为浮点数。,数值数据浮点数表示法,由于基数在系统中是隐含约定的,不需要用代码表示,所以浮点数只需用一对定点数(阶码和尾数)表示,其中,符号表示数的正负,阶码表示小数点的位置,而尾数表示有效数字。,数值数据浮点数表示法,表数范围: 设l和n分别表示阶码和尾数的位数(均不包含符号位),阶码和尾数均用原码表示,则浮点数的表示范围是: -22l-1(1-2-n)N2 2l-1(1-2-n),思考:如果尾数和阶码各用补码表示,则浮点数的表数范围如何?,数值数据浮点数表示法,定义: 所谓规格化数,

15、就是非0的尾数,其绝对值 应大于或等于05。 判别方法: 如果用原码表示,规格化数的尾数应满足 1/2|S|S-1,这样,用补码表示的规格化尾数即为尾数数值最高位与符号位相反。 规格化: 存储在计算机中的浮点数以及运算结果的浮点数都应为规格化数,如果尾数不是规格化数,要用移位方法把他变为规格化数,这种处理过程,称为规格化。,数值数据浮点数表示法,IEEE754标准 IEEE754标准定义了四种浮点数的基本格式:单精度格式、扩展单精度格式、双精度格式、扩展双精度格式。 对于规格化的浮点数,IEEE754规定在小数点的左边有一隐含位(作为二进制整数的个位)。由于该位为1,不需要存储,在运算时,自动

16、加上该位参加运算。,请同学们自学IEEE754标准,下面的知识不好理解,请特别专心!,休息1分钟,看个小故事,、陈阿土,陈阿土是台湾的农民,从来没有出过远门。攒了半辈子的钱,终于参加一个旅游团出了国。国外的一切都是非常新鲜的,关键是,陈阿土参加的是豪华团,一个人住一个标准间。这让他新奇不已。早晨,服务生来敲门送早餐时大声说道: “GOODMORNINGSIR!”陈阿土愣住了。这是什么意思呢?在自己的家乡,一般陌生的人见面都会问:“您贵姓?”于是陈阿土大声叫道:“我叫陈阿土!”如是 这般,连着三天,都是那个服务生来敲门,每天都大声说:“GOODMORNINGSIR!” 而陈阿土亦大声回道:“我叫

17、陈阿土!”但他非常的生气。这个服务生也太笨了,天天问自己叫什么,告诉他又记不住,很烦的。终于他忍不住去问导游,GOODMORNINGSIR!”是什么意思,导游告诉了他,天啊!真是丢脸死了。陈阿土反复练习“GOODMORNINGSIR!”这个词,以便能体面地应对服务生。又一天的早晨,服务生照常来敲门,门一开陈阿土就大声叫道:“GOODMORNINGSIR!”与此同时,服务生叫的是:“我是陈阿土!”,这个故事告诉我们,人与人交往,常常是意志力与意志力的较量。不是你影响他,就是他影响你,而我们要想成功,一定要培养自己的影响力,只有影响力大的人才可以成为最强者。,校验码,为了提高计算机的可靠性,除了采

18、取选用更高可靠性的器件,更好的生产工艺等措施之外,还可以从数据编码上想一些办法,即采用一点冗余的线路,在原有数据位之外再增加一到几位校验位,使新得到的码字带上某种特性,之后则通过检查该码字是否仍保持有这一特性,来发现是否出现了错误,甚至于定位错误后,自动改正这一错误,这就是我们这里说的检错纠错编码技术。,校验码,先介绍一个基本概念: 码距:是指两个合法码之间至少有几位二进制位不相同。,校验码,三种常用的检错纠错码: 奇偶检错码 用于并行数据传送中 海明检错与纠错码 用于并行数据传送中 循环冗余码 用于串行数据传送中,校验码奇偶校验码,奇偶校验码:用于并行码检错 原理:在 k 位数据码之外增加

19、1 位校验位, 使 K+1 位码字中取值为 1 的位数总保持 为 偶数(偶校验)或 奇数(奇校验)。 例如: 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 0 1 原有数字位 两个新的码字,偶校验,奇校验,校验位,校验码奇偶校验码,+,奇偶校验码的实现电路 奇较验 偶校验 出错指示,+,+,+,+,+,+,+,同左侧电路,P (校验位),八位数据位,D7 D6 D5 D4 D3 D2 D1 D0,p,译码电路,编码电路,校验码海明校验码,海明校验码:是由Richard Hamming于1950年提出的。这种编码能纠正一位出错,并能自动恢

20、复出错位的校验码。 海明不等式:2rk+r+1 如要能检测与自动校正一位错,并能发现两位错,此时校验位的位数r和数据位的位数k应满足下述关系: 2r-1k+r,校验码海明校验码,数据位和校验位的对应关系表,校验码海明校验码,海明码的编码规则: (1).校验位与数据位之和为m,每个校验位Pi在海明码中被分在位号为2i-1的位置,其余各位为数据位,并按 从低位向高位逐位依次排列的关系分配各数据位. (2).海明码的每一位码Hi由多个校验位校验,其关系是被校验的每一个位位号要等于校验它的各校验位的位号之和. (3).在增大合法码的码距时,使所有码的码距尽量均匀的增大,以保证对所有码的验错能力平衡提高

21、.,校验码海明校验码,举例:为一个8位二进制树编海明码。 K=8,r=5 解:(1)根据规则1,Pi应放在1,2,4,8,16的位置上。即:,13 12 11 10 9 8 7 6 5 4 3 2 1,P5D8D7D6D5P4D4D3D2P3D1P2P1,校验码海明校验码,(2)根据规则2:,校验码海明校验码,5个校验位只与本身有关,数据位则与多个校验位有关。D1由P1和P2校验,D3由P2和P4校验等。 P1校验D1、D2、D4、D5、D7 P2校验D1、D3、D4、D6、D7 P3校验D2、D3、D4、D8 P4校验D5、D6、D7、D8 P5校验D1、D2、D3、D5、D6、D8。 当一

22、位数据发生变化时,必将引起三个Pi的变化,即合法海明码的码距都是4。,校验码海明校验码,按偶校验写出校验方程,校验码海明校验码,举例:假设要传诵的数据为10110110。 根据校验方程,求得: P1=0,P2=0,P3=1,P4=1,P5=1 所以,海明码为1101110111000,校验码海明校验码,检错和纠错 当S1-S5全为零时,表明无错。 当S1-S5中仅有一位不为0时,说明有一个校验位出错。 当有两位不为0时,表明两位海明码出错。 当三位不为0时,表明一个数据位出错。出错的为数由S4-S1四位得编码值指明。,循环冗余码,用于多位串行数据传送中的检错纠错处理,在 k 位数据位串行移位输

23、出的过程中,用带有异或门控制的移位寄存器形成r 个校验位的值,跟随在数据位之后传送走。在接收端再对 k+r 位的码字进行合法与出错检查,若可能则自动改错。,循环冗余码模2四则运算,模2四则运算是以2为模,按位相加的运算,在运算中不考虑借位和进位。 加减法:00=0,01=1,10=1,11=0 乘法:按模2加求部分积之和 除法:按模2 减求部分余数,1 0 1 0,1 0 1,1 0 1 0,0 0 0 0,1 0 1 0,1 0 0 0 1 0,1 0 0 0 0,1 0 1,1,1 0 1,0 1 0,0,0 0 0,1 0,0,1,1 0 1,0 1,商,余数,循环冗余码循环码的编制原理

24、,设待编码的有效信息以多项式M(x)表示,用约定的一个多项式G(X)去除,一般情况下能得到一个商Q(X)和余数R(X) M(x)=Q(x)G(x)+R(x) M(x) -R(x)=Q(x)G(x) 显然,将M(x)减去余数R(x)就必定能为G(x) 所除尽,因而可以设想让M(x)-R(x)作为编好的校验码送往目标部件,当从目标部件取得校验码时,仍用约定的多项式G(x)去除,若余数为0,表明该校验码正确;若余数不为0,表明出错,在进一步由余数确定出哪一位出错,从而加以纠正。,循环冗余码循环码的编制原理,例:对四位有效信息(1100)做循环校验编码,选择的生成多项式G(x)=1011。 解:将待编

25、码的N位有效信息码组表示为多项式M(x): M(x)=X3+X2=1100 将M(x)左移r位,得M(x)xr,其目的是空出r位,以便拼装r位余数(校验位): M(x)x3=x6+x5=1100000 用r+1位的生成多项式G(x)对M(x)xr做模2除:,循环冗余码循环码的编制原理,G(x)=X3+X+1=1011 (r+1=4) M(x)X3 1100000 1110+ 010 G(x) 1011 1011 4. 将左移r位后的待编有效信息与余数R(x)做模2加,即形成循环校验码。 M(x)X3+R(X)=1100000+010=1100010 此处编好的循环校验码称为(7,4)码,即k=7,n=4,可向目标部件发送。,循环冗余码循环码的编制原理,5.

温馨提示

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

评论

0/150

提交评论