1. 项目概述:RISC-V内存层次结构优化背景
在机器学习(ML)领域,计算性能往往不是唯一瓶颈——内存访问效率同样至关重要。现代ML模型如CNN、RNN和Transformer需要频繁处理海量张量数据,传统内存架构在应对这类工作负载时常常捉襟见肘。RISC-V作为开源指令集架构,虽然具有高度可定制的优势,但其默认内存子系统并未针对ML特性进行专门优化。
我在实际测试中发现,当运行ResNet-50这类典型CNN模型时,超过60%的时钟周期都消耗在等待内存数据就绪上。这种"算力等数据"的现象在BERT等Transformer模型中更为显著。问题的根源在于:
- 数据局部性差 :ML工作负载的跨步访问(strided access)模式导致传统缓存命中率低下
- 带宽需求高 :单个矩阵乘法操作就可能需要同时读取权重矩阵和输入特征图
- 访问不可预测 :动态计算图使得传统预取算法效果有限
2. 关键技术方案设计
2.1 共享L3缓存架构
传统RISC-V多核系统通常采用私有L2缓存设计,这在ML场景下会导致两个严重问题:
- 不同核心处理的张量分块需要频繁同步
- Gemmini等加速器无法高效共享CPU缓存数据
我们的解决方案是引入 统一寻址的共享L3缓存 ,关键设计参数如下表所示:
| 参数 | 基准配置 | HERMES优化值 | 选择依据 |
|---|---|---|---|
| 容量 | 4MB | 8MB | 可容纳典型CNN的权重张量 |


3848


被折叠的 条评论
为什么被折叠?



