解题方法
1. RISC vs CISC 比较题
方法步骤:
- 列出比较维度:指令集大小、寻址模式数量、CPI、流水线使用、编译器复杂度、代码密度
- RISC 特征:精简指令集、load/store 架构、固定指令长度、单周期执行、大量通用寄存器
- CISC 特征:复杂指令集、多种寻址模式、可变指令长度、多周期执行、微程序控制
比较框架:
| 维度 | RISC | CISC |
|---|---|---|
| 指令数量 | 少 | 多 |
| 指令长度 | 固定 | 可变 |
| CPI | 通常 1 | 通常 > 1 |
| 寻址模式 | 少 | 多 |
| 流水线 | 高效 | 较难实现 |
| 编译器 | 较复杂 | 较简单 |
| 代码密度 | 低 | 高 |
2. 流水线分析题
方法步骤:
- 确认流水线阶段:IF → ID → OF → IE → WB
- 画出 timing diagram,横轴为时钟周期,纵轴为指令
- 分析 hazard 情况:
- Structural hazard:硬件资源冲突
- Data hazard:数据依赖性
- Control hazard:分支跳转
- 计算吞吐量提升
3. Flynn's 分类题
方法步骤:
- SISD:单指令流单数据流(传统单核 CPU)
- SIMD:单指令流多数据流(GPU, vector processors)
- MISD:多指令流单数据流(容错系统)
- MIMD:多指令流多数据流(多核处理器,集群)
4. 虚拟机题
方法步骤:
- 明确虚拟机定义:软件模拟的计算机环境
- Hypervisor / VMM 的作用:管理和分配物理资源给多个 guest OS
- 区分 host OS(物理机 OS)和 guest OS(虚拟机内 OS)
- 列出优点:隔离性、资源利用率高、测试方便、迁移容易
- 列出缺点:性能开销、资源竞争