No. 121 / project of 147 on the ladder

ROB commit model

introduces — one-entry shadow ROB; PRF allocation lifetime; flush/commit accounting

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

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.

checkresult
Verilator buildPASS
BusyBox shell workload reaches P121-FILE-OKPASS
ROB/PRF lifetime counters emittedPASS
Hardened layoutNOT RUN
ROB / PRF countervalue
PRF allocations59,182,360
PRF commits59,182,181
PRF frees59,182,360
max live physical registers33
ROB allocs59,182,360
ROB commits59,182,181
ROB flushes179
ROB busy cycles83,705,603
ROB full-wait cycles0
missing commit events0
metricP120P121
shell window cycles65,160,25164,541,922
S_FETCH cycles7,631,4687,622,048
S_MEM cycles27,805,12927,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.

shell phases label P121 shell workload cycles 218,473,545 cpi 2.53
  1. kernel banner to /init 116,719,951 53.6%
  2. /init to shell banner 1,075,607 0.5%
  3. shell banner to first command 35,507,998 16.3%
  4. echo command 1,649 0%
  5. uname -a 2,486,690 1.1%
  6. ls /bin /usr/share 31,784,712 14.6%
  7. cat sample file 2,687,536 1.2%
  8. touch/write/cat/rm /tmp file 11,430,496 5.3%
  9. 8x ash loop with file I/O 16,150,159 7.4%
  10. final marker 680 0%
state breakdown label P121 ROB commit model workload cycles 218,473,545 cpi 2.53
  1. fetch 3.5% 7,622,048
  2. execute 39.5% 86,289,986
  3. mem 12.8% 27,998,754
  4. walker 1.2% 2,699,578
  5. writeback 39.5% 86,265,218
  6. mul/div 3.5% 7,596,245