P120 adds a shadow integer physical-register-file rename map. It does
not replace regs[]; it only measures source-read pressure and how many
integer destination writes would allocate new physical tags.
check
result
Verilator build
PASS
BusyBox shell workload reaches P120-FILE-OK
PASS
PRF sketch counters emitted
PASS
Hardened layout
NOT RUN
PRF counter
value
physical registers modeled
64
shadow source reads
147,100,017
nonzero destination sightings
79,682,431
integer PRF allocations
59,313,939
integer PRF frees
59,313,939
integer PRF commits
59,313,939
live physical registers at end
32
max live physical registers
32
metric
P119
P120
shell window cycles
64,930,511
65,160,251
S_FETCH cycles
7,630,872
7,631,468
S_MEM cycles
27,749,744
27,805,129
This is the right level of risk for the first rename rung. It exposes
rename pressure without changing commit ordering. P121 can now model ROB
lifetime: allocate before execution, free old tags only when the
instruction commits, and flush younger speculative allocations on traps
or mispredicts.