rrxv6 : scheduler

上次我們發佈 rrxv6 的文章,已經是 2021 年 12 月的事情了,已經是去年了,大家可能以為我已經棄更了?
其實沒有的,只是跟上次的 virtual memory 一樣卡關了。

1-2 月的時候,台北的天氣鳥得跟好市多的冷藏區一樣,冷就算了還天天下雨,起床之後在雨聲裡開工,中餐晚餐撐傘出去買飯, 在雨聲裡睡午覺,在雨聲裡說晚安,房間除溼開整天,到後來整個人都覺得不對勁了,還小病了一場一個星期捅了三次鼻孔; 二月俄烏又開戰幹普丁還我錢,有大事的時候真的會忍不住一直嘗試更新資訊,然後工作效率就降到低點QQ, 直到三月吸飽太陽能之後有好一點點。

...

書評 - 從<未竟的帝國>到<被隱藏的帝國>

書名 被隱藏的帝國:一部發生於「美國」之外,被忽略的美國史
原書名 How to Hide an Empire: A History of the Greater United States
作者 Daniel Immerwahr
譯者 林玉菁
出版商 臉譜
出版日 2021/03/11
ISBN 9789862358979
...

書評 - 隔離:封城防疫的歷史、現在與未來

書名 隔離:封城防疫的歷史、現在與未來
原書名 UNTIL PROVEN SAFE: The History and Future of Quarantine
作者 Geoff Manaugh, Nicola Twilley
譯者 涂瑋瑛、蕭永群
出版商 商周
出版日 2022-01-06
ISBN 9786263180680
...

rrxv6 : interrupt

故事是這樣子的,上一章的結尾雖然寫了:

下一步就可以開始初始化 kernel 的 process table 啦。

但事後發現,原來還有東西比建立 process 更重要的,那就是先把 trap 給建立好:

trap

...

rrxv6 : virtual memory

上次我們發佈 rrxv6 的文章,已經是八月的事情了,大家可能以為我已經棄更了? 其實這個小弟也有在認真反省,在我停更 rrxv6 這段期間剛好看到傳說中的 jserv 大神貼文:

到底高等教育出了什麼問題?為何很大比例的電機資訊畢業生,沒辦法堅持把事情做好?
思索九年,我想自己理解部分的原因:扎實地做事難以獲得短期的讚揚,而台灣許多人無法等到長期效益落實的那刻……。

想說靠北這不就是在說我嗎QQ,一直以來都沒把事情做好,像 ruGameboy 最後就被我棄更了,現在變成十八般武藝樣樣稀鬆只能混口飯吃。

...

書評 - 戰爭的滋味

書名 戰爭的滋味:為食物而戰,重整國際秩序的第二次世界大戰
原書名 Taste of War: World War II and the Battle for Food
作者 Lizzie Collingham
譯者 張馨方
出版商 麥田出版
出版日 2021-01-28
ISBN 9789863448457
...

Open FPGA 系列 - Nand2Tetris

終於來到我隱藏已久的終極目標了。 沒錯,其實我在拿到這片 FPGA,在想要做什麼的時候,經過一天得到的答案就是這個:Nand2Tetris , 用 FPGA 真的把這顆 CPU 給做出來,前面什麼 UART、HDMI、BRAM 都不過是前菜罷了,實際上我在下很大一盤棋
當然,因為我們用的是 verilog 的關係,我們不會真的從 nand gate 開始往上堆,而是用 verilog 內建的運算來實作, 所以 nand2tetris 第一、二章用 nand 弄出邏輯閘和加法器的部分就跳過,直接從 ALU 開始。

...

Open FPGA 系列 - Block RAM

這次的更新比較久一點,故事是這樣子的,在試完 HDMI 之後,我花了一點時間在試著連 FPGA 版上有實體 chip 的其他裝置, 包括:SDRAM、Flash 跟 SDcard。問題是這幾個都沒那麼好連,特別是沒有 LA 的狀況下根本就是瞎子摸象, 只能用 verilator 跑跑波型,波型對了放上去不會動你也不知道是什麼問題。

...

Open FPGA 系列 - HDMI

上回我們實作了 UART 的輸入輸出,這回就來挑戰板子上有附的另一個介面:HDMI,這個實作出來我們就有影像輸出可以用了呢。
不過因為 HDMI 的難度比起來上升了一個層次,這次我是直接用 icesugar-pro 的範例程式碼 改寫, TMDS 的部分則有參考網路上的 encoder

...

Open FPGA 系列 - UART

上一章我們打通了 FPGA 的開源工具鏈,接下來我們就能測試一下 icesugar-pro 有的介面, 首先實作 FPGA 還是需要有輸入輸出,否則也只是弄出一個無法互動的程式,而最簡單的輸出入介面,就當屬 UART 了。
icesugar-pro 的 github 上,也附上了一個 UART 的範例 , 會不斷對你的電腦輸出 “0” 到 “9”(然後這段 code 還有 bug XD),這篇我們就來寫一個有 tx, rx 的 UART 模組吧。

...