iT邦幫忙

2021 iThome 鐵人賽

2
Software Development

猴子都寫得出來的 RISC-V CPU Emulator系列 第 31

以終為始

曾有前輩說過,要以終為始。
程式結束在哪,就從那邊開始追。

睡了兩天,就在禮拜一列下想做的事情,
接著開始維護的工作吧!

TODO

github 頁面 Tag: forever

可能有人注意到,
猴子前已經把 TODO List 更新上去了,
也給了一個簡單的使用說明,歡迎有興趣的大家幫忙提 issue 或一起維護。

最主要分成以下四類:

  • 使用者相關功能
    • 支援指定 Binary File Path
    • 自動設定 Program Counter
    • 簡化 Build 流程
    • 增加更多範例程式
    • 增加 Code Stream Analyze 的相關範例 (預計用機率的角度進行解讀)
  • 維護
    • 重新設計更有彈性可擴充的 Decoder 和 Executor
    • 新增單元測試 (預計是用較為熟悉的 Google Test)
    • 把 Console 從 Bus 獨立出來
  • 新功能
    • 新增 Code Stream Analyze 相關功能
    • 新增其他 External Device
    • 支援更多 Extension
    • 支援 Interrupt
  • 修 Bug:
    • Logger 在 src/dist register 相同時會用錯數值
    • Logger 印出指令沒用到的 register 要為 0

後記

這段時間擔任 Projct Owner ,
每天隨著進度與觀察讀者反應,重新規劃目標與發布內容,
看起來說歷史故事、決定架構的思考過程、和解決問題的過程比較受到歡迎。

擔任 Scrum Master,觀察並維持健康的團隊,
適時的安排團隊活動與及時阻止不健康的長期加班(笑。

擔任 Developer,每天都要在專案進度和追求完美的工匠精神之間做出取捨,
時程到了,但還不是放棄的時候,
欠下技術債務,代表的是扛起償債的責任繼續前進,
蘭尼斯特家的猴子有債必償。

人力有限,需求無窮,
嘗試不同的做法,觀察回饋,
並對各個任務目標做出預估並取捨,是每個團隊必要的任務。

事情做之前沒人知道結果是什麼,
就像 Pair Programming 要做的是相信並陪伴夥伴一起嘗試,
分享自己並公開感謝夥伴的努力,信任並一起邁進的氛圍才會在團隊中漸漸擴散。

這段旅程的開始,
一部分是挑戰自己的基礎功夠不夠紮實,
一部分是想知道待在 Agile Team 學到的能力到底能走到多遠。

這段時間,從生疏到步入正軌,
從前期規劃到開始嘗試有挑戰性的項目,
希望記錄下來的過程能幫助到大家。

還有好多夥伴的優秀好文

EN,很感謝幫忙在 RISC-V 社群上推廣大家的文章,
猴子也從微自幹的旅程中學了幾招,
這次鐵人賽一次挑戰兩個主題,果然是真·時間管理大師!
經典語錄:

微自幹的旅程沒有結束,但是每日連載的部分先不要。

高魁良,四屆鐵人,猴子從 2017 就拜讀前輩的文章,
今年才半隻腳踏在前輩的足跡上,也感謝前輩閱讀並在文末提及小弟的拙作,
甚感榮幸。
很佩服前輩在參賽之餘,也大量閱讀、分享鐵人賽的文章,
並與為了繁體中文社群的發展做出行動,
結論與展望(二)中提及文化入侵的部分有相當的認同。
經典語錄:

過度引用簡體社群的翻譯,是我們這個 branch(正體中文)的瓦解的病徵。

int10h,經常活躍在社群上,提供很多很棒的文章分享,
在猴子撰文的時候也因此受益,發現一開始參考的硬體實作是第一代,
作者在第二代加入了 Score Board 亂序執行,也有指令模擬器,
猴子好好的照抄參考了一番,真香!
有幸參與過幾場新竹碼農的活動,聽了些八卦,
非常感謝這位願意熱情分享知識的鐵人賽夥伴,
請務必好好保重身體!
經典語錄:

Alpine Linux Porting (1.9999)

ycliang,十分用心的整理了許多 Linux 的文件,
提及很多重要的觀念,例如 這篇
在 Cache 和 Memory Mapping 的部分整理的十分詳細,
選文的主題也很吸引人,
幾次看到一半想深入探究才猛然想起要趕自己的文章,
恭喜完賽!

juck30808,數據分析真的很有趣,
這次的系列文編排也是從看過的 Youtuber 學習,
從前期的嘗試不同風格到後期開始挑戰不同內容,
也有發現前期和後期的觀看有不同的分布特性,
可惜目前只有觀察,沒有紀錄數據並分析。
非常感謝你的留言,
猴子最近在執行一周一間拉麵店的計畫,
這次的結尾,也是本系列文的唯一的圖片,
就讓猴子為你獻上這個月最推薦的拉麵吧!

還有很多鐵人們的文章,
目前光是列出來的都還沒讀完,
不管是猴子已經訂閱的、還沒訂閱的,接下來也會一一拜讀,

Scrum Master 又要抱怨猴子加班了,
大家晚安,明年鐵人賽見!

最後的最後

與 RISCV-SIM 一樣未完結的,還有猴子的洗腎拉麵之旅,
歡迎大家推薦自己心中的第一名!
P.S.突然好想念新竹的寫樂阿...
https://ithelp.ithome.com.tw/upload/images/20211019/20140342HvpudxXZy9.jpg
https://ithelp.ithome.com.tw/upload/images/20211019/20140342L82D5AcJEq.jpg


上一篇
Hello: 真的哈囉
系列文
猴子都寫得出來的 RISC-V CPU Emulator31

2 則留言

1
高魁良
iT邦新手 4 級 ‧ 2021-10-19 08:08:41

恭喜完賽!別稱我前輩,一招半式賣弄於江湖而已...

多虧有你這系列,這一屆的鐵人賽的 RISC-V 光譜因此更加廣泛了。繼續一起努力,把 RISC-V 架構之美推得更遠吧!

hsufit iT邦新手 5 級 ‧ 2021-10-23 23:13:23 檢舉

好!
感謝你的肯定。
開發 Emulator 真的很好玩,
我會繼續維護下去的!

1
EN
iT邦研究生 2 級 ‧ 2021-10-19 10:22:49

恭喜完賽,隱家真好吃 QwQ

看更多先前的回應...收起先前的回應...
hsufit iT邦新手 5 級 ‧ 2021-10-23 23:30:21 檢舉

真的!
香味濃、麵Q、連蛋都很好吃,
再訪名單+1~

謝謝你啦!
本來只是默默的一篇開發紀錄,
你分享之後就熱鬧了起來 XD

也很期待閱讀自虐病友團的 clean 系列和 obsidian 系列文,
以前有用過 Obsidian,
蠻喜歡作者在私有軟體和自由開放之間做出的取捨,
可惜當初整理的資料不是乾淨的樹狀圖,
連結圖最後變得很難管理,只好回頭用便利貼筆記,

距離上次讀 clean 系列也有一兩年,
這次來試試看用 obsidian 整理 clean 系列文好了
(自虐待辦清單+1)

EN iT邦研究生 2 級 ‧ 2021-10-24 22:57:34 檢舉

hsufit
我也還在等團友把 clean code 的部分補完 XDDD
如果您有拉麵口袋清單也可以交流一下~!

hsufit iT邦新手 5 級 ‧ 2021-10-31 22:15:41 檢舉

目前會推的還有墨洋和柑橘Shinn。
墨洋的海鮮湯頭很棒,叉燒飯也好吃,
而且只要拿號碼牌就可以去隔壁逛書局,
大加分!
柑橘Shinn也好吃,湯頭的香味很有衝擊性,
麵條也夠硬,很棒!
但運氣不好可能要排兩小時,
水果切片記得別放太久,
不然湯頭味道會變得苦苦的XD

其他的大部分都是某一項很有特色,
可惜綜合起來沒有上面那三家這麼好,
有興趣的話可以私訊或者FB敲我~

EN iT邦研究生 2 級 ‧ 2021-11-07 16:36:53 檢舉

hsufit
柑橘大推!但是我覺得份量太少了吃不飽 QQ
墨洋的話上次抽號碼牌因為要等一小時半以上就放棄了,改天再去挑戰看看 XDDD

我要留言

立即登入留言