计算机组成原理(王超) 2020春 2019春 2018春  课程号:01114502
2020春 2019春 2018春  课程号:01114502
8.8(9人评价)
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
选课类别:计划 教学类型:理论实验课
课程类别:本科计划内课程 开课单位:计算机科学与技术系
课程层次:专业核心 学分:4
课程主页:暂无(如果你知道,劳烦告诉我们!)
点评 写点评
printk 2019春

课堂教学:

王超老师的 ppt 非常详细,似乎比隔壁班的 llxx 好(隔壁班的梗:张开想象的翅膀??)

今年题目是 llxx 出的,不过参考材料是王超老师提供的 summary。

课件可以在 http://home.ustc.edu.cn/~louwenqi/ 下载(截至 2019-06-25 有效)

平常课上留的作业都比较简单(似乎有不少同学是下节课要交的时候才开始做)


实验:

  1. ALU
  2. 时序除法器 & 三个数排序
  3. 寄存器堆和 FIFO 队列(然而并不是跨时钟域的 FIFO,就是普通的 FIFO 而已)
  4. 用 Block / Dist Mem. 做一个能连显示器的 VGA 画板
  5. 多周期 MIPS CPU
  6. 综合实验(用 (5) 的 CPU 和随便什么外设,要求用软件的方法访问设备资源)

其实感觉还好,不过如果不熟 Verilog 可能会比较费劲(包括辨别什么是 Synthesizable 的代码,仿真器和综合器的不同行为等)

 

最后两个实验我投入了 Chisel 的怀抱(Chisel 真香),有兴趣围观的同学可以戳我,我就更新的更加详细一些。

HInt. 用 mipsel-linux-gnu-gcc 可以极大缓解对着汇编狂写的头秃之情,安利一下


  • 课堂教学:70%
    1. 期末考试:55%(闭卷)
    2. 作业:30%
    3. 课堂练习:5%
    4. 课后实验:5%
    5. 阅读报告:2-3篇,5%
  • 实验课:30%

(但是到结课也没布置阅读报告)

课后实验是用 MIPS / x86 Assembly 写 bubble sort 并且测试性能。我写的是 x86 汇编,写一个 bubble_sort 函数之后,和 C 的代码链接在一起,在 C 中处理输入输出。


p.s. 老师讲话声音有点小,如果想认真听课要往前坐一点。

p.s.2 还没出分,出分再更新

2019-06-25 16:11 5 0
secon 2018春

wc老师今年第一次教这门课(之前全是llxx),讲课基本都是按照课程主页上的大纲来的(课程主页http://home.ustc.edu.cn/~lrw/),ppt的来源基本是唐朔飞老师的书和cod第四版(今年我们用上了第五版,但是习题还是第四版的),上课时会有很多科普知识,比如说硅晶片的制作工艺流程啥的,据说比隔壁llxx讲的简单一些?

老师人挺好的,上课虽然基本上都是念PPT,但是冷不丁的会爆出两个段子,有一次问到我们的实验进度,还说了一句:这种实验不只要有三四个人做出来就行了嘛……懂行人,懂行人。

作业很多主要是由于实验问题了(难度指数级增长的实验了解一下),顺便说一下最后一次实验的评分标准:十条指令五分,中断十分,流水线二十分,下载十分,(手机码字 详细版考完试传),基础多周期带16条指令六十分,占实验总分百分之四十,前面六次实验一次十分。

最后一次实验好好做,占分挺大的…… 考试大部分是原题,ppt上都有,但是也有一些比较坑爹的简答题(dma的工作方式 现代计算机和冯诺依曼结构有啥不同)总的来讲不是特别难,基本所有人都提前二十分钟写完了……

考试据说llxx班是一片惨淡,这边似乎是两极分化?(可能是本班大佬太多了吧23333)总之考前最好当文科多背一背,流水线好好写复习时能省下不少精力,总之是要认真做实验和作业,对复习很有帮助。考前最好把COD第五版和唐朔飞老师的书都看看,东西比较杂,但都是从这两本书上来的,结合PPT食用风味更加。

 

以下是流水线完整评分标准:

基础要求:60分(多周期那套就行)
扩展要求:
1.每增加10条指令加5分,无上限。
2.实现中断(10分)。被零除中断=1分,溢出中断=1分,陷入指令中断=2分,断点中断=3分,单步中断=3分。
3.实现流水(20分)。基础流水暂停得12分,包含仅ALU-ALU转发得15分,包含完全转发得20分。
4.实现下载(10分)。数码管上顺序显示内存=6分,开关输入地址显示内存=4分。

2018-06-25 21:29 3 2
taoky 2019春

下面的文字是考完期末当天写的,现在从某个地方复制过来(

 

COD(使命召唤划掉,计算机组成原理)考完了,感觉还好,没有我预想的那么糟糕。当然,考试时候也发挥了一下想象的翅膀。不过实话讲,这门课给我的感觉像(高中)地理:要记很多很多东西,大家都觉得这是文科,但是实际上却属于理工科一类的。槽点其实还挺多的:CPU 讲完流水线之后唐书的比例就开始增大了,但是唐书的话,我只能给「没有太多错误,比谭某的 C 语言教材好一些」的评价,书中有的地方已经很过时了。

其实这都还好,一个关键的槽点是老师的 PPT 里有些 terminology 喜欢自造,把词往 Google 上一搜只有个位数结果的那种(比如说,「并行竞争分布式仲裁」)。不过 wc 至少比 llxx 好一些,至少一堆没头没脑的思考题不是他出的,虽然他上课也有一些槽点啦,比如说把苹果电脑和 x86 对立起来(然而十几年前 Mac 就转到 Intel 架构了),还有「(网络)高端口寄存器很危险」(???)。

总之呢,COD 这门课就是……硬核硬件实验 + 文科期末考试,总体给我的观感其实不是很好。要改进的话,可以考虑在开卷的前提下加大一点题目难度之类的,像文科一样背概念定义真的没意思。

2019-06-25 18:55 2 0
Kelley 2019春

对于一名 CS 专业的本科生来说,这门课还是十分重要的。在一些涉及硬件的交叉领域(如可穿戴设备),拥有一些计算机的底层思维,往往能比其他人更快的找到问题的关键(暑研感想)

王超老师讲课实在谈不上吸引人,主要问题在于语调很平,没有什么激情,也不太有趣,但也不是让人难以接受的类型。讲到重点的时候会特意提醒大家要认真听,也会乐于听取大家的意见,平易近人。在一些重点章节如果能耐着性子听收获还是蛮大的,概念为主的章节那就随意吧...

今年个人认为相比于隔壁 llxx 班主要的优点是作业量较小且布置进度更为合理,助教更好(体现在实验要求更合理更自由)。有一次 MIPS 汇编冒泡排序的附加实验我们是选做加分,隔壁班是必做,体现在总评中大概有 1-2 分的差别。其他方面给分差别不大,基本按比例。

今年的实验zjx老师突然不要求写流水线,改为利用外设和CPU完成一个应用。但是个人觉得如果写流水线能拿到一个满意的分数那还是建议选择流水线,用代码实现出这样一整套解决所有 Hazard 的流水线 CPU 确实收获很大,也使最后复习时的压力大大降低。

最后考试要综合两个班透露的信息来抓重点,复习主要以 PPT 为主,PPT 上的例题和作业题一定要重点关注。复习起来陌生概念太多可能比较痛苦,但考试不会考很偏很难的点。最后卷面 90,实验应该是满分或接近满分,总评 96。

2019-08-06 13:58 1 0
lxses 2018春

“这种实验,不是有几个人做出来就可以了嘛”

 

实验设计真的坑,不过这不怪王超老师;

2019-08-01 04:03 1 0
TheLitFire 2019春

本门课程是wc老师教授理论课+zjx老师教实验课,实验~~一写一周~~每周一节,每堂课都在下午。

对于希望在本科上获得良好收益的同学,及其建议在大二上半学期选英才班计算机系统详解,算是所有英才班课里难度最低的了。

课程内容就不提了,下面是~~(口嗨点评)~~认真评论:

关于理论课:COD5相对COD4最大的改进就是改掉了课后作业每题六七问、每问分ab的沙雕作风(一位写作业感觉就是在复读的人类前来揭示本质)。但这本书怎么读都还是比另一本唐书要好得多——唐书主要是IO和总线这些COD上涉及的不多的,考试也只会出及其文科的“简答题”(有去年两个简答题被原封不动的再搬了回来,还有三个简答题被本人考前群内口嗨不幸言中,看到卷子的瞬间就想原地爆炸了),包括DMA工作方式,CPU设计过程(在PPT上有,还是未经加粗变色的很普通的一行黑字)。

关于实验课:zjx老师今年看起来是想动动实验的陈旧风格,给更多的人张开想象翅膀的机会(),但我个人还是觉得写好CPU写好verilog逻辑比搞些花哨的强(尽管自己最后的大实验也没有实现流水线OTZ),但是觉得难度反而是降低了(键盘鼠标显示器这种模板化的代码网上一抓一大把)。

这里还想分享一个自己给别人debug流水线veribug的一个经历:一位小可怜半夜十二点还没有写完流水线,可是明天就是迟交实验的最后截止日期了,无奈之下作为一名乐于助人~~(贩卖月卡)~~的同学要来了它的代码。

应该跳的跳转指令不跳转,但是仿真一切正常,下载出错。最后把问题定位在了一个简单的always描述的寄存器里。

没注释过rst的是原来的代码,我把它注释掉了,下载就过了(但是不能复位清零),后来改了一下if语句的写法,异步复位也通过了。没想太清楚原理,应该是综合器的行为(fjw大佬说应该给综合器明显提示,将异步复位弄成最高优先级)。

所以得出结论:和verilog相处了一年,我还是不了解她(

关于考试:体验很一般,好多文科题,一大堆的背诵(),有一道是要你在一个图上把流水线段间寄存器标出来,结果这个图自己就有一定限制不能标正确(寄存器写入地址的问题)然后我画的密密麻麻得有二十多个(不知老师判卷作何感想)。最后一道题,cache缺失命中,算了半天直接映射发现是送分题——地址块都没重复的命中个鬼啊心态崩了。

关于wc老师:“不要养成中午睡觉的坏习惯”,“今天要交作业了,大家赶紧做啊!”,“30,40,50......人好少啊”(其实我基本就没听过课orz)

出分真慢,都快两个月了才出(

2019-06-25 16:41 1 0
无名之辈 2018春

老师人很好,线上授课每节都提前开课,课后答疑,和蔼可亲。

PPT非常详细,期末复习只看了PPT,没看书。坐等出分

2020-09-12 15:21 0 0
坠落的秋叶 2018春

感受:好累啊...上这门课要在下午第一节,要读很多书,写很多代码,调试好久...不过自己基本对上世纪70年代的CPU设计有了大致了解。

 

建议:大实验越早开始越好,作业不要抄,概念记清楚。这门课好好上收获还是挺大的。

2018-07-17 06:01 0 0
silence 2018春

一开始是抱着逃离llxx的想法换到这个班上的。从结果来看还是很不错的。

这位老师上课声音很小,没什么激情,而且都是下午第一节课上课,所以很容易犯困,上课几乎全程左耳听右耳冒....这也导致我几乎全是靠作业和考前复习来学习COD...不过要是对比简直有毒的llxx的话,当然是这位老师好很多啦...

实验的话楼上讲的比较详细,补充两点:最后一次实验总分可以溢出(100+),但是整个实验部分的满分就是30分,不会溢出。如果最后一次实验写了流水线,那么你会在无休止的debug中提高对流水线的理解,期末复习甚至可以不用怎么看流水线了。

期末考试接近文科考试,有很多简答题。难度不难,有几道题甚至是PPT上的原题,大家普遍提前10-20分钟答完卷子。由于大家考得比较好,不用调分就能够接近优秀率上限,因此没有调分。从这个角度来看,给分是很好的。(于是我第四次被卡绩= = 

语录:

你们总得有几个人会做吧!    ——王超

 

2018-07-16 15:35 0 0

王超

教师主页: 暂无

其他老师的「计算机组成原理」课

闫宇博 8.5 (2) 2019秋
张辉, 李曦 8.0 (1) 2014春
李曦 7.7 (31) 2020春 2019春...
未知 1.0 (1) 2017春 2016秋
何克东 2016秋 2015秋...
何克东, 卢建良 2016秋 2015秋
张俊霞 2003春 2002秋
卢建良 2018秋 2017秋

王超老师的其他课