跳转至

Berkeley CS61C: Great Ideas in Computer Architecture

课程简介

  • 来源:UC Berkeley
  • 先修要求:CS61A(Python 编程)、CS61B(数据结构)同等水平
  • 编程语言:C、RISC-V 汇编
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:80 小时 +

Berkeley CS61C 是 Berkeley 的计算机体系结构课程,也是全球最好的体系结构入门课之一。课程从高级语言(C)出发,逐步深入到机器层面(RISC-V 汇编、数字逻辑、CPU 设计)。

CS61C 最大的特点是实验设计极其出色。课程有 6 个实验,从 C 语言指针操作到 RISC-V CPU 设计,循序渐进。最终你会用 Logisim 设计出一个能运行 RISC-V 指令集的 CPU。

课程资源

  • 课程网站:cs61c.org
  • 课程视频:YouTube
  • 课程笔记:cs61c.org/(课程网站提供完整笔记)
  • 配套教材:基于《计算机组成与设计:硬件/软件接口》(RISC-V 版)

实验列表

实验 内容 难度
Lab 1: C 和指针 C 语言基础、指针、内存操作 🌟🌟
Lab 2: RISC-V 汇编 汇编语言、函数调用 🌟🌟
Lab 3: 浮点数 IEEE 754、浮点运算 🌟🌟
Lab 4: CPU 设计 用 Logisim 设计 RISC-V CPU 🌟🌟🌟🌟
Lab 5: SIMD 优化 向量化计算优化 🌟🌟🌟
Lab 6: 缓存优化 缓存友好的代码优化 🌟🌟🌟

自学建议

先掌握 C 语言和指针。 CS61C 对 C 语言要求较高,特别是指针和内存管理。建议先完成 CS61A 或等效的 Python 课程,再学习 C 语言。

认真做 CPU 设计实验。 Lab 4 是课程的高潮——你用 Logisim 从零设计一个 RISC-V CPU。这个实验能让你真正理解 CPU 的工作原理。

画数据通路图。 CPU 的数据通路是课程的核心。画出每条指令在数据通路中的执行过程。

备注

CS61C 是体系结构入门的最佳课程之一。课程网站上的笔记和实验指南写得非常好,即使不注册课程也能自学。

课程使用的是 RISC-V 版本(而非 x86),RISC-V 更简洁,更容易理解。