Unverified Commit ce29ae25 authored by danbone's avatar danbone Committed by GitHub
Browse files

Add execute flushing (#137)



- Fix pipeline flush mechanisms by removing inflight instructions inside
functional units, recovering the rename map, and adding trace rewind
functionality
- Add FlushCriteria class for requesting flushes to and from the
FlushManager
- Update FlushManager to handle and arbitrate between multiple flush
sources
- Add flush request port from ExecutePipe to FlushManager intended to be
used for mispredicted branches
- Delay completing instructions in ExecutePipe by a cycle to fix execute
flush race conditions
- Add branch identification methods for Inst
- Add test to send random flushes from the branch unit

---------

Signed-off-by: default avatardanbone <daniel.d.bone@gmail.com>
Co-authored-by: default avatarDaniel Bone <daniel.bone@imgtec.com>
parent 648a3166
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment