UCB CS61c: Greate Ideas in Computer Architecture¶
课程简介¶
- 先修要求:掌握任意一门编程语言,推荐 C 或 C++
- 主要内容:C 语言基础,RISC-V 汇编语言,流水线实现,缓存,虚拟内存,并发……
在这门课中,你将一步一步实现将 C 语言翻译为 RISC-V 汇编语言,并在 CPU 上执行。从 C 到 RISC-V 的翻译、RISC-V 的运行、流水线的实现到后面的缓存、虚拟内存、并发,你对于计算机底层的理解会逐步加深,即能够明白在程序运行时,底层究竟发生了什么。整体上看,这门课的学习曲线较为平缓,非常适合想要自学的同学。
这门课的 lab 和 proj 很有意思,Project2 会指引你实现 mlp 的若干组件(激活函数、矩阵乘法等),并最后组装成一个可以进行 MNIST 数字识别的神经网络(当然只能推理而不能训练,权重会预先给你);Project4 会让你优化矩阵运算(which 在 Project2 中有所涉及),并实现一个简易版的 numpy。对神经网络不熟悉的话,可以看看动手学深度学习的对应章节。