Computer Architecture
Instructorchia-lin yang
DepartmentDepartment of Computer Science & Information Engineering
Credits3
Last Offered Semester113-2

Average Rating


 Quality
3.5
 Easy A's
3.5
 Freedom
2.5
 Workload
3.0

Class ScheduleSerial NumberCourse Number
Wed 7 8 9
18899CSIE3340

Quality

Easy A's

Freedom

Workload



📌 Reviews & Feedback
Good

Quality

Easy A's

Freedom

Workload



📌 Course Contents
Computing Platform & Evaluation Metrics
Instruction Set Architecture
Linker-Loader
Single-Cycle Datapath & Control
Pipeline
Memory Hierarchy
Virtual Memory
Multiprocessor

📌 Teaching Method
據說是從上一年開始「翻轉教學」,需要分組。
上課前要把教授先前錄好的影片看完,另外每個小組也需要提供小考題目。

上課分成三個部份:
第一部份是老師會先帶過這週進度的重點並用助教的程式(?)抽人回答問題,抽到發現人沒到的話似乎會被登記,不確定會有什麼影響。另外助教也會講解上週小考題目的解答。
第二部份是助教會公佈一些題目,會到小教室讓各組討論題目,題目應該只有部份是來自各組的出題。
第三部份是 NTU Cool 上的小考,小考題目基本上是從剛剛的那些題目裡面選兩題稍微修改。

📌 Course Materials
老師的投影片
課本是 Computer Organization & Design. The Hardware/Software Interface. RISC-5 Edition, David A. Patterson and John L. Hennessy

📌 Assignments and Exams
一個組語作業,三個 Verilog Lab,Verilog 的部份基本上在實做 CPU
期中期末考就是常見的那樣,據說有點像課本題目,難度普通

📌 Grading
20% Homework, including:
* RISC-V assembly programming
* CPU design Lab 1: Single cycle CPU (simple Verilog exercise)
* CPU design Lab 2: CPU pipeline
* CPU design Lab 3: Branch predictor
70% Exams
10% Class Participation (discussion & quiz)

然後是按全班比例給等第

📌 Reviews & Feedback
有鑑於更改上課方式後似乎沒看到心得文所以來分享一下。改成這種授課方式其實身邊朋友大多數都不喜歡,課前影片的份量其實不算少,大部分介於 1~2 小時之間,但上課時間並沒有縮短。錄影的品質有些不佳,有些剪接的部份並沒有處理好。在前幾次上課時老師要抽人回答的問題描述不是很精確,但被抽到的同學如果沒有給出她想要的回答的話感覺就有點不悅,可能會被紀錄。不過這種情況在後來有改善,老師說只要有回答就可以了,氣氛也變得比較好,有時候同學沒有講得很清楚老師反而會自己說出答案。另外抽人的程式感覺怪怪的,有幾個人被抽到了很多次,但也有些人整個學期完全沒被抽到過。

作業的部份如果沒有學過 Verilog 也沒關係,應該大部分的人都沒有學過,助教也會有個簡單的教學。基本上就是在接線,照著 data path 接出 CPU 就可以了。考試的部份中規中矩,不會太刁難,把投影片念熟,課本題目可以寫一下,應該成績就不會太難看。

分數的部份,會調,根據身邊的人看起來大概是往上調一個等第,A+ 比例約有 15%,跟 DSA, ADA, OS 那種只有 10% A+ 的課好很多了。

雖然我覺得這門課有些需要改善的地方,但修完還是可以讓我對電腦 CPU 的運作有更加了解。老師有提到不是每個人都會走這方面,但希望修完這堂課大家能記得寫出 cache friendly 的 code~

Quality

Easy A's

Freedom

Workload



📌 Reviews & Feedback
轉載自 PTT 作者 ID: fshjlin (廢渣)
哪一學年度修課:
110-1

ψ 授課教師 (若為多人合授請寫開課教師,以方便收錄)
楊佳玲 教授

λ 開課系所與授課對象 (是否為必修或通識課 / 內容是否與某些背景相關)
資工系 大三必修

δ 課程大概內容
Performance/Power/Cost
Instruction Set Architecture(ISA)
Linker&Loader
Datapath
Pipeline
Memory Hierarchy
Virtual Memory
Multiprocessor

Ω 私心推薦指數(以五分計) ★★★★★
★★★★

μ 上課方式(投影片、團體討論、老師教學風格)
因為疫情,今年進行方式是前兩節看預錄影片,第三節會去webex做QA+小考

σ 評分方式(給分甜嗎?是紮實分?)
Midterm 35%
Final 35%
Homework 15%
Lab 15%
基本上中規中矩、不硬不涼
筆者兩次段考都只比中位數高一點,作業有乖乖寫完
因為有bonus理論上homework+Lab的成績會被補滿,偏甜

ρ 考題型式、作業方式
考試題目大部分是理解投影片在講什麼不用背就可以寫出來的題目
作業題目今年HW1(Cost)跟HW5(Virtual Memory、Multiprocessor)是手寫,HW2
和HW3是簡單的組合語言作業(會實作簡單的迴圈和遞迴)、HW4是寫一個沒有pipeline的
CPU。Lab1基本上是HW4+pipeline、Lab2是Lab1+L1 Cache。

ω 其它(是否注重出席率?如果為外系選修,需先有什麼基礎較好嗎?老師個性?
教授建議先修SP和OS(也就是大二必修),筆者大二偷跑沒修OS併修SP,感覺上並
不影響,在有重疊的地方教授講的都滿清楚的,併修SP可以達到兩門課的內容相互呼應的
效果。需要的基礎不多,但可能稍微會寫程式和至少知道CPU是什麼東西會比較好(?)。如
果修過cyy計概(不曉得徐班有沒有上類似的東西)或是忠緯DSDL的話上半學期偏輕鬆。
上課內容滿清晰,投影片很好讀,基本上不用額外看課本或其他東西就能完成課
程。每次考完期考會有一個統一的考卷解析和閱卷時間,所以雖然Midterm答案很歪也不用
擔心分數會被黑掉
偏雷的部分是Lab1所提供的「不可改動」的程式碼當中有錯、Lab1、Lab2所提供
的初始化和範測不同,導致需要大量的時間debug,並謹記討論區永遠是資訊系作業不可分
割的一部份,務必每天檢查更新。

Ψ 總結
Loading比起大二必修來講應該減輕了很多,內容也不太像演算法課需要大量通
靈。建議本系大二如果課程上有餘裕的話都可以先修看看(。
外系如果想要了解電腦的運作方式的話,修這門課可以得到簡單的CPU怎麼運作
和一些關於CPU的效能要怎麼評估的知識,但相對演算法課來講可能比較難直接運用在其
他地方。

--

原文網址: https://www.ptt.cc/bbs/NTUcourse/M.1643204616.A.421.html

Quality

Easy A's

Freedom

Workload



📌 Reviews & Feedback
轉載自 PTT 作者 ID: vnt982856 (lack)
哪一學年度修課:

109-1

ψ 授課教師 (若為多人合授請寫開課教師,以方便收錄)

楊佳玲 教授

λ 開課系所與授課對象 (是否為必修或通識課 / 內容是否與某些背景相關)

資訊系大三必修

δ 課程大概內容

Course Introduction
Performance/Power/Cost
Instruction Set Architecture
Linker-Loader
Single-Cycle Datapath/Control
Verilog Tutorial
Pipeline
Memory Hierarchy
MultiProcessor

基本上大致對應課本的 1, 2, 4, 5, 6 章,但不包含章節裡的所有內容。

Ω 私心推薦指數(以五分計) ★★★★★

★★★★

η 上課用書(影印講義或是指定教科書)

Computer Organization & Design. The Hardware/Software Interface. RISC-
V Edition, David A. Patterson and John L. Hennessy

μ 上課方式(投影片、團體討論、老師教學風格)

全程投影片上課,老師會在投影片上畫圖或寫東西來做講解。
每堂課都會開放 slido 問問題,老師在上到一個段落後會回答 slido 上大家發
問的問題。
上課過程會錄影上傳 COOL,讓同學可以看影片複習課程內容,
儘管如此,老師似乎還是希望大家能來現場聽課。

σ 評分方式(給分甜嗎?是紮實分?)

HW *5 20%
Project *2 20%
Midterm 30%
Final 30%

但老師在學期末有特別說,分數對應的等第不一定會跟學校的標準一樣。
(本人的分數對應到的等第是跟學校標準一樣)

ρ 考題型式、作業方式

這學期的期中考很簡單,平均好像 80 幾,很多人 90 以上,有幾題都是從課本
習題出,
據老師說是她太忙了,助教出完題後她沒時間審題,導致考題太簡單。
期末考的難度明顯上升,但也沒到非常困難,
只要對課程內容有足夠的了解都能順利回答,平均沒有公佈。
考試不會考特別刁鑽或難記的東西(例如一些不常用的 RISC-V 指令),大致上
都是考觀念。

作業跟之前那篇評價文寫的一樣,只是從 MIPS 變成 RISC-V。
HW1 和 HW5 是課本習題,
HW2 是用 RISC-V 寫一個簡單的小程式(輸入兩個數字執行加減乘除),
HW3 是用 RISC-V 算一個 Recurrence Relation,主要是練習 Procedure Call

HW4 是用 verilog 寫一個 single cycle 的 CPU,要支援 RISC-V 的幾個指令


Project 可以 1 到 3 個人一組,都是寫 verilog。
Project 1 是將 HW4 的 CPU 改寫為 pipeline CPU,
Project 2 是將 Project 1 的 CPU 的 Data Memory 改成 Cache。

其中 HW4、Project 1、Project 2 會依序用到自己之前寫的 code。
助教在期中考前某一堂課花了約一個小時簡單講解 verilog,
就算當下不是太懂,一邊寫作業一邊摸索也不會太困難。

值得一提的是,老師在學期後半得知另一班的作業形式,發現另一班的作業似乎
更難,
因此老師有提到想提升這門課以後的作業的難度。
老師在 109-2 馬上又開了這堂課,希望下學期能有評價文來告訴大家作業是否
有改變。

ω 其它(是否注重出席率?如果為外系選修,需先有什麼基礎較好嗎?老師個性?
加簽習慣?嚴禁遲到等…)

老師不會點名,但會抽人問問題,如果抽到的人不在會登記,
但不清楚被登記後會對成績造成什麼樣的影響。

基礎的話,課程網上面是寫需要數位邏輯、C 語言、組合語言的 background,
但本人是外系來修,沒有學過數位邏輯和組合語言,甚至只會寫 C++ (?)
還是修得滿順利,給大家參考。
此外,在講 RISC-V 的時候需要知道 2's complement,
在講 Memory Hierarchy 的時候要知道 OS 會教到的 page fault,
但都不是太難的東西,真的不知道的話可以教到了再學,
而且老師上課的時候發現大家普遍都忘記什麼是 page fault 了,就又簡單講了
一下。

老師上課講解得滿清楚,就算當下恍神或沒聽懂,回去再看一次錄影也都能大致
看懂,
講到一半看到大家死氣沈沈的也會跟大家聊一下天,上課氣氛滿輕鬆的。

加簽的話,助教開了 google 表單讓大家填自己的學系和年級,再依順序寄授權
碼,
但本人大三,非電資學院、非雙輔生,還是加簽到了這門課,推測搞不好接近全
簽。

Ψ 總結

想學計結的話,這門課是個不錯的選擇,
作業、考試難度都適中,老師的講解也很清楚,
是一門有付出就會有收穫的好課。

--

原文網址: https://www.ptt.cc/bbs/NTUcourse/M.1612445835.A.422.html

Not Detailed Enough?