journal 2026-05-05

P100: Split I/D service

P100 turns the Harvard map into measured RTL signals. The core still has one lower shared memory service, but the harness now sees instruction and data demand separately.

Functional result: PASS. The BusyBox shell workload reached P100-FILE-OK.

metricP99P100
shell window cycles66,998,69866,518,626
post-load cycles222,509,604221,990,140
memory stall cycles59,928,27859,819,129
fetch stall cycles27,399,25327,346,150
load stall cycles10,718,66110,729,427
retired instructions86,648,69386,512,027
CPI2.56802.5660

The important new counters:

sidewant cyclesgrant cyclesnot granted by lower policy
instruction99,366,11999,366,1190
data59,349,36526,952,79732,396,568

Both sides wanted lower service for 28,051,030 cycles. The lower shared service completed 66,499,787 handshakes and spent 59,819,129 cycles stalled.

That says the current policy strongly favors instruction-side progress: good for keeping Linux alive, but it leaves data-side work queued behind the same shared lower service. P101 should keep these counters and split translation next, so we can separate memory data movement from page-walk/refill interference.