Improve the core's performance
No due date
60% complete
This milestone is for delivering the promised performance advantages of out-of-order processors. The most critical tasks are:
- Improve fetching performance. Probably the best solution would be to introduce an instruction cache, which would communicate via Wishbone bus using bursting.
- Implement a non-trivial load-store unit, which queues and reorders loads…
This milestone is for delivering the promised performance advantages of out-of-order processors. The most critical tasks are:
- Improve fetching performance. Probably the best solution would be to introduce an instruction cache, which would communicate via Wishbone bus using bursting.
- Implement a non-trivial load-store unit, which queues and reorders loads/stores to achieve higher performance.
- Add speculative execution. We need to stop stalling at jump/branch instructions. At first, we can use the trivial strategy of "always predict not taken".
- Add superscalar execution. This is factored out to another milestone, https://github.com/kuznia-rdzeni/coreblocks/milestone/8.
- Measure core IPC (instructions per cycle) for various benchmark programs.