跳转至

# CS61C: Great Ideas in Computer Architecture

## 课程简介

- 所属大学：UC Berkeley
- 先修要求：CS61A, CS61B
- 编程语言：C
- 课程难度：🌟🌟🌟🌟
- 预计学时：100 小时

伯克利 CS61 系列的最后一门课程，深入计算机的硬件细节，带领学生逐步理解 C 语言是如何一步步转化为 RISC-V 汇编并在 CPU 上执行的。和 Nand2Tetris 不同，这门课 在难度和深度上都会提高很多，具体会涉及到流水线、Cache、虚存以及并发相关的内容。

这门课的 Project 也非常新颖有趣。Project1 会让你用 C 语言写一个小程序，20 年秋季学期是著名的游戏 Game of Life。Project2 会让你用 RISC-V 汇编编写一个神经网络，用来 识别 MNIST 手写数字，非常锻炼你对汇编代码的理解和运用。Project3 中你会用 Logisim 这个数字电路模拟软件搭建出一个二级流水线的 CPU，并在上面运行 RISC-V 汇编代码。Project4 会让你使用 OpenMP, SIMD 等方法并行优化矩阵运算，实现一个简易的 Numpy。

总而言之，这是个人上过的最好的计算机体系结构的课程。

## 课程资源

- 课程网站
- 课程网站 (页面备份): Fa24-WayBack Machine, Fa20-WayBack Machine, Fa20-备份
- 课程视频: Su20-Bilibili, Su20-Youtube, Fa20-Bilibili, Fa20-Youtube
- 课程作业: Fa20-备份

## 资源汇总

@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 PKUFlyingPig/CS61C-summer20 - GitHub 中。

@InsideEmpire 在学习这门课中用到的所有资源和作业实现都汇总在 @InsideEmpire/CS61C-fall20 - GitHub 中。

@RisingUppercut 在学习这门课中用到的所有资源和作业实现都汇总在 @RisingUppercut/CS61C-fall24 - GitHub 中。

2025-05-20