【IC前端虚拟项目】MVU模块方案与背景熟悉

【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客

mvu这个模块是干嘛用的呢?从这个名字就可以看出来move_unit,应该是做数据搬运的。很多指令级中都会有数据搬运的指令,这类指令的作用一般是在片内片外缓存以及通用专用寄存器之间搬运数据,比如典型的riscv里的load/store指令。

而mvu这个模块处理的指令就是move指令,指令的作用是在ram和ddr之间搬运数据。比如需要做三维卷积,那么可能需要把特征和权重先从ddr读到ram里进行计算,计算完成后再把卷积结果从ram读回到ddr上,这种场景就是mvu要做的事情了。

【IC前端虚拟项目】MVU模块方案与背景熟悉_第1张图片

mvu上游的模块是idu,顾名思义就是inst_decode_unit,指令解码模块。众所周知,处理器的处理流程包括取指、译码、执行、写回、提交等,idu负责的就是译码。 idu接收到指令后对指令进行分析,发现这是一条move指令之后,将指令发送给mvu有mvu负责处理。mvu根据指令进行数据的搬运,将所有的数据搬运完成后向idu进行指令提交。

简单点来说mvu就实现5个功能:

1.接收idu下发的move指令;

2.根据指令读ddr/ram;

3.将读回的数据摆放在合理的位置&#

你可能感兴趣的:(第二个IC前端虚拟项目,芯片,IC)