有一隻猴子拿到了一本 RISC-V 指令集,
於是用 systemC 做出了一個具體而微的 CPU 模擬器。
如果時間允許的話就再加點 ONNC 吧。
看到標題一定都猜到了,相信大家對這幾道指令都不陌生,這次實作的就是 ANDI、ORI、XORI,對應到程式語言中,分別是 &、|、^ 的位元運算。 為了...
本來因為 RISC-V 指令規格書寫明 imm 全部都是 Sign Extended,決定全部都用 imm 表示,寫到一半發現這次的指令單純寫 imm 會不好理...
今天又發現新鮮的 Bug 拉!我養蟲,蟲養我,今天的我拯救昨天的我。 幸好 Code Base 還小,不然每天猴肉測試實在不是辦法,小猴子都快 Debug De...
每日一 Bug,其實作天就有發現 get_imm() 運算結果怪怪的,如果會 Sign-Extension,怎麼 get_imm(24, 20) 結果竟然是 3...
這次要實作的指令屬於 Explict Memory Access,也因為 Read 已經做出來了,這次也會順便把 Implict Memory Access 實...
昨天已經把 Memory Write 的功能做完了,今天稍微輕鬆一點,就來完成 Memory Store 指令吧。 剛剛又發現 LH, LHU Test Bin...
開始之前 既然 Load/Store 都寫完了,就來講講 Memory 吧! 相信看到這邊的讀者在學校都有學過或者接觸過計算機相關知識,課堂描述的角度不一定適合...
JUMP!沒有其他選擇,執行到這就一定得跳!這次有兩種不同格式的指令,分別是 J-type 的 JAL,以及 I-type 的 JALR。 另外要注意的是,如果...
親愛的,幫忙去超市買 1 顆蘋果回來,如果他們有雞蛋的話,買 6 顆。Simple logic problem that engineers should kn...
CPU 運作過程中很容易遇到需要等待的情況,例如 Cache Miss、Data Dependency等等。 為了隱藏等待造成的延遲,現代 CPU 可能會亂序執...