# 1. pure compute: sum 1..100 = 5050
li t0, 0
li t1, 100
1: add t0, t0, t1
addi t1, t1, -1
bnez t1, 1b
# 2. read probe: 32 loads, 4 KiB apart
li t2, 0x80100000
li t3, 32
2: ld t4, 0(t2)
add t0, t0, t4
li t5, 4096
add t2, t2, t5
addi t3, t3, -1
bnez t3, 2b
# 3. write probe: 256 stores, 4 KiB apart
li t2, 0x80200000
li t3, 256
3: sd t0, 0(t2)
li t5, 4096
add t2, t2, t5
addi t3, t3, -1
bnez t3, 3b
# 4. read it back -> 5050 appears in the trace
li t2, 0x80200000
ld t6, 0(t2)
4: j 4b
0x10000: it parks hart 0 in wfi, the
custom_boot pin drives an on-chip TileLink master that writes the boot-address
register and sends a software interrupt, and the trap handler mrets to
0x80000000. From there the stream is the program on the right.
fesvr, no TSI, and no server. Everything runs in a Web Worker on
your machine.