Sebastian Rahn
Development of a Memory Management Unit and Hardware Extensions that Enable Linux on a Superscalar RISC-V Processor

Abstract
The Linux operating system has become an essential tool for user applications, software development, and research in the field of computer science. As an open-source alternative to commercial instruction set architectures (ISAs), RISC-V has gained significant attention, with various implementations demonstrating high-performance processors capable of running Linux. The Osnabrück RISC-V Out-of-Order Core, a superscalar soft-core designed for configurability and reconfigurability on FPGAs, offers the potential for higher performance compared to the more common in-order designs. However, the complexity of out-of-order execution presents additional challenges in the design and implementation process. Taking these challenges into account, this thesis focuses on extending the Osnabrück RISC-V Out-of-Order Core by implementing fundamental components necessary to enable Linux support. An overview of the RISC-V specification and an examination of existing open-source soft-cores identify the essential ISA requirements for Linux compatibility. The M extension for multiplication instructions is implemented and evaluated through performance tests, demonstrating a significant improvement in execution efficiency compared to software-based multiplication. The Zicsr extension, along with control and status registers, enables system-level privileges and trap handling, seamlessly integrated into the core’s out-of-order and speculative nature. A memory management unit supporting Linux’s virtual memory system is designed and integrated, incorporating translation lookaside buffers to accelerate address translation processes. The integration of these components is validated through functionality tests in a simulation environment and synthesized for FPGA implementation, which results are compared with high-performance, fully Linux-capable cores, providing insights into the requirements for comprehensive Linux support.