没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论






软考-数据库系统工程师
第1章 计算机系统知识
计算机系统基础知识
硬件及组成
一、计算机的组成
计算机硬件由 5 大件组成:控制器、运算器、存储器、输入设备、输出设备
(1) 运算器(ALU):
也称算术逻辑单元,对数据进行算术运算和逻辑运算
加法器(累加器):
专门存放算术或逻辑运算的操作数和运算结果的寄存器。
程序状态寄存器 PSW:
用来存放两类信息:一类是体现当前指令执行结果的各种状态信息,如有无进位( CY 位),有无溢出
(OV 位),结果正负 (SF 位),结果是否为零(ZF 位),奇偶标志位(P 位)等;另一类是存放控制信息,如允
许中断(IF 位),跟踪标志(TF 位)等
(2) 控制器
是分析和执行指令的部件
指令寄存器
用于保存当前正在执行的指令
指令译码器
分析当前指令的操作码是要做什么
程序计数器
存放下一条指令的地址
定时与控制电路
堆栈和堆栈指针
1

数据表示
一、数的进制
十进制:以 D 表示。如:(123)
D
或(123)
10
二进制:以 B 表示。如:(1011)
B
或(1011)
2
八进制:以 O(大写 o)表示。如:(301)
O
或(301)
8
十六进制:以 H 表示。如:(13E)
H
或(13E)
16
二、进制转换
1.十进制转非十进制
把被转换的十进制整数反复地除以非十进制数,直到商为 0,所得的余数(从末位读起)就是这个数的非
十进制表示。简称“除*(*为非十进制数)取余法”
2.非十进制转十进制
方法:非十进制数按权展开求和
如:(10110)
2
=1*2
4
+0*2
3
+1*2
2
+1*2
1
+0*2
0
=22
(335)
8
=3*8
2
+3*8
1
+5*8
0
=221
三、原码、反码、补码、移码
1.带符号数的表示
通常的做法是约定一个数的最高位为符号位,若该位为 0,则表示正数;若该位为 1,则表示负数
(1)原码
用最高位表示符号位,数值部分用二进制绝对值表示。
如:+11 的原码:00001011,-11 的原码:10001011
(2)反码
正数的反码和其原码形式相同,负数的反码是除符号位,其他各位逐位取反(即 0 变 1,1 变 0)
如:+11 的反码:00001011,-11 的反码:11110100
(3)补码
正数的补码和其原码形式相同,负数的补码是原码除符号位以外逐位取反(即 0 变 1,1 变 0),最后在
末尾加 1.
如:+11 的补码:00001011,-11 的补码:11110101
将补码转换为真值:[[X]
补
]
补
=[X]
原
(4)移码(增码)
无论正数、负数,在补码的基础上对符号位取反,一般用做浮点数的阶码,引入的目的是为了保证浮点数
的机器零为全 0
如:+11 的补码:00001011,-11 的补码:11110101
+11 的移码:10001011,-11 的移码:01110101
2

四、定点数和浮点数
计算机中,通常是用定点数来表示整数和纯小数,分别称为定点整数和定点小数。对于既有整数部分又有
小数部分的数,一般用浮点数表示。
1.定点数
定点整数:
小数点的位置固定在最低位的右边,不占位
定点小数:
小数点的位置固定在符号位与最高数值位之间,表示一个纯小数
2.浮点数
用类似科学计算机法来表达,即
N=M*R
e
M 称为尾数,R 称为基数,e 为阶码(指数)
比如:1001.101 的规范浮点数表达为 1.001101*2
3
浮点数利用指数达到了浮动小数点的效果,从而灵活地表达更大范围的实数
校验码
一、编码体系
指一种编码方式中所有合法码字的集合
二、编码效率
合法码字占所有码字的比率就是编码效率。
三、码距
码距是衡量一种编码方式的抗错误能力的一个指标
1.码字的码距
一个编码系统中任意两个合法的编码之间的不同的二进制位的数目叫这两个码字的码距
2.编码系统的码距
该编码系统的任意两个编码之间的距离的最小值称为该编码系统的码距
四、误码
数字信息在传输和存取的过程中,由于各种意外情况的发生,数据可能会发生错误,即所谓误码。
3

五、奇偶校验
串口通信中使用奇偶校验作为数据校验的方法
使用一位奇偶校验的方法能够检测出 1 位错误,但无法判断是哪一位出错。
当发生两位同时出错的情况时,奇偶校验也无法检测出来。所以奇偶校验常用于对少量数据的校验,如 1
个字节。
1.奇校验:
被传输的有效数据中“1”的个数是奇数个,校验位填“0”,否则填“1”
2.偶校验:
被传输的有效数据中“1”的个数是偶数个,校验位填“0”,否则填“1”。
XOR(异或运算)是一种偶校验
六、海明码
海明码是奇偶校验的一种扩充。和奇偶校验的不同之处在于海明码采用多位校验码的方式,在这些多个校
验位中的每一位都对不同的信息数据位进行奇偶校验,通过合理地安排每个校验位对原始数据进行校验的位组合,可
以达到发现错误、纠正错误的目的(当出现两位错误时,海明码能够查错,但无法纠错)。
海明码可以发现“<=码距-1”位的错误;可以纠正“<码距/2”位的错误,因此,如果要能够纠正 n 位错误,
所需最小的码距应该的 2n-1
海明码的原理
在数据中间加入几个校验码,码距均匀拉大,当某一位出错,会引起几个校验位的值发生变化
海明不等式
校验码个数为 k,可以表示 2
k
个信息,1 个信息用来表示“没有错误”,其余 2
k
-1 个表示数据中存在错误,
如果满足 2
k
-1>=m+k(m 为数据长度,m+k 为编码后的数据编码总长度),则在理论上 k 个校验码就可以判断是
哪一位(包括信息码和校验码)出现了问题
海明码的编码规则
校验位依次放在第 2
i
(i=0,1,2,3…)位,其余位置为信息位。
B
7
B
6
B
5
B
4
B
3
B
2
B
1
k
3
k
2
k
1
r2
k
0
r1 r0
7 6 5 4 3 2 1
上表 4 个信息位 k0,k1,k2,k3,3 个校验位 r0,r1,r2
第 i 个信息位的位数为参与校验它的校验位的位数之和。如上例 7=4+2+1;6=4+2;5=4+1;3=
2+1
4

从上式可得,k3 要参与 r2,r1 和 r0 的生成,k2 参与 r2 和 r1 的生成,k1 参与 r2 和 r0 的生成,k0 参
与 r1 和 r0 的生成。则产生下列式子“⊕”符号为异或运算
r0=k3⊕k1⊕k0 k3⊕k1⊕k0⊕r0=0 B1⊕B3⊕B5⊕B7=0
r1=k3⊕k2⊕k0 k3⊕k1⊕k0⊕r1=0 B2⊕B3⊕B6⊕B7=0
r2=k3⊕k2⊕k1 k3⊕k2⊕k1⊕r2=0 B4⊕B5⊕B6⊕B7=0
若三个校验方程都成立,即方程式右边都等于 0,则说明没有出错。若不成立,即方程式右边不等于 0,
说明有……
从三个方程式右边的值,可以判断哪一位出错。出错位置为从下向上看相应的二进制数值,若三个程式右
边的值为 100(如下式),说明第 4 位出错。
B1⊕B3⊕B5⊕B7=0
B2⊕B3⊕B6⊕B7=0
B4⊕B5⊕B6⊕B7=1
七、循环冗余校验码
广泛地在网络通信及磁盘存储时采用
循环冗余校验码的纠错能力取决于 K 值(信息码长度)和 R 值(校验码长度),在实践中,K 值往往取得
非常大,远远大于 R 的值,提高了编码效率。在这种情况下,循环冗余校验就只能检错不能纠错。
一般来说,R 位生成多项式可检测出所有双错、奇数位错和突发错位小于或等于 R 的突发错误。
1.多项式
在循环冗余(CRC)码中,无一例外地要提到多项式的概念。
一个二进制数可以以一个多项式来表示。如 1011 表示为多项式 X
3
+X
1
+X
0
,如果把这里的 X 替换为 2,
这个多项式的值就是该数的值。从这个转换可以看出多项式最高幂次为 n,则转换为二进制数有 n+1 位
2.生成多项式
生成多项式是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不
变。
3.编码组成
编码的组成是由 K 位信息码,加上 R 位的校验码
4.校验码的生成
生成步骤:
(1) 将 K 位数据 C(x)左移 R 位,给校验位留下空间,得到移位后的多项式为 C(x)*X
R
。
(2) 将这移位后的信息多项式除以生成多项式,得到 R 位的余数多项式。
(3) 将余数作为校验码嵌入信息位左移后的空间
例:信息位为 1010 0110,约定的生成多项式为 1110011 即 X
5
+X
4
+X+1,则:
1010 0110 左移 5 位-〉1010 0110 0000 0
用 1010 0110 0000 0 和 11110011 进行模 2 运算(异或)
余 11000
即校验码 11000,所以 CRC 码是 1010 0110 11000
5
剩余63页未读,继续阅读
zhanliming8475
- 粉丝: 26
- 资源: 1

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

- 1
- 2
- 3
前往页