Skip to content

Commit

Permalink
docs: 补充计算机体系结构课程卜凯老师教学班情况 (#211)
Browse files Browse the repository at this point in the history
  • Loading branch information
D2mdlws authored Jan 13, 2025
1 parent 716a2cf commit 15a78a8
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions docs/major_mandatory/computer_architecture/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,15 @@
* lab5(14%):Out-of-Order Execution
* lab6:Tomasulo(bonus)

=== "卜凯"

* lab1(6%):forwarding + predict not taken 的流水线
* lab2(4%):带异常处理的流水线
* lab3(3%):缓存设计
* lab4(4%):将缓存加入到流水线中
* lab5(7%):完成乱序流水线的执行单元
* lab6(8%):完成 scoreboard 乱序流水线

## 任课教师

=== "姜晓红"
Expand All @@ -67,6 +76,16 @@

21 级新开体系结构的老师,讲课较枯燥,分数组成和 PPT 完全沿袭姜老师的体系。21 级情况是实验可以不用验收,也没有小测,且最后给分相当慷慨。

=== "卜凯"

卜凯老师的课是国际化课程,上课会使用英文进行授课。不过在 2024~2025 学年的秋冬学期,上课的时候有些时候也会使用中文上课,比如在一些关键的地方或者是他认为不容易讲清楚的地方。kg 的英语水平非常好,不用担心英语难以听懂。卜老师的 PPT 是单独做的,和姜老师的 PPT 不太一样,内容基本是按照课本上的内容和顺序进行安排,但是在一些重要的地方会加上个人理解和其他内容。

卜凯老师偶尔会进行小测或者是点名,但是在 24~25 学年的秋冬学期中,只有一次小测,几乎没怎么点名。作业会布置两次,一次是在讲完 cache 后布置,一次是在期末前两三周布置。题量不大,并且感觉作业的目的并不是追求答案的正确,基本上只要写了就不会扣分。此外,还会有一次组队展示,需要阅读顶会的和体系结构相关的论文并进行展示,需要使用英文展示。

卜凯老师给分十分慷慨,据笔者课下和老师聊天所知,平时分基本上都会给满。期末改卷的速度也很快,上午考试,下午就登完分了。在实验方面,24 ~ 25 学年的实验课是全程两人组队,验收是老师亲自验收,但是不用担心像姜老师班级一样那么严格,只要认真做了相信问题不会很大。由于实验室的板子的接口已经非常破旧,有时候可能需要多换几个板子才能正常验收。实验报告需要使用英文撰写,但是不需要提交代码。

卜凯老师非常热爱教学,对学生也很友好,有问题可以随时问他,课下也可以找他聊天,不论是关于课程内容还是关于自己的其他困惑,他会非常热情地解答。他会尝试记住来上课的学生的名字,如果被他记住了,那么也许在上课前会看看你有没有来听课(开玩笑的,没来也不会扣分)。总的来说,卜凯老师是一位非常好的老师,强烈推荐选择他的课程。

## 课程教材

*《计算机体系结构量化研究方法》第六版*
Expand Down Expand Up @@ -109,9 +128,21 @@

* lab(60%)
* bonus: quiz, question, discussion(<=10%)

=== "卜凯"

22 级的各部分比例如下

* Class participation & performance(4%)
* 作业及展示(16%)
* 实验(32%)
* 小测(8%)
* 期末考试(40%)

## 学习建议

体系结构的任务还是比较轻的,课程内容虽然设计的量比较大,包括 Cache、分支预测、SIMD、多发射、乱序、多核等一系列内容,但是都不是非常深入,大多数重在了解,其中乱序的算法、内存一致性协议达到了定量的程度,其他主要还是定性的程度。lab 比计组的简单很多,不同于计组的纯手搓,体系的 lab 都给了代码,只需要做适当的填空即可,很多时候一个下午就可以了,甚至 lab1、lab3、lab4 其实计组很多人都做过,可以直接用计组的代码来验收,(姜老师班)如果要做 bonus 那需要自己写代码,没有框架可以用,所以这门课任务量还是比较少的,不会太占时间。期末考可以带 1 张手写 A4 纸,拿来抄各种策略、协议和算法还是不错的。

体系结构这门课为人诟病的一点在于,不同老师讲的内容出入可能会非常大,而且由于期末考试是不同老师出题之后组卷,有可能出现考没有讲过的内容。建议复习时参考多个老师的 PPT、复习课,以及 98 的回忆卷。Cache、乱序(Scoreboard、Tomasulo)、Cache 一致性(MESI、Directory)这部分内容相当重要,时常会在大题里出现。

P.S. 如果对乱序执行中的时序感到有点混乱,建议以书为准,虽然书中的描述有些抽象。可以参考姜老师的 PPT 中展示的具体顺序来学习,不过可能需要注意每个执行单元所需要的时间有可能和书上的不太一样。此外,在复习的时候可以参考历年卷,23 年何水兵老师的最后一节课上放出来了前一年的试卷,可以去看一下回放。从 22 级的考试题目来看,参考的价值还是比较大的。

0 comments on commit 15a78a8

Please sign in to comment.