Fw: [心得] 計算機結構 蔡仁松
※ [本文轉錄自 candog 信箱]
作者: candog.bbs@bbs.cs.nthu.edu.tw ("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