全部课程/CS152

CS152:计算机体系结构与工程

从 ISA、微编码与流水线出发,逐步建立对缓存、虚拟内存、乱序执行、向量架构、缓存一致性与多核系统的整体认识。

一条指令从 ISA 进入硬件后,怎样穿过流水线、缓存与一致性协议仍得到正确结果?

加州大学伯克利分校Sophia Shao2023 年春季26 讲官方课程 ↗

从这里开始

Early Machines:计算机体系结构是什么

已完成 0 / 26 讲 · 记录保存在当前浏览器
开始学习

学习进度

0 / 26讲义已完成

已完成 0 / 11 份实践
由你确认,不自动标记

课程地图

  1. 1机器与流水线第 1–5 讲

    一条指令如何在机器里前进?

  2. 2存储与地址第 6–10 讲

    层次结构怎样隐藏延迟?

  3. 3指令级并行第 11–16 讲

    怎样在乱序中保持顺序语义?

  4. 4数据级并行第 17–20 讲

    向量与 GPU 怎样提高吞吐?

  5. 5多核与互连第 21–26 讲

    多个核心怎样共享一个世界?

三种学习方式

学习

读讲义,理解原理与机制。
从 fetch 到 commit 标出每个阶段拥有的状态与资源。

查看讲义

思考

做推演与自测,检验理解。
用 hazard、局部性、带宽和延迟解释流水线为何停顿。

进入推演

实践

用工作簿与实验验证方法。
用精确异常、内存顺序与 coherence invariant 审计优化。

查看实践

课程讲义

机器与流水线

一条指令如何在机器里前进?

  1. 01Early Machines:计算机体系结构是什么讲义
  2. 02简单机器实现与微编码讲义
  3. 03Microcoding:从技术条件到 CISC→RISC 的转折讲义
  4. 04Pipelining I:Iron Law 与经典 5 级流水线讲义
  5. 05Pipelining II:真实流水线与 CDC 6600 的历史伏笔讲义

存储与地址

层次结构怎样隐藏延迟?

  1. 06Memory:为什么需要缓存讲义
  2. 07Memory II:AMAT、三种缺失与多级缓存讲义
  3. 08嘉宾讲座:预取讲义
  4. 09Address Translation:从裸机到分页系统讲义
  5. 10Virtual Memory:TLB 与缓存的相互作用讲义

指令级并行

怎样在乱序中保持顺序语义?

  1. 11Complex Pipelines:从 Scoreboard 到寄存器重命名讲义
  2. 12Out-of-order Execution I:两种真实重命名设计讲义
  3. 13Out-of-order Execution II:多发射重命名与访存乱序讲义
  4. 14VLIW:让编译器代替硬件调度讲义
  5. 15嘉宾讲座:分支预测讲义
  6. 16Multithreading:从"垂直浪费"到 SMT讲义

数据级并行

向量与 GPU 怎样提高吞吐?

  1. 17Vectors:另一种挖掘并行度的方式讲义
  2. 18GPUs:把向量机重新包装成"多线程 SIMD"讲义
  3. 19RISC-V Vectors:把第 17 课的理论变成真实 ISA讲义
  4. 20图灵奖讲座讲义

多核与互连

多个核心怎样共享一个世界?

  1. 21Cache Coherence:多核如何看到一致的内存讲义
  2. 22Memory Consistency:跨地址的读写顺序讲义
  3. 23Synchronization:从 Dekker 算法到无锁编程讲义
  4. 24Hyperscale Architecture:整个数据中心就是"计算机"讲义
  5. 25Interconnects:连接一切的拓扑与路由讲义
  6. 26Finale:把整个学期串成一条线讲义

思考 · 推演与自测

推演与概念检查已编排在各讲中。

从第一讲的练习开始 →

实践 · 工作簿与实验

把理解落到可检查的推导、测试与实现证据。

  1. 01HW1: ISA, Microcoding, and Pipelining工作簿
  2. 02Lab 1: Sodor Single-Cycle and Microcoded Cores工作簿
  3. 03HW2: Memory Hierarchy工作簿
  4. 04Lab 2: Rocket Cache Hierarchy工作簿
  5. 05HW3: Complex Pipelines and Out-of-Order Execution工作簿
  6. 06Lab 3: BOOM Out-of-Order Core工作簿
  7. 07HW4: Vectors and Multithreading工作簿
  8. 08Lab 4: RISC-V Vector Extension工作簿
  9. 09HW5: Cache Coherence and Memory Consistency工作簿
  10. 10Lab 5: Multicore Coherence工作簿
  11. 11Special Topics and Course Wrap-Up工作簿