架构-计算机基础

1.1 中央处理单元CPU

CPU的功能:

  • 程序控制
  • 操作控制
  • 时间控制
  • 数据处理

CPU的组成:

  • 运算器:数据加工、算术运算、逻辑运算
    • 算术逻辑单元ALU
    • 累加器
    • 状态条件寄存器
    • 缓冲寄存器
  • 控制器:保证指令执行、处理异常事件
    • 指令寄存器(IR)
    • 程序计数器(PC)
    • 指令译码器
  • 寄存器:保存程序的中间结果
  • 总线:传输地址、数据

1.2 二进制与十进制转换

二进制转十进制的方法:按权相加法

1.2.1 二进制转十进制

  1. 无符号的二进制整数
    • 从右往左依次用二进制位上的位数乘以2的n次幂的和(n大于等于0,从0开始)
  2. 带符号的二进制整数
    • 除去最高位的符号位(1为负数,0为正数),其余与无符号的二进制转化相同
  3. 小数二进制数
    • 从小数点后第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 十进制转二进制

  1. 转化整数
    • 将整数部分除2,记录商和余数
    • 上一步的商作为被除数,继续除2,记录商和余数
    • 重复上一步,直到商为0为止
    • 余数从下到上 的顺序记录
  2. 转化小数
    • 将小数部分乘以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除法的计算过程:

    1. 被除数首位是几,商就上几
    1. 异或运算
    1. 异或后首位一定是0, 舍弃掉这个0首位
    1. 补末位(落数),再上商。

例子: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
  • 由此可推断出海明码是(选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 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))
相关推荐
天天扭码1 小时前
五天SpringCloud计划——DAY2之单体架构和微服务架构的选择和转换原则
java·spring cloud·微服务·架构
余生H1 小时前
transformer.js(三):底层架构及性能优化指南
javascript·深度学习·架构·transformer
凡人的AI工具箱1 小时前
15分钟学 Go 第 60 天 :综合项目展示 - 构建微服务电商平台(完整示例25000字)
开发语言·后端·微服务·架构·golang
运维&陈同学2 小时前
【zookeeper01】消息队列与微服务之zookeeper工作原理
运维·分布式·微服务·zookeeper·云原生·架构·消息队列
哔哥哔特商务网15 小时前
一文探究48V新型电气架构下的汽车连接器
架构·汽车
007php00715 小时前
GoZero 上传文件File到阿里云 OSS 报错及优化方案
服务器·开发语言·数据库·python·阿里云·架构·golang
码上有前17 小时前
解析后端框架学习:从单体应用到微服务架构的进阶之路
学习·微服务·架构
货拉拉技术1 天前
多元消息融合分发平台
javascript·后端·架构
冷心笑看丽美人1 天前
Spring 框架七大模块(Java EE 学习笔记03)
学习·spring·架构·java-ee