软考架构-计算机基础

中央处理单元CPU

CPU的功能

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

CPU的组成

  • 运算器
    • 算数逻辑单元ALU
    • 累加器
    • 状态条件寄存器
    • 缓冲寄存器
  • 控制器
    • 指令寄存器
    • 程序计数器
    • 地址寄存器
    • 指令译码器
  • 寄存器组
  • 总线

进制转换

二进制和十进制

  • 二进制转十进制
    • 无符号的二进制 从右到左,依次乘以2的幂次,然后相加
    • 有符号的二进制 从右到左,依次乘以2的幂次,最高位为符号位,0为正,1为负
    • 小数部分 从左到右,依次除以2的幂次,然后相加
  • 十进制转二进制
    • 整数部分:除2取余法,从下往上读
    • 小数部分:乘2取整法,从上往下读

具体转换方法

二进制转十进制

整数部分

  • 例:1101₂ = 1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 8 + 4 + 0 + 1 = 13₁₀

小数部分

  • 例:0.101₂ = 1×2⁻¹ + 0×2⁻² + 1×2⁻³ = 0.5 + 0 + 0.125 = 0.625₁₀

有符号数

  • 原码:符号位0为正,1为负,数值部分按无符号处理
  • 反码:正数不变,负数符号位不变,数值位取反
  • 补码:正数不变,负数在反码基础上+1

十进制转二进制

整数部分(除2取余法)

  • 例:13₁₀ → 二进制
    • 13 ÷ 2 = 6 余 1
    • 6 ÷ 2 = 3 余 0
    • 3 ÷ 2 = 1 余 1
    • 1 ÷ 2 = 0 余 1
    • 从下往上读:1101₂

小数部分(乘2取整法)

  • 例:0.625₁₀ → 二进制
    • 0.625 × 2 = 1.25 取整数部分 1
    • 0.25 × 2 = 0.5 取整数部分 0
    • 0.5 × 2 = 1.0 取整数部分 1
    • 从上往下读:0.101₂

其他进制转换

  • 八进制转二进制:每位八进制数对应3位二进制数
  • 十六进制转二进制:每位十六进制数对应4位二进制数

数据表示

计算机中均采用补码进行加减运算 移码的主要作用是表示浮点数的指数(阶码)

原码

  • 带符号的二进制表示

反码

  • 正数不变,负数符号位不变,数值位取反

补码

  • 正数不变,负数在反码基础上+1

移码

  • 补码的符号位取反

浮点数表示

N= 尾数*基数^指数

  • 尾数 用补码表示,位数决定数的有效精度,位数越多精度越高
  • 阶码 用移码表示,位数决定数的范围,位数越多范围越大
  • 对阶时,小数向大数看齐,较小数的尾数右移

校验码

奇偶校验

添加一个校验位,使得整个数据中1的个数满足奇数或者偶数的要求

编码方法

  • 奇校验 整个校验码(有效信息位+检验位)中1的个数为奇数
  • 偶校验 整个校验码(有效信息位+检验位)中1的个数为偶数
  • 如果有奇数个位发生误码,则奇偶性发生变化,可以检错,不能纠错
  • 如果有偶数个位发生误码,则奇偶性不变,不能检测错误(漏检)

模二除法

模二除法是CRC校验码的基础运算,遵循以下规则:

模二除法步骤

  1. 从高位开始,够除就除(商1),不够除就商0
  2. 每次除法用异或运算代替减法

示例:1100100100 ÷ 1011

被除数:1100100100
除数:  1011

正确的模二除法过程:
           1 1 1 0 1 1 1
    ____________________
1011)1 1 0 0 1 0 0 1 0 0
     1 0 1 1     ← 101 ÷ 101 = 1,101 ⊕ 101 = 000
    --------
       1 1 1 1    ← 去掉前导0得1,下移一位得11
       1 0 1 1    ← 11 < 101,商0,下移一位得110
       --------
         1 0 0 0   ← 110 ÷ 101 = 1,110 ⊕ 101 = 011
         1 0 1 1    ← 去掉前导0得11,下移一位得110
         --------
           0 1 1 0    ← 110 ÷ 101 = 1,110 ⊕ 101 = 011
           0 0 0 0    ← 去掉前导0得11,下移一位得110
           --------
           0 1 1 0 1    ← 11 < 101,商0,最终余数为11
             1 0 1 1
             -------
               1 1 0 0
               1 0 1 1
               --------
                 1 1 1 0
                 1 0 1 1
                 -------
                 0 1 0 1
商:1 1 1 0 1 1 1
余数:101

CRC循环冗余检验码

步骤

  1. 约定一个生成多项式G(x),多项式要求必须包含最低次项
  2. 发送方基于数据和生成多项式计算出差错检测吗(冗余码),将其添加到数据后面一起传输
  3. 接收方通过生成多项式计算收到的数据是否产生误码

构造传输信息

待发送信息为101001, 生成多项式G(x) = x^3 + x^2 + 1

  1. 构造被除数 待发送信息后面添加生成多项式最高次数个0 最高次为3->101001000
  2. 构造除数 生成多项式各项系数构成的比特串 -> 1101
  3. 模二除法 101001000 ÷ 1101 余数为 1
  4. 检查余数 余数位数应与生成多项式最高次数相同,位数不够,余数前补0 -> 001 编码结果为101001001

解码检错

  1. 构造被除数 接受到的信息就是被除数 101001001
  2. 构造除数 生成多项式各项系数构成的比特串 -> 1101
  3. 模二除法 101001001 ÷ 1101 余数为 0
  4. 检查余数 余数为0,说明没有误码

海明校验

*** 能检错也能纠错 ***

设数据位n位,校验位K位,则n、k必须满足一下关系 2^k-1>=n+k

编码规则

  1. 检验码Pi必须放在2^(i-1)的位置上
  2. 海明码中的任何一位都是由若干个校验位来校验
  3. 被校验的海明位的下标等于所有校验该位的校验位的下标之和,而校验位由自身校验

做题技巧

  1. 奇校验、偶校验 则可以通过判断编码的1的个数
  2. 通过2^k-1>=n+k 来判断长度
  3. 海明码必定包含原始信息,检验吗会插入到信息中间
  4. 海明码的位是2^(i-1) 即第1位、第2位、第4位、第8位

存储器的层次结构

存储器按照访问速度和容量大小形成层次结构,遵循容量越大速度越慢,速度越快价格越高的规律。

  1. 寄存器 CPU内部 访问最快、容量最小、价格最高
  2. 高速缓存 SRAM L1 L2 L3 越来越大、越来越慢
  3. 内存、主存 DRAM 断电丢失数据
  4. 外存、辅存 容量大、价格低、最慢 固态SSD 机械硬盘、光盘、u盘
  • 外存与内存 交互可以由软件和硬件结合实现
  • 内存与Cache缓存交互只能由硬件实现
  • Cache对程序员透明无法操作
  • 寄存器可以使用汇编语言操作
  • Cache的作用是解决CPU与内存速度、容量不匹配的问题

高速缓存Cache

  • 特点

    1. 位于主存与CPU之间
    2. Cache对程序员透明无法操作
    3. 设置多级高速缓存Cache以提高命中率
    4. 使用Cache改善系统性能的依据是局部性原理
  • 局部性原理

    1. 时间局部性 最近被访问的存储位置很可能在不久的将来再次被访问 主要体现在循环体内的指令
    2. 空间局部性 如果一个存储位置被访问,那么它附近的存储位置也很可能被访问 主要体现在顺序访问数组
  • Cache地址影像方法

    1. 直接相连映像 主存的块与Cache块的对应关系是固定的 硬件电路设计、地址变换比较简单 冲突率高、灵活性差
    2. 全相连映像 主存与Cache分成大小相同的块,允许主存中的任何一块可以存入Cahce的任何块中 冲突率低、灵活 电路难以设计实现、速度慢
    3. 组相连映像 Cache中的块分成组,组采用直接相连印象,组中的块使用全相连映像 是直接相连和全相连的折中
  • Cache 替换算法

    1. 随机替换 RAND
    2. 先进先出 FIFO
    3. 最近最少使用 LRU 近期最久被使用
    4. 最不频繁使用 LFU 使用了计数器
    5. 优化替换算法
  • Cache的读写过程

  1. 写直达 同时写Cache和内存
  2. 写回 只写Cache ,淘汰页面时,写回内存
  3. 标记法 只写内存,并将标志位情侣,若用到此数据,只需要再次调取

输入输出技术

  • 直接程序控制
    • 分为无条件传送和程序查询方式
    • 降低了CPU的效率
    • 对外部的突发事件无法做出实时响应
  • 程序终端方式
    • 利用中断方式完成数据的输入输出
    • CPU接到中断请求信号后,保存正在执行的程序现场
    • 与程序控制方式相比,因为CPU无需等待而提高了效率
    • 鼠标、键盘
  • DMA
    • 在主存与IO设备之间建立数据通路进行数据的交换处理
    • 在DMA传送过程中无需CPU的干预
    • DMA传送数据时要占用系统总线,此时CPU不能使用总线
    • 显卡、声卡、网卡
  • 输入输出处理机(IOP)
    • 分担了CPU的一部分功能,可以实现对外部设备的统一管理,完成外部设备与主存之间的数据传送
    • 大大提高了CPU的工作效率,这种效率的提高是以增加更多的硬件为代价

flynn 分类法

基于指令流和数据流的数量来分类并行计算机系统

  1. SISD (Single Instruction, Single Data) 单指令单数据流
  • 早期巨型机 冯诺依曼架构
  1. SIMD (Single Instruction, Multiple Data) 单指令多数据流
  • 数字信号处理、图像处理、GPU 多媒体信息处理领域
  1. MISD (Multiple Instruction, Single Data) 多指令单数据流
  • 没有实际应用
  1. MIMD (Multiple Instruction, Multiple Data) 多指令多数据流
  • Intel AMD的多核处理器

CISC RISC

复杂指令集和精简指令集

复杂指令集

  • 指令数量多,使用频率差别大,可变长格式
  • 寻址方式 支持多种
  • 实现方式 微程序控制技术 微码
  • 其他 研制周期长
  • 代表 X86

精简指令集

  • 指令 数量少、使用频率接近,定长格式。大部分为单周期指令,操作寄存器,只有Load/tsore 操作内存
  • 寻址方式 支持方式少
  • 实现方式 增加了通用寄存器硬布线逻辑控制为主,更适合流水线
  • 其他 优化编译、有效支持高级语言
  • 代表 RISC-V ARM

流水线

指令通常需要通过 取指、 分析、 执行三个步骤,

在没有流水线的情况下,指令需要经过取指、分析、执行三个步骤,再执行下一条指令 在有流水线的情况下,取指完成后,就可以取指下一个指令了,分析完第一条指令后,就可以执行第一条指令了,可以更加紧凑

计算公式

  • 流水线的执行周期是执行时间最长的一个步骤
  • 理论公式 (t1+t2+t3+…+tk)+(n-1)t
  • 实践公式 K*t+(n-1)t K为一条指令的K个步骤
  • 加速比 不使用流水线与使用流水线的执行周期的比值 s=nk/(k+n-1)
  • 吞吐率 单位时间内流水线完成的指令数 TP = 指令数/执行时间
  • 最大吞吐率 TPmax = 1/执行周期

冯诺依曼结构和哈佛结构

  • 冯诺依曼结构又称普林斯顿结构,将程序和数据存储在同一个存储器中。用于PC、AMD、Intel 指令和数据通过相同的数据总线传输
  • 哈佛结构,将程序和数据存储在不同的存储器中。一般用于嵌入式、数字信号处理DSP。指令与数据分开存储,可以并行读取。具有四条总线:指令数据总线、数据数据总线、指令地址总线、数据地址总线

总线

  • 数据总线 在CPU与RAM之间来回传送数据,双向

  • 地址总线 在指定RAM之中存储的数据的地址,单向

  • 控制总线 将微处理器控制单元,传送到周边设备。每条线本身是单向的,但整体上是双向的

  • 特点:

  1. 共享 部件之间可以进行信息交换
  2. 分时 同一时刻仅允许一个部件发送信息,但允许多个部件接受相同的信息
  3. 串行总线 长距离传输,信息一位一位的传输
  4. 并行总线 短距离传输,信息多位多位的传输
  5. 单工 信息只能单方向传输
  6. 半双工 可切换方向的单工
  7. 全双工 可双向传输

加密技术和认证技术

对称加密

  • 特点: 算法公开,加密解密速度快,适合大量数据
  • 加解密过程: 明文+加密算法+私钥=>密文 密文+解密算法+私钥=>明文
  • 常用算法: DES 3DES AES RC IDEA PGP
  • 缺点:强度不高,密钥管理复杂

非对称加密

  • 特点:使用一对秘钥,公钥和私钥。私钥自己保存不对外公开,公钥是公开的。可以使用其中一个进行加密,用另一个解密
  • 加密模型 明文使用公钥加密,密文使用私钥解密
  • 认证模型 明文通过私钥加密,密文使用公钥解密
  • 常用算法: RSA DSA ECC(椭圆曲线算法)
  • 缺点:话费时间长,速度慢,不适合对文件加密,只适用于少量数据

信息摘要

  • 特点:对于特定文件,信息摘要是唯一的
  • 算法: MD5 SHA-1 SHA-256
  • 安全性 低------------>高 MD5 SHA-1 SHA-256

数字签名

  • 特点:使用非对称密码机制,使用私钥加密,公钥解密
  • 功能
    1. 报文鉴别 用于证明来源,接受者可以通过签名确定发送者
    2. 防止抵赖 防止发送者否认签名
    3. 防止伪造 防止接受者伪造发送者的签名

计算机可靠性模型

  • 串联系统 可靠性R = R1 * R2 * R3
  • 并联系统 可靠性R = 1 - (1 - R1) * (1 - R2) * (1 - R3)

软考架构-计算机基础

https://github.com/px6707/myblog
作者

panxiao

发布日期

2025 - 08 - 28

许可证

Unlicensed

评论