No. 120 / project of 147 on the ladder

PRF rename sketch

introduces — shadow integer PRF map; rename pressure counters; physical-tag allocation sketch

harden statelast run2026-05-06
signoff
  • DRCNOT RUN
  • LVSNOT RUN
  • antennaNOT RUN

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.

checkresult
Verilator buildPASS
BusyBox shell workload reaches P120-FILE-OKPASS
PRF sketch counters emittedPASS
Hardened layoutNOT RUN
PRF countervalue
physical registers modeled64
shadow source reads147,100,017
nonzero destination sightings79,682,431
integer PRF allocations59,313,939
integer PRF frees59,313,939
integer PRF commits59,313,939
live physical registers at end32
max live physical registers32
metricP119P120
shell window cycles64,930,51165,160,251
S_FETCH cycles7,630,8727,631,468
S_MEM cycles27,749,74427,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.

shell phases label P120 shell workload cycles 219,108,349 cpi 2.53
  1. kernel banner to /init 116,719,007 53.4%
  2. /init to shell banner 1,062,933 0.5%
  3. shell banner to first command 35,538,091 16.3%
  4. echo command 1,649 0%
  5. uname -a 1,942,447 0.9%
  6. ls /bin /usr/share 33,170,543 15.2%
  7. cat sample file 2,695,171 1.2%
  8. touch/write/cat/rm /tmp file 11,274,771 5.2%
  9. 8x ash loop with file I/O 16,074,990 7.4%
  10. final marker 680 0%
state breakdown label P120 PRF rename sketch workload cycles 219,108,349 cpi 2.53
  1. fetch 3.5% 7,631,468
  2. execute 39.5% 86,488,771
  3. mem 12.8% 28,085,397
  4. walker 1.2% 2,702,287
  5. writeback 39.5% 86,463,913
  6. mul/div 3.5% 7,734,797