P121 adds a shadow one-entry ROB lifetime model. It still commits
architectural state through the existing in-order regs[] path; the
new record only measures physical-tag allocation, commit, flush, and
free timing.
check
result
Verilator build
PASS
BusyBox shell workload reaches P121-FILE-OK
PASS
ROB/PRF lifetime counters emitted
PASS
Hardened layout
NOT RUN
ROB / PRF counter
value
PRF allocations
59,182,360
PRF commits
59,182,181
PRF frees
59,182,360
max live physical registers
33
ROB allocs
59,182,360
ROB commits
59,182,181
ROB flushes
179
ROB busy cycles
83,705,603
ROB full-wait cycles
0
missing commit events
0
metric
P120
P121
shell window cycles
65,160,251
64,541,922
S_FETCH cycles
7,631,468
7,622,048
S_MEM cycles
27,805,129
27,719,218
This is still not out-of-order execution. It is the smallest passing
rollback model before a real rename/free-list/ROB experiment: allocate
at dispatch, free old tags at commit, and undo speculative mappings on
flush.