本論文的目的是為一個基於RISC-V指令集架構的開源碼處理器Aquila設計一個虛擬記憶體管理單元 (MMU)。Aquila支援RV32IMA指令集,也可以執行不需要MMU的即時作業系統核心。 然而,許多作業系統,包含了Linux,都有著支援虛擬記憶體的需求。由於Linux是最廣為採用的嵌入式作業系統之一,因此,在本論文中,我將為Aquila設計實作一個虛擬記憶體管理單元。並在實作完成後,我們會利用RISC-V官方的測試資料,配合Verilator模擬器來驗證我們所實作的Aquila加上MMU的RTL模型可以正確執行虛擬記憶體管理。此外,我們也使用Xilinx FPGA 開發板合成並測試整個系統,並與另一個開源RISC-V處理器Ariane做效能比較及分析。
The goal of this research is to design a memory management unit (MMU) for an open-source processor, Aquila, based on the RISC-V instruction set architecture Aquila supports RV32IMA instruction set and is capable of running real-time OS kernels that does not require MMU. However, many operating systems, including Linux, require virtual memory support. Since Linux is one of the most popular operating systems for embedded systems, therefore, in this research, we will design and implementation an MMU to enable virtual memory support for Aquila. The RISC-V official ISA test cases are used to verify the correctness of the proposed RTL model using the Verilator simulator. The design is also synthesized and verified on a Xilinx FPGA development board. Moreover, the performance of the proposed design will be compared against another open-source RISC-V CPU, Ariane.