P127 adds a shadow scheduler readiness snapshot above the P124-P126
backend records. It asks whether the held integer, memory, and control
records ever become ready together. The architectural core still runs
the same in-order FSM.
check
result
Verilator build
PASS
BusyBox shell workload reaches P127-FILE-OK
PASS
Scheduler counters emitted
PASS
Hardened layout
NOT RUN
scheduler counter
value
sampled cycles with any held record
43,660,332
any ready
37,181,060
none ready
6,479,272
single ready
37,181,060
dual ready
0
triple ready
0
integer ready
14,855,374
memory ready
9,758,720
control ready
12,566,966
integer+memory ready
0
integer+control ready
0
memory+control ready
0
two-issue opportunity cycles
0
waiting-on-sources cycles
6,479,272
metric
P126
P127
post-load cycles
218,372,668
218,572,787
shell window cycles
64,451,352
64,621,346
retired instructions
86,230,113
86,294,693
CPI
2.5324
2.5329
S_FETCH cycles
7,621,517
7,625,156
S_MEM cycles
27,697,973
27,732,094
This is a useful negative result. There are 37.18M ready cycles, but
every one is single-class. A multi-issue selector has nothing to select
yet because the shadow records still do not coexist with independent
lifetime. P128 should add queue/lifetime depth before any architectural
issue change.