分享到plurk 分享到twitter 分享到facebook

User/millaker

自我評量

分數: \[\sqrt[5]{5 * 7 * 10 * 10 * 10} = 8.1\] \[1 + \lfloor{8.1}\rfloor = 9\] 整體分數 = 9

成果發表和貢獻 (5/10)

  1. 修正 《Demystifying the Linux CPU Scheduler》第一章錯字,因為老師的書籍沒有公開且修正方法是口頭告知老師,所以沒有證明
  2. 修正 openSBI 文件錯字,commit 0e45b63

作業/隨堂測驗 (7/10)

  1. 作業一
  2. 作業二
  3. 作業三 ttt 部分
  4. 作業四 在訂正前幾周隨堂測驗時,都有嘗試以數學證明或做相對應的測試程式,也有使用 perf 做分析。另外也有將 cpython 中 sort test 移植使用 C 語言實作。這幾個作業我覺得算是在我進入研究所之前,讓我知道真實世界的研究、分析是如何進行的,就算未來研究的目標可能不是軟體,仍然可以套用。

期末專題 (10/10)

開發紀錄 做了期末專題才知道真實世界的 CPU 是如何和作業系統溝通,也學到先前完全零概念的作業系統啟動流程。這個專案很像我大學的總複習,從計算機架構、計算機微架構、verilog RTL 實作、C語言、組合語言,若任何一個部分不熟專案在運到問題時都會窒礙難行,很難快速聯想到哪裡會有問題。經過這次專案,之後研究所要做 CPU 架構、微架構的研究能夠透過這次專案的經驗實作出 FPGA emulation demo 的成品。

與授課教師的互動 (10/10)

一對一討論時段: 5月 2日 (星期四)⋅上午11:00 - 11:30 整學期的課程,包括星期二實體上課和星期四線上上課我沒有一次缺席,被老師點到的次數很少但是每次老師在問其他同學問題時(尤其是剛開學)我都有跟著思考並嘗試回答。學期中老師曾問我和學長 同步及非同步的區別,我有查看電子學課本嘗試回答,筆記連結, Propagation Delay 部分。

所見所聞所感 (10/10)

這學期的作業和小考訂正讓我第一次體會到數學和程式碼實作的連結,若要加速二進制電腦很吃力基礎運算像是除以3或是除以10,需要利用二進制數值位移的特性和數學證明才能得出較快的算法 第四週測驗二,而且最後還要進行實驗驗證。對其他人很簡單的數學我花了3天才訂正出來,讓我意識到我也能完成證明以前覺得不可能的數學。到學期中課程進入並形程式設計,我閱讀atomic 操作和 acquire-release 和 不同種 memory model,雖然我是電機背景比起程式設計更熟悉處理器架構,但也讓我學到現代處理器設計考量決不會是像計算機架構參考書寫的一樣只是在加速單核心性能。至於期末專題,像是上面期末專題分項寫的,我覺得很像是總複習但同時也讓我第一次知道 Linux 啟動流程所需要的各種配件 (bootloader, SBI, Kernel startup code, Device tree… ),在半年前我也很難想像我可以在COSCUP上公開發表我做的專案。