侧边栏壁纸
博主头像
木云舟

行动起来,活在当下

  • 累计撰写 5 篇文章
  • 累计创建 0 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

软件设计师 · 计算机系统知识考点详解(详细版)

覆盖软考官方教程第 1 章全部考点,含概念、公式、对比表与计算示例。

建议结合真题练习:本章在上午科目(基础知识)约占 10~15 分。


第 1 部分 计算机系统基础知识

1.1 计算机系统组成

1.1.1 总体结构

  • 计算机系统 = 硬件系统 + 软件系统

  • 硬件是物理实体,软件是程序、数据及相关文档

1.1.2 冯·诺依曼结构(核心考点)

  • 核心思想:存储程序控制

  • 特点:

    1. 指令和数据都以二进制形式存储

    2. 指令和数据存储在同一存储器中(按地址访问)

    3. 指令由操作码和地址码组成

    4. 指令按顺序执行(可跳转)

    5. 五大部件:运算器、控制器、存储器、输入设备、输出设备

  • 缺点:指令和数据共用总线,存在瓶颈(冯·诺依曼瓶颈),取指与执行不能完全并行

1.1.2.1 哈佛结构(对比考点)

  • 核心思想:程序存储与数据存储分开,拥有两套独立存储器和独立总线

  • 优点:取指令与取操作数可并行进行,速度快,克服"冯·诺依曼瓶颈"

  • 应用:DSP、单片机、嵌入式系统;现代 CPU 的一级 Cache 常分离为指令 Cache 与数据 Cache

  • 对比:

结构

存储

总线

特点

冯·诺依曼

程序数据共用

一套总线

结构简单、成本低,存在瓶颈

哈佛结构

程序数据分离

独立总线

可并行取指取数,速度快,硬件复杂

【例题】 下列属于哈佛结构特点的是( )。 A. 程序和数据共用同一存储器 B. 指令和数据分开存储、可并行访问 C. 采用微程序控制 D. 只能用于巨型机 → B。哈佛结构将指令与数据分开存储,可并行访问。

1.1.3 硬件五大部件

部件

核心组成/作用

运算器

ALU、累加器 AC、寄存器组;完成算术/逻辑运算

控制器

PC、IR、ID、时序部件;指挥协调全机

存储器

存放程序和数据(主存 + 辅存)

输入设备

键盘、鼠标、扫描仪等

输出设备

显示器、打印机、音箱等

1.1.4 软件分类

  • 系统软件:操作系统、编译程序、解释程序、汇编程序、数据库管理系统、服务程序、诊断程序、网络软件

  • 应用软件:面向用户具体应用的软件

1.1.5 计算机分类

  • 按信息表示:电子数字计算机、电子模拟计算机、混合计算机

  • 按用途:通用计算机、专用计算机

  • 按规模/性能:巨型机、大型机、中型机、小型机、微型机、单片机/嵌入式


1.2 CPU 的组成与工作原理

1.2.1 运算器

  • ALU 算术逻辑单元:核心,执行加减乘除、与或非等

  • 累加器 AC:暂存操作数或运算结果

  • 数据缓冲寄存器 DR:暂存从内存读出的数据

  • 状态条件寄存器 PSW:保存标志位(CF 进位、OF 溢出、ZF 零、SF 符号等)

1.2.2 控制器

  • 程序计数器 PC:存放下一条要执行指令的地址(自动加 1)

  • 指令寄存器 IR:存放当前正在执行的指令

  • 指令译码器 ID:对操作码进行译码,产生控制信号

  • 时序部件:产生节拍脉冲

  • 微操作控制部件:根据译码结果和时序发出微操作命令

1.2.3 指令执行过程(指令周期)

  • 指令周期 = 取指周期 + 间址周期 + 执行周期 + 中断周期

  • 基本流程:取指 → 译码 → 执行 → 写回

1.2.3.1 三级周期关系(常考)

  • 时钟周期(节拍):CPU 主频的倒数,最小时间单位。如主频 2GHz → 时钟周期 = 1/(2×10⁹) = 0.5ns

  • 机器周期(CPU 周期):完成一次基本操作(如访存一次)所需时间,由若干时钟周期组成

  • 指令周期:取出并执行一条指令的全部时间,由若干机器周期组成

  • 关系:1 指令周期 ≥ 1 机器周期 ≥ 1 时钟周期(指令周期 = 取指周期 + 执行周期等)

  • 【例题】 某 CPU 主频 100MHz,一个机器周期含 4 个时钟周期,一条指令需 2 个机器周期,执行 100 条指令需( )。

    • 时钟周期 = 1/100MHz = 10ns;机器周期 = 4×10 = 40ns;指令周期 = 2×40 = 80ns;100 条 = 80ns×100 = 8μs

1.2.4 寄存器

  • 通用寄存器:存放操作数、地址等

  • 专用寄存器:PC、IR、MAR(存储器地址寄存器)、MBR(存储器数据寄存器)、PSW


1.3 指令系统

1.3.1 指令格式

  • 指令 = 操作码(OP)+ 地址码(A)

  • 操作码:指明操作类型(加、减、传送、跳转…)

  • 地址码:指明操作数或操作数地址

1.3.1.1 三种"字长"(易混淆考点)

  • 机器字长:CPU 一次能处理的二进制位数,决定数据总线宽度、寄存器宽度

  • 存储字长:一个存储单元存放的二进制位数(按字编址时)

  • 指令字长:一条指令的总位数 = 操作码位数 + 地址码位数

  • 三者可相同也可不同(如机器字长 32 位,指令字长可为 16/32/48 位可变长)

  • 【例题】 某计算机机器字长为 32 位,则其 CPU 一次最多能处理( )位二进制数据。 → 32 位

1.3.2 寻址方式(高频考点,要求会判断)

寻址方式

有效地址/特点

立即寻址

操作数直接放在指令中,速度快,但指令长

直接寻址

地址码 = 操作数在主存中的地址

间接寻址

地址码指向的单元中存放的是操作数地址(访存 2 次)

寄存器寻址

操作数在寄存器中,速度快

寄存器间接寻址

寄存器存放操作数地址

相对寻址

有效地址 = PC + 偏移量(用于转移指令)

基址寻址

有效地址 = 基址寄存器 + 偏移量(用于程序重定位)

变址寻址

有效地址 = 变址寄存器 + 形式地址(用于数组/循环)

堆栈寻址

操作数在栈顶,隐含 SP

1.3.3 CISC 与 RISC(必考对比)

特性

CISC(复杂指令集)

RISC(精简指令集)

指令数量

多、复杂

少、简单

指令长度

不固定

固定(定长)

寻址方式

多

少(通常 1~2 种)

执行方式

微程序控制为主

硬布线控制 + 流水线

访存方式

指令可直接操作内存

只有 Load/Store 访存

寄存器

较少

多(大量通用寄存器)

编译

复杂

简单、优化容易

代表

x86

ARM、MIPS、RISC-V、SPARC


第 2 部分 数据的表示与运算

2.1 进制转换

2.1.1 转换方法

  • 十进制整数 → 任意进制:除基数取余,倒序排列

  • 十进制小数 → 任意进制:乘基数取整,正序排列

  • 二进制 → 八进制:从小数点向两边,三位一组

  • 二进制 → 十六进制:四位一组

  • 八/十六进制 → 二进制:每位展开成 3/4 位

2.1.2 常用编码

  • BCD 码(8421 码):用 4 位二进制表示 1 位十进制数(0000~1001)

  • ASCII 码:7 位编码(最高位 0),A=65、a=97、0=48

2.1.3 汉字编码(重要考点)

  • 汉字处理流程:输入码(外码)→ 交换码(国标码/区位码)→ 机内码 → 字形码

    • 输入码:拼音、五笔等

    • 交换码:国标码 GB2312(两字节,各字节最高位为 0)

    • 机内码:国标码每字节最高位置 1(各字节 + 80H),供计算机内部存储

    • 字形码:点阵字库,用于显示输出

  • 关键换算(各字节分别相加):

    • 国标码 = 区位码 + 2020H

    • 机内码 = 国标码 + 8080H = 区位码 + A0A0H

  • 例:汉字"中"区位码 5448(十进制)→ 十六进制 3630H → 国标码 = 3630H + 2020H = 5650H → 机内码 = 5650H + 8080H = D6D0H

  • 汉字编码标准演进:GB2312(6763 个汉字)→ GBK(扩充至 2 万余字)→ GB18030(最新,覆盖 Unicode)

  • 国际编码:Unicode(统一码,为每个字符分配唯一码点)、UTF-8(变长 1~4 字节,兼容 ASCII)、UTF-16(2 或 4 字节)

  • 点阵字库存储量:n×n 点阵汉字占 n²/8 字节(如 16×16 点阵 = 32 字节,24×24 点阵 = 72 字节)


2.2 码制:原码、反码、补码、移码(核心必考)

2.2.1 定义(以 8 位、n 位为例)

码制

正数

负数

特点

原码

符号位 0 + 真值

符号位 1 + 真值

直观,有 +0/-0,运算复杂

反码

同原码

符号位不变,其余按位取反

+0/-0 仍存在

补码

同原码

反码 + 1

0 唯一,减法转加法,最常用

移码

补码符号位取反

补码符号位取反

用于浮点阶码,便于比较大小

2.2.2 表示范围(字长 n 位)

码制

范围

原码/反码

-(2^(n-1) - 1) ~ +(2^(n-1) - 1)

补码

-2^(n-1) ~ +(2^(n-1) - 1)

8 位补码范围:-128 ~ +127(1000 0000 表示 -128)

2.2.3 补码运算

  • 减法转加法:[A]补 - [B]补 = [A]补 + [-B]补

  • 溢出判断:

    • 单符号位法:同号相加结果符号相反 → 溢出

    • 双符号位法(变形补码):符号位 00 正常、01 正溢出、10 负溢出、11 正常

【例题 1】 用 8 位补码计算 -3 + (-5): -3 补码 = 1111 1101,-5 补码 = 1111 1011 相加 = 1 1111 1000(舍去最高进位)→ 1111 1000,真值 -8,正确,未溢出(两个负数相加结果仍为负)

【例题 2】 用 8 位补码计算 100 + 100: 0110 0100 + 0110 0100 = 1100 1000(符号位为 1)→ 两个正数相加得负数 → 溢出(真值 200 超出 +127 范围)

2.2.4 补码求真值

  • 最高位为 0:直接转十进制

  • 最高位为 1:先取反加 1 得绝对值,再加负号

  • 例:8 位补码 1111 1100 → 取反 0000 0011 → +1 = 4 → 真值 -4


2.3 定点数与浮点数

2.3.1 定点数

  • 定点整数:小数点固定在最低位之后

  • 定点小数:小数点固定在符号位之后(纯小数)

  • 表示范围有限,易溢出

2.3.2 浮点数

  • 表示:N = 尾数 M × 基数 R^阶码 E

  • 组成:符号位 + 阶码 + 尾数(都含符号)

  • 阶码决定数值范围;尾数决定数值精度

2.3.2.1 浮点数表示范围与精度

  • 浮点数的表示范围由阶码位数决定,数值精度由尾数位数决定

  • 阶码位数越多 → 表示范围越大;尾数位数越多 → 精度越高

  • 最大正数 ≈ 尾数最大值 × R^(最大阶码);最小正数 ≈ 尾数最小值 × R^(最小阶码)

  • 【例题】 某浮点数由 1 位符号、6 位阶码、10 位尾数(均含符号位)组成,则决定其表示范围的是,决定精度的是。 → 阶码位数、尾数位数

2.3.3 IEEE 754 标准(常考)

类型

总位

符号

阶码

尾数

偏移量

单精度 float

32

1

8

23

127

双精度 double

64

1

11

52

1023

  • 阶码用移码表示(真值 + 偏移量)

  • 规格化尾数:1 ≤ |M| < 2(隐含最高位 1)

  • 【例题】 将十进制 -5.5 表示为 IEEE 754 单精度浮点数:

    • 5.5 = 101.1₂ = 1.011 × 2²

    • 符号位 = 1(负);尾数 = 011(隐含最高位 1)

    • 阶码 = 2 + 127(偏移量)= 129 = 1000 0001

    • 结果:1 1000 0001 011 0000 0000 0000 0000 0000 = C0B0 0000H

2.3.4 浮点运算步骤

  1. 对阶:小阶向大阶看齐(阶差每大 1,尾数右移 1 位)

  2. 尾数相加减

  3. 规格化:调整尾数与阶码

  4. 舍入处理

  5. 溢出判断(阶码溢出)


2.4 校验码(高频计算题)

2.4.1 码距与检错纠错

  • 码距:两个合法码字之间不同位的个数(最小码距 d)

  • 检错:可检测 d-1 位错

  • 纠错:可纠正 (d-1)/2 位错

2.4.2 奇偶校验

  • 增加 1 位校验位,使 1 的个数为奇数(奇校验)或偶数(偶校验)

  • 特点:只能检错,不能纠错;可检测奇数个错误(偶数个错误检测不出)

2.4.3 海明码(必考计算)

  • 原理:在信息位之间插入若干校验位,使每个校验位负责若干信息位

  • 校验位个数:2^r ≥ m + r + 1(m 信息位数,r 校验位数)

  • 可检测并纠正 1 位错(且可发现 2 位错,取决于实现)

  • 校验位一般放在 2^i 的位置(1、2、4、8…)

2.4.3.1 海明码构造与纠错(完整例题)

【例题】 用海明码对 4 位信息位 1011 编码,并说明如何纠正 1 位错。

  • 步骤 1 定校验位位数:2^r ≥ 4 + r + 1 → r = 3(8 ≥ 8)

  • 步骤 2 排列:7 个位中,校验位放第 1、2、4 位,信息位放第 3、5、6、7 位

    • 位号:7(D₄) 6(D₃) 5(D₂) 4(P₃) 3(D₁) 2(P₂) 1(P₁)

    • 信息位 1011 → D₄=1(位7)、D₃=0(位6)、D₂=1(位5)、D₁=1(位3)

  • 步骤 3 校验位分组(看位号二进制):

    • P₁ 负责位 1、3、5、7(二进制末位为 1)→ P₁ ⊕ D₁ ⊕ D₂ ⊕ D₄ = 0

    • P₂ 负责位 2、3、6、7(二进制第 2 位为 1)→ P₂ ⊕ D₁ ⊕ D₃ ⊕ D₄ = 0

    • P₃ 负责位 4、5、6、7(二进制第 3 位为 1)→ P₃ ⊕ D₂ ⊕ D₃ ⊕ D₄ = 0

  • 步骤 4 计算校验位:

    • P₁ = D₁⊕D₂⊕D₄ = 1⊕1⊕1 = 1

    • P₂ = D₁⊕D₃⊕D₄ = 1⊕0⊕1 = 0

    • P₃ = D₂⊕D₃⊕D₄ = 1⊕0⊕1 = 0

    • 编码结果(位 7→1):1 0 1 0 1 0 1 = 1010101

  • 检错纠错:接收方重算各校验位,若 P₁、P₂、P₃ 校验结果分别为 1、1、0,则错误位号 = 1×2⁰ + 1×2¹ + 0×2² = 3,即将第 3 位取反即可纠错

2.4.4 CRC 循环冗余校验(必考)

  • 原理:信息码后拼接校验位(余数),用模 2 除法计算

  • 步骤:

    1. 确定生成多项式 G(x),其最高次为 r

    2. 信息码左移 r 位(末尾补 r 个 0)

    3. 用生成多项式(r+1 位)做模 2 除法,得 r 位余数 = CRC 校验码

    4. 发送:信息码 + 校验码

  • 接收方:用同一多项式再除,余数为 0 则无错

  • 特点:检错能力强,不能纠错(一般用于检错重发),硬件易实现

2.4.4.1 CRC 计算(完整例题)

【例题】 信息码 101101,生成多项式 G(x) = x³ + x + 1(即 1011),求 CRC 校验码。

  • 步骤 1:G(x) 最高次 r = 3,信息码左移 3 位 → 101101000

  • 步骤 2:用 1011 对 101101000 做模 2 除法(异或运算)→ 余数 011

  • 步骤 3:发送码 = 信息码 + 校验码 = 101101 + 011 = 101101011

  • 验算:接收端用 1011 除 101101011,余数为 0 说明传输无误 ✓

2.4.5 三种校验码对比(高频)

校验码

检错能力

纠错能力

典型应用

奇偶校验

检测奇数个错

不能纠错

简单校验、串口通信

海明码

检 1 位错(可发现 2 位错)

纠正 1 位错

内存 ECC

CRC

检错能力强

不能纠错

网络、磁盘、数据通信


第 3 部分 存储系统

3.1 层次化存储结构

  • 层次:寄存器 → Cache → 主存(RAM/ROM)→ 辅存(磁盘/SSD/光盘)

  • 自上而下:速度递减、容量递增、单位成本递减、访问频率递减

  • 依据:局部性原理

    • 时间局部性:刚访问的数据很可能再次被访问(循环)

    • 空间局部性:访问某地址附近的数据很可能被访问(数组顺序遍历)

3.2 主存分类

  • RAM 随机存取存储器:可读可写,断电丢失

    • DRAM:动态,需刷新,容量大,做主存

    • SRAM:静态,不需刷新,速度快,做 Cache

  • ROM 只读存储器:断电不丢失

    • MROM(掩膜)、PROM(一次编程)、EPROM(紫外线擦除)、EEPROM(电擦除)、Flash(闪存)

3.3 Cache(必考重点)

3.3.1 命中率与平均访问时间

  • 命中率 H:CPU 访问 Cache 成功的概率

  • 平均访问时间:t = H × tc + (1 - H) × tm

    • tc:Cache 访问时间;tm:主存访问时间

  • 例:tc=10ns,tm=100ns,H=0.95 → t = 0.95×10 + 0.05×100 = 9.5+5 = 14.5ns

3.3.2 三种映射方式

映射方式

规则

优点

缺点

直接映射

主存块 → 固定 Cache 行(取模)

硬件简单、速度快

冲突率高,命中率低

全相联映射

任意主存块 → 任意 Cache 行

命中率最高

比较电路复杂,速度慢

组相联映射

先分组,组内全相联、组间直接

折中,实际最常用

复杂度居中

3.3.2.1 主存地址划分(常考计算)

  • 直接映射:主存地址 = 标记 Tag | 块号(行号 Line)| 块内地址(Offset)

  • 全相联映射:主存地址 = 标记 Tag | 块内地址(块号任意放置)

  • 组相联映射:主存地址 = 标记 Tag | 组号(Set)| 块内地址

  • 【例题】 某 Cache 容量 16KB,块大小 16B,直接映射,主存地址 32 位:

    • Cache 行数 = 16KB ÷ 16B = 1024 行 → 块号占 log₂1024 = 10 位

    • 块内地址 = log₂16 = 4 位

    • 标记 Tag = 32 − 10 − 4 = 18 位

3.3.3 替换算法

  • LRU 近期最少使用:淘汰最久未访问的,命中率较好

  • FIFO 先进先出:按进入顺序淘汰

  • LFU 最不经常使用:按访问次数淘汰

  • 随机替换 RAND

3.3.4 写策略

  • 写直达(Write Through):同时写 Cache 和主存,简单但慢

  • 写回(Write Back):只写 Cache,替换时才写回主存,快但复杂

  • 写分配/写不分配策略

3.4 主存编址与芯片扩展(必考计算)

3.4.1 编址基础

  • 字节编址:每个存储单元 1 字节(8 位)

  • 字编址:每个存储单元 1 个字(如 16/32 位)

  • 存储单元数 = 末地址 - 首地址 + 1

  • 例:地址范围 0000H ~ 3FFFH → 3FFF - 0 + 1 = 4000H = 16384 个单元

3.4.2 地址线/数据线

  • 地址线 n 条 → 寻址空间 2^n 个单元

  • 数据线 m 条 → 一次传输 m 位

  • 总容量 = 2^n × m 位

3.4.3 芯片扩展

  • 位扩展:多片芯片并联,增加数据线位数(字长不变)

  • 字扩展:多片芯片串联(用译码器选片),增加存储单元数

  • 字位同时扩展:两者结合

  • 芯片数 = 目标总容量 / 单片容量

  • 例:用 16K×8 的芯片组成 64K×16 → (64K/16K)×(16/8) = 4×2 = 8 片

3.5 磁盘存储器(常考计算)

3.5.1 结构

  • 盘面(记录面)、磁道、扇区(块)、柱面(各盘面同半径磁道集合)

  • 数据以扇区为单位读写

3.5.2 存取时间(重点公式)

  • 存取时间 = 寻道时间 + 旋转延迟 + 传输时间

    • 寻道时间:磁头移动到目标磁道

    • 旋转延迟:等待目标扇区转到磁头下,平均 = 转半圈时间

    • 传输时间:读写数据所需时间

  • 例:转速 6000 rpm → 每圈 10ms → 平均旋转延迟 = 5ms

3.5.3 容量计算

  • 非格式化容量 = 位密度 × 内圈磁道周长 × 磁道数 × 面数

  • 格式化容量 = 每扇区字节数 × 每磁道扇区数 × 磁道数 × 面数

3.5.4 磁盘调度算法(常考)

  • FCFS 先来先服务:按请求顺序访问,公平但寻道总距离可能较大

  • SSTF 最短寻道时间优先:每次选距当前磁道最近的请求,寻道短,但可能"饿死"远处请求

  • SCAN 扫描(电梯)算法:沿一个方向移动到端点再反向,来回扫描

  • CSCAN 循环扫描:只沿一个方向,到端点后快速回到起点再扫,更公平

  • 【例题】 磁头当前在 53 磁道,请求序列:98、183、37、122、14、124、65、67,按 SSTF 调度:

    • 访问顺序:53 → 65 → 67 → 37 → 14 → 98 → 122 → 124 → 183

    • 总寻道距离 = 12 + 2 + 30 + 23 + 84 + 24 + 2 + 59 = 236 磁道

3.6 其他存储

  • 固态硬盘 SSD:闪存,无机械部件,速度快、抗震

  • 光盘:CD(约 700MB)、DVD(4.7GB)、Blu-ray

  • 磁带:顺序存取,容量大,用于备份归档


第 4 部分 输入输出系统

4.1 I/O 控制方式(必考对比,按效率从低到高)

方式

工作原理

特点

程序查询(轮询)

CPU 不断查询外设状态,就绪才传送

简单,CPU 忙等,效率最低

程序中断

外设完成准备后发中断请求,CPU 响应处理

提高 CPU 利用率,需保护/恢复现场

DMA

外设与主存直接交换数据,由 DMA 控制器管理

数据不经过 CPU,块传送效率高

通道

专门负责 I/O 的处理器,执行通道程序

独立性强,可管理多台外设,效率最高

4.2 中断系统

  • 中断源:引起中断的事件(外设、时钟、故障、程序指令)

  • 中断响应过程:关中断 → 保存断点(PC 等现场)→ 识别中断源 → 转中断服务程序 → 恢复现场 → 开中断 → 返回

  • 中断向量:中断服务程序入口地址(或存放地址的单元)

  • 中断嵌套:高优先级中断可打断低优先级服务程序

  • 中断屏蔽:用屏蔽字控制哪些中断允许响应

  • 【例题】 设中断响应优先级 A > B > C。当系统正在执行 C 的中断服务程序时,B 中断到达,则系统将( )。 → 因 B > C,可发生中断嵌套,暂停 C 转而响应 B;若此时 A 又到达,因 A > B,继续打断 B 响应 A,处理完后按优先级逐层返回。

4.3 总线

4.3.1 三类总线

总线

方向

作用

数据总线 DB

双向

传输数据,宽度决定一次传输位数

地址总线 AB

单向(CPU 发出)

传输地址,宽度决定寻址空间 2^n

控制总线 CB

双向

传输控制/状态信号

4.3.2 性能指标

  • 总线带宽 = 频率 × 位宽 / 8(字节/秒)

  • 例:总线频率 100MHz、32 位宽 → 带宽 = 100M × 4B = 400MB/s

4.3.3 总线仲裁(了解)

  • 多个主设备竞争总线时,由仲裁器决定使用权

  • 集中式仲裁:链式查询、计数器定时查询、独立请求三种方式

  • 分布式仲裁:各设备自主判断优先级,无需中央仲裁器


第 5 部分 系统性能指标

5.1 主要指标

指标

含义

公式

主频

CPU 时钟频率(Hz)

—

CPI

每条指令平均时钟周期数

总周期数/指令条数

IPC

每时钟周期执行指令数

1/CPI

MIPS

每秒百万条指令

主频/(CPI×10^6)

MFLOPS

每秒百万次浮点运算

浮点次数/时间

  • 例:主频 2GHz、CPI=4 → MIPS = 2000/4 = 500

5.2 Amdahl 定律(了解)

  • 加速比受限于不能加速部分

  • S = 1 / ((1 - f) + f/p),f 为可并行比例,p 为处理器数

5.3 基准测试

  • 用基准测试程序(如 SPEC、Dhrystone)综合评价系统性能

  • 注意:MIPS/MFLOPS 因指令集不同不可直接跨平台比较


第 6 部分 可靠性

6.1 可靠性指标

  • MTBF:平均无故障时间

  • MTTR:平均修复时间

  • 可用性 A = MTBF / (MTBF + MTTR)

  • 例:MTBF=99.5h,MTTR=0.5h → A = 99.5/100 = 99.5%

6.2 系统可靠性计算(必考)

  • 串联系统:任一部件失效则系统失效

    • R = R1 × R2 × … × Rn

  • 并联系统:任一部件正常则系统正常(冗余)

    • R = 1 - (1-R1)(1-R2)…(1-Rn)

  • 混合系统:先分块计算,再组合

【例题】 三个部件串联,可靠度分别为 0.9、0.8、0.7,系统可靠度? R = 0.9 × 0.8 × 0.7 = 0.504 若三者改为并联:R = 1 − (1−0.9)(1−0.8)(1−0.7) = 1 − 0.006 = 0.994

6.3 冗余技术

  • 硬件冗余:双机、三模冗余 TMR

  • 软件冗余:N 版本程序设计

  • 信息冗余:校验码(海明码、CRC)

  • 时间冗余:重复执行、重试

6.4 RAID(重点级别)

级别

方式

特点

RAID 0

条带化

性能最高,无冗余,坏一块全丢

RAID 1

镜像

100% 冗余,容错强,利用率 50%

RAID 5

条带 + 分布式校验

性能与容错折中,利用率 (n-1)/n

RAID 10

镜像 + 条带

性能与容错兼得


第 7 部分 信息安全基础

7.1 加密技术

7.1.1 对称加密

  • 加解密使用同一密钥

  • 算法:DES(56 位密钥、64 位分组)、3DES、AES(128 位分组,密钥 128/192/256)、IDEA、RC4

  • 优点:速度快;缺点:密钥分发与管理困难

7.1.2 非对称加密

  • 加解密使用公钥/私钥对

  • 算法:RSA(基于大整数分解)、ECC(椭圆曲线,更短密钥同强度)、ElGamal

  • 特点:公钥加密、私钥解密(机密性);私钥签名、公钥验证(完整性/防抵赖)

  • 缺点:速度慢,适合加密少量数据

7.1.3 数字信封(混合加密)

  • 用对称密钥加密数据,用接收方公钥加密对称密钥

  • 兼顾速度与密钥安全

7.2 数字签名与消息摘要

  • 消息摘要:不可逆哈希。MD5(128 位,已不安全)、SHA-1(160 位)、SHA-256

  • 数字签名流程:对消息摘要用发送方私钥加密 → 接收方用发送方公钥解密验证

  • 作用:完整性 + 防抵赖 + 认证

7.3 认证与 PKI

  • 数字证书:CA(证书颁发机构)签发的身份凭证,绑定公钥与身份

  • PKI 组成:CA、RA(注册机构)、证书库、密钥管理

  • SSL/TLS:基于证书的加密传输协议

7.4 安全防护

  • 防火墙:内外网之间的隔离控制(包过滤、状态检测、应用代理)

  • IDS 入侵检测(发现告警)/ IPS 入侵防御(主动阻断)

  • VPN:虚拟专用网络,加密隧道

  • 访问控制:自主访问控制 DAC、强制访问控制 MAC、基于角色 RBAC

7.5 恶意代码分类

类型

特点

病毒

依附宿主程序,自我复制

蠕虫

独立程序,通过网络自我传播

木马

伪装正常程序,隐蔽窃取信息

逻辑炸弹

满足条件时触发破坏

间谍软件/勒索软件

窃取信息/加密勒索


第 8 部分 高频考点与计算题速记

  1. 补码范围:8 位为 -128 ~ +127

  2. 海明码:2^r ≥ m + r + 1,可纠 1 位错

  3. CRC:模 2 除法,只检错不纠错

  4. 流水线:周期 = 最长段;T = (k+n-1)×Δt

  5. Cache 平均访问时间:t = H×tc + (1-H)×tm

  6. 芯片数 = 总容量/单片容量;位扩展加数据线、字扩展加地址线

  7. 磁盘存取时间 = 寻道 + 旋转延迟 + 传输

  8. I/O 方式效率:查询 < 中断 < DMA < 通道

  9. 可用性 A = MTBF/(MTBF+MTTR)

  10. 串联相乘、并联 1-(1-R1)(1-R2)

  11. 对称加密用同一密钥;非对称公钥加密/私钥解密、私钥签名/公钥验证

  12. 总线带宽 = 频率 × 位宽 / 8

  13. 机内码 = 国标码 + 8080H = 区位码 + A0A0H

  14. 磁盘调度算法:FCFS、SSTF、SCAN、CSCAN

  15. 流水线冒险:数据冒险、控制冒险、结构冒险

  16. 汉字点阵存储:n×n 点阵占 n²/8 字节


第 4.5 部分 流水线技术(必考计算)

1. 基本概念

  • 流水线:把指令执行过程分成若干阶段(取指、译码、执行、写回),各阶段重叠进行,类似工厂流水线

  • 流水线周期 Δt = 各段耗时中的最大值(瓶颈段)

  • 理想情况下每 Δt 完成一条指令(满载后)

2. 关键公式(必考)

  • 执行 n 条指令总时间:T = (k + n - 1) × Δt

    • k:流水线段数;n:指令条数

  • 吞吐率 TP = n / T(每秒完成指令数)

  • 加速比 S = 顺序执行时间 / 流水线执行时间

  • 效率 E = 流水线各段实际使用时间 / 各段总时间

3. 典型例题

  • 例:一条 4 段流水线,各段耗时分别为 3ns、2ns、4ns、2ns,执行 100 条指令

    • Δt = 4ns

    • T = (4 + 100 - 1) × 4 = 103 × 4 = 412ns

    • 顺序执行时间 = 100 × (3+2+4+2) = 100 × 11 = 1100ns

    • 加速比 S = 1100 / 412 ≈ 2.67

4. 流水线分类

  • 指令流水线:指令级并行

  • 算术流水线:浮点运算分段

  • 静态流水线 vs 动态流水线

  • 超标量(Superscalar):每个周期发射多条指令(多套部件)

  • 超流水线(Superpipeline):将每段再细分,提高时钟频率

  • 超标量超流水线:两者结合

5. 流水线冒险(冲突,重要)

  • 数据冒险(数据相关):后续指令要用前面指令尚未写回的结果

    • 解决:数据转发(旁路)、插入气泡/停顿(NOP)

  • 控制冒险(控制相关):转移指令使流水线预取失效

    • 解决:分支预测、延迟转移

  • 结构冒险(资源冲突):多条指令同时争用同一部件(如同时访存)

    • 解决:增加资源(如指令 Cache 与数据 Cache 分离)

  • 【例题】 某流水线中,第二条指令的源操作数是第一条指令的目标操作数,属于( )冒险。 → 数据冒险(数据相关)


第 4.6 部分 并行处理(了解)

  • SISD:单指令流单数据流(传统单核)

  • SIMD:单指令流多数据流(向量机、GPU 类)

  • MISD:多指令流单数据流(很少见)

  • MIMD:多指令流多数据流(多核、多处理器)

  • 多核技术:一个芯片集成多个处理器核,共享 Cache/内存

  • 阵列处理机、对称多处理 SMP、大规模并行处理 MPP


第 9 部分 典型计算题精选(真题风格)

  1. 码制:8 位补码 1000 0000 表示的真值是? → 它是补码最小值,真值 = -128

  2. 浮点:尾数 0.1011,阶码为 +3,基数为 2,表示的数是? → N = 0.1011 × 2^3 = 101.1(二进制)= 5.5(十进制)

  3. 海明码:信息位 8 位,需多少校验位? → 2^r ≥ 8 + r + 1 → r=4(16 ≥ 13)→ 4 位

  4. CRC:信息码 101101,生成多项式 G(x) = x^3 + x + 1(即 1011),求校验码 → 左移 3 位 = 101101000,模 2 除 1011 得余数 011,发送码 = 101101011

  5. Cache:tc=5ns、tm=80ns、H=0.9,平均访问时间? → t = 0.9×5 + 0.1×80 = 4.5 + 8 = 12.5ns

  6. 主存编址:地址范围 C0000H ~ DFFFFH,按字节编址,容量? → DFFFF - C0000 + 1 = 20000H = 131072 = 128KB

  7. 芯片扩展:用 8K×8 芯片组成 32K×16 存储器,需几片? → (32K/8K)×(16/8) = 4×2 = 8 片

  8. 磁盘:转速 7200rpm,平均寻道 6ms,传输 0.5ms,平均存取时间? → 每圈 60/7200 = 8.33ms,平均旋转延迟 ≈ 4.17ms → 存取时间 ≈ 6 + 4.17 + 0.5 = 10.67ms

  9. 流水线:5 段流水线各段 2ns,执行 200 条指令的时间? → T = (5 + 200 - 1) × 2 = 204 × 2 = 408ns

  10. 可靠性:两个子系统可靠性 0.9、0.8 并联,系统可靠性? → R = 1 - (1-0.9)(1-0.8) = 1 - 0.1×0.2 = 0.98

  11. 可用性:MTBF=995h、MTTR=5h,可用性? → A = 995/1000 = 99.5%

  12. 总线带宽:64 位数据总线、频率 133MHz,带宽? → 133M × 64/8 = 133M × 8 = 1064MB/s


第 9.5 部分 真题精练(含答案与解析)

以下为软考历年高频考查题型,建议先独立作答再核对答案。

  1. 【寄存器】 CPU 中用来存放下一条指令地址的寄存器是( )。 A. 指令寄存器 IR B. 程序计数器 PC C. 累加器 AC D. 地址寄存器 MAR → B。PC 自动指向下一条指令地址;IR 存当前指令,AC 存操作数/结果。

  2. 【补码】 字长 8 位时,补码 1000 0000 表示的十进制数是( )。 → -128。补码最小负数 = -2^(n-1),8 位即 -128。

  3. 【寻址】 指令中地址码直接给出操作数本身,属于( )寻址。 → 立即寻址。操作数直接放指令中,速度最快。

  4. 【Cache】 Cache 命中率 0.95,Cache 存取 5ns,主存存取 100ns,平均存取时间为( )。 → t = 0.95×5 + 0.05×100 = 4.75 + 5 = 9.75ns。

  5. 【海明码】 信息位 8 位,要纠正 1 位错至少需( )个校验位。 → 2^r ≥ 8+r+1 → r = 4(16 ≥ 13)→ 4 位。

  6. 【CRC】 CRC 校验采用的运算为( )。 → 模 2 除法(异或);生成多项式最高次数决定校验位位数。

  7. 【流水线】 一条 4 段流水线各段耗时 1、2、3、1ns,连续执行 10 条指令需( )ns。 → Δt = 3ns,T = (4+10-1)×3 = 39 → 39ns。

  8. 【磁盘】 转速 7200rpm 的磁盘,平均旋转延迟约为( )。 → 每圈 60/7200 ≈ 8.33ms,半圈 ≈ 4.17ms。

  9. 【芯片扩展】 用 4K×4 位芯片构成 16K×8 位存储器,需( )片。 → (16K/4K)×(8/4) = 4×2 = 8 片。

  10. 【可靠性】 两个可靠度均为 0.9 的部件并联,系统可靠度为( )。 → R = 1−(1−0.9)² = 1−0.01 = 0.99。

  11. 【可用性】 系统 MTBF=2000h、MTTR=5h,可用性约为( )。 → A = 2000/2005 ≈ 99.75%。

  12. 【总线】 32 位数据总线、频率 66MHz,总线带宽为( )。 → 66M × 32/8 = 66M×4 = 264MB/s。

  13. 【CISC/RISC】 下列关于 RISC 的说法错误的是( )。 A. 指令长度固定 B. 拥有大量通用寄存器 C. 只有 Load/Store 访存 D. 采用微程序控制 → D。RISC 采用硬布线控制;微程序控制是 CISC 的特点。

  14. 【I/O】 下列 I/O 方式中 CPU 参与程度最低、效率最高的是( )。 → 通道方式(通道 > DMA > 中断 > 查询)。

  15. 【加密】 发送方用接收方公钥加密对称密钥,再用对称密钥加密数据,该技术称为( )。 → 数字信封。

  16. 【汉字编码】 某汉字机内码为 B4F3H,则其国标码为( )。 → 机内码 − 8080H = B4F3H − 8080H = 3473H。

  17. 【中断】 中断响应时,CPU 首先要做的是( )。 → 关中断、保护现场(保存断点/程序状态),再转中断服务程序。

  18. 【移码】 8 位移码 1000 0000 表示的真值是( )。 → 移码 = 真值 + 偏移量 128,真值 = 128 − 128 = 0。


第 10 部分 复习策略建议

  1. 计算题是拿分关键:码制、海明码/CRC、Cache、编址、流水线、可靠性六大计算题型必须练熟

  2. 对比表重点背:CISC/RISC、三种映射、I/O 四种方式、对称/非对称加密、RAID 级别

  3. 易混淆点:

    • 原码/反码有 ±0,补码 0 唯一

    • 直接映射 vs 直接寻址(一个是 Cache、一个是主存寻址)

    • 位扩展 vs 字扩展(一个加数据线、一个加地址线)

    • 写直达 vs 写回

  4. 真题导向:近 5 年真题中,本章重点考查:补码、海明码、Cache、主存编址、流水线、可靠性、加密算法分类

  5. 结合《软件设计师教程》第 1 章逐节对照复习,配合历年真题刷题效果最佳


本笔记依据软考《软件设计师教程》(第 5 版)第 1 章知识体系整理,仅供备考复习使用。

0

评论区

书架