系统能力实战 (System Mastery)
这里记录了计算机系统领域的硬核课程学习笔记,旨在打破软件与硬件的壁垒,深入理解计算机系统的运作机制。
课程导航
1. CS:APP - 深入理解计算机系统
CMU 15-213 / CSAPP
被誉为"计算机系统的圣经"。从程序员的视角看计算机系统,将理论与实践完美结合。
为什么值得学习?
- 视角独特:不同于传统教材的自底向上,CS:APP 从程序员实际遇到的问题出发,解释底层机制如何影响程序性能和正确性
- Lab 设计精妙:每个 Lab 都直击核心概念 — Data Lab 用位运算实现浮点操作,Bomb Lab 逆向工程理解汇编,Attack Lab 体验缓冲区溢出攻击,Malloc Lab 手写内存分配器
- 工程实用性强:学完后能真正理解内存泄漏、缓存优化、并发竞态等实际问题的本质,写出更高效、更安全的代码
- 深度与广度并存:既有位级表示的细节,也有虚拟内存、链接的宏观架构,形成完整的系统观
2. Computer Architecture - 计算机体系结构
UCB CS61C
伯克利神课,从逻辑门到并行计算的完整旅程,RISC-V 指令集的最佳入门。
为什么值得学习?
- 动手能力培养:不只是讲原理,而是真正用 Logisim 搭建 CPU,用 C 写 RISC-V 模拟器,体验"造轮子"的快感
- RISC-V 时代红利:相比 x86 的复杂历史包袱,RISC-V 简洁优雅,更适合初学者理解指令集设计的本质
- 硬件思维训练:从寄存器、ALU、控制器一步步搭建出流水线 CPU,理解硬件如何高效执行指令,为理解现代处理器(乱序执行、分支预测)打下基础
- 并行计算前瞻:深入探讨 Cache 一致性、多核并行、SIMD 等现代计算架构核心问题,紧跟业界趋势
- 与 CS:APP 互补:CS61C 偏硬件视角(Datapath、Control),CS:APP 偏软件视角(ISA 如何被编译器和 OS 使用),两者结合能打通软硬件的认知壁垒