侧边栏壁纸
博主头像
翼动芯生博主等级

行动起来,活在当下

  • 累计撰写 16 篇文章
  • 累计创建 10 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

PipeCIM: 基于嵌套流水线和扩展RISC-V指令的高吞吐量内存计算微处理器

徐博涵
2024-12-12 / 0 评论 / 0 点赞 / 45 阅读 / 4827 字

PipeCIM: A High-ThroughputComputing-In-Memory Microprocessor With Nested Pipeline and RISC-VExtended Instructions

引言

  • 背景与挑战
    卷积神经网络(CNN)在图像分类、语音识别等领域应用广泛,但其巨大的MAC(Multiply-Accumulate)计算需求对延迟和能耗提出了挑战。

    • 数据迁移导致的高能耗。

    • 多核架构中的低MAC利用率。

    • 数据流的复杂协调。

  • 目标
    提出基于内存计算(CIM)的高吞吐量加速器PipeCIM,通过引入嵌套流水线和扩展RISC-V指令,提升吞吐量并降低控制复杂性。

关键创新

  1. 嵌套流水线设计
    提出了三层次流水线架构:

    • 宏单元内流水线(Intra-Macro Pipeline):并行处理数据传输和内存计算。

    • 近存储流水线(Near-Memory Pipeline):处理池化和数据重构,减少离片内存访问。

    • 层级流水线(Tile-Level Pipeline):通过UDTCP协议协调数据流,降低控制复杂性。

  2. 扩展RISC-V指令
    定制指令用于流水线配置和控制,简化了CPU与加速器之间的数据交互。

  3. 高能效CIM架构
    在55nm工艺下实现,支持4位精度,具有高吞吐量和能效。

设计细节

1 宏单元内流水线

  • 四阶段结构

    1. 加载输入(LI):通过FIFO缓存读取输入数据。

    2. 数据处理(PD):进行MAC操作。

    3. 移位与累加(SA):实现SIMD(单指令多数据)操作。

    4. 存储输出(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加速中表现优异。

  • 未来方向

    • 进一步优化功耗和吞吐量。

    • 在片上学习和压缩网络设计中的探索。

原文链接

PipeCIM: A High-Throughput Computing-In-Memory Microprocessor With Nested Pipeline and RISC-V Extended Instructions | IEEE Journals & Magazine | IEEE Xplore

0

评论区