更新说明
/


一、计算机系统硬件基本组成

计算机系统:由硬件和软件组成。
计算机的基本硬件系统: ①运算器、控制器 ②存储器 ③输入设备和输出设备。
① 中央处理单元(Central Processing Unit, CPU) { 运算器、控制器 }
CPU是硬件系统的核心,用于数据的加工处理,能完成各种算术、逻辑运算及控制功能。
② 存储器 { 内部存储器:速度高、容量小,一般用于临时存放程序、数据及中间结果;外部存储器:容量大、速度慢,可以长期保存程序和数据}
③ 外设 { 输入设备 输入原始数据及各种命令; 输出设备 输出计算机运行的结果 }
*计算机的软件系统是指计算机在运行的各种程序、数据及相关的文档资料。计算机软件系统通常被分为系统软件和应用软件两大类。


二、中央处理单元

CPU主要由运算器、控制器、寄存器组和内部总线等部件组成。
寄存器 (Register)是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。
运算器:

  1. 算数逻辑单元(Arithmetic and Logic Unit,ALU):负责处理数据,实现对数据的算术运算和逻辑运算
  2. 累加寄存器(Accumulator,AC):通用寄存器,为ALU执行算数或逻辑运算时,提供一个工作区
  3. 数据缓冲寄存器(Data Register,DR):在内存进行读/写操作时,暂时存放指令或数据,分离不同时间读/写的数据
  4. 状态条件寄存器(Program Status Word,PSW):保存算术指令和逻辑指令的结果所产生的条件码,包括状态标志和控制标志

控制器:

  1. 指令寄存器(Instruction Register,IR):暂存指令
  2. 程序计数器(Program Counter Register,PC):寄存信息和计数。保存指令地址并自动保存下一条指令地址地址寄存器(Address Register,AR):保存当前CPU访问的内存单元的地址
  3. 指令译码器(Instruction Decoder, PSW):分析解释指令中的操作码字段,识别该指令的操作,向控制器发出控制信号,控制各部件完成工作
  4. 寄存器组:分为通用寄存器和专用寄存器,运算器和控制器中的寄存器是专用寄存器,作用固定。通用寄存器作用可变

内部总线是一种内部结构,是CPU、内存、输入、输出设备传递信息的公用通道。

例题:
计算机中提供指令地址的程序计数器 PC 在(A)中。
A.控制器 B.运算器 C.存储器 D.I/O 设备
A

1. 计算机网络概论(上) - 图1

例题:
CPU 在执行指令的过程中,会自动修改()的内容,以使其保存的总是将要执行的下一条指令的地址。
A.指令寄存器 B.程序计数器 C.地址寄存器 D.指令译码器
B

核心:单晶硅制造,执行所有计算,接收/存储明类,处理数据。
多核:一个单芯片上集成两个或者多个处理器内核。
目的:满足用户同时进行多任务处理的要求。

单核多线程CPU交替执行多个任务。多核理论上任何时间每个核执行各自的任务,不存在交替。

AMD 两个内核做在一个晶元上,通过直连架构,集成度更高。双核
Intel 把不同核心上的两个内核封装在一起。双芯
Inter与AMD.png


三、数据表示

机器数:数值在计算机中的表示形式,采用二进制计数制,数的符号用0和1表示,小数点隐含。
真值:机器数对应的实际数值

无符号数:机器数无符号位。如果约定小数点的位置在机器数的最低为之后则是纯整数,如果约定小数点的位置在机器数最高位之前, 则是纯小数
带符号数:机器数的最高位代表正负符号位,其余位表示数值

为了方便运算,带符号的机器数可采用原码、反码、补码等不同的编码方式,机器数这些编码方法称为码制。

原码:由符号位和真值的绝对值组成,即用第一位表示符号,其余位表示值
反码:正数的反码是其本身,负数的反码是在其原码的基础上,符号位不变,其余各个位取反
补码:正数的补码是其本身,负数的补码是反码加一

例: 若机器字长为8, 分别给出+1 ,-1的原码,反码,补码
[+1] 原= 0 0000001 [+1] 反 = 0 0000001 [+1] 补 = 0 0000001 [+0.5] 原 = 0 ∙ 1000000 [+0.5] 反= 0 ∙ 1000000 [+0.5] 补= 0 ∙ 1000000
[−1] 原= 1 0000001 [−1] 反 = 1 1111110 [−1] 补 = 1 1111111 [−0.5] 原 = 1 ∙ 1000000 [−0.5] 反= 1 ∙ 0111111 [−0.5] 补= 1 ∙ 1000000
[+0] 原= 0 0000000 [+0] 反= 0 0000000 [+0] 补= 0 0000000 [−0] 原= 1 0000000 [−0] 反= 1 1111111 [−0] 补= 0 0000000

小问题:+0和-0有什么区别?
数学中仅存在一个0,+0和-0代表同一个0。+0一般被当作正常的0使用,-0主要处理符号位。
推按2.png图片3.png
为什么会出现反码、补码?为了解决减法!
如果让电路识别符号位,根据符号位的值再判断是否加减,电路会变得复杂。为了减少开销就让符号位参与计算,把减法变成加法。
1 + (-1) = 1 – 1 = 0
小问题:用原码、反码、补码计算 1 + (-1)= ?
[+1] 原= 0 0000001 [+1] 反 = 0 0000001 [+1] 补 = 0 0000001
[−1] 原= 1 0000001 [−1] 反 = 1 1111110 [−1] 补= 1 1111111
__
1 0000010 1 1111111 10 0000000
-2 -0 0

设总长度为n, a表示一个数, b表示另一个数, 则a – b?
1. 计算机网络概论(上) - 图5
10 0000000
[-1]原=1 0000001
—————————————
1 1111111

十进制与二进制、八进制、十六进制:
十进制:逢10进一 二进制:逢2进一 八进制:逢8进一 十六进制:逢16进一(ABCDEF)

整数: [4][3][2][1] [补码位]∙[1][2][3][4]
1. 计算机网络概论(上) - 图6
1. 计算机网络概论(上) - 图7
1. 计算机网络概论(上) - 图8 1. 计算机网络概论(上) - 图9
1. 计算机网络概论(上) - 图10
1. 计算机网络概论(上) - 图11

例题:
采用 n 位补码(包含一个符号位)表示数据,可以直接表示数值()。
(3)A. 1. 计算机网络概论(上) - 图12 B.1. 计算机网络概论(上) - 图13 C. 1. 计算机网络概论(上) - 图14 D. 1. 计算机网络概论(上) - 图15
D
假设此使n为8
正数: 原码 0 1111111 =1. 计算机网络概论(上) - 图16 = 127 反码: 0 1111111 补码: 0 1111111
负数: 原码 1 1111111=1. 计算机网络概论(上) - 图17=-127 反码:1 0000000 补码:1 0000001

因为0的补码只有一个0 0000000 因此省出了一个补码1 0000000 (试图反推:反码:0 1111111 原码:0 0000000)
这个数被定义为-128 (无原码 无反码)

定点小数是计算机处理的数值数据多数带有小数,小数点在计算机中通常有两种表示方法,一种是约定所有数值数据的小数点隐含在某一个固定位置上,称为定点表示法,简称定点数

浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。
83.125 = 0.083125 × 1. 计算机网络概论(上) - 图18 = 0.83125 × 1. 计算机网络概论(上) - 图19
1011.10101 = 0.101110101 × 1. 计算机网络概论(上) - 图20 = 0.00101110101 × 1. 计算机网络概论(上) - 图21

1. 计算机网络概论(上) - 图22 E:阶码 M:尾数
一个数的浮点表示不唯一,当小数点位置改变,阶码也改变。浮点数表示的数值范围主要由阶码决定,数值精度由尾数决定。为了充分利用尾数表示更多有效数字,通常采用规格化浮点数,就是将尾数的绝对值限定在区间 (0.5,1]
符号位、指数、尾数(the sign, the exponent, the mantissa)

浮点数的表示格式: 阶符|阶码|数符|尾数

如果阶码用R位的移码表示,尾数用M位的补码表示,这种浮点数的取值范围为:1. 计算机网络概论(上) - 图23
移码:常用于表示浮点数中的阶码。如果机器字长为n,规定偏移量为1. 计算机网络概论(上) - 图24时,补码的符号位取反即可获得移码。
图4.png1. 计算机网络概论(上) - 图26
[+1] 原= 0 0000001 [+1] 反 = 0 0000001 [+1] 补 = 0 0000001 [+1] 移= 1 0000001
[−1] 原= 1 0000001 [−1] 反 = 1 1111110 [−1] 补= 1 1111111 [−1] 移= 0 1111111
移码连续,方便对阶
偏移量是人为确定的!

IEEE754标准,32位浮点数和64位浮点数的标准格式为

32位:
31 30 23 22 0

数符S 阶码E 尾数

64位:
63 62 52 51 0

数符S 阶码E 尾数

规格化的值:阶码部分的二进制值不全为0也不全为1。且约定小数点左边隐含有一位,通常这位是1。

非规格化的值:阶码部分的二进制值全为0。

特殊值:阶码部分的二进制值全为1。尾数部分全为0表示无穷大,符号位为0表示+∞,符号位为1表示−∞,不全为0,表示NaN(Not a Number)
目前,几乎所有计算机都采用IEEE 754标准表示浮点数。

参数 单精度浮点数(float) 双精度浮点数(double) 扩充精度浮点数(double double)
浮点数字长 32 64 80
尾数长度 23 52 64
符号位 1 1 1
指数长度 8 11 15
最大指数 +127 +1023 +16383
最小指数 -126 -1022 -16382
指数偏移量 +127 +1013 +16383

可表示的实数范围 1. 计算机网络概论(上) - 图27 1. 计算机网络概论(上) - 图28 1. 计算机网络概论(上) - 图29
图5.png
图6.png

例题:
利用IEEE754标准将数176.0625表示为单精度数
1. 计算机网络概论(上) - 图32 1. 计算机网络概论(上) - 图33 1. 计算机网络概论(上) - 图34 1. 计算机网络概论(上) - 图35 1. 计算机网络概论(上) - 图36 1. 计算机网络概论(上) - 图37 1. 计算机网络概论(上) - 图38 1. 计算机网络概论(上) - 图39
128 64 32 16 8 4 2 1
1 0 1 0 1 0 0 0

1. 计算机网络概论(上) - 图40 1. 计算机网络概论(上) - 图41 1. 计算机网络概论(上) - 图42 1. 计算机网络概论(上) - 图43
0.5 0.25 0.125 0.0625
0 0 0 1
1. 计算机网络概论(上) - 图44

尾数为011000020001000000000000

移码的数值为7,原码为0 0000111 反码为 0 0000111 补码为 0 0000111 移码为1 0000111 = (7 + ~~1. 计算机网络概论(上) - 图45)~~

移码的数值为7,原码为0 0000111 偏移量为127 因此求1. 计算机网络概论(上) - 图46

单精度浮点数表示为:0 10000110 01100000001000000000000

为什么单精度移码的偏移量为127不为128?
阶码使用移码表示的根本目的在于:通过加一个固定偏移值使负数转换为正数,使得数值大者其表示的指数也大

原码: 最大值 0 1111111 = +127 最小值 1 1111111 = -127
设偏移量为128 则有 最大值 127+128 = 255 = 11111111(特殊值去除)
最小值 -127 反码 1 0000000 补码 1 0000001 移码 0 0000001
-127 + 128 = 1 原码 0 0000001
-127~126

原码: 最大值 0 1111111 = +127 最小值 11111111 = -127
设偏移量为127 则有 最大值 127+127 = 254 = 二进制11111110
最小值 -127 + 127 = 0 二进制00000000 (特殊值去除)
-126~ 127
码制 定点整数 定点小数

原码 1. 计算机网络概论(上) - 图47~1. 计算机网络概论(上) - 图48 1. 计算机网络概论(上) - 图49~1. 计算机网络概论(上) - 图50

反码 1. 计算机网络概论(上) - 图51~1. 计算机网络概论(上) - 图52 1. 计算机网络概论(上) - 图53~1. 计算机网络概论(上) - 图54

补码 1. 计算机网络概论(上) - 图55~1. 计算机网络概论(上) - 图56 1. 计算机网络概论(上) - 图57~1. 计算机网络概论(上) - 图58

移码 1. 计算机网络概论(上) - 图59~1. 计算机网络概论(上) - 图60 1. 计算机网络概论(上) - 图61~1. 计算机网络概论(上) - 图62


四、校验码

通常使用校验码来检测传送的数据是否出错。基本思想是把数据编码分为两类:合法编码和错误编码。码距:指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同。

  1. 奇偶校验码:在编码中增加一位校验位中使编码中1的个数为奇数(奇校验)或者偶数(偶校验),从而使码距变为2 分类:水平奇偶校验码,垂直奇偶校验码和水平垂直校验码(只检错,不纠错)

  2. 海明码:在数据位之间的特定位置上插入k个校验位,通过扩大码距来实现(检错和纠错)。

  3. 循环冗余校验码:Cyclic Redundancy Check, CRC 广泛应用于数据通信领域和磁介质存储系统中。它利用生成多项式为k个数据位产生r个校验位来进行编码,其编码长度为k+r。

循环冗余校验码由两部分组成,左边为信息码,右边为校验码。若信息码占k位,则校验码占n-k位,n为CRC码的字长,所以称为(n, k)码。校验码位数越多,校验码校验能力越长。编码采用模2运算,不发生借位和进位(检错和纠错)。

确定校验码的位数x:
设数据有n位,校验码有x位。则校验码一共有1. 计算机网络概论(上) - 图63种取值方式。其中需要一种取值方式表示数据正确,剩下1. 计算机网络概论(上) - 图64种取值方式表示有一位数据出错。因为编码后的二进制串有1. 计算机网络概论(上) - 图65位,因此1. 计算机网络概论(上) - 图66应该满足1. 计算机网络概论(上) - 图67

海明码的编码规则:把第1. 计算机网络概论(上) - 图68位的校验码放在1. 计算机网络概论(上) - 图69位上

1. 计算机网络概论(上) - 图70个校验位为1. 计算机网络概论(上) - 图71个数据位为1. 计算机网络概论(上) - 图72对应的海明码为1. 计算机网络概论(上) - 图73
1. 计算机网络概论(上) - 图74 1. 计算机网络概论(上) - 图75 1. 计算机网络概论(上) - 图76 1. 计算机网络概论(上) - 图77 1. 计算机网络概论(上) - 图78 1. 计算机网络概论(上) - 图79 1. 计算机网络概论(上) - 图80 1. 计算机网络概论(上) - 图81 1. 计算机网络概论(上) - 图82 1. 计算机网络概论(上) - 图83
1. 计算机网络概论(上) - 图84 1. 计算机网络概论(上) - 图85 1. 计算机网络概论(上) - 图86 1. 计算机网络概论(上) - 图87 1. 计算机网络概论(上) - 图88 1. 计算机网络概论(上) - 图89 1. 计算机网络概论(上) - 图90 1. 计算机网络概论(上) - 图91 1. 计算机网络概论(上) - 图92 1. 计算机网络概论(上) - 图93

海明码位置在1,3,5,7,9,11的数据进到1. 计算机网络概论(上) - 图94组。(二进制符合XXX1)
海明码在2,3,6,7,10,11的数据进到1. 计算机网络概论(上) - 图95组。 (位置符合XX1X)
海明码在4,5,6,7的数据进到1. 计算机网络概论(上) - 图96组。 (位置符合X1XX)
海明码在8,9,10,11的数据进到1. 计算机网络概论(上) - 图97组。(位置符合1XXX)

校验码1. 计算机网络概论(上) - 图98的取值为将每组数据补全为指定校验。

例题:
设数据为01101001,试采用4位奇偶校验求其偶校验方式的海明码。
1. 计算机网络概论(上) - 图99 1. 计算机网络概论(上) - 图100 1. 计算机网络概论(上) - 图101 1. 计算机网络概论(上) - 图102 1. 计算机网络概论(上) - 图103 1. 计算机网络概论(上) - 图104 1. 计算机网络概论(上) - 图105 1. 计算机网络概论(上) - 图106 1. 计算机网络概论(上) - 图107 1. 计算机网络概论(上) - 图108 1. 计算机网络概论(上) - 图109 1. 计算机网络概论(上) - 图110
1. 计算机网络概论(上) - 图111 1. 计算机网络概论(上) - 图112 1. 计算机网络概论(上) - 图113 1. 计算机网络概论(上) - 图114 1. 计算机网络概论(上) - 图115 1. 计算机网络概论(上) - 图116 1. 计算机网络概论(上) - 图117 1. 计算机网络概论(上) - 图118 1. 计算机网络概论(上) - 图119 1. 计算机网络概论(上) - 图120 1. 计算机网络概论(上) - 图121 1. 计算机网络概论(上) - 图122
0 1 1 0 0 1 0 0 1 1 0 1
1. 计算机网络概论(上) - 图123组:1. 计算机网络概论(上) - 图1241. 计算机网络概论(上) - 图1251. 计算机网络概论(上) - 图1261. 计算机网络概论(上) - 图1271. 计算机网络概论(上) - 图1281. 计算机网络概论(上) - 图129 = 1. 计算机网络概论(上) - 图1301. 计算机网络概论(上) - 图1311. 计算机网络概论(上) - 图1321. 计算机网络概论(上) - 图1331. 计算机网络概论(上) - 图134=10101
1. 计算机网络概论(上) - 图135组:1. 计算机网络概论(上) - 图1361. 计算机网络概论(上) - 图1371. 计算机网络概论(上) - 图1381. 计算机网络概论(上) - 图1391. 计算机网络概论(上) - 图1401. 计算机网络概论(上) - 图141= 1. 计算机网络概论(上) - 图1421. 计算机网络概论(上) - 图1431. 计算机网络概论(上) - 图1441. 计算机网络概论(上) - 图1451. 计算机网络概论(上) - 图146=10111
1. 计算机网络概论(上) - 图147组:1. 计算机网络概论(上) - 图1481. 计算机网络概论(上) - 图1491. 计算机网络概论(上) - 图1501. 计算机网络概论(上) - 图1511. 计算机网络概论(上) - 图152 = 1. 计算机网络概论(上) - 图1531. 计算机网络概论(上) - 图1541. 计算机网络概论(上) - 图1551. 计算机网络概论(上) - 图156=0010
1. 计算机网络概论(上) - 图157组:1. 计算机网络概论(上) - 图1581. 计算机网络概论(上) - 图1591. 计算机网络概论(上) - 图1601. 计算机网络概论(上) - 图1611. 计算机网络概论(上) - 图162=1. 计算机网络概论(上) - 图1631. 计算机网络概论(上) - 图1641. 计算机网络概论(上) - 图1651. 计算机网络概论(上) - 图166=0110

例题:
海明码利用奇偶性检错和纠错,通过在1. 计算机网络概论(上) - 图167个数据位之间插入1. 计算机网络概论(上) - 图168个校验位,扩大数据编码的码距。
1. 计算机网络概论(上) - 图169 =48,则 1. 计算机网络概论(上) - 图170应为()。
A.4 B.5 C.6 D.7
C 1. 计算机网络概论(上) - 图171

例题:
在()校验方法中,采用模 2 运算来构造校验位。
A.水平奇偶 B.垂直奇偶 C. 海明码 D.循环冗余
D