缓存装置及缓存方法、计算装置及计算方法制造方法及图纸

技术编号:23787140 阅读:45 留言:0更新日期:2020-04-15 00:30
本发明专利技术提供一种数据缓存装置及缓存方法、计算装置及计算方法。数据缓存装置包括一个搬运单元,搬运单元分别与一个第一存储单元和多个第二存储单元相连;搬运单元,用于接收搬运指令,搬运指令内容包括取数地址寄存器、目的地址寄存器以及预设的搬运规则;搬运单元,还用于执行所述搬运指令,以根据所述取数地址寄存器从所述第一存储单元中按行取出输入数据,并将每行中的数据逐个交替依序地缓存至所述目的地址寄存器所指示的各第二存储单元中。通过采用本发明专利技术的数据搬运和数据读取以及卷积方式,可以实现数据搬运和卷积运算并行,从而实现卷积单元的乒乓操作,提高卷积的效率,同时也无需在存储器中开辟两份数据存储空间,降低存储器开销。

Cache device and cache method, computing device and computing method

【技术实现步骤摘要】
缓存装置及缓存方法、计算装置及计算方法
本专利技术涉及数据计算
,具体涉及一种缓存装置及缓存方法、一种计算装置及计算方法、一种电子设备以及一种计算机可读存储介质。
技术介绍
深度学习(Deeplearning)是开展人工智能(Artificialintelligence,AI)的重要应用技术之一,其广泛应用于计算机视觉、语音识别等领域。其中卷积神经网络(ConvolutionalNeuralNetwork,CNN)则是近年来引起重视的一种深度学习高效识别技术,它通过直接输入原始图像或数据,与多个特征滤波器(filter)进行若干层的卷积运算及矢量运算,从而在图像和语音识别方面产生高准确性结果。其中滤波器的规模可由1×1、3×3的小区块规模到5×5、7×7甚至是11×11的大规模卷积运算区块,因此卷积运算也是一种很耗费效能的运算。为了追求分类准确度,CNN模型深度越来越深,模型复杂度也越来越高,如深度残差网络(ResNet)其层数已经多达152层。在某些真实的应用场景如移动或者嵌入式设备,如此大而复杂的模型面临着内存不足、响应延迟等本文档来自技高网...

【技术保护点】
1.一种数据缓存装置,用于将一个第一存储单元中的输入数据缓存至多个第二存储单元中,其特征在于,所述数据缓存装置包括一个搬运单元,所述搬运单元分别与所述第一存储单元和所述多个第二存储单元相连;其中,/n所述搬运单元,用于接收搬运指令,所述搬运指令内容包括取数地址寄存器、目的地址寄存器以及预设的搬运规则;/n所述搬运单元,还用于执行所述搬运指令,以根据所述取数地址寄存器从所述第一存储单元中按行取出输入数据,并将每行中的数据逐个交替依序地缓存至所述目的地址寄存器所指示的各第二存储单元中。/n

【技术特征摘要】
1.一种数据缓存装置,用于将一个第一存储单元中的输入数据缓存至多个第二存储单元中,其特征在于,所述数据缓存装置包括一个搬运单元,所述搬运单元分别与所述第一存储单元和所述多个第二存储单元相连;其中,
所述搬运单元,用于接收搬运指令,所述搬运指令内容包括取数地址寄存器、目的地址寄存器以及预设的搬运规则;
所述搬运单元,还用于执行所述搬运指令,以根据所述取数地址寄存器从所述第一存储单元中按行取出输入数据,并将每行中的数据逐个交替依序地缓存至所述目的地址寄存器所指示的各第二存储单元中。


2.根据权利要求1所述的装置,其特征在于,所述将每行中的数据逐个交替依序地缓存至所述目的地址寄存器所指示的各第二存储单元中,包括:
所述搬运单元,用于将每行中处于相同位置的数据逐个依序缓存至同一个所述第二存储单元的同一行中;以及,
将每行中处于不同位置的数据逐个依序缓存至所述同一个第二存储单元中不同于所述同一行的另一行中,或逐个依序缓存至与所述同一个第二存储单元不同的另一个第二存储单元的同一行中。


3.根据权利要求1或2所述的装置,其特征在于,所述第二存储单元包括一个第一输入接口和一个第二输入接口;其中,
所述搬运单元,还用于选择性地通过所述第一输入接口和所述第二输入接口向所述第二存储单元缓存数据。


4.根据权利要求1-3任一项所述的装置,其特征在于,所述搬运单元在执行卷积运算的过程中并发执行搬运指令。


5.一种数据缓存方法,用于将一个第一存储单元中的输入数据缓存至多个第二存储单元中,其特征在于,数据缓存方法包括:
接收搬运指令,所述搬运指令内容包括取数地址寄存器、目的地址寄存器以及预设的搬运规则;
执行所述搬运指令,以根据所述取数地址寄存器从所述第一存储单元中按行取出输入数据,并将每行中的数据逐个交替依序地缓存至所述目的地址寄存器所指示的各第二存储单元中。


6.根据权利要求5所述的方法,其特征在于,所述将每行中的数据逐个交替依序地缓存至所述目的地址寄存器所指示的各第二存储单元中,包括:
将每行中处于相同位置的数据逐个依序缓存至同一个所述第二存储单元的同一行中;以及,
将每行中处于不同位置的数据逐个依序缓存至所述同一个第二存储单元中不同于所述同一行的另一行中,或逐个依序缓存至与所述同一个第二存储单元不同的另一个第二存储单元的同一行中。


7.根据权利要求5或6所述的方法,其特征在于,所述第二存储单元包括一个第一输入接口和一个第二输入接口;其中,所述将每行中的数据逐个交替依序地缓存至所述目的地址寄存器所指示的各第二存储单元中,包括:
选择性地通过所述第一输入接口和所述第二输入接口,将每行中的数据逐个交替依序地缓存至所述目的地址寄存器所指示的各第二存储单元中。


8.根据权利要求5-7任一项所述的方法,其特征在于,还包括:
在执行卷积运算的过程中并发执行搬运指令。


9.一种计算装置,其特征在于,包括一个搬运单元、一个卷积单元、一个第一存储单元以及多个第二存储单元,其中,
所述搬运单元,用于接收搬运指令,所述搬运指令内容包括取数地址寄存器、目的地址寄存器以及预设的搬运规则;以及,执行所述搬运指令,以根据所述取数地址寄存器从所述第一存储单元中按行取出输入数据,并将每行中的数据逐个交替依序地缓存至所述目的地址寄存器所指示的各第二存储单元中;
所述卷积单元,用于接收运算指令,所述运算指令内容包括读取地址寄存器、目的存储地址寄存器以及预设的卷积核数据;以及,执行所述运算指令,以根据所述读取地址寄存器按时钟周期顺序读取所有的第二存储单元在与时钟周期相对应地址位处的各输入数据,以形成对应每个时钟周期的列数据,并对各相邻两个时钟周期的各列数据和所述卷积核数据进行卷积运算,将运算结果存储至所述目的存储地址所对应的第二存储单元中。


10.根据权利要求9所述的装置,其特征在于,所述卷积单元包括一个控制子单元、一个第一寄存器、一个第二寄存器、一个重排序单元、一个第一卷积子单元、一个第二卷积子单元;
所述根据所述读取地址寄存器按时钟周期顺序读取所有的第二存储单元在与时钟周期相对应地址位处的各输入数据,以形成对应每个时钟周期的列数据,并对各相邻两个时钟周期的各列数据和所述卷积核数据进行卷积运算,包括:
所述控制子单元,用于在第M时钟周期内读取所有第二存储单元的第N地址位处的数据,得到第P列数据,并将所述第P列数据缓存至所述第一寄存器中;
所述控制子单元,还用...

【专利技术属性】
技术研发人员:林博朱炜李超
申请(专利权)人:厦门星宸科技有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1