Skip to content

[LSQ] Add "fallback issue" logic to prepare for approximate address comparison#760

Open
MaxWipfli wants to merge 11 commits intomainfrom
mwipfli/lsq-fallback-issue
Open

[LSQ] Add "fallback issue" logic to prepare for approximate address comparison#760
MaxWipfli wants to merge 11 commits intomainfrom
mwipfli/lsq-fallback-issue

Conversation

@MaxWipfli
Copy link
Collaborator

@MaxWipfli MaxWipfli commented Mar 4, 2026

This change adds a secondary "fallback issue" path to the LSQ for both loading and storing.
This fallback path runs in parallel to the regular issue path, and guarantees that the oldest pending memory operation (load or store, whichever is older) is issued when possible (i.e., the operands are valid).

While this does not currently change the behavior of the LSQ, this functionality is required as soon as we introduce approximate address comparison (which can cause "false conflicts", where memory operations are deemed unsafe to issue despite having no conflicts).

There are separate flags for fallback load issue and fallback store issue. We do not expect to need the fallback store issue path, as the fallback logic is only required if the approximate address comparison can cause false conflicts even if the set of addresses it considers is empty, which will not be the case for stores. We might need fallback load issue, if we share sets between multiple loads, so the first load could be blocked on a conflict with a later store. (This is not a problem for stores as we can only ever issue one store, so there is no need for sharing sets.)

TODO:

  • Thorough testing.
    • with addr_same_pcomp(i,j) = 1,
    • with fallback issue enabled/disabled,
    • with pipeline stages enabled/disabled.

@MaxWipfli MaxWipfli force-pushed the mwipfli/lsq-fallback-issue branch from 10c2a95 to b23edfc Compare March 6, 2026 16:39
Copy link
Collaborator

@murphe67 murphe67 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pretty short review as a first heads up will look properly again later!

Thanks again Max! :)

@MaxWipfli MaxWipfli marked this pull request as ready for review March 9, 2026 13:54
@MaxWipfli MaxWipfli force-pushed the mwipfli/lsq-fallback-issue branch from b23edfc to 4c3b8dc Compare March 10, 2026 09:07
@MaxWipfli MaxWipfli force-pushed the mwipfli/lsq-fallback-issue branch from 6c596f8 to b7e5617 Compare March 10, 2026 15:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants