计算机系统(周学海) 2023秋 2022秋 2021秋  课程号:COMP6004P01
2023秋 2022秋 2021秋  课程号:COMP6004P01
9.3(15人评价)
9.3(15人评价)
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
选课类别:基础 教学类型:理论实验课
课程类别:研究生课程 开课单位:计算机科学与技术系
课程层次:硕士   学分:3.5
课程主页:暂无(如果你知道,劳烦告诉我们!)
简介 最后更新:

这门课从程序员和架构师的角度来看计算机系统:如何执行程序,如何存储信息,以及如何通讯。这门课会教学生成为更高效的程序员,关注性能、可移植性、鲁棒性等方面。这门课也是很多高级计算机课程的基础,比如说高级体系结构、计算机网络等。课程的内容包括:

  • 机器代码和编译优化
  • 性能测量和优化
  • 计算机算术
  • 计算机体系结构
  • 并行体系结构
  • 存储系统
  • 网络技术和协议
  • 并发系统
排序 学期

评分 评分 15条点评

匿名用户 2022秋
  • 课程难度:中等
  • 作业多少:很少
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:中等
  • 作业:很少
  • 给分:一般
  • 收获:一般

首先,我觉得 CSAPP 这本书还是挺好的。

别的不说了,下面提供 22 年秋季的期末题目题型回忆。(强烈希望老师能提供大致题型,这样复习时感觉好一些)

题目的序号可能有一点弄混了。

1

分析加速比。题目大概描述:一个程序有 80% 可以通过并行加速,设有 N
个处理器,问并行忽略通信开销时的加速比,和通信开销为原来运行时间的 0.005
倍时的加速比。

2

用移位运算写出整数乘 10 和除以 10 的函数。要求尽可能精确。(输入的范围可能有点偏差)

unsigned int mul_10(unsigned int x);    // x in [0, 4294967295)
unsigned int div_10(unsigned short x);  // x in [0, 65535)

3

CSAPP 中文第三版 3.68 原题。

分析汇编,找出两个整数常数 A,B 的值。需要考虑 long 和 int 的对齐要求。

4

链接部分的题目,重定位 PC 相对引用。如 CSAPP 中文第三版练习题 7.5,7.5
和考试题数据相同。题目要求回答的内容和书中讲解"重定位 PC
相对引用"的部分一样,有 refaddr 和 *refptr 以及 16 进制表示。

5

浮点数加法的延迟 L = 3,运算单元数 C = 1。

在浮点数加法满足结合律的情况下,写一个求数组中浮点数的和的函数,要求性能尽可能好。

6

用 signal 机制和 alarm 函数,写一个 mysleep(unsigned int) 函数,

要求可以在多并发(记不清了,这里可能有误)的情况下避免竞争(race condition)

7

1.  假设 malloc 使用的是隐式空闲链表,16 字节对齐
2.  块大小向上取到 16 的倍数

问下面的调用中,块大小和 header 的内容,

1.  malloc(1)
2.  malloc(34)

8

1.  分析最普通的矩阵乘法的 total cache miss(总 cache 缺失)
2.  用分块的方法改进矩阵乘法,写出代码并分析总 cache 缺失

9

1.  有 fork 的程序,画进程图
2.  改数据的 IO 一章课件的 Fun with File Descriptors (2)
3.  改数据的 IO 一章课件的 Fun with File Descriptors (3)

 

 

(最后修改于 5 0 复制链接
匿名用户 2023秋
  • 课程难度:简单
  • 作业多少:很少
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:简单
  • 作业:很少
  • 给分:超好
  • 收获:很多

人好给分高😭我的神!

2 0 复制链接
匿名用户 2023秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:很多

信号那两题几乎不会,分离空闲链表完全忘了,这竟然能上90吗?

好奶(

2 1 复制链接
也西湖摸鱼好奶!
立即登录,说说你的看法
匿名用户 2022秋
  • 课程难度:困难
  • 作业多少:很少
  • 给分好坏:超好
  • 收获大小:一般
  • 难度:困难
  • 作业:很少
  • 给分:超好
  • 收获:一般

首先,csapp是一本好书,值得阅读。

考试很难,反正我是不太会,但是平时是给50分,基本上实验和作业都是满分,csapp的实验作业答案都能从网上找到,平时分是满分,考试就不会给挂,最后总评也不会难看。

考试怎么说呢,全都是非常专业的东西,必须得是搞这方面的,或者对体系结构,系统这些玩意有很深刻了解的人,才能做出来,一知半解或者知道一个大概的是不太能做出来。如果你不是搞这方面的,那你得刚刚看过书,还热乎呢,才能做得出来。

(最后修改于 2 0 复制链接
Doji_zz 2022秋
  • 课程难度:中等
  • 作业多少:很多
  • 给分好坏:超好
  • 收获大小:一般
  • 难度:中等
  • 作业:很多
  • 给分:超好
  • 收获:一般

摸鱼怪路过, 本来打算借这门课好好读读CSAPP, 但还是划了一个学期.

平常作业+5个lab占50%, 正常完成应该都是满分. 考试题出得还是相当容易的(即使是从我这个没怎么听过课的角度来看). 

2 0 复制链接
daiaqswde 2021秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:一般

使用的csapp,作业/实验不少但是网上都有,实验是腾讯会议检查会比较细致,也可以选择交实验报告

需要注意/吐槽的是这个考试,说是考的比较基础,确实比较基础,就是......和作业居然几乎没有联系,如果只复习作业的现在可能跪了...

考试中,课程前半部分(汇编、优化等)大概只有20分,有个流水线的题目(一脸懵,全考本科基础瞎写),然后就是一大堆 I/O 题,进程,父子进程、信号、存储、虚存、回收策略,这些都是作业里没有的,但是书上/课件上有的。不过考试占比不大,40%。

听说有大佬半个小时就做完了卷子,如果读过csapp这本书的话,卷子还是很简单的

这门课花的时间不算多,作为基础课还是比较建议的选的

2 0 复制链接
匿名用户 2023秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:一般

老师上课讲的内容似乎和CSAPP第三版不完全一样,不知道是不是和第二版一样而没修改。

考试内容除了信号那一章其他都比较基础,信号那一章的考试内容感觉比上课介绍的内容难很多,书后练习也没有相关的内容,似乎需要进一步了解相关的信号量编程才能熟练的解决。

1 0 复制链接
ustc渣渣 2023秋
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:困难
  • 作业:中等
  • 给分:超好
  • 收获:很多

我以一个非科班学生视角评价一下这门课吧:很难,内容很多,但是给分很好,老师讲课很有水平。

之前从没学过计算机系统相关课程,抱着学习的心态选课进来。上课讲的东西都很陌生,都要从头学,不过老师讲的很好,PPT做的也不错,课本真的很棒。学起来很吃力,但确实学到了不少东西(虽然以后大概率用不上),也算是对计算机系统有了一定认识。

会有几次作业和实验,网上都有答案,写不出来就不要折磨自己了。平时分占比60%,基本都会给满。考试反正是没几个会的,尽可能在写了,空了一道半,大部分题目都是会但不完全会,最后总评87,跟轻松90+的大佬们没法比,但是我是很满意啦。所以如果没基础的也不要怕选这门课,虽然没办法轻松90+,但我想拿个75+是很简单的,毕竟老师说过一般不会给75-。大概就这样,推荐。

1 0 复制链接
评课 2023秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:很多

作业实验工作量合理,应该不点名(没去过不清楚)

考试会考ppt上比较细的东西

试卷上只有两道题是确定做对的,还有少许完全不会写的和一堆瞎蒙的,出分一看总评上了90,选择佛海,选择成功。

(最后修改于 1 0 复制链接
Mospiccc 2023秋
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:困难
  • 作业:中等
  • 给分:超好
  • 收获:很多

1.7号考完来贴个回忆版:

  1. 计算加速比,某个任务40%为CPU计算部分,60%为IO部分,CPU加速10倍后的加速比
  2. 写一个判断32位unsigned int类型的值中有多少比特位为1(csapp第一个实验原题)
  3. 在结构体对齐的情况下,访问性能优先和存储性能优先的设计原则和好处,并举例说明。
  4. 给出C语言代码,判断代码中是否有BUG,代码中有alarm函数,signal信号等,主要是和信号那章有关。
  5. 一个10000个浮点数的累加,给你一个拥有四个浮点计算单元的三级流水CPU,如何设计C语言代码使其访存效率和时间性能最好。
  6. 链接那章的重定位,计算callq的地址和内容。
  7. 给定出C语言代码,大致内容是用三个文件描述符写同一个文件的程序代码,判断第一次运行该程序后的文件中内容,和紧接着再运行该程序后的文件中内容,考察fd和dup命令。
  8. 给出C语言代码,判断代码中是否有BUG,也和信号那章有关,主要考察SIGNAL的用法。
  9. 说明分离空闲链表的外部碎片是如何产生的?以及分离适配方法的原理和优势(大概是这些,有点忘记了)

 

这次考试和2022秋的回忆版相比难了不少,没有Cache相关的和看汇编码填空的,而且不少题目都是文字题,包括看C语言代码找BUG或者用C语言代码实现功能等,计算题非常少,复习方向完全错误了QAQ

 


给分很好,这门课应该是没有点名,一共五次实验以及四次作业,都是祖传的,选这门课的性价比很高,如果后续有意向走开发岗,CSAPP这本书对提升对计算机的理解也很有帮助。

 

(最后修改于 1 0 复制链接
Handsome 2022秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:一般

87分,没啥好说的,对于一个追求均分75的人来说很满意,下学期两门基础课过了就行了

实验和作业都有大量的参考答案,而且助教平时分给的很足,基本上大家平时分都满了

期末考试里涉及到书上的和PPT里的原题比较多,有时间看书,书上的夹杂在知识中的习题可以捎带做做,今年重定向就考出来一道一模一样的

挺经典的一门课,对于跨考的同学应当是蛮有收获的,但是同时对于他们来讲这门课应该蛮难的

1 0 复制链接
匿名用户 2023秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:一般

省流:给分超好,给分超好,给分超好。

课堂:用ppt讲CSAPP,说实话很无聊,不如自己看书。由于本人本科学过CSAPP,因此基本上不去听课。今年应该没有签到/小测过。

作业:作业是CSAPP课后习题,每年题目都不变,答案也很容易找到。

实验:五个CSAPP配套实验,data(比特数),bomb(逆向分析),attack(缓冲区攻击),perf(代码性能优化),malloc(简易动态内存管理),总体来说难度较低,但还是需要花费一定时间,建议提前写。但需要注意bomb,根据学号,每个人拿到的题目不一样,网上没有直接答案,需要多留一些时间。

考试:闭卷,题目较难,考点刁钻细致,尤其今年信号量出了两道大题,而很多人没复习这块内容。

给分:给分很好。首先,公布的比例中,实验+作业占比就有60%了。考试成绩应该也全都捞了,本人考试确定做对的题只有2道,但最后总评90+。

总结:选就完了。

(最后修改于 0 0 复制链接

周学海

教师主页: 戳这里

其他老师的「计算机系统」课

吴俊敏 9.0 (1) 2021春

周学海老师的其他课

计算机体系结构 8.6 (30) 2024春 2023春...
计算机导论 2011秋
可重构计算 2019秋