当前位置 : 主页 > 编程语言 > 其它开发 >

中级软件设计师计算机系统知识点速查

来源:互联网 收集:自由互联 发布时间:2022-05-30
中级软件设计师上午题计算机系统知识点速查 计算机系统 计算机的基本硬件由:计算器,控制器,存储器,输入设备和输出设备 中央处理单元(cpu):运算器+控制器 Cpu 负责获取程序指
中级软件设计师计算机系统知识点速查 中级软件设计师上午题计算机系统知识点速查 计算机系统
  • 计算机的基本硬件由:计算器,控制器,存储器,输入设备和输出设备
  • 中央处理单元(cpu):运算器+控制器
Cpu
  • 负责获取程序指令,对指令进行译码并加以执行
Cpu作用
  1. 程序控制:指控制程序中指令的执行顺序
  2. 操作控制:控制部件按指令的要求进行动作
  3. 时间控制:对各种操作实施时间上的定时
  4. 数据处理:对数据进行算术运算和逻辑运算

Snipaste_2022-05-19_12-23-53

  • 例题

Snipaste_2022-05-19_12-23-45

Cpu控制器
  • 控制器不仅保证程序正确执行,还要能够处理异常事件。

Snipaste_2022-05-19_13-20-28

  • 例题
  1. Snipaste_2022-05-19_13-24-08
  2. Snipaste_2022-05-20_08-43-38
  3. Snipaste_2022-05-20_08-43-59

在CPU的寄存器中,指令寄存器对用户来说是完全透明

计算机的基本单位
  • 位(比特):bit b

  • 字节:btye B
    1 B = 8 bit
    1KB = 1024B = 2^10B
    1MB = 1024KB =2^20B
    1GB = 1024MB =2^30B
    1TB = 1024GB = 2^40B

  • 最小的数据单位:b

  • 最小的存储单位: byte

主频

理解:主频是机器内部主时钟的频率,主频越高,完成指令的一个执行步骤所用的时间就越短,速度越快。比如跳绳,跳的越快(即频率越高),那么完成一次所用的时间就越短。

单位:Hz,常见的有1.8GHz,2.4GHz

CPU时钟周期

理解:跟上面的主频对应,CPU时钟周期是一个时间单位,即一个周期的时长

计算:CPU时钟周期=1/主频

单位:s(秒)(ms,μs等)

CPI

理解:我们借助英文全称理解,全称为:Clock cycle Per Instructions,即一条指令所需要的时钟周期数。需要注意的是这个是需要的时钟周期数,不是时钟周期。

计算:CPI = 程序所需时钟周期数 / 程序所含指令数(把周期数平分为n份,n为指令数,即求得每条指令所需要时钟周期数,这里计算的是平均值,一般情况下均计算平均值)

单位:周期数/每条指令(根据算式得的,一般没要求,这里为了帮助理解)

MIPS

理解:同样借助英文全称,Million Instructions Per Second,即每秒执行多少百万条指令。通俗即一秒之内可以跑多少百万条指令

计算:MIPS = 指令条数 / (执行时间*10^6) (除以10^6为了求得有多少百万条指令)

推导:执行时间 = CPI * 指令条数 * 时钟周期 = CPI * 指令条数 * (1/主频)(这里需要理解透彻CPI到底是什么意思)代入上式可得:MIPS = 主频 / (10^6 * CPI)

进制 2进制(B)
  • 由0,1表示的数字
  • 比如:001=1 * 2^0=1 ;110=0 * 2^0 +1 * 2^1+1 * 2^2 = 6
8进制(O)
  • 由0~7表示的数字
  • 比如:57=7 * 8^0 +5 * 8 ^ 1=47;
16进制(H)
  • 0~9 , A~F 表示
进制转换
  • 二进制转八进制

  • 从后往前按照每三位进行划分 10 001 110 分别对应八进制的 2 1 6 即每一段是 2^2 2^1 2^0

  • 二进制转十六进制:10001110

    从后往前按照每三位进行划分 1000 1110 分别对应十六进制的 8 E

  • 小数变二进制

    乘二取余数

  • 例题

  1. IMG_20220519_134718.jpg
  2. Snipaste_2022-05-20_09-24-06
  3. Snipaste_2022-05-20_09-46-56
原码、反码、补码、移码

在计算机用一个数的最高位存放符号, 正数为0, 负数为1.

  • 真值

    因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 10000011,其最高位1代表负,其真正数值是 -3 而不是形式值131(10000011转换成十进制等于131)。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。

    例:0000 0001的真值 = +000 0001 = +1,1000 0001的真值 = –000 0001 = –1

  • 原码

    原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:

    [+1]原 = 0000 0001

    [-1]原 = 1000 0001

    范围:-(2(n-1)-1)~(2(n-1)-1)

  • 反码

    正数的反码是其本身

    负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.

    [+1] = [00000001]原 = [00000001]反

    [-1] = [10000001]原 = [11111110]反

    范围:-(2(n-1)-1)~(2(n-1)-1)

  • 补码

    正数的补码就是其本身

    负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

    [+1] = [00000001]原 = [00000001]反 = [00000001]补

    [-1] = [10000001]原 = [11111110]反 = [11111111]补

    范围:-2^(n-1) ~ 2^(n-1)

  • 移码

    其表示形式与补码相似,只是其符号位用“1”表示正数,用“0”表示负数,数值部分与补码相同。

  • 例题

  1. Snipaste_2022-05-19_14-14-54
  2. Snipaste_2022-05-20_09-48-09
  3. Snipaste_2022-05-20_09-53-39

注意:对于负数来说,补码的补码是原码!

​ 1. 补码移码正负零相同

机器字长为n时各种码制的带符号数的范围

Snipaste_2022-05-19_14-03-48

  • 例题
  1. Snipaste_2022-05-20_09-58-43
  2. Snipaste_2022-05-20_10-01-06
浮点数运算

Snipaste_2022-05-19_14-09-13

Snipaste_2022-05-19_14-11-38

  • 例题
  1. Snipaste_2022-05-20_10-09-09

两个浮点数阶码不一致,先对阶,小对大,尾数右移n位(n为阶码差的绝对值)

寻址

掌握前五个就可以

Snipaste_2022-05-19_14-27-20

直接寻址最快,寄存器间接寻址其次,直接寻址最慢

校验码 奇偶校验码

Snipaste_2022-05-19_14-32-48

只能检错,不能纠错

只能检查出奇数位出错的编码,不能检查出偶数位出错的编码

海明码

Snipaste_2022-05-19_14-41-57

码距=2,有检错能力

码距>=3,既有检错能力,又有纠错能力

公式很重要

循环冗余校验码

Snipaste_2022-05-19_14-47-56

记住模2运算和码距是2,只能检查到错误

差错控制

在一个码组内为了检测e个误码,要求最小码距d应该满足:d>=e+1

在一个码组内为了纠正t个误码,要求最小码距d应该满足:d>=2*t+1

RISA和CISA

Snipaste_2022-05-19_14-49-47

流水线公式 取指 -> 分析 -> 执行
  • 使用流水线前指令执行情况

    取指 1 2 3 分析 1 2 3 执行 1 2 3
  • 使用流水线后指令执行情况

    取指 1 2 3 分析 1 2 3 执行 1 2 3
流水线计算
  • 流水线周期为执行时间最长的一段

  • 流水线计算公式为

    1条指令执行时间+(指令条数-1)*流水线周期(最长时间段)

    理论公式:(t¹+t²+t³+…+tⁿ)+(x-1)
    实践公式:(n+x-1)*∆

    其中n为一个工程需要几道工序,即把所有的工序时长都按照流水线周期看待,则整体完成时间就是第一个程序的三道工序加上剩下程序的最后一道工序。(剩下程序的第一二道工序已经在第一个程序执行时完成了)

  • 例题

    1. Snipaste_2022-05-21_12-09-29
    2. Snipaste_2022-05-21_12-16-27
吞吐率计算

TP=指令条数 / 流水线执行时间

最大吞吐率 TPmax = 1 / ∆t ∆t为周期时间 意思就是忽略第一个程序建立的时间,看作一个周期执行一个程序,即为最大吞吐率

  • 例题
  1. Snipaste_2022-05-21_12-21-07
加速比

​ S = 不使用流水线执行之间 / 使用流水线执行时间

流水线的效率
  • 指流水线的设备利用率

    E = n个任务占用的时空区 / k个流水段的总时空区

    通俗来说就是在时空图上,任务执行的所占的大小总区域大小的比值

存储器

Snipaste_2022-05-21_12-23-23

Snipaste_2022-05-21_12-38-45

Snipaste_2022-05-21_12-27-21

RAM和ROM的区别

ROM和RAM都是一种存储技术,只是两者原理不同,RAM为随机存储,掉电不会保存数据,而ROM可以在掉电的情况下,依然保存原有的数据。ROM和RAM指的都是半导体存储器。本来的含义是:ROM是Read Only Memory的意思,也就是说这种存储器只能读,不能写。而RAM是Random Access Memory的缩写。

闪存

闪存介于EPRM和EEPROM之间,类似于EEPROM,也可以使用电信号进行信息的擦除。以块为单位,删除信息快,断电后信息不会丢失,代替ROM,不能代替主存

虚拟存储器

由主存和辅存组成

cup两特性

空间局部性:cpu访问一个地址单元后,之后可能会访问与这个地址单元相邻的地质单元。
时间局部性:cpu访问一个地址单元后,之后可能还会访问这个地址单元

高速缓存

Snipaste_2022-05-21_12-41-25

Cache与主存地址的映射是由硬件自动完成的。

Snipaste_2022-05-21_12-43-22

Snipaste_2022-05-21_12-45-44

替换算法了解即可,性能分析可以记一下。

Snipaste_2022-05-21_12-45-22

注意:图像不是线性

中断
  • 中断向量可提供中断服务程序的入口地址

  • 为了便于实现多级中断嵌套使用堆栈来保护断点和现场最有效 (堆栈:后进先出)

  • 中断响应时间:从发出中断请求开始到中断处理结束

  • 保存现场:返回去继续执行源程序

输入输出IO设备

Snipaste_2022-05-21_13-04-47

内存与接口地址的编址方法

  • 独立编址

    内存地址与接口地址完全时两个独立的两个地址空间,访问数据所用指令也不同,用于接口的指令用于接口的读写,其余的指令全部用于内存

  • 统一编址

    内存单元和接口共用地址空间,优点是原则上用于内存的指令全部可以用于接口

中断优先值控制

优先响应最高级的中断源

中断嵌套(堆栈)

直接存储器存取方式(DMA)

数据直接在内存与I/O设备间的直接成块传送,即在内存与I/O设备之间传送一个数据块的过程中,不需要CPU的任何干涉,在传送数据时要占用数据总线

CPU与外设之间交换数据的方式有直接程序控制方式、中断方式、直接存储器存取和通道控制方式。

(1)程序传送方式:包括无条件传送和程序查询传送。无条件传送不查询外设状态,认为外设已经准备就绪,直接与外设传送数据。程序查询传送在执行输入输出前,要先查询接口中状态寄存器的状态。
(2)中断方式:当外设作好传送准备后,主动向CPU请求中断,CPU响应中断后在中断处理程序中与外设交换数据。若外设未准备好,CPU可以执行其他程序,从而提高了CPU的利用率。
(3)DMA传送方式:DMA方式是一种由专门的硬件电路执行I/O的数据传送方式,它可以让外设接口直接与内存进行高速的数据传送,而不必经过CPU。这种专门的硬件电路称为DMA控制器,简称DMAC。

总线
  • 内部总线

  • 系统总线

    • 数据总线

      每条传输线一次只能传输1位二进制数据。eg: 8根数据线一次可传送一个8位二进制数据(即一个字节)。

    • 地址总线

      地址总线决定了cpu所能访问的最大内存空间的大小。10根地址线能访问的最大的内存为1024位二进制数据(1024个内存单元)(1B)

    • 控制总线

    • 常见的系统总线

      ISA EISA PCI

对称加密和非对称加密

讲解视频看这里

加密算法 对称加密算法(共享密钥加密算法)
  1. DES
  2. 3DES
  3. RC-5
  4. IDEA
  5. AES
  6. RC$
非对称加密算法
  1. RSA
  2. ECC
  3. DSA
总结
  • 公开密钥加密(public-key cryptography),也称为非对称加密(asymmetric cryptography),一种密码学算法类型,在这种密码学方法中,需要一对密钥,一个是私人密钥,另一个则是公开密钥。
    • 常见的公钥加密算法有: RSAElGamal背包算法Rabin(RSA的特例)、迪菲-赫尔曼密钥交换协议中的公钥加密算法、椭圆曲线加密算法(Elliptic Curve Cryptography, ECC);DSA数字签名(又称公钥数字签名),将摘要信息用发送者的私钥加密,接收者只有用发送者的公钥才能解密被加密的摘要信息,也是属于公开密钥加密算法。
  • 对称加密算法 DES AFS IDEA RC4
  • DES是典型的私钥加密体制,属于对称加密,不属于公开秘钥加密
  • 摘要算法、
    • 无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。例如应用 MD5 算法摘要的消息有 128 个比特位,用 SHA-1 算法摘要的消息最终有 160 个比特位的输出,SHA-1 的变体可以产生 192 个比特位和 256 个比特位的消息摘要。一般认为,摘要的最终输出越长,该摘要算法就越安全。
    • MD5 SHA系列
  1. 使用hash函数对摘要进行加密
  2. MD5摘要算法
  3. SHA-1安全散列算法
信息安全的基本概述 5要素
  1. 机密性:确保信息不会暴露给修改给未授权的实例或进程。

  2. 完整性:只有得到允许才能修改数据,并能够判别出数据是否被修改。

  3. 可用性:得到授权的实体在需要时可访问数据。

  4. 可控性:得到授权的的实体在需要时可访问数据。

  5. 可审查:对出现的安全问题提供查询的依据和手段。

安全威协Snipaste_2022-05-22_09-15-43 可靠性公式
  1. 串联系统

Snipaste_2022-05-22_09-24-52

  1. 并联系统

Snipaste_2022-05-22_09-26-21

总结

Snipaste_2022-05-22_09-25-54

  • 例题
  1. Snipaste_2022-05-22_09-31-20
  2. Snipaste_2022-05-22_09-36-37
计算机可靠度

Snipaste_2022-05-22_09-38-38

Snipaste_2022-05-22_09-39-05

总结:

题目数量:7~9道

考试占比:7~9分

考试难度:从总体来看是比较大的

上一篇:记录前端从0开始学c++系列: 01 序言
下一篇:没有了
网友评论