add Berkeley CS61C

This commit is contained in:
qiucheng
2021-07-16 17:30:58 +08:00
parent 5637ddcb62
commit 456866ef0d

View File

@@ -0,0 +1,63 @@
课号: [UC Berkeley CS 61C](https://cs61c.org/su21/)
教授: [Dan Garcia](https://www2.eecs.berkeley.edu/Faculty/Homepages/garcia.html) & [Borivoje Nikolic](https://people.eecs.berkeley.edu/~bora/)
评论贡献者: [Chrunge](https://github.com/Chrunge)
- [X] Videos: [bilibili](https://www.bilibili.com/video/BV1jy4y1E7AY)
- [X] LabProj: [推荐最新年份](https://github.com/61c-teach)
- [X] AutoGrader: 不开放
- [X] Slides: [su21与fa20的slide相同但顺序略微不同](https://cs61c.org/su21/)
- [X] [Textbook]
- Computer Organization and Design RISC-V Edition, 1st ed. by David Patterson, and John Hennessy
- The C Programming Language, 2nd ed. by Brian Kernighan and Dennis Ritchie
- [The Datacenter as a Computer by Luiz André Barroso and Urs Hölzle, freely available here](https://inst.eecs.berkeley.edu/~cs61c/resources/WSCBarrosoHolzle.pdf)
## 课程信息
CS61C是一门计算机组成原理课程围绕着计算机架构中的8大思想进行介绍。课程从C语言开始入门接着学习RISC-V汇编语言和汇编机器码随后学习CPU架构和流水线原理缓存和虚拟内存最后介绍并行计算和可靠性。
Project I主要是熟悉C语言的使用明白指针的概念并能够进行C的调试。
Project II: 使用自己开发的Venus系统进行RISC-V汇编语言的编写帮助你熟悉汇编语言的使用和寄存器的运用明白不同寄存器的功能。
Project III: A部分设计一个CPU并实现RISC-V部分指令的运行并且在B部分实现流水线的设计加快CPU的运行速率
Project IV: 实现程序的并行计算,尽可能缩短程序的运行时间。
目前推荐的课程是20年秋季学期(fa20)的视频课程。
## 适合人群
课程有部分测试提供,但不能提交,有一定难度,适合有编程经验的人群。
## 课程评价
教授Dan Garcia真是一个有趣有激情的人上他的课是一种享受Nikolic教授讲授汇编语言的时候倒是很清楚后面就不太适合我了完成时间大概在150-200小时。
- 优点:
- Disc、Lab和Project中有很多额外信息课程的精髓在于此
- 缺点:
- Homework不对外开放
- Lab和Project的也不能提交完成后推荐在[这里](https://github.com/PKUFlyingPig/CS61C-summer20)核对答案
- 目前61C之前学期的资源在维护中......
## 需要注意的坑点
- C语言程序编写建议使用Windows的WSL
- GDB的调试需要自学
## 非官方资料推荐
暂无
## 后续课程推荐
- [Berkeley CS162](https://cs162.org)
- [CMU 15213](https://github.com/conanhujinming/comments-for-awesome-courses/tree/main/CMU15213%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9F%E5%AF%BC%E8%AE%BA)
- [MIT 6.S081](https://conanhujinming.github.io/comments-for-awesome-courses/MIT6.S081%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%AF%BC%E8%AE%BA.html)