# 第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. 平均访存时间 = 命中时间 + 不命中率 × 不命中开销 ```