跳转至

常见问题

NPU 软件驱动部分,需要 CPU 实现哪些指令?

一份用 -march=rv32i_zicsr 编译出来的实际驱动,可能会用到这些指令:

  • 算术和位运算:add/addi/and/andi/auipc/lui/or/ori/sub/xori
  • 条件分支:beq/bge/bgeu/blt/bltu/bne
  • CSR:csrrs
  • 函数调用:jal/jalr
  • Load:lb/lbu/lw
  • Store:sb/sw
  • 移位:sll/slli/srai/srl/srli
  • 比较:slt/sltiu/sltu

虽然比监控程序要求的指令数略多,但多出来的指令,实现起来并不复杂。

作者:Jiajie Chen