计算机组成原理
101016 计算机组成原理
一、总述
1. 教材
课程教材:
- 计算机组成与结构 第 5 版 王爱英 清华大学出版社
- 数字逻辑与组成原理实践教程 张冬冬 王力生 郭玉臣 清华大学出版社
(Tips: 主教材第 5 版于 2013 年出版,知识体系混乱,存在事实性错误,内容年代久远。书中“最新科技”停留在 DDR 3 256MB,USB 2.0,磁带、光盘存储器,固态盘 SSD 16GB,甚至认为“大容量磁带机具有极大的优势”,可见本书的知识水平停留在 2010 年左右 。已然不适用于当前计算机日新月异的技术迭代。故不建议进行除应付考试为目的之外的阅读)
自学用参考书目:
- 计算机组成与设计:硬件/软件接口 原书第 5 版 机械工业出版社 ISBN: 9787111504825
- 深入理解计算机系统 原书第 3 版 机械工业出版社 ISBN: 9787111544937
2. 作业
2018 级(疫情)
作业主要分为两个方面:平时作业与大作业。
- 平时作业主要根据上课内容或是 Mooc 内容选择,出自《计算机组成原理》
- 大作业为 Verilog HDL 编程
2018 级期末大作业为 单周期 31 条指令哈弗结构 CPU。
2018 级之前平时作业还由 mips246 上的内容有关。
可见对于 2018 级之前的年级,CPU31 只是期中的小实验。
申优需要使用编写的 CPU,运行 数字逻辑大作业。
但在 2018 级(无法下板),MULTU / MUL / DIVU / DIV / CPU54 均成为课设内容。
2020级(半疫情)
- 平时作业,出自课后习题(课本后面有答案,但 答案不一定正确 )
- 期中考试
- 期末考试
编程作业为课设内容,不占理论课成绩。在此省略不表,请移步隔壁课设查看。
3. 课堂
a. 签到
会通过微信或者 QQ "接龙"签到。
b. 上课提问与回答
上 Mooc 的时候,部分老师会根据所学内容,于课后提问。
回答采用“接龙”形式回答。
c. 作业布置
有些班级作业布置于微信群中,比较难翻。
有些班级布置作业仅仅是口头提醒,也有展示课件的。
d. 日常
4. 自学推荐
a. 网课
北京大学 计算机组成 陆俊林(节奏连贯明快,清晰易懂,适合初学。未涵盖本课程所有内容)
西安电子科技大学 计算机组成原理 车向泉(深入浅出,强推!!)
b. 书籍
本课程使用的教材质量一般,可参考《王道《计算机组成原理》考研复习指导》,《深入理解计算机系统》,《计算机组成与设计:软件/硬件接口》。
国内其他教材,如唐朔飞主编的《计算机组成原理》、袁春风主编的《计算机组成与系统结构》也可以参考。
5. 考试
(注:2018 级计组没有考试)
据 17 级学长学姐描述,计组考试试题大多出自于课程教材中。
- 对于期末时间比较多的同学,只要完全掌握课后习题精神,或者熟练背诵课后习题答案,考试不成问题;
- 对于期末考试比较紧,时间不够充足的同学,建议买到往年的 计组期末试卷,因为题目 80% 都差不多。这不是因为没有出卷子,而是因为从老师的角度来看,考卷上的就已经是重点内容了,怎么出也不会差太远。()
- 会出现很多考研原题
2020 级计组,期末考试分为选择题(25分)、填空题(15分)、简答题(30分)、综合题(30分),试卷可以见 doc 文件夹。
其中近一半为 2021 考研 408 的题目。
二、任课老师
(注:一定要把所有计组老师的课都听一遍,这样才会对计组这门课有自己的看法)
1. 00009 Hao
很喜欢 Hao 老师的一句话,“加油啊,同学们!同学们继续写好大作业,为真知识和好成绩而努力。”
上课态度散漫,连PPT上的内容都不完全能理解并讲授。
经常喜欢聊与课堂无关的话题,然后跳过重点部分,并且经常忘记开共享屏幕。上课进度是三个班之内最慢的 ,原因是他在第一章计算机发展历史上面花了两个星期的时间。然而就在这种情况下, 率先提出组织期中考试 ,并且强调还会有多次”集中练习“。对于学生完全放养,无论是实验、作业、期中考试(包括讲评)还是答疑,无一例外均由助教负责。在临近期末的课堂上创造了用 30 分钟讲完 3 个大章节,300 多页 PPT 的讲课记录。
另外, 只有这一个班的实验课是需要上课的,但是课上不会讲任何有用的信息 (虽然说2022年因疫情都是在网上挂着)。该班的 每一次实验,提交的截止日期都是在上课讲到这部分内容之前 ,这意味着 实验课内容完全是需要自学的。无论是实验还是理论内容,课后均需要花费大量时间进行自学,然而这个课本质量嘛,可以说,一言难尽……
2. 93736 Chen
Chen 老师除了上课,不会出现在任何地方。课设期间,09049 Zhang 老师班上使用 mips
网站检查代码,由于多周期 CPU testbench 出错,推迟了提交时间。
有同学试图联系课设期间 没有提供任何技术支持 的 Chen 老师,可惜即使过了原定提交时间,无论是私聊,还是群聊,都没有任何回复。
3. 09049 Zhang
没错,就是 数字逻辑 的 09049 Zhang。作为 同济大学电子与信息工程学院计算机与科学技术专业硬件组
的学科带头人,Zhang 老师的确在教学方面对自己有些要求,讲的东西也要多一些,要更贴合作业一些,但是不可避免地,Zhang 老师对作业的要求会更高一些( 仅有这一个班是OJ判题,其它都是手工批改 )。
比如 2020 年小学期的课程设计,委婉地说,唯有 Zhang 老师进一步教授了多周期 CPU 的知识,并且认为手下的学生需要进一步的指导。
文件列表
- 101016_计算机组成原理
- doc
- 网站使用
- 软件安装使用
- 作业相关
- 实验1_MIPS汇编实验.pdf
- 实验3_数据选择器.pdf
- 实验4_桶形移位器.pdf
- 实验5_寄存器堆实验.pdf
- 实验6_行为级ALU.pdf
- 实验7_cpu必要部件实验.pdf
- 实验8_乘法器实验.pdf
- 实验9_除法器实验.pdf
- CPU54
- 54条CPU指令集.pdf
- 54条测试COE
- 54条CPUtest_txt
- 10_and.hex.txt
- 10_and.result.txt
- 10_and.txt
- 11_beq.hex.txt
- 11_beq.result.txt
- 11_beq.txt
- 12_bne.hex.txt
- 12_bne.result.txt
- 12_bne.txt
- 13_j.hex.txt
- 13_j.result.txt
- 13_j.txt
- 14_jal.hex.txt
- 14_jal.result.txt
- 14_jal.txt
- 15_jr.hex.txt
- 15_jr.result.txt
- 15_jr.txt
- 16.26_lwsw.hex.txt
- 16.26_lwsw.result.txt
- 16.26_lwsw.txt
- 16.26_lwsw2.hex.txt
- 16.26_lwsw2.result.txt
- 16.26_lwsw2.txt
- 17_xor.hex.txt
- 17_xor.result.txt
- 17_xor.txt
- 18_nor.hex.txt
- 18_nor.result.txt
- 18_nor.txt
- 19_or.hex.txt
- 19_or.result.txt
- 19_or.txt
- 1_addi.hex.txt
- 1_addi.result.txt
- 1_addi.txt
- 20_sll.hex.txt
- 20_sll.result.txt
- 20_sll.txt
- 21_sllv.hex.txt
- 21_sllv.result.txt
- 21_sllv.txt
- 22_sltu.hex.txt
- 22_sltu.result.txt
- 22_sltu.txt
- 23_sra.hex.txt
- 23_sra.result.txt
- 23_sra.txt
- 24_srl.hex.txt
- 24_srl.result.txt
- 24_srl.txt
- 25_subu.hex.txt
- 25_subu.result.txt
- 25_subu.txt
- 27_add.hex.txt
- 27_add.result.txt
- 27_add.txt
- 28_sub.hex.txt
- 28_sub.result.txt
- 28_sub.txt
- 29_slt.hex.txt
- 29_slt.result.txt
- 29_slt.txt
- 2_addiu.hex.txt
- 2_addiu.result.txt
- 2_addiu.txt
- 30_srlv.hex.txt
- 30_srlv.result.txt
- 30_srlv.txt
- 31_srav.hex.txt
- 31_srav.result.txt
- 31_srav.txt
- 32_clz.hex.txt
- 32_clz.result.txt
- 32_clz.txt
- 33_divu.hex.txt
- 33_divu.result.txt
- 33_divu.txt
- 35_jalr.hex.txt
- 35_jalr.result.txt
- 35_jalr.txt
- 36.39_lbsb.hex.txt
- 36.39_lbsb.result.txt
- 36.39_lbsb.txt
- 36.39_lbsb2.hex.txt
- 36.39_lbsb2.result.txt
- 36.39_lbsb2.txt
- 37_lbu.hex.txt
- 37_lbu.result.txt
- 37_lbu.txt
- 37_lbu2.hex.txt
- 37_lbu2.result.txt
- 37_lbu2.txt
- 38_lhu.hex.txt
- 38_lhu.result.txt
- 38_lhu.txt
- 38_lhu2.hex.txt
- 38_lhu2.result.txt
- 38_lhu2.txt
- 3_andi.hex.txt
- 3_andi.result.txt
- 3_andi.txt
- 40.41_lhsh.hex.txt
- 40.41_lhsh.result.txt
- 40.41_lhsh.txt
- 40.41_lhsh2.hex.txt
- 40.41_lhsh2.result.txt
- 40.41_lhsh2.txt
- 42.45_mfc0mtc0.hex.txt
- 42.45_mfc0mtc0.result.txt
- 42.45_mfc0mtc0.txt
- 43.46_mfhi.mthi.hex.txt
- 43.46_mfhi.mthi.result.txt
- 43.46_mfhi.mthi.txt
- 44.47_mflo.mtlo.hex.txt
- 44.47_mflo.mtlo.result.txt
- 44.47_mflo.mtlo.txt
- 48_mult.hex.txt
- 48_mult.result.txt
- 48_mult.txt
- 49_multu.hex.txt
- 49_multu.result.txt
- 49_multu.txt
- 4_ori.hex.txt
- 4_ori.result.txt
- 4_ori.txt
- 52_bgez.hex.txt
- 52_bgez.result.txt
- 52_bgez.txt
- 54_div.hex.txt
- 54_div.result.txt
- 54_div.txt
- 5_sltiu.hex.txt
- 5_sltiu.result.txt
- 5_sltiu.txt
- 6_lui.hex.txt
- 6_lui.result.txt
- 6_lui.txt
- 7_xori.hex.txt
- 7_xori.result.txt
- 7_xori.txt
- 8_slti.hex.txt
- 8_slti.result.txt
- 8_slti.txt
- 9_addu.hex.txt
- 9_addu.result.txt
- 9_addu.txt
- CP0test.txt
- CP0测试说明.docx
- cpu指令测试指南.pdf
- CPU31
- 31条指令测试COE
- 31条指令单元测试coe
- 自选集成测试coe
- 网上提交测试所用coe
- 31条CPU后仿真和下板说明
- 31条指令测试TXT
- _1_addi.txt
- _1_addiu.txt
- _1_lui.txt
- _2_add.txt
- _2_addu.txt
- _2_and.txt
- _2_andi.txt
- _2_lwsw.txt
- _2_lwsw2.txt
- _2_nor.txt
- _2_or.txt
- _2_ori.txt
- _2_sll.txt
- _2_sllv.txt
- _2_slt.txt
- _2_slti.txt
- _2_sltiu.txt
- _2_sltu.txt
- _2_sra.txt
- _2_srav.txt
- _2_srl.txt
- _2_srlv.txt
- _2_sub.txt
- _2_subu.txt
- _2_xor.txt
- _2_xori.txt
- _3.5_beq.txt
- _3.5_bne.txt
- _3_j.txt
- _3_jal.txt
- _4_jr.txt
- cpu指令测试指南.pdf
- 使用帮助.txt
- 31条指令CPU实验指导书和网站提交说明
- CPU31验收说明-2019-5-9
- 31条指令测试COE
- 学习考试
- template
- tools
- Mars
- autotest
- doc