计算机组成原理之数据表示
本文结构的思维导图如下:
1.机器数
1)定义:符号数值化的数据表示方法, 用0、1表示符号。
2)作用:组织数据,方便计算机硬件直接使用。
3)考虑的因素:支持的数据类型;能表示的数据范围;能表示的数据精度;存储和处理的代价;是否有利于软件的移植等…
4)类型:原码;反码;补码
设定点数的形式为X0 X1 X2 X3 … Xn
例题:
5)特点
原码:表示简单;运算复杂:符号位不参加运算,要设置加法、减法器;0的表示不唯一
反码:表示相对原码复杂;运算相对原码简单:符号位参加运算, 只需要设置加法器,但符号位的
进位位需要加到最低位;0的表示不唯一
反码例题:
补码:表示相对原码复杂;运算简单:只需设置加法器;0的表示唯一
移码(增码):移码表示浮点数的阶码,IEEE754中阶码用移码表示。
移码的定义:
具体实现:数值位与X的补码相同,符号位与补码相反:
2.定点数据表示
3.浮点数据表示:
定义:把数的范围和精度分别表示的一种数据表示方法。
使用场合:当数的表示范围超出了定点数能表示的范围时。
1)一般格式:
一般格式的不足:不同系统可能根据自己的浮点数格式从中提取不同位数的阶码。
2)IEEE 754格式:
指数采用偏移值,其中单精度偏移值为127,双精度为1023,将浮点数的阶码值变成非负整数,便于浮点数的比较和排序。
IEEE754尾数形式为1.XXXXXX,其中M部分保存的是XXXXXX(1被隐藏),从而可保留更多的有效位,提高数据表示的精确度。
表示实例:
案例计算:
十进制小数转二进制小数
十进制整数转二进制整数
例题:
4 数据校验
1)必要性:受元器件的质量、电路故障或噪音干扰等因素的影响,数据在被处理、传输、存储的过程中可能出现错误;若能设计硬件层面的错误检测机制,可以减少基于软件检错的代价(系统观)。
2)基本原理:增加冗余码(校验位)
3)码距
码距与检错或纠错能力的关系:
选择码距要考虑的因素:码距越大,抗干扰能力越强,纠错能力越强,数据冗余越大,编码效率低,编码电路也相对复杂;选择码距必须考虑信息发生差错的概率和系统能容许的最小差错率。
5 奇偶校验
编码:根据有效信息计算校验信息位,使校验码(数据+1位校验信息)中1的个数满足奇/偶校验的要求
特点:编码与检错简单;编码效率高;不能检测偶数位错误, 无错结论不可靠,是一种错误检测码;不能定位错误,因此不具备纠错能力。
奇/偶校验码距为 2,如下的一个例子:
改进的奇/偶校:
应用:一般在同步传输方式中常采用奇校验,异步传输方式中常采用偶校验。
6 CRC校验:循环冗余校验码(cyclie redundancy check),又称多项式校验。
1)原理:增加冗余码(校验位)
2)常见多项式:
3)编码步骤
4)检错与纠错
7 海明校验
1)基本原理:有效信息的位数和校验信息的位数与CRC校验相同
2)具体步骤如下:
3)举例:
4)检错与纠错
特点分析:(第二张实例图:要结合奇偶校验来定位错误)