There are several microarchitecture design choices and advanced features involved in our RISC-V out-of-order processor:
Intel P6-style register renaming
Two-way superscalar
Early branch recovery
Next-line instruction cache prefetching
Gshare branch predictor and branch target buffer
Return address stack
Store queue with store-to-load forwarding
Non-blocking writeback data cache
Our processor was successfully able to pass all instructor test cases and synthesize at a 40 MHz clock frequency.
Below is our performance relative to the class: