mirror of
https://github.com/PKUFlyingPig/cs-self-learning.git
synced 2026-06-24 18:36:57 +08:00
33 lines
2.6 KiB
Markdown
33 lines
2.6 KiB
Markdown
# CS61C: Great Ideas in Computer Architecture
|
||
|
||
## 课程简介
|
||
|
||
- 所属大学:UC Berkeley
|
||
- 先修要求:CS61A, CS61B
|
||
- 编程语言:C
|
||
- 课程难度:🌟🌟🌟🌟
|
||
- 预计学时:100 小时
|
||
|
||
伯克利 CS61 系列的最后一门课程,深入计算机的硬件细节,带领学生逐步理解 C 语言是如何一步步转化为 RISC-V 汇编并在 CPU 上执行的。和 [Nand2Tetris](./N2T.md) 不同,这门课
|
||
在难度和深度上都会提高很多,具体会涉及到流水线、Cache、虚存以及并发相关的内容。
|
||
|
||
这门课的 Project 也非常新颖有趣。Project1 会让你用 C 语言写一个小程序,20 年秋季学期是著名的游戏 *Game of Life*。Project2 会让你用 RISC-V 汇编编写一个神经网络,用来
|
||
识别 MNIST 手写数字,非常锻炼你对汇编代码的理解和运用。Project3 中你会用 Logisim 这个数字电路模拟软件搭建出一个二级流水线的 CPU,并在上面运行 RISC-V 汇编代码。Project4
|
||
会让你使用 OpenMP, SIMD 等方法并行优化矩阵运算,实现一个简易的 Numpy。
|
||
|
||
总而言之,这是个人上过的最好的计算机体系结构的课程。
|
||
|
||
## 课程资源
|
||
|
||
- [课程网站](https://cs61c.org/)
|
||
- 课程网站 (页面备份): [Fa24-WayBack Machine](https://web.archive.org/web/20241219154359/https://cs61c.org/fa24/), [Fa20-WayBack Machine](https://web.archive.org/web/20220120134001/https://inst.eecs.berkeley.edu/~cs61c/fa20/), [Fa20-备份](https://www.learncs.site/docs/curriculum-resource/cs61c/syllabus)
|
||
- 课程视频: [Su20-Bilibili](https://www.bilibili.com/video/BV1fC4y147iZ/?share_source=copy_web&vd_source=7c3823b46a52fbbef42b79e01d55c300), [Su20-Youtube](https://youtube.com/playlist?list=PLDoI-XvXO0aqgoMQvogzmf7CKiSMSUS3M&si=62aaH5a_PMGrAT2Y), [Fa20-Bilibili](https://www.bilibili.com/video/BV17b42177VG/?share_source=copy_web&vd_source=7c3823b46a52fbbef42b79e01d55c300), [Fa20-Youtube](https://youtube.com/playlist?list=PL0j-r-omG7i0-mnsxN5T4UcVS1Di0isqf&si=CG1EjQiPcw7r7Vs4)
|
||
- 课程作业: [Fa20-备份](https://github.com/InsideEmpire/CS61C-Assignment#)
|
||
|
||
## 资源汇总
|
||
|
||
@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 [PKUFlyingPig/CS61C-summer20 - GitHub](https://github.com/PKUFlyingPig/CS61C-summer20) 中。
|
||
|
||
@InsideEmpire 在学习这门课中用到的所有资源和作业实现都汇总在 [@InsideEmpire/CS61C-fall20 - GitHub](https://github.com/InsideEmpire/CS61C-PathwayToSuccess) 中。
|
||
|
||
@RisingUppercut 在学习这门课中用到的所有资源和作业实现都汇总在 [@RisingUppercut/CS61C-fall24 - GitHub](https://github.com/RisingUppercut/CS61C_2024_Fall) 中。
|