This is the book for writing a 64-bit RISC-V emulator from scratch in Rust. It shows us how to implement an emulator in 10 steps. You can run xv6, a simple Unix-like OS, in your emulator in the final step.
You'll learn the following basic computer architecture from making an emulator in Rust:
Basic RISC-V architecture
How to write code in Rust language
Virtual memory system
The source code is available at d0iasm/rvemu-for-book.
UART (a universal asynchronous receiver-transmitter)
PLIC (a platform-level interrupt controller) and CLINT (a core-local interrupter)
Virtual Memory System
Congratulations🎉 Now you can run xv6 in your emulator!