学习论文:寒武纪DianNao
主要针对三种计算层(不同的层都可以讲计算划分为2或3个计算阶段):
1、分类器层:突出*输入;乘积求和;激活函数sigmoid;以Tii、Tnn划分tile
2、卷积层:计算阶段相同,只是激活函数可能不同;以Tx、Ty划分tile
3、池化层:没有乘积的操作,可以是求最大池化和平均池化;以Tx、Ty划分tile
用L1、L2缓存来存放需要用到的数据,由于通常情况L1缓存不能存放整个矩阵,因此通过平铺一部分数据放入L1缓存,
计算这部分数据,全部计算完成并保存数据后,再平铺下一部分数据放入L1缓存。
硬件计算部分
组成:
1、保存输入神经元的输入缓冲阵列(NBin)
2、保存输出神经元的输出缓冲阵列(NBout)
3、保存神经突触权重的第三个缓冲区(SB)
4、计算模块,称为神经功能单元(NFU)
5、控制逻辑(CP计算部分分为三部分
1、NFU-1: 64个乘法器
2、NFU-2:16个加法器
3、NFU-3: 16个激活函数
可进行流水线操作,加快计算速度