PipeCIM: A High-ThroughputComputing-In-Memory Microprocessor With Nested Pipeline and RISC-VExtended Instructions
引言
背景与挑战
卷积神经网络(CNN)在图像分类、语音识别等领域应用广泛,但其巨大的MAC(Multiply-Accumulate)计算需求对延迟和能耗提出了挑战。数据迁移导致的高能耗。
多核架构中的低MAC利用率。
数据流的复杂协调。
目标
提出基于内存计算(CIM)的高吞吐量加速器PipeCIM,通过引入嵌套流水线和扩展RISC-V指令,提升吞吐量并降低控制复杂性。
关键创新
嵌套流水线设计
提出了三层次流水线架构:宏单元内流水线(Intra-Macro Pipeline):并行处理数据传输和内存计算。
近存储流水线(Near-Memory Pipeline):处理池化和数据重构,减少离片内存访问。
层级流水线(Tile-Level Pipeline):通过UDTCP协议协调数据流,降低控制复杂性。
扩展RISC-V指令
定制指令用于流水线配置和控制,简化了CPU与加速器之间的数据交互。高能效CIM架构
在55nm工艺下实现,支持4位精度,具有高吞吐量和能效。
设计细节
1 宏单元内流水线
四阶段结构:
加载输入(LI):通过FIFO缓存读取输入数据。
数据处理(PD):进行MAC操作。
移位与累加(SA):实现SIMD(单指令多数据)操作。
存储输出(SO):将中间结果传输到输出FIFO。
优化效果
通过解耦数据传输和计算,将传输时间隐藏在计算时间中,提高了利用率。
2 近存储流水线
关键模块:
池化单元:实现2×2池化操作,减少输出数据量。
重构单元:将特征图重构为适合下一层输入的数据格式。
优势
避免传统加速器的大量离片数据存储需求,显著降低内存占用。
3 层级流水线
UDTCP协议:强制单向分流数据流,避免数据冲突和死锁。
分层操作:将每个卷积层分配到独立的Tile中,形成多级流水线,提升吞吐量。
实验结果
1 性能评估
吞吐量:在VGG-16和Inception网络上分别达到819 GOPS和133.8 TOPS/W。
能效:相比传统架构提高了一个数量级。
指令优化:通过流水线设计,CPU指令数减少至基线的0.04%。
2 对比分析
与其他CIM加速器相比,PipeCIM的吞吐量提升了19倍至127倍。
与Eyeriss和DNPU等加速器相比,Frame Rate更高。
结论与展望
贡献:
提出高吞吐量、高能效的内存计算加速器。
嵌套流水线设计在CNN加速中表现优异。
未来方向:
进一步优化功耗和吞吐量。
在片上学习和压缩网络设计中的探索。
评论区