P121 grew the P120 PRF sketch into a one-entry ROB lifetime model. The
important part is still negative space: no architectural behavior
changes, no out-of-order execution, no scheduler. The record allocates a
new physical tag in S_EXECUTE, keeps the old tag in a ROB-shaped slot,
frees it at S_WB commit, and rolls the mapping back if a trap/flush
arrives while the slot is live.
The BusyBox shell workload passed:
P121-FILE-OK @ cycle 218,473,688
post-load cycles : 218,473,545
shell window : 64,541,922
instr retired : 86,265,218
CPI : 2.5326
The new counters are the reason for the rung:
PRF allocs : 59,182,360
PRF commits : 59,182,181
PRF frees : 59,182,360
max live PRFs : 33
ROB allocs : 59,182,360
ROB commits : 59,182,181
ROB flushes : 179
ROB busy cycles : 83,705,603
ROB full waits : 0
missing commits : 0
So the one-entry model is internally balanced: commits plus flushes explain frees, and no writeback tried to commit without a shadow ROB entry. The next useful backend rung is a tiny multi-entry ROB/free-list sketch, because only then will live physical-register pressure rise beyond the one-in-flight shape.