有一隻猴子拿到了一本 RISC-V 指令集,
於是用 systemC 做出了一個具體而微的 CPU 模擬器。
如果時間允許的話就再加點 ONNC 吧。
參賽目的 工作中實作 Client/Server 的過程中經常會遇到需要根據 URI 分派各種指令的情境。於是想起可能 Jserv 前輩分享過的 compute...
環境建立 先從這裡下載 SystemC 2.3.3 到目標資料夾下(或者從這裡下載其他版本)記得準備好 compiler(這邊使用gcc) 和 make,並在同...
CPU 是以 clock cycle 為單位,每一小段時間做一點事等等!我們一開始就沒提到過時間啊! 說的沒錯,就是那個開始和等等! start SystemC...
創世神創造了世界,還覺得不夠,又做了一顆月球。過了兩天覺得地球不夠圓,決定把存在月球的 pi拿回來。於是再打個響指! 這時候就輪到猴子來操心了。有了第一個基本模...
系列文章主要是為了練習規律產出,實驗性質比較重一點,內容會根據目前的反饋做出一點改變,歡迎感興趣的夥伴留言與交流。 簡介 RISC-V 是一個由柏克萊大學團隊主...
有看月球轉運站的夥伴應該有發現,隨著開發的進展,程式碼已經變得有點不好看了。今天就來對這段程式碼進行 Refactor,讓接下來的 CPU 開發能夠更輕鬆一點...
昨天已經把程式碼稍微整理了一下,分出兩大部分:處理器和記憶體,以及加上 Formatter 讓 Coding Style 能夠更一致。但在開始實作指令集之前,還...
原本記憶體部分打算在實作 Load/Store 的前一篇寫。但為了閱讀方便,調整順序讓接下來指令集的實作變成連續的章節。 P.S. 本來標題是 hart 之間的...
這次只有針對 RV31I 指令做解碼,原本希望能讓這次加入的 INSTRUCTION_DECODER_INTERFACE 更有擴充性,可以更方便的支援其他指令集...
第一道指令先從 Immediat 系列開始吧指令系列會依照時間安排增減速度,一方面是因為上一篇留下的技術債要想辦法 Refactor,另一方面是要留時間提前準備...