第 3 环 · 权重从内存加载
同一个圆心:开机只有一个 AI 的手机。大模型推理有一个铁律——权重(模型参数)体量巨大,不可能全部塞进寄存器,必须存在内存里、用的时候再加载。本环就是把这条铁律落进最小系统。
第 2 环是「写权重 → 写激活 → 触发 NPU → 出结果」,权重是核直接写进 NPU 寄存器的。本环改成:核先把权重写进片上 SRAM(内存),再触发一个装载 FSM,由它把 SRAM 里的权重读出来、搬进 NPU。这正是接口契约里定义的 NPU.LOAD 指令。
min_bus.sv 挂上一块 16 字 × 32bit 的权重 SRAM,并加一个「装载 FSM」(IDLE → RD → FEED):
0x000 → NPU_W_LOAD 写 1 触发装载 0x008 → NPU_A_IN 激活输入 0x00C → NPU_Y_OUT0 读结果 0x010 → SCREEN 屏幕输出 0x100 → WEIGHT_SRAM 权重内存(0x100~0x1FF)
boot.s(最小 OS)改成:写权重到 SRAM → 触发 NPU_W_LOAD → 装载 FSM 读进 NPU → 写激活 → 读结果 → 写屏幕。
权重先落进 SRAM,再被装载 FSM 读进 NPU,最后完成推理。这条链通了,就证明「权重存内存、用时再加载」这条路在最小系统里是通的——这是大模型芯片和传统芯片的关键分水岭之一。
本环走完整一圈:目标 → 内存层次落地 → 真代码 → 仿真跑通 → 回到目标。不是孤立地「挂了一块 SRAM」,而是让最小 OS 和芯片围绕「权重从内存加载」这条契约又咬合深了一层。
第 4 环:权重目前还是 8bit 存的,第 4 环要做 INT4 量化——把权重压成 4bit,实现接口契约里的 NPU.QUANT(量化/反量化),离「INT4 量化跑大模型」再近一步。