计算机体系结构(周学海) 2020春 2019春 2018春 2017春 2016春 2015春 2014春 2013春 2012秋 2011秋 2010秋 2009秋 2008秋 2007秋 2006秋 2005秋 2004春 2003春  课程号:01113501
2020春 2019春 2018春 2017春 2016春 2015春 2014春 2013春 2012秋 2011秋 2010秋 2009秋 2008秋 2007秋 2006秋 2005秋 2004春 2003春  课程号:01113501
9.5(8人评价)
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
选课类别:计划 教学类型:理论实验课
课程类别:本科计划内课程 开课单位:计算机科学与技术系
课程层次:专业核心 学分:4
课程主页:暂无(如果你知道,劳烦告诉我们!)
点评 写点评
Lotdhh 2019春

verilog全面回归,好评!

 

实验采用填补代码的方式来完成,这比从零开始写个CPU好很多,最后一个实验是使用模拟器,可以通过那个来学习那几个协议的具体细节。助教很认真负责,在实验上花了很多心思。如果助教保持不变的话(很大概率), 实验内容可能还会继续完善,还是可以期待的。

关于上课:由于基本没有认真听过课,所以不过多评价。不过老师很乐于倾听和接受同学们的意见,所以如果对上课有什么意见可以直接和老师提出来。


关于这门课:上了这门课才真正感受到:人类对速度的追求永不止息!

 

2019-06-23 20:22 3 0
Minkow 2017春

应该是感受最深的几门专业课之一了 首先本来想批判一番作业和实验安排的,然而社会教给了我做人的道理233

作业…就是教材上的题,有些题目坑到了要你把一个循环汇编优化展开10遍的地步…有几次作业早上开始写晚上才能写完+弄明白,而且,答案都有一堆错误… 但是收获真的很大,基本上底层的东西的逻辑算是勉强入了门…虽然是老古董的底层… 实验智障在,它明明就是一个填表程序,却要你写图形界面… 嗯…还要你写3次… 然后?然后我自学了java 直到昨天,我去参加某校软院的夏令营机试,机试题是写一个文本单词词频统计工具,满分100,图形界面15分 我因为没有准备python的图形开发工具,遗憾gg… 所以说,尽管实验卵用没有,但是对于图形界面的开发,算是一个入门,说不定什么时候就能用上呢233

考试建议问学长往年题,很关键,有期中期末,比例接近。有调分,给分不错

2017-07-11 11:32 3 1
secon 2019春

个人觉得周老师属于那种上课全程高能的老师,如果认真跟着老师听会觉得老师讲的很好,但是稍微一个走神就容易发现自己完全跟不上老师的节奏,接着就听的不明所以,所以大部分人选择了期末自己啃PPT。当然这也和硬件类课程本身非常枯燥无聊有关,老师某种意义上也已经尽力了……(拥有这种属性的老师还有:xyl、昱姐,etc)

体验不算好的一点是:PPT完全为上课服务,上课记笔记的体验非常好。老师对PPT中的内容也非常熟悉,可以看出经过了充分的备课,但是到了复习的时候,上课讲的案例和具体课程知识内容常常混杂在一起分不清,而且部分教学内容在配套教材上找不到。老师后半学期也在注意改善这个问题,但是前半学期的PPT已经改不过来了……

上课有几次点名,都是弱智级的题目,去了就是满分,而且今年开了两个班,所以可以互相充当僚机23333。

往年是有期中的,今年由于开了两个班不太好安排,因此直接将期中缩水为了小测,让你写对课程、实验的意见2333。老师在下一次的课上就针对了所有提出的问题一一做出了回答,感觉科大CS能做到这一点的老师还挺少的,在这里给老师点个赞。

期末考试题量比较大,而且有些题目比较怪(关于cache的一道题目,我没理顺其中的内在逻辑,花了好多时间),总体来讲中规中矩,还有一道5分的送分题(让你写对课程、实验的意见2.0,23333)

 

实验应该是这学期课程改革的一大亮点了,根据老师自己的描述,往年都是写tomasulo模拟器、cache一致性模拟器,闹到最后就是在写图形界面,被人诟病说:“硬件实验不够硬”,因此今年采取了大刀阔斧的改革,准备向UCB的对应课程看齐,重新启用了vivado&verilog,弄得一片鬼哭狼嚎

实验主要分为流水线设计文档、流水线(RISC-V版)、cache、分支预测、tomasulo模拟器分析等几个部分,根据助教的描述,下一年的实验还会继(jia)续(da)改(nan)革(du),今年的实验内容更多程度上是一个试水(这一点可以从占了大半学期,并且和COD高度重合的流水线、只是一个不算难的代码填空的cache中看出),所以……hhhhh

 

给分可能是两个班一起给的(保证公平性)

个人觉得自己学这门课学的比较认真,但是最后的分数不温不火,可能是考试的时候出的问题比较多,需要反思。

 

另外,老师上课上到后半学期嗓子都哑了,心疼老师。

还有,这学期助教真的都非常负责,实验文档写的相当完善,实验指导也非常详细,大大降低了实验难度。点名表扬.jpg

2019-07-10 22:56 2 0
silence 2019春

从2019年开始,本课程的实验发生了改变,改成了用Vivado写Verilog实现RV32I流水线CPU、实现Cache、分支预测等。所以为了这门课还要把几十个G的Vivado装回去...实验内容看着比较多。由于Verilog的debug不太友好,难度主要在思路上。所以要一开始就要把思路捋明白。

课程PPT比较概括,适合做上课的提纲,但有一些错误,且对复习不太友好。每次上课前会更新PPT,所以要确保你下载的PPT是新的。

考前可以给老师发邮件,直接找老师答疑。老师的办公室的位置:从西活观光电梯的那个门进去,直走右转,找到嵌入式系统实验室即可。西区网络中心已经搬走了,所以课程主页上给的地址信息不完全准确。

期末考题略难,给分还算较好。

2019-07-12 21:50 1 0
GEoURO 2019春

体系结构这门课属于绝对的硬核课程,课程的难度不小,而且作为硬件课,是真的容易听不下去,上课听着听着就不知道在讲啥了,然后就再也听不懂了。

周老师讲课讲的非常不错,知识点什么的都非常清晰,课件跟着课堂内容一起看,完全没有问题,但是作为复习内容来参考的话,就会变得太冗杂了。因为其中补充了很多工业化的实现结果以及一堆图表数据(然而这些并不是知识点),穿插在各个知识点中间的话,复习的时候看起来就容易抓不到重点,容易陷入“我这里到底该不该看该不该记呢”这样的困惑。

本学期课程实验改革,助教们都非常认真负责,实验的设计以及相关文档,提供的基本程序都做的非常好。

实验有以下几个:

1. 设计RISC-V指令集下的流水线CPU

2. 根据设计用Verilog实现CPU并通过仿真测试

3. 给CPU加上Cache

4. 给CPU加上分支预测器

5. 根据提供的模拟器的运行结果完成实验报告,分别是Tomasulo,MSI,分布式MESI的

实验仓库链接:https://github.com/Summer-Summer/ComputerArchitectureLab

课程主页链接:http://home.ustc.edu.cn/~candrol/

 

往年都是有期中考试的,但本学期没有期中考试,只有期末考试,考试闭卷,该记的都得记。考了不少的计算,但大部分都没有过分为难,都很基本,唯独有一个向量处理器那章的chime,convey相关的有些需要思考,题目基本上就是改编自课件例题,但这块要考虑的因素挺多的,老师也说题目提供的条件可能不全,所以在作答时,把你认为需要加上的条件加上(也就是说能自圆其说就好了233333【谁知道呢

2019-07-11 16:32 1 1
Nemo. 2018春

这个课听课跟微机原理差不多,你听进去了就感觉老师讲的很好,问题是硬件课太无聊了大多数情况听不进去。但还是比组成原理强太多了,流水线当时学基本上处于马什么梅的状态,听了周老师的课真的是茅塞顿开。

这个课的教材和ppt都非常好,教材作者刚得了图灵奖,绝对值得好好读一读。

实验没什么卵用,java图形开发从入门到放弃。

给分应该也是给力的,虽然被小卡了一下但还是稳的。

2018-07-12 17:33 1 2
boj 2013春

体系结构这个课程由理论(70%)和实验(30%)两部分组成。

理论课应该是多年没有变了,用的是《计算机体系结构:量化研究方法》(第五版)这本经典教材。这本书虽然比较贵,但是值得收藏的,如果以后做体系结构相关的研究或者工程,更是常读常新。(书封底 Google VP Luiz André Barroso 的推荐语也是这么说的)

实验课是王恒才老师教的用 FPGA 开发带乱序执行的 CPU,实现 DLX 指令集,主要是要实现 Tomasulo 算法。王恒才老师号称 “龙芯的爸爸的爸爸”,是龙芯之父胡伟武的老师,虽然年纪很大了但是 FPGA 编程的经验还是很丰富,比如我们 reset 信号接反了调不出来,被他一眼看出来了。(我后来做研究的时候还是多次把 reset 接反了)当年跟郭家华、李帅结组,写了 3000 行 Verilog,终于把乱序执行 CPU 给做出来了,郭家华还创造了带 fast forward cache 的内存,使得内存写入之后马上就能从 fast forward cache 里读出来,减少了 pipeline stall。

我们当年 CPU 的 repo: https://git.ustclug.org/boj/dlx-cpu-backup

DLX CPU 的前身,LC3 CPU,计算机组成原理课的实验: https://git.ustclug.org/boj/lc3-cpu

郭家华的设计图:

  • PC   -- Program Counter
  • IMEM -- Instruction Memory
  • DMEM -- Data Memory
  • IR   -- Instruction Register
  • DE   -- Instruction Decoder
  • S1   -- Pipeline Registers of Stage 1
  • S2   -- Pipeline Registers of Stage 2
  • ALU  -- Arithmetic Logical Unit
  • R1   -- Register File ( Temporary )
  • R2   -- Register File ( Submitted )
  • MUX1 -- Multiplexer, Selected by S1
  • MUX2 -- Multiplexer, Selected by S2

 

好像从 12 级开始,不知道是因为王恒才老师退休了,还是学生感觉 Verilog 太难了,体系结构实验改成了开发仿真器,主要工作从时序逻辑变成了图形界面 ^_^

2017-10-05 19:37 1 0
cutting 2019春

考试之后觉得自己铁定炸了,不过分数出来后竟然还行ʘᴗʘ。总之给分应该是待你不薄滴

本课程的实验感觉还是印象深刻,手写流水线,cache替换,分支预测,也不难但要花一点时间。最后的tomasolo模拟还是很有用的。看文字永远也看不懂的tomasulo模拟一下就很清楚了

2019-07-10 21:47 0 0

其他老师的「计算机体系结构」课

未知 9.0 (1) 2017春
闫宇博, 张燕咏 8.0 (1) 2020春

周学海老师的其他课

计算机导论 2011秋
可重构计算 2019秋