I 计算机系统知识
一、考纲要求
-
数值及其转换
- 二进制、十进制和十六进制等常用数制及其相互转换
-
计算机内数据的表示
- 数值的表示(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出)
- 非数值表示(字符和汉字表示、声音表示、图像表示)
- 校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码)
-
算术运算和逻辑运算
- 计算机中的二进制数运算方法
- 逻辑代数的基本运算
-
其他数学基础知识
-
计算机系统的组成、体系结构的分类及特性
- CPU和存储器的组成、性能和基本工作原理
- 常用I/O设备、通信设备的性能以及基本工作原理
- I/O接口的功能、类型和特性
- I/O控制方式(中断系统、DMA、I/O处理机方式)
- CISC/RISC、流水线操作、多处理机。并行处理
-
存储系统
- 主存-Cache存储系统的工作原理
- 虚拟存储器的基本工作原理、多级存储体系
- RAID的类型和特性
-
可靠性与系统性能评测的基础知识
-
诊断和容错
-
系统可靠性分析评价
-
计算机系统性能评测方式
-
二、章节考点
- 数值及其转换
- 计算机内数据的表示
- 计算机系统组成
- 指令系统
- 输入输出技术
- 存储系统
- 总线系统
- 磁盘阵列技术
- 计算机可靠性
三、引入
四、数值及其转换(十进制)
五、计算机内数据的表示
5.1、真值域机器数
真值:符合人类习惯的数字。
机器数:各种数据在计算机中表示的形式称为机器数,其特点是数的符号用0、1表示。即正负号需要被“数字化”。
5.2、机器数
5.3、原码
原码:用数值部分表示真值的绝对值,符号位“0/1”,对应“正/负”.
符号位 | 2 6 2^6 26 | 2 5 2^5 25 | 2 4 2^4 24 | 2 3 2^3 23 | 2 2 2^2 22 | 2 1 2^1 21 | 2 0 2^0 20 | |
---|---|---|---|---|---|---|---|---|
+19D(十进制) | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 |
-19D | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 |
常写为: [ x ] 原 = 1 , 0010011 [x]_原 = 1,0010011 [x]原=1,0010011
若机器字长n+1
位,原码整数的表示范围: − ( 2 n − 1 ) ≤ 2 n − 1 -(2^n-1) \leq 2^n-1 −(2n−1)≤2n−1 (关于原点对称)
若机器字长为n+1
位,则数值部分(尾数)占n位,真值0有 +0和 -0两种形式。
5.4、反码
反码:若符号位为0,则反码与原码相同;若符号位位1,则数值位全部取反。
5.5、补码
补码:
-
正数的补码 = 原码
- 负数的补码 = 反码末位 + 1(要考虑进位)
负数补码转回原码的方法相同:尾数取反,末位+1
5.6、 移码
移码:补码的基础上将符号位取反,注意:移码只能用于表示整数。
若机器字长位n+1
位,移码整数的表示范围: − 2 n ≤ x ≤ 2 n − 1 -2^n\leq x\leq 2^n-1 −2n≤x≤2n−1(与补码相同)
[ + 0 ] 移 = 10000000 , [ + 0 ] 补 = 00000000 [ + 0 ] 原 = 00000000 , [ + 0 ] 反 = 10000000 [ − 0 ] 原 = 10000000 , [ − 0 ] 反 = 11111111 [+0]_移 = 10000000 , [+0]_补 = 00000000 \\ [+0]_原 = 00000000 , [+0]_反 = 10000000 \\ [-0]_原 = 10000000,[-0]_反 = 11111111 [+0]移=10000000,[+0]补=00000000[+0]原=00000000,[+0]反=10000000[−0]原=10000000,[−0]反=11111111
5.7、小结
5.8、定点数 vs 浮点数
- 定点数:小数点的位置固定不变的数。小数点的位置通常有两种约定方式:定点整数(纯整数,小数点在最低有效数值位之后)和定点小数(纯小数,小数点在最高有效数值位之前)。
- 浮点数:小数点位置不固定的数,它能表示更大范围的数。浮点数的表示格式如下所示。在浮点表示法中,阶码通常为带符号的纯整数,尾数为带符号的纯小数。
阶符 | 码阶 | 数符 | 尾数 |
---|---|---|---|
浮点数通常表示成
N = M ⋅ R E N=M\cdot R^E N=M⋅RE
其中,M为尾数,R为基数,E称为阶码。
阶码:决定浮点数所能表示的数值范围
尾数:决定浮点数所能表示的数值精度。
5.9、校验码
数据交换难免出错,为确保数据在传送过程中正确无误:
一是提高硬件电路的可靠性,二是提高代码 的校验能力。
校验码:用来检测传送的数据是否出错。
码距:只一个编码系统中任意两个合法编码之间至少有多少个二进制位不同。
奇偶校验
基本思想:通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),从而是的码距变为2,对于奇校验,它可以检测代码中奇数位出错的编码,但是不能发现偶数位出错的情况,即当合法编码中奇数位发生了错误,也就是编码中的1变成0或者0变成1,则改变吗中1的个数奇偶性就发生了变化,从而可以发现错误。
循环冗余校验码(CRC)
:广泛应用于数据通信领域和磁介质存储系统中,它利用生成多项式为k个数据位产生r个校验位来进行编码,其编码长度为k+r.
海明码
:在数据位之间插入k个校验码,通过扩大码距来实现检错和纠错。
设数据位是n位,校验位是k位,则n和k必须满足以下关系:
2 k − 1 ≥ n + k 2^k-1 \geq n+k 2k−1≥n+k
试题11 (2017年上半年上午试题5)
已知数据信息为16位,最少应附加()位校验码,才能实现海明码纠错。
A.3 B.4 C.5 D.6C
本期学习笔记进度100%
期待下期吧