mvu这个模块是干嘛用的呢?从这个名字就可以看出来move_unit,应该是做数据搬运的。很多指令级中都会有数据搬运的指令,这类指令的作用一般是在片内片外缓存以及通用专用寄存器之间搬运数据,比如典型的riscv里的load/store指令。
而mvu这个模块处理的指令就是move指令,指令的作用是在ram和ddr之间搬运数据。比如需要做三维卷积,那么可能需要把特征和权重先从ddr读到ram里进行计算,计算完成后再把卷积结果从ram读回到ddr上,这种场景就是mvu要做的事情了。
mvu上游的模块是idu,顾名思义就是inst_decode_unit,指令解码模块。众所周知,处理器的处理流程包括取指、译码、执行、写回、提交等,idu负责的就是译码。 idu接收到指令后对指令进行分析,发现这