1. MTK G90 AI加速器的硬件架构解析
MTK G90(MediaTek Helio G90)是联发科面向中高端移动设备推出的游戏芯片系列,其内置的AI加速器采用专用NPU(Neural Processing Unit)设计。与传统CPU/GPU方案相比,这种专用硬件在能效比上具有显著优势——实测显示处理ResNet-50模型时功耗可降低40%以上。
该NPU采用多核异构架构,包含:
- 标量处理单元(SPU):负责控制流和条件判断
- 向量处理单元(VPU):处理常规矩阵运算
- 张量处理单元(TPU):专为卷积神经网络优化的计算单元
缓存层级设计尤为特殊:
- L1指令缓存:128KB,直接映射
- L1权重缓存:256KB,4路组相联
- L2共享缓存:1MB,所有计算单元共享
关键特性:权重缓存支持硬件预加载机制,这正是标题中提到的"骚操作"得以实现的基础硬件支持。
2. SDK中权重预加载机制的逆向分析
联发科提供的AI SDK中,在/examples/npu_demo/src/路径下可找到权重预加载的示例代码。其核心逻辑是通过硬件抽象层(HAL)的mtk_npu_direct_weight_load()接口绕过常规DMA传输路径。
常规模型加载流程:
c复制// 标准加载方式
npu_load_model(model_file); // 通过DMA传输权重
npu_init(); // 初始化计算单元
而SDK示例采用的优化方案:
c复制// 直接烧录权重的特殊方式
npu_preinit(); // 预初始化缓存控制器
hal_npu_write_weight_cache(weight_bin); // 直接写入权重缓存
npu_activate(); // 激活计算单元
实测对比数据:
| 加载方式 | MobileNetV2加载耗时 | 能效比 |
|---|---|---|
| 常规DMA | 23.4ms | 1.0 |
