You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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
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.The text was updated successfully, but these errors were encountered: