在
S
h
i
D
i
a
n
N
a
o
中
,
N
B
i
n
和
N
B
o
u
t
有
2
∗
P
y
个
B
a
n
k
,
每
个
B
a
n
k
分
为
许
多
行
,
每
行
P
x
∗
2
字
节
,
即
每
行
P
x
个
16
位
定
点
数
,
下
面
讲
讲
具
体
的
数
据
组
织
方
式
(
困
扰
了
我
很
久
)
在ShiDianNao中,NBin和NBout有2*P_y个Bank,每个Bank分为许多行,每行P_x*2字节,即每行P_x个16位定点数,下面讲讲具体的数据组织方式(困扰了我很久)
在ShiDianNao中,NBin和NBout有2∗Py个Bank,每个Bank分为许多行,每行Px∗2字节,即每行Px个16位定点数,下面讲讲具体的数据组织方式(困扰了我很久)
如
图
11
所
示
,
首
先
,
将
N
y
i
n
∗
N
x
i
n
的
输
入
特
征
按
照
P
y
∗
P
x
进
行
分
块
如图11所示,首先,将N_{yin}*N_{xin}的输入特征按照P_y*P_x进行分块
如图11所示,首先,将Nyin∗Nxin的输入特征按照Py∗Px进行分块,
那
么
那么
那么
N
x
i
n
会
被
分
为
N
x
i
n
P
x
份
,
将
第
奇
数
份
和
第
偶
数
份
分
开
,
如
图
所
示
,
奇
数
份
为
蓝
色
,
偶
数
份
为
灰
色
N_{xin}会被分为\dfrac{N_{xin}}{P_x}份,将第奇数份和第偶数份\\分开,如图所示,奇数份为蓝色,偶数份为灰色
Nxin会被分为PxNxin份,将第奇数份和第偶数份分开,如图所示,奇数份为蓝色,偶数份为灰色,
则
我
们
将
蓝
色
的
那
部
分
存
入
则我们将蓝色的那部分存入
则我们将蓝色的那部分存入
B
a
n
k
#
0
至
B
a
n
k
#
P
y
−
1
Bank \# 0至Bank \# P_y-1
Bank#0至Bank#Py−1,
而
将
灰
色
的
那
部
分
存
入
而将灰色的那部分存入
而将灰色的那部分存入
B
a
n
k
#
P
y
至
B
a
n
k
#
2
P
y
−
1
Bank\#P_y至Bank\#2P_y-1
Bank#Py至Bank#2Py−1
,
具
体
的
存
储
方
式
如
下
:
,具体的存储方式如下:
,具体的存储方式如下: 将
N
y
i
n
∗
P
x
在
y
方
向
分
块
,
共
分
为
N
y
i
n
P
y
份
,
则
对
每
一
个
P
x
∗
P
y
的
块
,
我
们
将
第
i
行
放
入
第
i
个
B
a
n
k
(
或
者
第
P
y
+
i
)
,
这
样
,
输
入
特
征
的
每
一
个
竖
条
(
无
论
蓝
色
还
是
灰
色
)
都
对
应
于
左
边
的
一
个
虚
线
框
,
这
个
虚
线
框
由
P
y
个
B
a
n
k
构
成
,
而
每
个
B
a
n
k
内
部
有
N
y
i
n
/
P
y
行
。
N_{yin}*P_x在y方向分块,共分为\dfrac{N_{yin}}{P_y}份,则对每一个P_x*P_y的块,我们将第i行放入第i个Bank(或者第P_y+i),这样,输入特征的每一个竖条(无论蓝色还是灰色)\\都对应于左边的一个虚线框,这个虚线框由P_y个Bank\\构成,而每个Bank内部有N_{yin}/P_y行。
Nyin∗Px在y方向分块,共分为PyNyin份,则对每一个Px∗Py的块,我们将第i行放入第i个Bank(或者第Py+i),这样,输入特征的每一个竖条(无论蓝色还是灰色)都对应于左边的一个虚线框,这个虚线框由Py个Bank构成,而每个Bank内部有Nyin/Py行。
ShiDianNao中的数据组织
关注
打赏