【技术实现步骤摘要】
基于指令读取数据中的目标数据的方法及其设备
[0001]本专利技术一般地涉及计算机领域
。
更具体地,本专利技术涉及基于指令读取数据中的目标数据的方法及其设备
。
技术介绍
[0002]在图像识别或图像分类的领域中,图像的局部区域通常具有强相关性,也就是邻近的小片像素区域相关性较强,而距离较远的像素区域相关性较弱
。
[0003]图像一般是以二维或三维的方式进行存储的,当图像数据在存储器中存储时,图像数据在同一列上的连续两个像素点之间有固定的步长
(stride)。
当处理器在处理图像数据时,会将一部分的数据从一般存储器
(
如
DRAM)
预先搬运到缓存上,缓存的
I/O
速度快,从缓存取出数据来处理,可以提高处理效率
。
处理器读取数据会涉及到两种指令:
[0004]1.
预载指令
(prefetch)
:由软件给出
。
在软件中指定的触发条件或时间,将数据从一个存储器搬运到另一个存储器中
。
在一种情况下,是将数据从片外搬运到片上
。
[0005]2.
加载指令
(load)
:读访问操作,当处理器需要基于数据执行任务时,自片上内存中取出搬运到缓存,准备基于该数据进行运算
。
[0006]利用上述两种指令读取数据时,每次都是搬运连续的数据片段
(
最小搬运单元 ...
【技术保护点】
【技术特征摘要】
1.
一种处理器核,电性连接至片上内存,所述片上内存存储有数据,所述处理器核包括控制模块及运算模块,其特征在于所述控制模块用以:根据指令中的第一步长值设定第一步长;根据所述指令中的第一数量值设定第一数量;自所述片上内存读取所述数据中对应所述第一步长与所述第一数量的目标数据至缓存;其中,所述第一步长为沿第一维方向读取所述目标数据时以数据片段为单位的读取间隔,所述第一数量为以所述数据片段为单位的读取数量,所述运算模块基于所述缓存中的所述目标数据进行运算
。2.
根据权利要求1所述的处理器核,其中所述指令包括第一步长域及第一数量域,所述控制模块自所述第一步长域中获取所述第一步长值,并自所述第一数量域中获取第一数量值
。3.
根据权利要求1所述的处理器核,其中当所述第一步长值为图像步长减一时,所述目标数据为沿着第二维方向连续读取所述第一数量值个数据片段,其中所述图像步长为所述数据沿所述第一维方向的长度
。4.
根据权利要求1所述的处理器核,其中当所述第一步长值为图像步长减二时,所述目标数据为在所述第一维与第二维组成的平面中沿着斜率为1的方向连续读取所述第一数量值个数据片段,其中所述图像步长为所述数据沿所述第一维方向的长度
。5.
根据权利要求1所述的处理器核,其中当所述第一步长值为图像步长时,所述目标数据为在所述第一维与第二维组成的平面中沿着斜率为
‑1的方向连续读取所述第一数量值个数据片段,其中所述图像步长为所述数据沿所述第一维方向的长度
。6.
根据权利要求2所述的处理器核,其中所述控制模块还用以:根据所述指令中的第
N
步长值设定第
N
步长;根据所述指令中的第
N
数量值设定第
N
数量;自所述片上内存读取所述数据中对应所述第一至第
N
步长与所述第一至第
N
数量的所述目标数据至所述缓存;其中,由第
N
‑1步长值与第
N
‑1数量值决定
N
‑1维子数据组,所述第
N
步长为所述
N
‑1维子数据组沿所述第一维方向以所述数据片段为单位的读取间隔,所述第
N
数量值为所述
N
‑1维子数据组的读取数量,
N
为大于1的正整数
。7.
根据权利要求6所述的处理器核,其中当以下表达式满足且所述第一步长值为0时,二维子数据组为沿着第二维方向连续读取一维子数据组:第2步长值=所述图像步长
‑
所述第一数量值
。8.
根据权利要求6所述的处理器核,其中当所述第一步长值为0,所述第二步长域为空字符串或是特殊字符时,所述第二步长值为图像步长减去第一数量值,其中所述图像步长为所述数据沿所述第一维方向的长度
。9.
根据权利要求6所述的处理器核,其中所述指令包括第
N
步长域及第
N
维数量域,所述控制模块自所述第
N
步长域中获取所述第
N
步长值,并自所述第
N
维数量域中获取第
N
数量值
。10.
根据权利要求1所述的处理器核,还包括存储模块,所述存储模块包括所述数据缓
存
。11.
根据权利要求
10
所述的处理器核,其中所述存储模块还包括神经元存储单元,当所述运算模块进行运算时,所述目标数据自所述数据缓存搬移至所述神经元存储单元,所述运算模块自所述神经元存储单元读取所述目标数据
。12.
根据权利要求1所述的处理器核,其中所述指令为加载指令
。13.
根据权利要求1所述的处理器核,其中所述数据片段为缓存行
。14.
根据权利要求1至
13
任一项所述的处理器核,其中所述指令还包括起始地址域,所述控制模块自所述起始地址域获取读取所述目标数据的起始地址
。15.
一种计算装置,包括根据权利要求1至
14
所述的处理器核
。16.
一种集成电路装置,包括根据权利要求
15
所述的计算装置
。17.
一种板卡,包括根据权利要求
16
所述的集成电路装置
。18.
一种计算装置,电性连接至片外内存,所述片外内存存储有数据,所述计算装置包括片上内存与处理器核,其特征在于处理器核用以:根据指令中的第一步长值设定第一步长;根据所述指令中的第一数量值设定第一数量;自所述片外内存读取所述数据中对应所述第一步长与所述第一数量的目标数据至所述片上内存;其中,所述第一步长为沿第一维方向读取所述目标数据时以数据片段为单位的读取间隔,所述第一数量为以所述数据片段为单位的读取数量,所述处理器核基于所述片上内存中的所述目标数据进行运算
。19.
根据权利要求
18
所述的计算装置,其中所述指令包括第一步长域及第一数量域,所述控制模块自所述第一步长域中获取所述第一步长值,并自所述第一数量域中获取第一数量值
。20.
根据权利要求
18
所述的计算装置,其中当所述第一步长值为图像步长减一时,所述目标数据为沿着第二维方向连续读取所述第一数量值个数据片段,其中所述图像步长为所述数据沿所述第一维方向的长度
。21.
根据权利要求
...
【专利技术属性】
技术研发人员:请求不公布姓名,请求不公布姓名,
申请(专利权)人:中科寒武纪科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。