ruOoOep is an out-of-order processor emulator written in Rust. It can directly execute assembly code and shows the cycle by cycle result on the TUI. Also, ruOoOep provides an interface to easily add new assembly instructions. As a proof of concept, ruOoOep currently supports basic arithmetic and memory access instructions.
- Implements out-of-order execution based on Tomasulo's algorithm.
- Displays each cycle's execution results through a TUI, including register renaming in the register file, instructions in the reservation station, and instructions currently being executed.
- Provides an interface for easily adding new instructions.
- git
- cargo
- Clone the repository:
git clone https://github.com/justapig9020/rUOoOeP
- Run the emulator:
cargo run
This project was presented at COSCUP 2022. For more detailed information, please refer to: COSCUP 2022 Presentation (Chinese).
Currently, the project lacks:
- Branch instructions.
- GUI.
Contributions to these features are welcome! Feel free to open an issue or submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.