coralnpu项目 - 02 架构初识

· 学习 · 创客

Coral NPU大部分的遵循了RISC-V指令集架构,支持了向量指令集扩展中的Zve32x子集(32位整型数据的向量操作)。增加了三个CSR用于Host CPU的控制和通讯:PC_START(控制NPU开始执行的指令流,OFFSET:0x0)、RESET_CONTROL(控制NPU启动,4)、STATUS(指示NPU目前运行的状态,OFFSET:0x08)。

csr的0x00到0xFF是标准的用户级CSR,因此这里的OFFSET应该需要加上一个BASE ADDRESS(BA)才是真正的CSR地址,文章中没有明确BA是什么

Coral NPU通过AXI/TILE link总线挂载在整个SoC上,是一个Integrete NPU方案。他最大的有点是可编程性良好,建立了高层的编程NPU模型和完善的软件栈。以往开源NPU最大的问题是编程很复杂,后面会关注CoralNPU的软件栈实现方案。

Reference

  1. Coral NPU datasheet  |  Google for Developers
  2. Architecture basics  |  Coral  |  Google for Developers

coralnpu