Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More registers required to rename all micro-ops than possible causes stalling #400

Open
JosephMoore25 opened this issue Feb 23, 2024 · 0 comments
Labels
0.9.7 Part of SimEng Release 0.9.7 bug Something isn't working

Comments

@JosephMoore25
Copy link
Contributor

Setting register count config parameters to a low value (usually 37 or less for GP or FP, but could be much higher) while micro-operations are enabled can cause the simulation to not progress. This leads to a memory leak, but is not caused by one.

This is an unlikely case for a realistic CPU design, hence not finding this until now.

The issue occurs when we have an instruction with micro-operations that require more physical registers of a specific type to rename than we have after architectural registers (uops required > physical registers - architectural registers). A solution to this would be to halt and provide a useful error when we detect an instruction has more micro-operations of a given type than the spare registers of the same type, stating that the chosen architecture can not support the micro-operation setup. This is a very similar fix to #399 and can likely be merged.

@JosephMoore25 JosephMoore25 added bug Something isn't working 0.9.7 Part of SimEng Release 0.9.7 labels Feb 23, 2024
@JosephMoore25 JosephMoore25 changed the title More registers required to rename all micro-ops than possible More registers required to rename all micro-ops than possible causes stalling Feb 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.9.7 Part of SimEng Release 0.9.7 bug Something isn't working
Projects
Status: ToDo
Development

No branches or pull requests

1 participant