mirror of
https://github.com/PKUFlyingPig/cs-self-learning.git
synced 2026-06-25 02:46:57 +08:00
* Update Vim.en.md, added the missing translations * [TRANSLATION] translate CS229.md * add space * Update CS229.en.md * 加句号 * 加句号 * 加句号 * 加句号 * 加句号 * 加句号 * 加句号 * 加句号 * 加句号 * 加句号 * 加句号 * 加句号 * 加句号
26 lines
1.8 KiB
Markdown
26 lines
1.8 KiB
Markdown
# 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](https://github.com/PKUFlyingPig/cs-self-learning/blob/master/docs/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T.md), 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](https://www.youtube.com/playlist?list=PLDoI-XvXO0aqgoMQvogzmf7CKiSMSUS3M)
|
|
- 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](https://github.com/PKUFlyingPig/CS61C-summer20).
|