基于缓存存储器处理数据的装置、方法、设备及存储介质与流程

    技术2025-03-05  38


    本技术涉及数据处理,特别涉及一种基于缓存存储器处理数据的装置、方法、设备及存储介质。


    背景技术:

    1、在硬件实现中,输入张量通常存储在随机存储器中,而在进行模型训练或者数据处理时,需要访问随机存储器中的输入张量。

    2、相关技术中,为了访问随机存储器中的输入张量,获取预设索引,然后使用gather函数根据预设索引从随机存储器的输入张量中获取特定的数据。

    3、但是,基于上述方法访问随机存储器,会导致一个索引处理完,随机存储器要很久才返回数据,并且返回这个索引对应的数据之后,才可以处理下一个索引进而导致较大的访问延迟以及随机存储器的带宽紧张,从而大大降低了返回数据的输出效率。


    技术实现思路

    1、本技术实施例提供了一种基于缓存存储器处理数据的装置、方法、设备及存储介质,能够减少随机存储器的带宽紧张,从而缩短随机存储器的访问延迟,进而提高数据的输出效率。该技术方案如下:

    2、根据本技术实施例的第一方面,提供了一种基于缓存存储器处理数据的装置,装置包括:

    3、顺次电连接的地址模块、比较模块以及读取模块,该读取模块还分别与随机存储器以及缓存存储器电连接,该缓存存储器设有多个缓存区域;

    4、该缓存区域,用于存储该随机存储器中一部分数据,每个该缓存区域设有地址标签,该地址标签指示对应的该缓存区域中缓存数据在该随机存储器中的随机存储器地址;

    5、该地址模块,用于获取索引,根据该索引生成目标地址;该目标地址包括目标高位以及目标低位,该目标低位的比特数与该随机存储器的位宽的比特数相同,该目标高位的比特数与该目标低位的比特数之和为该目标地址的比特数;

    6、该比较模块,用于获取该目标地址的该目标高位,将该目标高位与每个该缓存区域的地址标签进行比对,将该地址标签与该目标高位匹配的该缓存区域作为目标缓存区域;

    7、该读取模块,用于从该目标缓存区域中读取该目标低位对应的该缓存数据,得到目标数据。

    8、在一些可能的实现方式中,该地址标签通过如下方式设置:

    9、针对一个该缓存区域,获取该缓存区域中该缓存数据的该随机存储器地址;

    10、将该缓存数据的该随机存储器地址划分为地址高位以及地址低位,该地址低位的比特数与该随机存储器的位宽的比特数相同,该地址高位的比特数与该地址低位的比特数之和为该随机存储器地址的比特数;

    11、将该地址高位作为该缓存区域的该地址标签。

    12、在一些可能的实现方式中,该目标地址为预设偏移地址与索引项之和;该预设偏移地址为该索引对应的预设输入张量在该随机存储器中的偏移地址,该索引项为对应的该索引与预设参数之积。

    13、在一些可能的实现方式中,该比较模块,用于针对一个该缓存区域,将该目标地址与该地址标签进行比对,若该目标地址与该地址标签匹配,则将该缓存区域作为目标缓存区域,包括:

    14、将该目标地址划分为目标高位以及目标低位;

    15、将该目标高位与该地址标签进行比对,以及将该目标低位与预设条件进行比对;

    16、若该目标高位与该地址标签匹配,且该目标低位满足该预设条件,则将该缓存区域作为该目标缓存区域。

    17、在一些可能的实现方式中,该装置,还包括存储模块,该存储模块分别与该比较模块以及该读取模块电连接,该存储模块包括第一存储单元以及第二存储单元;

    18、针对一个该缓存区域,在该比较模块将该缓存区域作为该目标缓存区域之后,还包括:

    19、该比较模块,还用于根据该目标缓存区域生成预设识别值以及第一预设指示值,将该预设识别值写入该第一存储单元,以及将该目标低位和该第一预设指示值写入该第二存储单元,该预设识别值指示该目标缓存区域,该第一预设指示值表示该目标数据在该缓存存储器中,该目标低位为该目标数据在该目标缓存区域中对应的缓存存储器地址。

    20、在一些可能的实现方式中,该读取模块包括第一读取单元、第二读取单元以及第三读取单元,该第三读取单元分别与该第一读取单元以及该第二读取单元电连接;

    21、该读取模块从该目标缓存区域中读取该目标地址对应的缓存数据,包括:

    22、该第一读取单元,用于从该第二存储单元读取该第一预设指示值以及该目标低位,将该第一预设指示值以及该目标低位发送至该第三读取单元;

    23、该第二读取单元,用于从该第一存储单元读取该预设识别值,将该预设识别值发送至该第三读取单元;

    24、该第三读取单元,用于基于该预设识别值以及该目标低位,从该目标缓存区域中读取该目标低位对应的该目标数据。

    25、在一些可能的实现方式中,该比较模块,还用于若该目标地址与每个该地址标签不匹配,则生成第二预设指示值,将该第二预设指示值以及该目标低位写入该第二存储单元,该第二预设指示值表示该目标数据在该随机存储器中。

    26、在一些可能的实现方式中,每个该缓存区域设有计数单元;

    27、针对一个该缓存区域,当该缓存区域被确定为该目标缓存区域,则该计数单元的计数值清零;

    28、或当该缓存区域未被确定为该目标缓存区域,则该计数单元的该计数值加1。

    29、在一些可能的实现方式中,该第三读取单元,还用于基于该第二预设指示值将该目标地址发送至该随机存储器,从该随机存储器获取该目标地址对应的该目标数据。

    30、在一些可能的实现方式中,该第三读取单元,还用于在从该随机存储器获取该目标地址对应的该目标数据之后,还用于获取每个该缓存区域对应的该计数值,获取最大计数值,将该目标数据存储至该最大计数值对应的该缓存区域中。

    31、在一些可能的实现方式中,针对一个该缓存区域,在该缓存区域获取该目标数据之后,该目标数据的该目标地址的该目标高位为该缓存区域的更新地址标签。

    32、在一些可能的实现方式中,该装置,还包括指令模块,该指令模块与该比较模块电连接;

    33、该指令模块,用于获取该目标地址,基于该目标地址生成目标指令,将该目标指令发送至随机存储器;

    34、该读取模块,用于从该随机存储器获取该目标指令对应的该目标数据。

    35、根据本技术实施例的第二方面,提供了一种基于缓存存储器处理数据的方法,应用于上述的基于缓存存储器处理数据的装置,方法包括:

    36、获取索引,根据该索引生成目标地址;该目标地址包括目标高位以及目标低位,该目标低位的比特数与该随机存储器的位宽的比特数相同,该目标高位的比特数与该目标低位的比特数之和为该目标地址的比特数;

    37、获取该目标地址的该目标高位,将该目标高位与每个该缓存区域的地址标签进行比对,将该地址标签与该目标高位匹配的该缓存区域作为目标缓存区域;

    38、从该目标缓存区域中读取该目标低位对应的该缓存数据,得到目标数据。

    39、在一些可能的实现方式中,该地址标签通过如下方式设置:

    40、针对一个该缓存区域,获取该缓存区域中该缓存数据的该随机存储器地址;

    41、将该缓存数据的该随机存储器地址划分为地址高位以及地址低位,该地址低位的比特数与该随机存储器的位宽的比特数相同,该地址高位的比特数与该地址低位的比特数之和为该随机存储器地址的比特数;

    42、将该地址高位作为该缓存区域的该地址标签。

    43、在一些可能的实现方式中,该目标地址为预设偏移地址与索引项之和;该预设偏移地址为该索引对应的预设输入张量在该随机存储器中的偏移地址,该索引项为对应的该索引与预设参数之积。

    44、在一些可能的实现方式中,该针对一个该缓存区域,将该目标地址与该地址标签进行比对,若该目标地址与该地址标签匹配,则将该缓存区域作为目标缓存区域,包括:

    45、将该目标地址划分为目标高位以及目标低位;

    46、将该目标高位与该地址标签进行比对,以及将该目标低位与预设条件进行比对;

    47、若该目标高位与该地址标签匹配,且该目标低位满足该预设条件,则将该缓存区域作为该目标缓存区域。

    48、在一些可能的实现方式中,针对一个该缓存区域,在该比较模块将该缓存区域作为该目标缓存区域之后,还包括:

    49、根据该目标缓存区域生成预设识别值以及第一预设指示值,将该预设识别值写入该第一存储单元,以及将该目标低位和该第一预设指示值写入该第二存储单元,该预设识别值指示该目标缓存区域,该第一预设指示值表示该目标数据在该缓存存储器中,该目标低位为该目标数据在该目标缓存区域中对应的缓存存储器地址。

    50、在一些可能的实现方式中,从该目标缓存区域中读取该目标地址对应的缓存数据,包括:

    51、从该第二存储单元读取该第一预设指示值以及该目标低位,将该第一预设指示值以及该目标低位发送至该第三读取单元;

    52、从该第一存储单元读取该预设识别值,将该预设识别值发送至该第三读取单元;

    53、基于该预设识别值以及该目标低位,从该目标缓存区域中读取该目标低位对应的该目标数据。

    54、在一些可能的实现方式中,该方法,还包括:若该目标地址与每个该地址标签不匹配,则生成第二预设指示值,将该第二预设指示值以及该目标低位写入该第二存储单元,该第二预设指示值表示该目标数据在该随机存储器中。

    55、在一些可能的实现方式中,针对一个该缓存区域,当该缓存区域被确定为该目标缓存区域,则该计数单元的计数值清零;

    56、或当该缓存区域未被确定为该目标缓存区域,则该计数单元的该计数值加1。

    57、在一些可能的实现方式中,该方法,还包括:基于该第二预设指示值将该目标地址发送至该随机存储器,从该随机存储器获取该目标地址对应的该目标数据。

    58、在一些可能的实现方式中,该方法,还包括:在获取该随机存储器返回的该目标数据之后,还用于获取每个该缓存区域对应的该计数值,获取最大计数值,将该目标数据存储至该最大计数值对应的该缓存区域中。

    59、在一些可能的实现方式中,针对一个该缓存区域,在从该随机存储器获取该目标地址对应的该目标数据之后,该目标数据的该目标地址的该目标高位为该缓存区域的更新地址标签。

    60、在一些可能的实现方式中,该方法,还包括:获取该目标地址,基于该目标地址生成目标指令,将该目标指令发送至随机存储器;从该随机存储器获取该目标指令对应的该目标数据。

    61、根据本技术实施例的第三方面,提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器用于存储至少一段程序,该至少一段程序由该处理器加载并执行上述的基于缓存存储器处理数据的方法。

    62、根据本技术实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一段程序,该至少一段程序由处理器加载并执行以实现上述的基于缓存存储器处理数据的方法。

    63、在本技术实施例中,本技术实施例提供了一种基于缓存存储器处理数据的装置,顺次电连接的地址模块、比较模块以及读取模块,读取模块还分别与随机存储器以及缓存存储器电连接,将随机存储器中部分数据存储至缓存存储器中,在基于索引访问数据时,若索引对应的数据在缓存存储器中,则优先从缓存存储器中获取索引对应的数据,能够减少随机存储器的带宽紧张,从而缩短随机存储器的访问延迟,进而提高数据的输出效率。


    技术特征:

    1.一种基于缓存存储器处理数据的装置,其特征在于,包括:

    2.根据权利要求1所述的装置,其特征在于,所述地址标签通过如下方式设置:

    3.根据权利要求1所述的装置,其特征在于,所述目标地址为预设偏移地址与索引项之和;所述预设偏移地址为所述索引对应的预设输入张量在所述随机存储器中的偏移地址,所述索引项为对应的所述索引与预设参数之积。

    4.根据权利要求2所述的装置,其特征在于,所述比较模块,用于针对一个所述缓存区域,将所述目标地址与所述地址标签进行比对,若所述目标地址与所述地址标签匹配,则将所述缓存区域作为目标缓存区域,包括:

    5.根据权利要求4所述的装置,其特征在于,所述装置,还包括存储模块,所述存储模块分别与所述比较模块以及所述读取模块电连接,所述存储模块包括第一存储单元以及第二存储单元;

    6.根据权利要求5所述的装置,其特征在于,所述读取模块包括第一读取单元、第二读取单元以及第三读取单元,所述第三读取单元分别与所述第一读取单元以及所述第二读取单元电连接;

    7.根据权利要求6所述的装置,其特征在于,所述比较模块,还用于若所述目标地址与每个所述地址标签不匹配,则生成第二预设指示值,将所述第二预设指示值以及所述目标低位写入所述第二存储单元,所述第二预设指示值表示所述目标数据在所述随机存储器中。

    8.根据权利要求7所述的装置,其特征在于,每个所述缓存区域设有计数单元;

    9.根据权利要求8所述的装置,其特征在于,所述第三读取单元,还用于基于所述第二预设指示值将所述目标地址发送至所述随机存储器,从所述随机存储器获取所述目标地址对应的所述目标数据。

    10.根据权利要求9所述的装置,其特征在于,所述第三读取单元,还用于在从所述随机存储器获取所述目标地址对应的所述目标数据之后,获取每个所述缓存区域对应的所述计数值,获取最大计数值,将所述目标数据存储至所述最大计数值对应的所述缓存区域中。

    11.根据权利要求9所述的装置,其特征在于,针对一个所述缓存区域,在所述缓存区域获取所述目标数据之后,所述目标数据的所述目标地址的所述目标高位为所述缓存区域的更新地址标签。

    12.根据权利要求1所述的装置,其特征在于,所述装置,还包括指令模块,所述指令模块与所述比较模块电连接;

    13.一种基于缓存存储器处理数据的方法,应用于上述权利要求1至权利要求12中任意一项所述的基于缓存存储器处理数据的装置,其特征在于,包括:

    14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器用于存储至少一段程序,所述至少一段程序由所述处理器加载并执行如权利要求13所述的基于缓存存储器处理数据的方法。

    15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求13所述的基于缓存存储器处理数据的方法。


    技术总结
    本申请提供了一种基于缓存存储器处理数据的装置、方法、设备及存储介质,装置包括:顺次电连接的地址模块、比较模块以及读取模块,读取模块还分别与随机存储器以及缓存存储器电连接,缓存存储器设有多个缓存区域,每个缓存区域设有地址标签;地址模块,用于获取索引,根据索引生成目标地址;目标地址包括目标高位以及目标低位;比较模块,用于获取目标地址的目标高位,将目标高位与每个缓存区域的地址标签进行比对,将地址标签与目标高位匹配的缓存区域作为目标缓存区域;读取模块,用于从目标缓存区域中读取目标低位对应的缓存数据,得到目标数据。本申请的技术方案,能够提高数据的输出效率。

    技术研发人员:方天琪
    受保护的技术使用者:爱芯元智半导体股份有限公司
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-27307.html

    最新回复(0)