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:danbone <daniel.d.bone@gmail.com> Co-authored-by:
Daniel Bone <daniel.bone@imgtec.com>
parent
648a3166
Please register or sign in to comment