计算机组成原理思维导图

1. 数字逻辑基础

1.1 布尔代数

  • 逻辑门(AND/OR/NOT/XOR)
  • 卡诺图化简
  • 组合逻辑电路设计

1.2 时序逻辑

  • 触发器(SR/D/JK)
  • 时钟同步机制
  • 有限状态机(FSM)

1.3 硬件实现

  • 加法器(全加器/超前进位)
  • 乘法器(阵列乘法器)
  • 多路选择器与译码器

2. 计算机体系结构

2.1 中央处理器(CPU)

  • 运算器(ALU)
    • 算术运算(补码/浮点运算)
    • 逻辑运算(移位/位操作)
  • 控制器
    • 指令周期(取指/译码/执行)
    • 控制信号生成(硬布线/微程序)
  • 寄存器组
    • 通用寄存器(AX/BX等)
    • 专用寄存器(PC/IR/SP)

2.2 指令系统

  • 指令格式(操作码/地址码)
  • 寻址方式(立即/直接/间接/基址)
  • CISC vs RISC架构对比

2.3 总线与中断

  • 总线类型(数据/地址/控制总线)
  • 总线仲裁机制(集中式/分布式)
  • 中断处理流程(请求/响应/恢复)

3. 存储系统

3.1 存储器层次

  • SRAM vs DRAM
  • Cache映射策略(直接/组相联/全相联)
  • 虚拟内存(页表/TLB/缺页处理)

3.2 存储技术

  • 磁盘结构(磁道/扇区/柱面)
  • RAID技术(0/1/5/10)
  • SSD原理(NAND Flash/FTL)

4. 输入输出系统

4.1 I/O接口

  • 并行接口(PATA)
  • 串行接口(SATA/USB)
  • 中断驱动I/O vs DMA传输

4.2 外设控制

  • 显示器(帧缓冲/VGA时序)
  • 键盘(扫描码/中断处理)
  • 打印机(喷墨/激光原理)

5. 高级主题

5.1 流水线技术

  • 流水线冒险(结构/数据/控制冒险)
  • 超标量与超长指令字(VLIW)

5.2 多核与并行

  • 多级缓存一致性(MESI协议)
  • 内存屏障与原子操作

5.3 现代架构

  • GPU架构(SIMT/流处理器)
  • RISC-V开放指令集

知识关联

  • → 操作系统:虚拟内存实现、中断处理机制
  • → 编译原理:指令选择与代码优化
  • → 计算机网络:硬件加速(如网卡DMA)

学习路径建议

  1. 基础阶段:数字逻辑 → 冯·诺依曼体系 → 单周期CPU设计
  2. 进阶阶段:流水线CPU → Cache设计 → 虚拟内存模拟
  3. 实践项目
    • 使用Logisim实现8位ALU
    • 用Verilog编写五级流水线CPU
    • 模拟Cache替换算法(LRU/FIFO)

核心公式与工具

  • 性能公式
    ( \text{CPU时间} = \text{指令数} \times \text{CPI} \times \text{时钟周期} )
  • 工具链
    • 仿真工具:Logisim/Verilator
    • 硬件描述语言:Verilog/VHDL
    • 调试工具:GDB(配合QEMU)

推荐资源

  • 书籍
    《计算机组成与设计:硬件/软件接口》(Patterson & Hennessy)
    《深入理解计算机系统》(CSAPP)第4-6章
  • 课程
    MIT 6.004(Computation Structures)
    Coursera “Build a Modern Computer from First Principles”

如果需要更细化的某个模块(如CPU流水线设计或Cache一致性协议),可以继续补充细节! 🎯