PKUFlyingPig / cs-self-learning

计算机自学指南
https://csdiy.wiki
MIT License
56.59k stars 6.8k forks source link

体系结构课程重来一遍,可加联系方式 #128

Open codefuturedalao opened 2 years ago

codefuturedalao commented 2 years ago

背景:大四本科生,准备继续进修,所以比较有时间学习,热爱操作系统和体系结构。 最近发现知识体系破绽百出,准备重新打一遍地基,主要是三个方向

  1. 体系结构
  2. 操作系统
  3. 分布式(未来)

体系结构roadmap为

  1. 南大ICS+PA(一生一芯前置,自己也很感兴趣)

  2. UC Berkeley的EE16A & B(可选,主要不知道难度如何)

  3. Onur Mutlu的design of circuits(一门电路课是必须的)

  4. Onur Mutlu的Digital Design and computer architecutre(会和3有重合,但还是很好的课,有口碑的) ---到这里已经可以参加龙芯杯or一生一芯的项目

  5. Onur Mutlu的computer architecture这门课面向研究生,属于进阶版本

  6. computer architecture配套量化研究方法 ---到这里体系结构领域该读的书都读了,已经有很不错的技术功底

  7. 紧跟一些前沿的研讨会如onum Mutlu的Seminar on Computer Architecture和读一些经典论文,进阶到分布式的领域

操作系统的roadmap还未完全设计好,时间段会与体系结构学习路线重合,放在今年的下半年,主要是考虑到后期linux面向多核结构会有锁的介入,如果没有体系结构作为前置知识,会很难理解。路线会囊括cs-self-learning的两个操作系统课以及linux的经典书籍,确保全面和深入。

分布式的学习时间会在体系结构和操作系统后期开始,我推崇先把单机学明白后再学分布式,而且确保和实践结合,目前没机会接触到分布式,所以优先级为最低的,但肯定是在计划中。

以上方案均可商讨,如果你也想学体系结构,并大致认可我的方案,可以加vx whuersql

PKUFlyingPig commented 2 years ago

提几个小建议: (1)EE16A&B主要是讲电路分析还有线性代数以及微积分的基础,和体系结构关系不大 (2)OS的前置知识并没有想象中那么多,上完南大ICS应该足够了。 (3)量化方法阅读的话建议配合Berkeley的CS152(B站有搬运视频)以及MIT6.823的Homework。这一块我也正在跟,估计之后会merge进主分支。 (4)分布式的学习推荐MIT6.824和DDIA这本书。

codefuturedalao commented 2 years ago

提几个小建议: (1)EE16A&B主要是讲电路分析还有线性代数以及微积分的基础,和体系结构关系不大 (2)OS的前置知识并没有想象中那么多,上完南大ICS应该足够了。 (3)量化方法阅读的话建议配合Berkeley的CS152(B站有搬运视频)以及MIT6.823的Homework。这一块我也正在跟,估计之后会merge进主分支。 (4)分布式的学习推荐MIT6.824和DDIA这本书。

感谢您的建议

  1. EE16A&B就是我一直纠结的一个点,我再看看会不会放到学习路线中,所以是可选
  2. OS的前置知识确实没很多,如果上国内外的精品课程已经足够,只是在阅读Linux的书籍时才会遇到需要体系结构基础的情况,所以后面指定os roadmap时会自己考虑
  3. 3和4感谢您的推荐:-),我再去仔细看看
ijpq commented 2 years ago

cs61c有计划吗

codefuturedalao commented 2 years ago

您的邮件我已收到

PointBreaker commented 2 years ago

推荐: 1.学习CS61C, 能学到基本的数电,然后能初步实现一个两级流水的CPU 2.学习151(前置61c),对标DDCA那本书,更深入的学习数电、verilog、最后是在FPGA上实现一个三级流水的RV CPU 3.学习152(前置61c),对标体系结构那本书,lab文件我已经拷贝下来放到了群文件里了

以上三门课学完就有了伯克利本科所有体系结构的基础

PKUFlyingPig commented 2 years ago

印象中 CS152 的 Lab 并不是开源的?

PointBreaker commented 2 years ago

是的152的lab不开源,我把lab从eda上面拷下来了,有需要的可以一起做(群号971556316)需要有61c的基础,然后保险起见请不要把lab放在公开的repo里

guowei-gong commented 2 years ago

请问学过数字电路,与没有学过的人,有什么区别?

PKUFlyingPig commented 2 years ago

区别就是一个学过数字电路,一个没有学过

codefuturedalao commented 2 years ago

您的邮件我已收到

ChangxiaAir commented 1 year ago

请问有没有mit 6.823(也就是现在6.5900)lab的代码呀,找遍了网上,貌似只有mit的学生才能做

codefuturedalao commented 1 year ago

您的邮件我已收到

ijpq commented 1 year ago

请问这里还有同学在关注吗

goddessIU commented 1 year ago

请问这里还有同学在关注吗

BoxuanYang commented 1 year ago

您好,我最近也在自学体系结构的课程。我的体会是,如果有基础的编程功底(会写代码就行),那么直接上手学CS61C即可,无须关注61a,61b。我现在在同时学61c和CMU 15-213,如果有兴趣可以一起交流

ijpq commented 10 months ago

请问有没有mit 6.823(也就是现在6.5900)lab的代码呀,找遍了网上,貌似只有mit的学生才能做

看起来确实没有公开实验的code