作者candog (怕热的肥宅)
看板NTHU_Course
标题Fw: [心得] 计算机结构 蔡仁松
时间Wed Feb 15 12:31:56 2017
※ [本文转录自 candog 信箱]
作者:
[email protected] ("FireBolt")
标题: [心得] 计算机结构 蔡仁松
时间: Wed Feb 15 01:35:33 2017
作者: flere (小羊) 站内: nthu.course
标题: [心得] 计算机结构 蔡仁松
时间: 2012/07/05 Thu 19:08:01
课名: 计算机结构 蔡仁松
科号: 10020CS 410001
老师: 蔡仁松
课本: David A. Patterson and John L. Hennessy, Computer Organization and
Design, Fourth Edition, 2008
课别: 资工系必修、电资院学士班核心选修
学分: 3
凉度:★ (每堂课点名,点名两次未到就....掰掰了> <
甜度:
小考 : ★★★★★ (几乎只要有写不管对错都会有分,不过是看助教是谁啦~
project : 因人而异,底下会介绍~
建议先修课程:大致上就是逻辑设计这门课了,不过影响不会很大,但一定要会C/C++!!
课程内容\简介:
这边我就以一学期3次project的方式来划分好了~
第一个project :
这一个project是用上课老师所教的内容
用C或是C++写一个模拟器
模拟的内容老师几乎都会提到
第一次是单纯的single cycle的simulator
内容是你要读取一个bin档
然後32 bit一组一组去解析它的内容
比如说你解析出了 add register[2] = register[3] + register[4]
那你就把你[3] + [4] 的答案放进[2]里面就好了
然後每解析一串就把所有的register印出来就可以了
老师上课会教32bit要怎麽解析,其实很简单就是查表而已
所以不用太担心会做不出来~
第二个project :
第二个project稍显复杂
主要是做pipeline的过程
什麽是pipeline呢?
说一下老师上课的例子~
比如说你现在要洗衣服,烘衣服,收衣服,
那你第一个人收完衣服後,第二个人才开始洗衣服,这是project1
那如果第一个人洗完衣服,在烘衣服的时候,洗衣机是空的
这时第二个人紧接着就开始洗衣服,可以省下很多时间
做出这样的行为就是project2
也就是说你可以把一个指令分成
1. 抓指令
2. 解析他
3. 运算他
4. 抓取记忆体的值
5. 存取
(这次project有偷吃步的地方啦~
(虽然要求分成5个cycle,不过每个人在哪个cycle做什麽其实不太依样
(像我都会偷偷先把一些东西做完丢到後面的cycle去处理
(我就在一开始进来的地方,把全部要用的东西全部做完,後面的cycle就变得超好写: )
之类的,然後分段去把它做完!
这就是project2啦~
我这边是简述啦,但她其实有很多细节要处理 (hazzard
不过老师也都会提到~
第三个project :
这个project是base on第一次project,
也就是你第一个如果没做出来,这个就会GG了!!!
第一个我们在抓取指令,抓取register值的时候
都是直接抓,直接使用
而第三次project就引进virtual memory的概念了
他有点难以解释,因为很复杂....
不过这边会遇到最大的麻烦是:
老师在上这部分的内容时,大家都还在做project 2
差不多那时候快deadline了
所以你同时需要handle project 2
还要把project 3的东西学起来!
这次project也有偷吃步的地方啦XD
像我们队是真的把该做的部分,资料怎麽跑全部做出来....
但是你也可以观察助教想要的答案
然後会发现,其实只要记录一些细节,用蒜的就会有答案了
会变得简单很多!!(别人说的XD
上课方式:
老师会把一星期3堂课延成一星期4堂课欧~
然後会在5月底前就把东西全部教完~!
是用PPT上课
所以其实教的速度会满快的!!
然後会有小考~
我们这学期就考了9次
基本上都是老师教过的东西!!
只是就看你有没有时间去复习他> <
助教改得很松啦,老师也会视情况把小考的分数调成120或别的比较高的分数
一考完老师就会检讨
请同学上去解之类的~
不过比较不好的地方是
他就算发现大家不怎麽会
也不会花时间去重奖就是了XDD
因为速度很快
所以上课千万不要恍神....
有一次我恍神了不知道多久(好像是睡着了
结果他就讲完一半的PPT了....OAO
最惨的是他说下礼拜要小考> <
给分:
小考25%,有念有分,没念到的部份我乱写也有分....基本上算很甜: )
点名5%,2次没到就明年见了> <
project 70% (20,25,25)
我不知道去年有没有
可是今年期末还有给2个bonus
一个5% 写SPEC~就是一些规格上的东西而已
bonus2我找不到配分= =
不过应该不少就是了,也是写code~
接下来我介绍一下project吧~
project主要就是你要照助教的要求
写出一份code
跑过助教的testcase
然後你要上传一份testcase
用来测你同学写的code对不对....
我觉得这给分方式是这堂课最邪恶的地方了....
100分里面分成
1.report 20%
2.你的测试资料去测别人的,测爆了几组 30%....
3.你的code对了多少组(助教+同学)的测试资料 50% (20,30)
也就是说根本没有一个方法可以让大家都开心拿高分!!
当你拿到了testcase的分数 表示 有人的code正确性被扣分了!!
所以50个人修总分5000分的话
差不多最後加起来只有3000分不到吧....
不过两个人一队,可以跟认识的几个人在组起来
一起研究要怎麽做,比较不会两个人陷入死胡同
然後朋友间其实也可以互相测试彼此的testcase确保一定分数
恩....很邪恶的配分> <
要修的话要承受一定程度的心理压力
一个project大概都多大呢~?
每个人写的其实长短不一
我写第一次 400 行不到
第二次 800行不到
我队友写第三次 差不多900行
找bug会很刺激XD
老师的喜好、个性:
老师人很随和~看起来就人很棒
母亲节时还带了一堆卡片一人一张
要我们写完後给他
他会帮我们寄回家XDD
我妈还真的收到打电话跟我说谢谢XD
老师应该不喜欢当人
因为他都会调小考总分
而且还改很松
最後还出了两个bonus
恩人很好: )
给加签吗?
应该不会遇到要让你加签的状况XD
总成绩/班上排名:
97.580721 / 1 (自己看excel算的排名应该没算错啦XD
90分以上的有10个~(10/59)
之後分布图出来後再把图贴出来: )
推荐这门课吗? :
另一班是黄婷婷老师开的
蔡老师的优点是
1.没有期中期末,不会说因为考试不小心没考好就拿不到A+
2.小考满甜的
缺点是
1.有3次project,会有进度压力(都可以做1个月左右
忙也就死线前一个礼拜而已
另一班我知道最大个缺点就是你上课准时去会没位置没讲义....
因为人太多了Orz
所以整体来说满推荐仁松老师的: )
--
┌─│┌┌─┌─╮─┬┌─╮│ ┌─ telnet://imaple.tw 枫
├─││├─├┬╯ │├─││ ├─ IAS_EverTale 桥
┌└─└╯└─│╰ ││ ╯└─└─故 事 接 龙 板┐驿NAYURI
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 站
◆ From: flere从180.177.7.80
△ TK421:
推这个在joke版拿过XX的flere XDDDDDDD 07/05 20:17katn
还有你推蔡仁松真的是很刺激... 神经太大条的人别轻易
尝试
△ ex61999:
推高手,推母亲节卡片~ 07/05 21:24VQdv
△ peach811215:
推这只小羊。 07/06 15:21ggyD
─ jim2972000:
推小羊www 07/06 19:49lebk
△ v20026209:
去年BONUS是用ARM架构重写project1&2 07/30 22:13lers
△ SLMT:
室友推 09/12 10:52olSe
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: candog (140.114.32.68), 02/15/2017 12:31:57