No. 118 / project of 147 on the ladder

LSU shape

introduces — LSU-stage counters; address-generation/DTLB/S_MEM split measurement; data-side baseline

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

P118 names the load/store unit we do not really have yet. The RTL still uses the old execute plus S_MEM path, but the counters now split that path into address generation, DTLB service, D-cache/store-buffer service, and lower-memory completion.

checkresult
Verilator buildPASS
BusyBox shell workload reaches P118-FILE-OKPASS
LSU-shape counters emittedPASS
Hardened layoutNOT RUN
LSU countervalue
address-generation events27,899,292
load address-generation events15,536,292
store address-generation events12,161,761
AMO address-generation events201,239
DTLB hits27,223,125
DTLB misses671,678
S_MEM LSU cycles27,758,933
S_MEM D-cache-hit cycles4,603,337
S_MEM store-buffer accepts1,156,649
S_MEM store-buffer waits0
S_MEM aux-load cycles0
metricP117P118
shell window cycles64,329,78364,957,904
S_FETCH cycles7,615,8567,628,220
S_MEM cycles27,670,71627,758,933

P118 is a baseline, not a speed rung. It says the next data-side work should separate request records from commit effects before trying rename, ROB, or true out-of-order issue.

shell phases label P118 shell workload cycles 218,857,370 cpi 2.53
  1. kernel banner to /init 116,719,947 53.5%
  2. /init to shell banner 1,061,615 0.5%
  3. shell banner to first command 35,489,837 16.3%
  4. echo command 1,649 0%
  5. uname -a 1,944,835 0.9%
  6. ls /bin /usr/share 33,134,465 15.2%
  7. cat sample file 3,226,734 1.5%
  8. touch/write/cat/rm /tmp file 10,718,823 4.9%
  9. 8x ash loop with file I/O 15,930,718 7.3%
  10. final marker 680 0%
state breakdown label P118 LSU-shaped measurement cycles 218,857,370 cpi 2.53
  1. fetch 3.5% 7,628,220
  2. execute 39.5% 86,408,108
  3. mem 12.8% 28,038,499
  4. walker 1.2% 2,694,482
  5. writeback 39.5% 86,383,280
  6. mul/div 3.5% 7,703,065