我来帮你梳理"计算机系统"章节中涉及计算题的核心考点,这些都是系统分析师考试中几乎必考的内容:
一、Cache 命中率与平均访问时间(高频考点)
核心公式
平均访问时间 = 命中时间 + (1 - 命中率) × 缺失惩罚(访问主存时间)
或简化为:
平均访问时间 = 命中率 × Cache访问时间 + (1 - 命中率) × 主存访问时间
典型考法
-
已知命中率、Cache访问时间、主存访问时间,求平均访问时间
-
已知平均访问时间和其中两个参数,反求第三个
-
多级Cache :L1未命中访问L2,L2未命中访问主存
平均访问时间 = L1命中时间 + (1-H1)×[L2命中时间 + (1-H2)×主存时间]
例题思路
Cache访问时间1ns,主存访问时间100ns,命中率95%,则:
平均访问时间 = 0.95×1 + 0.05×100 = 5.95ns
二、流水线性能计算(高频考点)
核心公式
| 指标 | 公式 |
|---|---|
| 流水线周期 | 取各阶段时间的最大值(最慢阶段) |
| 执行n条指令时间 | 建立时间 + (n-1)×流水线周期 = k×周期 + (n-1)×周期 |
| 吞吐率 | 指令数 / 总时间 |
| 加速比 | 非流水线时间 / 流水线时间 ≈ k(理想情况) |
| 效率 | 加速比 / 流水线级数 |
典型考法
- 计算n条指令在k级流水线中的执行时间
- 计算吞吐率、加速比、效率
- 流水线冒险导致的 stalls(停顿):插入气泡后的时间计算
例题思路
5级流水线,每级2ns,执行100条指令:
- 流水线周期 = 2ns
- 总时间 = (5 + 100 - 1) × 2ns = 208ns
- 吞吐率 = 100 / 208ns ≈ 0.48条/ns
- 非流水线时间 = 100 × 5 × 2 = 1000ns
- 加速比 = 1000 / 208 ≈ 4.81
三、Amdahl 定律(几乎必考)
核心公式
加速比 = 1 / [(1 - F) + F/S]
- F:系统中可改进(被加速)部分所占比例(0 < F ≤ 1)
- S:可改进部分改进后的加速比(S > 1)
- (1-F):不可改进部分的比例
扩展公式
改进后总执行时间 = 原总时间 × [(1-F) + F/S]
系统加速比 = 原总时间 / 改进后总时间
典型考法
-
已知某部件加速比和占比,求系统整体加速比
-
已知目标加速比,求某部件需要达到的加速比
-
多个部件同时改进 :
加速比 = 1 / [(1-ΣFi) + Σ(Fi/Si)]
例题思路
某系统某功能占60%,将其加速3倍:
加速比 = 1 / [(1-0.6) + 0.6/3] = 1 / [0.4 + 0.2] = 1/0.6 ≈ 1.67
四、CPU 性能公式(高频考点)
核心公式
CPU执行时间 = 指令数 × CPI × 时钟周期
= 指令数 × CPI / 主频
其中:
- CPI(Cycles Per Instruction):每条指令平均时钟周期数
- MIPS = 主频 / (CPI × 10⁶) = 指令数 / (执行时间 × 10⁶)
典型考法
- 比较两台计算机性能(不同主频、不同CPI)
- 编译优化后指令数减少但CPI增加,判断是否值得
- 计算MIPS、MFLOPS
例题思路
计算机A:主频2GHz,CPI=2;计算机B:主频1.5GHz,CPI=1
- A的MIPS = 2×10⁹ / (2×10⁶) = 1000
- B的MIPS = 1.5×10⁹ / (1×10⁶) = 1500 → B更快
五、磁盘存取时间计算
核心公式
磁盘存取时间 = 寻道时间 + 旋转延迟 + 传输时间
- 寻道时间:磁头移动到目标磁道的时间(通常给定)
- 旋转延迟:盘片旋转到目标扇区的时间 = 1/(2×转速)(平均情况)
- 传输时间:读写数据时间 = 数据量 / 传输率
典型考法
- 计算读取某文件的总时间
- RAID相关:RAID 0读写条带化后的性能计算
- 磁盘阵列总容量、有效容量计算
例题思路
磁盘转速7200rpm,平均寻道时间8ms,传输率100MB/s,读取4KB数据:
- 旋转延迟 = 1/(2 × 7200/60) = 1/240 s ≈ 4.17ms
- 传输时间 = 4KB / 100MB/s = 0.004/100 s = 0.04ms
- 总时间 = 8 + 4.17 + 0.04 ≈ 12.21ms
六、存储器编址与容量计算
核心公式
存储容量 = 字数 × 字长
地址线数量 = log₂(字数) (按字节编址时,字数=字节数)
- 地址范围计算:末地址 - 首地址 + 1
- 字扩展、位扩展:用若干芯片组成目标存储器
典型考法
-
给定地址范围,求存储容量
-
用若干芯片组成某容量存储器,需要多少片?
芯片数 = 总容量 / 单片容量 -
地址线、数据线数量计算
例题思路
用16K×4位的芯片组成64K×8位的存储器:
- 字扩展:64K/16K = 4组
- 位扩展:8/4 = 2片/组
- 总芯片数 = 4 × 2 = 8片
七、校验码计算(海明校验、CRC)
海明校验码
校验位数量 r 满足:2ʳ ≥ k + r + 1 (k为数据位)
- 校验位位置:1, 2, 4, 8, ...(2的幂次位置)
- 能纠正1位错,检测2位错
CRC循环冗余校验
- 生成多项式G(x)对应二进制
- 被除数 = 原数据后面补(r个0),r为G(x)最高次幂
- 模2除法(异或运算,不进位不借位)
- 余数即为CRC校验码
八、可靠性计算(近年新增重点)
串联系统
可靠度 R = R₁ × R₂ × ... × Rₙ
并联系统
可靠度 R = 1 - (1-R₁) × (1-R₂) × ... × (1-Rₙ)
混合系统
- 先化简并联部分,再按串联计算
典型考法
- 计算系统整体可靠度
- 比较不同架构的可靠性
- MTBF(平均故障间隔时间)相关计算
九、数据传输率计算
总线带宽
总线带宽 = 总线频率 × 总线宽度 / 8 (单位:B/s)
= 总线频率 × 总线宽度 (单位:b/s)
- 注意单位换算:1B = 8b
例题思路
总线频率100MHz,宽度32位:
带宽 = 100M × 32 / 8 = 400MB/s
十、进制转换与数值表示(基础但常考)
- 原码、反码、补码、移码转换
- 浮点数表示:阶码 + 尾数
- IEEE 754标准 :单精度(32位)、双精度(64位)
- 单精度:1位符号 + 8位阶码(偏移127)+ 23位尾数
计算题备考策略
| 优先级 | 考点 | 出现频率 |
|---|---|---|
| ⭐⭐⭐⭐⭐ | Amdahl定律 | 几乎每年 |
| ⭐⭐⭐⭐⭐ | Cache命中率/平均访问时间 | 几乎每年 |
| ⭐⭐⭐⭐⭐ | CPU性能公式(CPI、MIPS) | 高频 |
| ⭐⭐⭐⭐ | 流水线性能计算 | 高频 |
| ⭐⭐⭐⭐ | 磁盘存取时间 | 中高频 |
| ⭐⭐⭐ | 存储器编址与容量 | 中频 |
| ⭐⭐⭐ | 可靠性计算 | 近年增加 |
| ⭐⭐ | 海明校验/CRC | 偶尔 |
| ⭐⭐ | 总线带宽 | 偶尔 |
建议 :每个公式至少做3-5道真题,特别注意单位换算 和多条件组合的题目!