跳到主要内容

知识点总结

RISC vs CISC

  • RISC (Reduced Instruction Set Computer): 指令少且简单,每条指令长度固定,通常一个时钟周期完成
  • CISC (Complex Instruction Set Computer): 指令多且复杂,长度可变,一条指令可能需要多个时钟周期
  • RISC 使用 Load/Store 架构,只有 load/store 指令访问内存;CISC 允许内存-内存操作
  • RISC 有大量通用寄存器,CISC 寄存器较少
  • RISC 编译器更复杂(需将复杂操作拆解),CISC 汇编编程更容易
RISC 特点

指令数量少、格式固定、单周期执行、寄存器丰富、硬连线控制

CISC 特点

指令丰富、变长指令、多周期执行、微程序控制(Microprogrammed Control)

中断处理(Interrupt Handling)

  • RISC: 硬件自动处理较少,需要软件保存/恢复寄存器,中断响应快
  • CISC: 微程序处理中断,自动保存更多上下文,但响应较慢

Pipelining(流水线技术)

经典五级流水线

阶段全称操作
IFInstruction Fetch从内存取指令
IDInstruction Decode译码并读取寄存器
OFOperand Fetch获取操作数
IEInstruction Execute执行运算或计算地址
WBWrite Back将结果写回寄存器
  • Benefits: 提高吞吐量(throughput),同一时间多条指令在不同阶段并行
  • 流水线不影响单个指令延迟,但整体效率大幅提升

流水线冒险(Hazards)

  • Data Hazards(数据冒险): 下一条指令依赖上一条结果
    • 解决:Forwarding(旁路转发)、插入 NOP(空操作)、编译器重排指令
  • Control Hazards(控制冒险): 分支指令导致流水线清空
    • 解决:Branch Prediction(分支预测)、延迟槽(Delay Slot)

Flynn's Taxonomy(弗林分类法)

分类含义实例
SISDSingle Instruction, Single Data传统单核 CPU
SIMDSingle Instruction, Multiple DataGPU 向量处理
MISDMultiple Instruction, Single Data容错系统(少见)
MIMDMultiple Instruction, Multiple Data多核处理器、集群

Massively Parallel Computers(大规模并行计算机)

  • 包含大量处理器(数百/数千个),协同完成计算任务
  • MPP (Massively Parallel Processing): 分布式内存架构,每个节点有独立内存
  • 用于科学计算、气象模拟、AI 训练等需要高计算能力的场景
  • 编程模型常用 MPI (Message Passing Interface)

Virtual Machines(虚拟机)

概念

  • Host OS: 运行在物理硬件上的操作系统
  • Guest OS: 运行在虚拟机内部的的操作系统
  • Hypervisor/VMM (Virtual Machine Monitor): 负责管理和隔离多个虚拟机

Benefits(优势)

  • Isolation: 不同 VM 相互隔离,一个崩溃不影响其他
  • Flexibility: 可在同一硬件上运行不同 OS(如 Windows + Linux)
  • 便于测试、开发、部署;支持快照(snapshot)和迁移(migration)

Limitations(限制)

  • Overhead: 性能开销,VM 访问硬件需通过 Hypervisor 转换
  • 资源竞争:多个 VM 共享 CPU、内存、I/O
  • Type 2 Hypervisor(如 VirtualBox)开销更大;Type 1(如 VMware ESXi)性能更接近裸机