No. 125 / project of 147 on the ladder

Source-ready scoreboard model

introduces — shadow architectural busy-bit scoreboard; queued integer source-readiness counters; dependency split

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

P125 adds a shadow architectural busy-bit scoreboard beside the P124 issue slot. The core still executes in the same serialized way; the new model only asks whether queued simple-integer instructions would have ready sources.

checkresult
Verilator buildPASS
BusyBox shell workload reaches P125-FILE-OKPASS
Scoreboard counters emittedPASS
Hardened layoutNOT RUN
source-ready scoreboard countervalue
queued simple-integer candidates24,405,973
all modeled sources ready13,098,705
rs1 busy7,756,459
rs2 busy3,550,809
both sources busy0
destination already busy6,358,845
marks59,172,706
clears59,172,527
flush clears179
max busy architectural registers1
metricP124P125
post-load cycles218,328,141218,418,785
shell window cycles64,450,05264,495,264
retired instructions86,212,97586,247,293
CPI2.53242.5325
S_FETCH cycles7,623,8287,621,101
S_MEM cycles27,688,62327,710,923

This is not a speedup claim. The important result is the split inside the queued integer window: 13.10M candidates have all modeled sources ready, while 11.31M hit a busy source. The scoreboard also confirms the backend is still effectively one-deep: max busy architectural register count is 1.

The next rung should separate memory and control holding records. A single integer slot cannot explain the 6.66M memory-class and 9.33M control-flow blocks already visible in the P124/P125 issue model.

shell phases label P125 shell workload cycles 218,418,785 cpi 2.53
  1. kernel banner to /init 116,719,390 53.6%
  2. /init to shell banner 1,081,277 0.5%
  3. shell banner to first command 35,494,787 16.3%
  4. echo command 1,649 0%
  5. uname -a 2,374,661 1.1%
  6. ls /bin /usr/share 31,822,753 14.6%
  7. cat sample file 3,048,228 1.4%
  8. touch/write/cat/rm /tmp file 10,806,234 5%
  9. 8x ash loop with file I/O 16,441,059 7.6%
  10. final marker 680 0%
state breakdown label P125 source-ready scoreboard workload cycles 218,418,785 cpi 2.53
  1. fetch 3.5% 7,621,101
  2. execute 39.5% 86,272,017
  3. mem 12.8% 27,990,277
  4. walker 1.2% 2,683,790
  5. writeback 39.5% 86,247,293
  6. mul/div 3.5% 7,602,591