Another Little RISC-V ISA Simulator
Another Little RISC-V ISA Simulator(ALISS)是我為這次的30天挑戰的side project所下的標題,顧名思義,
主要的核心目標是要完成一個RISC-V的ISA層級模擬器,以C++進行撰寫,且這個模擬器必須是輕量的,並盡量能達到高效的目標。對標Spike做的100MIPS,我希望在接下來的二十天內所能完成的初版至少要能夠有20MIPS的速度,並會在後續繼續維護及優化。而若要以前面所提到的模擬器種類來進行區分,我們將目標訂為ISA模擬器,也就是"行為模擬器",因此並不會去模擬時序,但希望能保留將來能擴充時間模擬的彈性。
應用場景
目標是以完成的ALISS進行Linux的開機,目前想要實現的指令集為64bit的I、M、A等三個幾乎是最基本的指令集,並且不會支援MMU的功能。
架設Linux會使用Buildroot這套系統協助我們進行架設,使用內建的qemu64-nommu-defconfig並會參考mini-rv32ima的patch以及相關設定。
功能
對於ALISS本身,要具備以下功能
開發環境
對於開發環境,要具備以下功能
開發里程
額外目標
碎碎念 : 目前先簡單定下來整體的框架及想像上的實現方式,很多東西都是藉著這次機會去學習搭建及使用 (列出來之後心想,真的做得完嗎...)