1.1 中央处理单元CPU
CPU的功能:
- 程序控制
- 操作控制
- 时间控制
- 数据处理
CPU的组成:
- 运算器:数据加工、算术运算、逻辑运算
- 算术逻辑单元ALU
- 累加器
- 状态条件寄存器
- 缓冲寄存器
- 控制器:保证指令执行、处理异常事件
- 指令寄存器(IR)
- 程序计数器(PC)
- 指令译码器
- 寄存器:保存程序的中间结果
- 总线:传输地址、数据
1.2 二进制与十进制转换
二进制转十进制的方法:按权相加法
1.2.1 二进制转十进制
- 无符号的二进制整数
- 从右往左依次用二进制位上的位数乘以2的n次幂的和(n大于等于0,从0开始)
- 带符号的二进制整数
- 除去最高位的符号位(1为负数,0为正数),其余与无符号的二进制转化相同
- 小数二进制数
- 从小数点后第1位上的二进制数字乘以2的负一次方
- 加上第2位上的二进制数字乘以2的负二次方
- 以此类推第n位上的二进制数字乘以2的负n次方
练习题:将二进制1100.101转化为十进制,结果是()。
A. 12.625
B. 12.75
C. 24.625
D. 24.75
js
整数位:`1*2^3 + 1*2^2 + 0*2^1 + 0*2^0` 结果是12
小数位:`1*2^-1 + 0*2^-2 + 1*2^-3` 结果是 0.625
所以计算的结果是 12+0.625=12.625
1.2.2 十进制转二进制
- 转化整数
- 将整数部分除2,记录商和余数
- 将上一步的商作为被除数,继续除2,记录商和余数
- 重复上一步,直到商为0为止
- 将余数 按从下到上 的顺序记录
- 转化小数
- 将小数部分乘以2,记录结果及结果的整数部分
- 将上一步的结果的小数部分继续乘以2,记录结果及结果的整数部分
- 重复上一步,直到小数部分为0
- 将结果的整数 部分 按从上到下的顺序记录
练习题:将十进制11.75转化为二进制,结果是()。
A. 1011.11
B. 1010.11
C. 1010.01
D. 1011.01
1.3 数据的表示
把符号位和数值位一起进行编码来表示的数叫做机器数。
机器数是计算机中对于数字的一种内部表示方式,在机器数表示中,占据最高位 的是符号位(0表示正数,1表示负数),其余位是数值位。
在现代计算机中,数值型数据一般采用二进制数的补码形式来表示。
机器数可以进一步分为带符号数 和无符号数两种类型。带符号数表示有正负之分的数,而无符号数表示仅有非负数的数。
真值是指在机器数编码的基础上,将符号位和数值位分开进行运算得到的数值,与机器数表示是不同的概念。二进制数是指数值在二进制下的表示。
1.3.1 原码
最高位是符号位,0表示正号,1表示负号,其余的n-1位表示数值的绝对值。
数值0的原码表示有两种形式:[+0]原 = 0 000000,[-0]原 = 1 000000
以带符号位的四位二进制数为例:1010,最高位1表示这是一个负数,其余三位010,即0 * 2^2^+1 * 2^1^+0 * 2^0^,所以1010表示十进制数-2
练习题:若机器字长为8,则+127和-0.5分别表示为()。
A. 0 11111111,0 1000101
B. 0 11111111,1 1000000
C. 1 11111111,0 1000000
D. 1 00000000,1 1000101
1.3.2 反码
原码最大的问题就在于一个数加上它的相反数不等于0
正数的反码等于原码。负数的反码,是它的原码除符号位外,其他按位取反。
数值0的反码:[+0] 反码 = 0 0000000 ,[-0]反码 = 1 1111111
1.3.3 补码
在现代计算机中,数值型数据一般采用二进制数的补码形式来表示。
计算机中均采用补码进行加减运算。原因是:可以将减法运算转换为加法运算从而简化运算器的设计
- 正数的补码等于它的原码
- 负数的补码等于 反码 + 1 或者 (2^机器字长^ - |负数|) 的原码
- |负数| 是负数的绝对值
数值0的补码:
- [+0] 补码 = 0 0000000
- [-0]的反码 = 1 1111111
- 反码+1是 0 0000000
- [-0] 补码 = 0 0000000
由此可知,只有补码的[+0]与[-0]是相同的
例子:假设机器字长是4,求取 -5的补码
- 使用【反码 + 1】计算:
- 5的原码是 0101(最高位是符号位),-5的原码是 1101
- -5 的反码是 1010
- 【反码 + 1】 1011
- 使用【2^机器字长^ - |负数|) 的原码】计算
- 机器字长是4,则2^5^ - |-5| 是11
- 11 的原码是 1011
练习题:如果"2X"的补码是"90H",那么X的真值是()
A. 56
B. -56
C. 72
D. -72
- H 表示是十六进制数字,一位十六进制数代表四位二进制数
- 9 和 0 对应的二进制数分别是1001和0000,这里得到的是补码,最高位是1,所以是负数
- 因为【补码 = 反码+1】 ,因此 它的反码是 1001 0000 - 1 = 1000 1111
- 因为【负数的原码是符号位不变,其余为取反】,所以对应的原码是 1111 000
- 1111 0000 (首位是符号位,不参与计算)对应的十进制数是 :2^6^ +2^5^+2^4^ = 112,所以结果是-112
- 2X = -112,X = -56
练习题:计算机系统中采用补码表示有符号的数值()。
A:可以保持加法和减法运算过程中与手工运算方式一致
B. 可以提高运算过程和结果的精准程度
C. 可以提高加法和减法运算的速度
D. 可以将减法运算转换为加法运算从而简化运算器的设计
1.3.4 移码
- 移码:补码的符号位取反
- 主要用途: 表示浮点数的指数(阶码)
1.3.5 浮点数
1.4 校验码
- 奇偶校验
- 奇数个数据发生错误,能检错,不能纠错
- 偶数个数据发生错误,既不能检错,也不能纠错
- CRC循环冗余校验:只能检错,不能纠错
- 海明校验:既能检错,又能纠错
1.4.1 校验码-奇偶校验
奇偶校验的编码方法是: 有若干位有效信息的头部或尾部,再加上一个二进制位(校验位)组成校验码
- 奇校验:整个校验码(有效信息位和1个校验位)中"1"的个数为奇数
- 偶校验:整个校验码(有效信息位和1个校验位)中"1"的个数为偶数
如果有奇数个位发生误码 ,则奇偶性发生变化,可以检查出误码,但不能纠错 。
如果有偶数个位发生误码 ,则奇偶性不发生变化,不能检查出误码(也称漏捡)。
练习题:给出编码1001101的奇数校验码和偶数校验码()
A 10011011, 10011010
B 10011011, 10011011
C 10011010, 10011010
D 10011010, 10011010
解析:
- 奇校验为保证"1"的个数为奇数,因此 1001101 1(原来四个1,所以校验位是1)
- 偶校验为保证"1"的个数为偶数,因此 1001101 0(原来四个1,所以校验位是0)
- 选A
- 也可以用排除法,B不满足偶校验(1的个数是5个),C/D奇校验不满足(1的个数是4个)
奇偶校验包括:水平奇偶,垂直奇偶,水平垂直奇偶
1.4.2 模2 除法
模2除法的特点是每一位除的结果不影响其他位 ,即不向上一位借位 ,实际上就是利用异或运算。
异或运算:相同为0 不同为1
模2除法的原则:
- 被除数的首位为1,商为1
- 被除数的首位为0,商为0
- 模2除法等同于按位异或,要保证每次除完首位都为0,才能进行右移
- 计算时每次右移一位,当被除数的位数小于除数,得到余数
模2除法的计算过程:
-
- 被除数首位是几,商就上几
-
- 异或运算
-
- 异或后首位一定是0, 舍弃掉这个0首位
-
- 补末位(落数),再上商。
例子:1011 0010 000 模二除 11001
1.4.3 校验码-循环冗余校验(CRC)
CRC循环冗余校验,只能检错,不能纠错
规则:
- ① 收发双方约定好一个生成多项式G(X);
- ② 发送方基于待发送的数据和生成多项式计算出差错校验码(冗余码),将其添加到待传输数据的后面一起传输;
- ③接收方通过生成多项式来计算收到的数据是否产出了误码
算法要求生成多项式必须包含最低次项
1.4.3.1 练习题-计算编码信息
例:待发送的信息为101001,生成生成多项式为G(x)= x~3~ + x~2~ + 1,计算编码后的信息。
101001模2除 1101,得到余数是1,最高项是3,所以冗余码是001
1.4.3.2 练习题-判断编码是否有误
接收到的信息为101101001,生成多项式为G(x)= x~3~ + x~2~ + 1
1.4.4 校验码-海明校验
海明码既可检错,又可纠错
练习题:待传送的信息是1010,若采用海明码校验,则奇校验规则下的海明码是()
A 0110010
B 0110011
C 1110010
D 1110011
解析:
- 海明码的规则: <math xmlns="http://www.w3.org/1998/Math/MathML"> 2 k − 1 ≥ n + k 2^k -1 \geq n+k </math>2k−1≥n+k, n是数据位,k是校验位(冗余位)
- 1010的数据位是4,因为 n = 4 。 也就是说 <math xmlns="http://www.w3.org/1998/Math/MathML"> 2 k − 1 ≥ 4 + k 2^k -1 \geq 4+k </math>2k−1≥4+k 。由此可得到 k =3时,便可满足规则
- 由上一步可知,有k=3个校验位,即:P~1~、P~2~、P~3~
- 有n=4个数据位,即:D~1~、D~2~、D~3~、D~4~
- 待传送的信息是1010,因此 D~1~ = 1 、D~2~ = 0、D~3~ = 1、D~4~ = 0
- 对应的海明码: H~1~、H~2~、H~3~、H~4~、H~5~ 、H~6~、H~7~
- 校验码P~i~对应放在海明码的2^i-1^位置:
- P~1~ 的位置是2^(1-1)^ = 1
- P~2~ 的位置是2^(2-1)^ = 2
- P~3~ 的位置是2^(3-1)^ = 4
- 由此可得到丢应关系如下:(海明位的1,2,4位是校验位,其余是数据位)
海明码 | P~1~ | P~2~ | P~3~ |
---|---|---|---|
H~1~(P~1~) | |||
H~2~(P~2~) | |||
H~3~(D~1~) | |||
H~4~(P~3~) | |||
H~5~(D~2~) | |||
H~6~(D~3~) | |||
H~7~(D~4~) |
- 根据海明码的校验规则:【海明位的每一位都是由若干个校验位来校验的,被校验的海明位的下标等于所有参与校验该位的校验位的下标之和,校验位则由自身校验】 可得到如下分析:
海明码 | P~1~ (位置是 1) | P~2~ (位置是 2) | P~3~ (位置是 4) | 说明 (校验规则) |
---|---|---|---|---|
H~1~(P~1~) | √ | 自身校验 | ||
H~2~(P~2~) | √ | 自身校验 | ||
H~3~(D~1~) | √ | √ | P~1~ +P~2~ | |
H~4~(P~3~) | √ | 自身校验 | ||
H~5~(D~2~) | √ | √ | P~1~ +P~3~ | |
H~6~(D~3~) | √ | √ | P~2~ +P~3~ | |
H~7~(D~4~) | √ | √ | √ | P~1~ +P~2~ +P~3~ |
-
根据上表可分析校验位与数据位的分组情况(纵向查看)
- P~1~可以跟D~1~、D~2~、D~4~一组
- P~2~可以跟D~1~、D~3~、D~4~一组
- P~3~可以跟D~2~、D~3~、D~4~一组
-
结合上述分析的D~1~到D~4~对应的值可得:
- P~1~ :
- D~1~、D~2~、D~4~是 100
- 根据奇校验规则,有奇数个1,所以补0(结果是1000),因此P~1~=0
- P~2~
- D~1~、D~3~、D~4~得到 110
- 奇校验规则,有奇数个1,所以补1,(结果是1101),因此P~2~=1
- P~3~ 是 010,
- D~2~、D~3~、D~4~得到010
- 奇校验规则,有奇数个1,所以补0,(结果是0100),因此P~3~=0
- P~1~ :
-
由此可推断出海明码是(选A):
海明位 | H1 | H2 | H3 | H4 | H5 | H6 | H7 |
---|---|---|---|---|---|---|---|
--- | P~1~ | P~2~ | D~1~ | P~3~ | D~2~ | D~3~ | D~4~ |
--- | 0 | 1 | 1 | 0 | 0 | 1 | 0 |
1.5 存储器
1.5.1 存储器的层次结构
- 越接近CPU处理器,容量越小,速度越快,每个字节的成本越高
- Cache位于CPU和主存之间
- CPU给出想要的访问地址,会首先访问Cache,在Cache没有命中,才会访问主存
- Cache与主存之间的地址映射,由硬件 自动完成,目的是为了保证高速的处理速度
- Cache对程序员而言是透明的,无法调度
- 主存与外存之间的地址映射是软件和硬件结合完成
- 程序员可调度的存储有:主存、外存、CPU的寄存器(由汇编语言访问)
1.5.2 高速缓存Cache
- Cache位于CPU和主存之间
- Cache对程序员而言是透明的,无法调度
- 设置多级(一级、二级等)高速缓存Cache以提高命中率,即访问主存的效率(提高CPU访问主存数据或指令的效率)
- 使用Cache改善系统性能的依据是程序的局部性 原理
- 时间局限性:
- 被引用过一次的存储器位置在未来会被多次引用
- 主要体现在for 循环
- 空间局限性:
- 如果一个存储器的位置被引用,那么将来他附近的位置也会被引用
- 主要体现在顺序执行过程
- 时间局限性:
这段代码中,sum
具有时间局限性,没有空间局限性。而arr
则具有空间局限性。
1.5.3 Cache的地址映像方法
主存容量大,Cache容量小
地址映像方法
- 直接相联映像:主存的块与Cache块的对应关系是固定 的
- 优点:硬件电路设计、地址变换比较简单
- 缺点:冲突率较高、灵活性差
- 全相联映像:主存与Cache均分成大小相同的块,允许主存的任何一块可以调入Cache存储器的任何一个块的空间
- 优点:冲突率较低、主存的块调入Cache的位置不受限制 、十分灵活
- 缺点:电路设计难以实现
- 组组相联映像
真题:Cache的地址映像中,发生快冲突次数最小的是()。
A 全相联映像
B 组相联映像
C 直接相联映像
D 无法确定
选A
1.5.4 Cache替换算法
Cache 替换算法 也叫 页面置换算法或页面淘汰算法。
Cache替换算法有:
- 随机替换算法(RAND):生成随机数
- 先进先出算法(FIFO)
- 近期最少使用算法(近期最久被使用)(LRU):时间记录,不考虑计数器
- 最不频繁使用算法(LFU ):计数器 记录 响应页面的使用次数
- 优化替换算法
Cache的读写过程:
- 写直达:同时写Cache与内存
- 写回:只写Cache,淘汰页面时才写回内存
- 标记法:只写入内存,并将标记清零,若用到此数据,只需要再次调取
练习题
1.5.5 外存储器-磁盘
- 磁盘断电后,也能保存数据
- 一个盘片可能会有两个盘面
- 每个盘面对应一个磁头
- 所有的磁头都是连在同一个磁臂上,因此所有的磁头只能"共进退"
- 一圈一圈的同心圆叫磁道,磁盘的盘面被划分为一个一个磁道
- 一个磁道又被划分为一个一个的扇区,每个扇区就是一个"磁盘块"。各个扇区存的数据相同。
- 机械磁盘存在两组运动
- 磁盘的旋转运动
- 机械臂控制磁头沿半径方向的直线运动
- 存取时间 = 寻道时间+ 等待时间 (还有读取时间,比较快,可以忽略不计)
- 寻道时间:指磁头移动到磁道所需要的时间
- 等待时间(旋转延迟时间):等待读写的扇区转到磁头下方所用的时间
固态硬盘:
- 无盘片、磁道、扇区这些概念,不是机械驱动
- 是采用存储芯片进行数据存储。存储芯片的介质分为:
- NAND闪存:最广泛
- DRAM
- 优点:速度快,噪声低,防震效果好
- 缺点:写入次数有限制(上万次)、价格高
1.6 输入/输出(I/O)技术
输入/输出技术:CPU控制主存与外设之间的数据交互的过程。外设速度比较慢,主存速度快。
数据传输的控制方式是CPU。
输入/输出技术有:
- 直接程序控制
- 分为无条件传送 和程序查询方式
- 降低了CPU的效率
- 对外部的突发事件无法做出实时响应
- 程序中断方式 :(鼠标、键盘)
- CPU接到中断请求信号后,保存正在执行程序的现场(第一步)
- 利用中断方式完成数据的输入/输出
- 与程序控制方式相比,因为CPU无须等待而提高了效率
- DMA :(显卡、分卡、网卡、移动硬盘)
- 在主存与I/O设备(外设)之间建立数据通路进行数据的交换处理
- 在DMA传送过程中无须CPU的干预
- DMA传送数据时要占用系统总线,此时,CPU不能使用总线
- DMA的存储速度比CPU更快,优先级更高
- 输入/输出处理机(IOP) :
- 分担了CPU的一部分功能,可以实现对外围设备的统一管理,完成外围设备与主存之间的数据传送
- 大大提高了CPU的工作效率,这种效率的提高是以增加更多的硬件为代价的
1.7 指令与流水线
1.7.1 Flynn分类法
Flynn分类法 :根据指令流和数据流的多位性特征对计算机进行分类的方法。将计算机分为4类:SISD、SIMD、MISD、MIMD。当前主流的是MIMD。
指令流:机器执行的指令序列
数据流:指令流调用的数据序列,包括输入数据和中间结果,不包括输出数据
- SISD(single intruction single data):单指令流单数据流
- 传统的串行计算机,硬件不支持并行计算,cpu只能处理一个数据流
- 比如:冯诺·依曼架构,IBM PC机,早期的巨型机
- SIMD:单指令流多数据流
- 单核计算机、GPC
- 在数字信号处理、图像处理、以及多媒体信息处理等领域非常有效
- MISD:多指令流单数据流
- 只作为理论模型出现,没有应用到实际中
- MIMD:多指令流多数据流
- 当前主流计算机
- 如:intel和AMD的多核处理
练习题:Flynn分类法根据计算机在执行程序的过程中()的不同组合,将计算机分为4类。当前主流的多核计算机属于()计算机。
A. 指令流和数据流
B. 数据流和控制流
C. 指令流和控制流
D. 数据流和总线带宽
A. SISD
B. SIMD
C. MISD
D. MIMD
选AD
1.7.2 CISC与RISC
- RISC(Reduced Instruction Set Computer):精简指令系统
- CISC(Complex Instruction Set Computer):复杂
指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其他 | 代表 |
---|---|---|---|---|---|
CISC(复杂) | 数量多 ,使用频率差别大,可变长格式 | 支持多种 | 微程序控制技术 (微码) | 研制周期长 | X86 |
RISC(精简) | 数量少 ,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有 Load/Store 操作内存 | 支持方式少 | 增加了通用寄存器; 硬布线 逻辑控制为主; 更适合采用流水线 | 优化编译,有效支持高级语言 | RISC-V、ARM |
练习题:以下关于RISC和CISC的叙述中,不正确的是()
A. RISC的大多指令在一个时钟周期内完成
B. RISC普遍采用微程序控制器,CISC则普遍采用硬布线控制器
C. RISC的指令种类和寻址方式相对于CISC更少
D. RISC和CISC都采用流水线技术
选B
1.7.3 流水线
流水线 是指在程序执行时多条指令 重叠进行操作的一种准并行 处理实现技术。
各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度 。 一条指令的执行过程可以分解为取指、分析和执行三步 ,在取指时间t~取指~=3△t、分析时间t~分析~=2△t、执行时间t~执行~=4△t的情况下,若按串行方式执行,则10条指令全部执行完需要()△t;若按流水线的方式执行,流水线周期为()△t,则10条指令全部执行完需要()△t。
- 串行方式的总执行时间:(3△t+2△t+4△t) * 10 = 90△t
- 流水线的周期是执行时间最长的一段,因此是4△t,也是流水线周期
- 流水线的总执行时间:
- 一条指令需要执行的总时长3△t+2△t+4△t=9△t
- 流水线周期4△t
- 9△t + (10-1) * 4△t
流水线计算公式:
- 第1条指令时间+(指令数-1) * 流水线周期
- 理论公式(默认使用): <math xmlns="http://www.w3.org/1998/Math/MathML"> ( t 1 + t 2 + ⋯ + t k ) + ( n − 1 ) ∗ t (t_1+t_2+\cdots+t_k)+(n-1) * t </math>(t1+t2+⋯+tk)+(n−1)∗t
- <math xmlns="http://www.w3.org/1998/Math/MathML"> ( t 1 + t 2 + ⋯ + t k ) (t_1+t_2+\cdots+t_k) </math>(t1+t2+⋯+tk) 是第一条指令需要执行的总时长
- t:流水线的周期(执行时间最长的一段)
- n: 指令的条数
- 实践公式: <math xmlns="http://www.w3.org/1998/Math/MathML"> K ∗ t + ( n − 1 ) ∗ t K*t + (n-1)*t </math>K∗t+(n−1)∗t
- K:流水线执行步骤数
- t:执行时间最长的一段,也叫流水线周期
- n: 指令的条数
- 理论公式(默认使用): <math xmlns="http://www.w3.org/1998/Math/MathML"> ( t 1 + t 2 + ⋯ + t k ) + ( n − 1 ) ∗ t (t_1+t_2+\cdots+t_k)+(n-1) * t </math>(t1+t2+⋯+tk)+(n−1)∗t
流水线的吞吐率 是指在单位时间内流水线所完成的任务数量或输出的结果数量。
计算流水线吞吐率的最基本公式如下:
<math xmlns="http://www.w3.org/1998/Math/MathML"> T P = 指令条数 流水行执行时间 TP=\frac{指令条数}{流水行执行时间} </math>TP=流水行执行时间指令条数
流水线最大吞吐率 :
流水线的加速比 是指完成同样一批任务,不使用流水线所用的时间与使用流水线所用时间之比。 <math xmlns="http://www.w3.org/1998/Math/MathML"> S = 不使用流水行执行时间 使用流水行执行时间 S=\frac{不使用流水行执行时间}{使用流水行执行时间} </math>S=使用流水行执行时间不使用流水行执行时间
练习题:执行指令时,将每一节指令都分解为取指、分析和执行三步。已知取指时间5△t,分析时间2△t,执行时间3△t,如果按照取指、分析、执行重叠的流水线方式执行指令,从头到尾执行完500条指令需要()△t。
A. 2500
B. 2505
C.2510
D.2515
解析:
- 使用理论公式计算: <math xmlns="http://www.w3.org/1998/Math/MathML"> ( t 1 + t 2 + ⋯ + t k ) + ( n − 1 ) ∗ t (t_1+t_2+\cdots+t_k)+(n-1) * t </math>(t1+t2+⋯+tk)+(n−1)∗t
- 流水线周期是:5△t
- 第一条指令执行的时间:5+2+3 = 10△t
- 因此:10△t+(500-1)* 5△ = 2505△t
- 使用实践公式计算: <math xmlns="http://www.w3.org/1998/Math/MathML"> K ∗ t + ( n − 1 ) ∗ t K*t + (n-1)*t </math>K∗t+(n−1)∗t
- 执行步骤有三步,因此K=3
- 流水线执行周期是5△t,t=5
- 因此:3*5+(500-1)*5=2510
- 流水线的执行时间默认使用理论公式计算,如果答案中没有计算结果,则采用实践公式计算得到结果,因此选B
1.7.4 冯诺依曼结构和哈弗结构
1.8 总线
总线:电子信号传输线路的形式。可传输、交换、共享信息
总线分类:
- 数据总线(Data Bus,DB):在CPU与RAM之间来回传送需要处理或需要储存的数据(双向)
- 地址总线(Address Bus,AB):用来指定在RAM之中储存的数据的地址(单向)
- 控制总线(Control Bus,CB):将微处理器控制单元(Control Unit)的信号,传送到周边设备。(双向)
总线特点:
- 共享:总线的部件相互之间可以进行信息的交换
- 分时 :同一时刻仅允许一个 部件向总线发送信息,但允许多个部件同时从总线上接收相同的信息。
总根据数据线的多少分为:
-
串行总线 :只包含一条双向的数据线或者两条单向的数据线 适合长距离传输
-
并行总线 :包含多条双向的数据线,不宜过长,适合近距离传输
-
单工:一个方向上传输(正向或反向),不能改变信号的传输方向
-
半双工:一种可切换方向的单工通信
-
全双工:双向的传输
1.9 加密技术和认证技术
1.9.1 对称加密
- 适合大文件加密
- 常见的对称加密算法:DES、3DES、RC、 IDEA、 PGP、 AES
1.9.2 非对称加密技术
- 不适合文件加密,适合少量数据加密
- 特点:保密性好,加密和解密花费的时间长,速度慢
- 常见的对称加密算法:RSA、DSA、ECC
1.9.3 信息摘要
- 信息摘要算法:MD5、SHA-1、SHA-256
1.9.4 数字签名
1.10 计算机可靠性模型
串联系统:
并联系统:
解析:
- A:3个串联则是:R* R * R
- B:3个并联:1-(1-R)* (1-R) * (1-R)
- C:前两个并联 1-(1-R)* (1-R),与第三个串联是 (1-(1-R)* (1-R))* R
- D:R*(1-(1-R)* (1-R))