237 lines
6.7 KiB
Markdown
237 lines
6.7 KiB
Markdown
# 第1章 计算机系统结构概述 - 考试考点精细化梳理
|
||
|
||
---
|
||
|
||
## 考点分级
|
||
|
||
### 【必考核心考点】
|
||
|
||
#### 1. Amdahl定律(计算题必考)
|
||
|
||
**核心考法**:计算题(★★★★★)
|
||
|
||
**出题角度**:
|
||
- 已知可改进比例和部件加速比,求系统加速比
|
||
- 已知系统加速比和部件加速比,反求可改进比例(逆运算)
|
||
- 结合实际应用场景的题目(如"将某功能速度提高X倍,该功能占总时间Y%")
|
||
|
||
**标准公式**:
|
||
```
|
||
系统加速比 = 1 / [(1-可改进比例) + 可改进比例/部件加速比]
|
||
|
||
其中:
|
||
- 可改进比例:改进部分执行时间占总执行时间的比例(0≤ ≤1)
|
||
- 部件加速比:改进前执行时间/改进后执行时间(通常>1)
|
||
```
|
||
|
||
**解题步骤**:
|
||
1. 识别"可改进比例"和"部件加速比"
|
||
2. 代入公式计算
|
||
3. 注意:结果通常保留2-3位小数
|
||
|
||
**常见陷阱**:
|
||
- 将"部件加速比"误认为是"速度提高倍数"(实质相同,但需注意问法)
|
||
- 计算时忘记将百分比转换为小数
|
||
- 混淆"系统加速比"和"部件加速比"
|
||
|
||
**易错易混点**:
|
||
- 当部件加速比→∞时,系统加速比→ 1/(1-可改进比例)
|
||
- 可改进比例很小即使加速比很大,系统加速比也有限
|
||
|
||
**答题模板**:
|
||
```
|
||
解:根据Amdahl定律
|
||
系统加速比 = 1 / [(1-可改进比例) + 可改进比例/部件加速比]
|
||
|
||
已知:可改进比例 = ___, 部件加速比 = ___
|
||
|
||
代入公式:
|
||
总加速比 = 1 / [(1-__) + __/__] = 1 / [__ + __] = ___
|
||
|
||
答:系统性能提高到原来的___倍。
|
||
```
|
||
|
||
**踩分细则**:
|
||
- 写出公式:1分
|
||
- 正确代入参数:2分
|
||
- 计算过程正确:2分
|
||
- 最终答案正确:1分
|
||
|
||
---
|
||
|
||
#### 2. CPU性能公式(计算题高频)
|
||
|
||
**核心考法**:计算题、分析题(★★★★☆)
|
||
|
||
**标准公式**:
|
||
```
|
||
CPU时间 = IC × CPI × 时钟周期时间
|
||
|
||
其中:
|
||
- IC:执行的指令条数
|
||
- CPI:每条指令执行的平均时钟周期数
|
||
- 时钟周期时间:系统时钟频率的倒数
|
||
|
||
CPI = Σ(CPIi × ICi) / IC = Σ(CPIi × (ICi/IC))
|
||
```
|
||
|
||
**扩展公式(考虑存储器停顿时)**:
|
||
```
|
||
CPU时间 = IC × (CPIexecution + 每条指令平均访存次数 × 不命中率 × 不命中开销) × 时钟周期时间
|
||
```
|
||
|
||
**考题类型一:CPI计算**
|
||
- 已知各指令比例和各自CPI,求平均CPI
|
||
- 陷阱:忽略指令条数权重,直接平均
|
||
|
||
**考题类型二:CPU时间比较**
|
||
- 比较不同设计方案的总CPU时间
|
||
- 通常结合IC、CPI、时钟周期三个因素综合考量
|
||
|
||
**易错易混点**:
|
||
- 时钟周期时间 与 时钟频率 互为倒数
|
||
- CPI是平均值,不能简单相加
|
||
|
||
**答题模板**:
|
||
```
|
||
解:CPU时间 = IC × CPI × 时钟周期时间
|
||
|
||
(1) 计算CPI:
|
||
CPI = Σ(每种指令比例 × 该指令周期数)
|
||
= ___×___ + ___×___ + ...
|
||
= ___
|
||
|
||
(2) 计算CPU时间:
|
||
总CPU时间 = IC × CPI × 时钟周期时间
|
||
= ___ × ___ × ___
|
||
= ___
|
||
|
||
(3) 比较分析...
|
||
```
|
||
|
||
**踩分细则**:
|
||
- 正确写出CPU时间公式:1分
|
||
- CPI计算正确:2分
|
||
- 代入数值无误:2分
|
||
- 结果分析正确:1分
|
||
|
||
---
|
||
|
||
### 【高频考点】
|
||
|
||
#### 3. Flynn分类法
|
||
|
||
**核心考法**:选择题、填空题、简答题(★★★☆☆)
|
||
|
||
**四种分类**:
|
||
|
||
| 分类 | 全称 | 含义 | 代表 |
|
||
|------|------|------|------|
|
||
| SISD | Single Instruction Single Data | 单指令流单数据流 | 传统单处理器 |
|
||
| SIMD | Single Instruction Multiple Data | 单指令流多数据流 | GPU、向量机 |
|
||
| MISD | Multiple Instruction Single Data | 多指令流单数据流 | 理论概念,实际无 |
|
||
| MIMD | Multiple Instruction Multiple Data | 多指令流多数据流 | 多处理器系统 |
|
||
|
||
**考试重点**:
|
||
- 能根据架构描述判断属于哪种Flynn分类
|
||
- 理解SIMD和MIMD的区别
|
||
- 了解GPU采用SIMD而非MIMD的原因
|
||
|
||
**常见陷阱**:
|
||
- 误以为多核处理器是SIMD(实际是MIMD)
|
||
- 混淆SIMD和SPMD(SPMD是编程模型,SIMD是硬件架构)
|
||
|
||
**答题话术**:
|
||
```
|
||
Flynn分类法根据指令流和数据流的数量将计算机分为四类:
|
||
1. SISD:传统的单处理器计算机,一次执行一条指令、处理一个数据
|
||
2. SIMD:单个指令流同时处理多个数据,如GPU和向量处理器
|
||
3. MISD:理论上存在,实际中几乎没有
|
||
4. MIMD:多个处理器独立执行不同指令流,如多核计算机
|
||
```
|
||
|
||
**得分要点**:说出四种分类及其基本含义即可得分。
|
||
|
||
---
|
||
|
||
#### 4. 局部性原理
|
||
|
||
**核心考法**:选择题、填空题(★★★☆☆)
|
||
|
||
**两种类型**:
|
||
- 时间局部性:最近访问的指令/数据很可能再次被访问
|
||
- 空间局部性:相邻地址的数据很可能被一起访问
|
||
|
||
**考试重点**:
|
||
- 解释Cache之所以有效的原因
|
||
- 判断程序的时间局部性和空间局部性
|
||
|
||
**答题话术**:
|
||
```
|
||
程序的局部性原理包括时间局部性和空间局部性:
|
||
- 时间局部性:程序在短期内会重复访问相同的代码和数据
|
||
- 空间局部性:程序倾向于访问相邻的内存位置
|
||
|
||
这两种局部性是Cache有效工作的理论基础,使得Cache能够保存最近
|
||
使用的数据,减少对主存的访问次数。
|
||
```
|
||
|
||
---
|
||
|
||
### 【了解考点】
|
||
|
||
#### 5. 指令条数IC的理解
|
||
|
||
**考法**:选择题、填空题
|
||
|
||
**要点**:
|
||
- IC指程序执行的总指令条数
|
||
- 不同指令系统IC不同
|
||
- RISC指令较简单,CISC指令较复杂
|
||
|
||
---
|
||
|
||
## 常见易错易混点总结
|
||
|
||
| 易错点 | 正确理解 |
|
||
|--------|----------|
|
||
| Amdahl定律中的"可改进比例" | 是时间比例,不是工作负载比例 |
|
||
| CPI是平均值 | 不能直接用单个CPI代表整体 |
|
||
| Flynn分类中的SIMD vs SPMD | SIMD是硬件架构,SPMD是编程模型 |
|
||
| 时钟周期与时钟频率 | 互为倒数,注意单位换算 |
|
||
|
||
---
|
||
|
||
## 典型计算题解题示范
|
||
|
||
**例题**(类似三位老师PPT中的题目):
|
||
> 将计算机系统中某一功能的处理速度提高到原来的20倍,但该功能的处理时间仅占整个系统运行时间的40%,则采用此提高性能的方法后,能使整个系统的性能提高多少?
|
||
|
||
**标准解题**:
|
||
```
|
||
解:根据Amdahl定律
|
||
系统加速比 = 1 / [(1-可改进比例) + 可改进比例/部件加速比]
|
||
|
||
已知:
|
||
- 可改进比例 = 40% = 0.4
|
||
- 部件加速比 = 20
|
||
|
||
代入公式:
|
||
总加速比 = 1 / [(1-0.4) + 0.4/20]
|
||
= 1 / [0.6 + 0.02]
|
||
= 1 / 0.62
|
||
= 1.613
|
||
|
||
答:能使整个系统的性能提高到原来的1.613倍。
|
||
```
|
||
|
||
---
|
||
|
||
## 本章核心公式速记
|
||
|
||
```
|
||
1. Amdahl定律:加速比 = 1 / [(1-可改进比例) + 可改进比例/部件加速比]
|
||
2. CPU性能公式:CPU时间 = IC × CPI × 时钟周期时间
|
||
3. CPI = Σ(指令比例 × 指令周期数)
|
||
4. 平均访存时间 = 命中时间 + 不命中率 × 不命中开销
|
||
``` |