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

User/chiehen

學歷

  • 成功大學 電機工程系110級(2017-2021)

聯絡資訊

  • email: hce880123@gmail.com
  • github: chiehen

2021春季班 個人評量

作業及筆記

所見所聞心得

  • 當初是聽到同學的推薦,因此對這堂課感到好奇,雖然自知自己的實力很不足,但還是抱持著希望自己能有所進步的期待修了這堂課。
  • 我覺得在這堂課上覺得最有收穫之一的點是,會知道在作業系統、演算法、以及資料結構所教的程式,他們在實務上是怎麼被應用和重要性是甚麼,他們怎麼影響效能和空間利用性,以及我們該如何去測試。
  • 在這堂課中主要學習到的是C語言中我之前從未搞懂的部分像是指標、bitwise operation、alignment 之類的
  • 像是透過了解二補數及bitwise操作,若要對64 bit 的 integer(n) 取絕對值,則可以使用無分支的 ((n >> 63) ^ n) - (n >> 63),這樣以來因為消除了分支,所以在運算時不會因為數值不同而有所不同,因此能對利用時間的安全攻擊進行預防。
  • 而上了這堂課才知道有data alignment 這個議題,因為CPU 抓資料時並不是一個byte一個 byte 抓,而是一次抓4 byte(或在64位元上是8 byte),因此在如果沒有做 alignment 的話會導致CPU 存取便慢影響效能。此外,因為硬體發展,cache的行為也愈來愈重要,因此像在我所負責的期末專題中的ringbuffer也對ringbuffer的成員進行cache line 的alignment,以在執行時期減少cache miss。

自我評量分數 (1 到 10 級分)

7級分。在學期初剛開始時有盡力的寫作業和看教材,但隨著教學內容日漸變難,便開始有點逃避,就沒有花同樣多的時間在這堂課,或者有時候只想看教材而不寫作業。因為對於自己來說修這堂課作為想成為工程師的我有很大的收穫,也想鼓勵自己沒有因為這堂課的評價很難就選擇不修有意義的課,所以給自己略高於及格的7分。