CS61C: Great Ideas in Computer Architecture
Descriptions
- Offered by: UC Berkeley
- Prerequisites: CS61A, CS61B
- Programming Languages: C
- Difficulty: 🌟🌟🌟🌟
- Class Hour: 100 hours
This is the last course in Berkeley's CS61 series, which dives into the internal of computer architecture and will make you understand how the C language is translated into RISC-V assembly language and executed on the CPU. Unlike Nand2Tetris, this course is much more difficult and more in-depth, covering pipelining, cache, virtual memory, and concurrency-related content.
The projects are very innovative and interesting. Project1 is a warmup assignment in C. In 2020Fall, you will implement the famous Game of Life. Project2 requires you to write a fully-connected neural network in RISC-V assembly to classify handwritten digits in MNIST dataset, which is a great exercise to write assembly code. In Project3, you will use Logisim, a digital circuit simulation software, to build a two-stage pipeline CPU from scratch and run RISC-V assembly code on it. In Project4 you will implement a toy version of Numpy, using OpenMP, SIMD, and other techniques to speed up matrix operations.
In a word, this is the best computer architecture course I have ever taken.
Course Resources
- Course Website: https://cs61c.org/su20/
- Recordings: Youtube
- Textbook: None
- Assignments: 11 Labs, 4 Projects, the course website has specific requirements.
Personal Resources
All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS61C-summer20 - GitHub.
CS61C: Great Ideas in Computer Architecture
Descriptions
- Offered by: UC Berkeley
- Prerequisites: CS61A, CS61B
- Programming Languages: C
- Difficulty: 🌟🌟🌟🌟
- Class Hour: 100 hours
This is the last course in Berkeley's CS61 series, which dives into the internal of computer architecture and will make you understand how the C language is translated into RISC-V assembly language and executed on the CPU. Unlike Nand2Tetris, this course is much more difficult and more in-depth, covering pipelining, cache, virtual memory, and concurrency-related content.
The projects are very innovative and interesting. Project1 is a warmup assignment in C. In 2020Fall, you will implement the famous Game of Life. Project2 requires you to write a fully-connected neural network in RISC-V assembly to classify handwritten digits in MNIST dataset, which is a great exercise to write assembly code. In Project3, you will use Logisim, a digital circuit simulation software, to build a two-stage pipeline CPU from scratch and run RISC-V assembly code on it. In Project4 you will implement a toy version of Numpy, using OpenMP, SIMD, and other techniques to speed up matrix operations.
In a word, this is the best computer architecture course I have ever taken.
Course Resources
- Course Website
- Course Website (Backup): Fa24-WayBack Machine, Fa20-WayBack Machine, Fa20-Backup
- Recordings: Su20-Bilibili, Su20-Youtube, Fa20-Bilibili, Fa20-Youtube
- Assignments: Fa20-Backup
Personal Resources
All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS61C-summer20 - GitHub.
All the resources and assignments used by @InsideEmpire in this course are maintained in @InsideEmpire/CS61C-fall20 - GitHub.
All the resources and assignments used by @RisingUppercut in this course are maintained in @RisingUppercut/CS61C-fall24 - GitHub.
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。
总而言之,这是个人上过的最好的计算机体系结构的课程。
课程资源
- 课程网站:https://cs61c.org/su20/
- 课程视频:B 站, Youtube
- 课程教材:无
- 课程作业:11 个 Lab,4 个 Project,具体要求详见课程网站
资源汇总
@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 PKUFlyingPig/CS61C-summer20 - GitHub 中。
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 中。