一种存算一体芯片的刷新控制方法与流程

    专利2025-02-28  14


    本说明书涉及芯片存储,尤其涉及一种存算一体芯片的刷新控制方法。


    背景技术:

    1、在神经网络算法中,涉及大量的矩阵乘法计算,在运算过程中需要对数据进行频繁的读写,传统的冯诺依曼架构下的存储芯片在速度和性能上无法适配神经网络算法的特性,为解决这一问题,存算一体设计将逻辑单元集成至存储芯片中,使部分计算功能可以在存储芯片中完成,其中数字存算一体设计由于其高精确度与较强的抗干扰能力获得广泛关注。

    2、六管静态随机存取存储器(6transistor static random access memory,6tsram),是目前最主流的存储介质之一。6t sram数字存算一体芯片因其高读写速度及高逻辑兼容度成为数字存算一体设计最主流的实现方式。但是,因为6t sram存算一体芯片的每个存储单元需要6个晶体管来存储数据,存储密度低,不能用于大规模的神经网络计算。

    3、三管动态随机存取存储器(3transistor dynamic random access memory,3tdram)存算一体芯片,相较于6t sram存算一体芯片,每个存储单元仅需3个晶体管来完成数据的存储,存储密度高,相同面积的芯片可集成更多的存储单元,适用于大规模的神经网络计算。但是,在3t dram存算一体芯片中,因为泄漏电流的存在,需要进行动态刷新来防止芯片存储数据的丢失,刷新过程中不能进行读写操作,对芯片的性能产生一定影响。

    4、所以,本说明书提供一种存算一体芯片的刷新控制方法。


    技术实现思路

    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、所述计算指令未执行结束时,响应于所述周期刷新信号,将所述存储阵列中的所有地址行作为第二待刷新行,对各第二待刷新行依次进行刷新。

    29、本说明书提供了一种存算一体芯片,所述芯片至少包括指令解码器、访存控制器、刷新控制器和运算器,其特征在于,包括:

    30、所述指令解码器接收计算指令,对所述计算指令进行解析,确定所述计算指令对应的计算数据与在所述存储阵列中需要读取的数据的区间,将所述区间和所述计算数据发送至所述访存控制器;

    31、所述访存控制器针对所述区间中的每个地址行,根据所述计算数据,判断是否对该地址行进行读取,若是,则将该地址行的刷新状态标记为已刷新,对该地址行的数据进行读取,将该地址行的数据作为计算的中间结果发送至所述运算器进行计算,并将该地址行的数据写回该地址行,完成对该地址行的刷新,若否,则不对该地址行的数据进行读取,将预设数据作为计算的中间结果发送至所述运算器进行计算;

    32、所述计算指令执行结束后,所述访存控制器根据所述区间中各地址行的刷新状态,确定刷新状态未标记为已刷新的地址行,作为第一待刷新行,对所述第一待刷新行的数据进行刷新,所述第一待刷新行的刷新结束后,所述访存控制器向所述刷新控制器发送计算完毕信号;

    33、所述刷新控制器根据预设的刷新周期,向所述访存控制器发送周期刷新信号,在收到所述访存控制器的刷新允许信号后,所述刷新控制器根据计算完毕信号,确定所述计算完毕信号对应计算指令确定的所述区间,根据所述存储阵列中不属于所述区间的地址行,确定第二待刷新行,生成对所述第二待刷新行的刷新指令发送至所述访存控制器;

    34、所述访存控制器根据所述刷新指令,对所述第二待刷新行进行刷新。

    35、可选地,存储阵列包含多个地址行,按照地址顺序将各地址行划分为多个地址组;

    36、所述指令解码器确定所述区间内的起始地址行和结束地址行,将所述起始地址行和所述结束地址行之间所包含的完整的地址组,作为已刷新组,将所述已刷新组的刷新状态标记为已刷新,根据所述存储阵列中各地址组的刷新状态,确定第一刷新状态数列,并将所述第一刷新状态数列发送至所述刷新控制器。

    37、可选地,所述刷新控制器在收到所述访存控制器的计算完毕信号后,根据所述第一刷新状态数列,确定第二刷新状态数列;

    38、所述刷新控制器根据预设的刷新周期,向所述访存控制器发送周期刷新信号,收到所述访存控制器的刷新允许信号后,将所述第一刷新状态数列清零,根据所述第二刷新状态数列,确定所述存储阵列中刷新状态未标记为已刷新的地址组,作为待刷新组,将所述待刷新组包含的各地址行作为第二待刷新行,依次对各第二待刷新行生成刷新指令发送至所述访存控制器。

    39、可选地,所述刷新控制器中存储有默认状态的第二刷新状态数列,所述第二刷新状态数列为所述刷新控制器响应于访存控制器的计算完毕信号,根据所述第一刷新状态数列更新所述默认状态的第二刷新状态数列确定的;

    40、所述计算指令未执行结束时,所述刷新控制器根据预设的刷新周期,向所述访存控制器发送周期刷新信号,收到所述访存控制器的刷新允许信号后,将所述第一刷新状态数列清零,根据所述默认状态的第二刷新状态数列,确定所述存储阵列中刷新状态未标记为已刷新的地址组,作为待刷新组,将所述待刷新组的各地址行作为第二待刷新行,依次生成对各第二待刷新行的刷新指令发送至所述访存控制器;

    41、所述访存控制器依次执行所述各第二待刷新行的刷新指令,当所有刷新指令执行结束后,继续执行所述计算指令,所述计算指令执行结束后,所述访存控制器向所述刷新控制器发送计算完毕信号,所述刷新控制器通过清零后的第一刷新状态数列更新所述默认状态的第二刷新状态数列。

    42、本说明书采用的上述至少一个技术方案能够达到以下有益效果:

    43、在本说明书提供的存算一体芯片的刷新控制方法中,响应于计算指令,确定需要读取的数据的区间,针对区间中的每个地址行,判断是否对该地址行的数据进行读取,若是,将该地址行的刷新状态标记为已刷新,对该地址行的数据进行读取,并将该地址行的数据写回,若否,不对该地址行的数据进行读取。计算指令执行结束时,对刷新状态未标记为已刷新的地址行,进行刷新。响应于周期刷新信号,根据不属于区间的地址行,确定第二待刷新行,对第二待刷新行进行刷新。

    44、本说明书中的刷新控制方法,利用在计算过程中需要对计算所需的连续地址区间数据进行读取的特点,将计算过程中读取的数据重新写回,从而在计算过程中完成对计算所需数据的区间中各地址行的刷新,在周期刷新信号到来后,不再需要刷新整个阵列的所有地址行,极大减少了周期刷新信号到来后需要刷新的地址行数量,从而减少了单独的刷新操作的时间,提高了芯片性能。


    技术特征:

    1.一种存算一体芯片的刷新控制方法,其特征在于,包括:

    2.如权利要求1所述的方法,其特征在于,根据所述计算指令包含的计算数据,判断是否对该地址行的数据进行读取,具体包括:

    3.如权利要求2所述的方法,其特征在于,对该地址行的数据进行读取,根据该地址行的数据进行计算,并将该地址行的数据写回该地址行,完成对该地址行的刷新,具体包括:

    4.如权利要求1所述的方法,其特征在于,存储阵列包含多个地址行,按照地址顺序将各地址行划分为多个地址组;

    5.如权利要求1所述的方法,其特征在于,所述计算数据分为多条计算子数据依次输入,各计算子数据中相同位的数值对应所述区间的同一个地址行;

    6.如权利要求1所述的方法,其特征在于,所述方法还包括:

    7.一种存算一体芯片,所述芯片至少包括指令解码器、访存控制器、刷新控制器和运算器,其特征在于,包括:

    8.如权利要求7所述的芯片,其特征在于,存储阵列包含多个地址行,按照地址顺序将各地址行划分为多个地址组;

    9.如权利要求8所述的芯片,其特征在于,所述刷新控制器在收到所述访存控制器的计算完毕信号后,根据所述第一刷新状态数列,确定第二刷新状态数列;

    10.如权利要求8所述的芯片,其特征在于,所述刷新控制器中存储有默认状态的第二刷新状态数列,所述第二刷新状态数列为所述刷新控制器响应于访存控制器的计算完毕信号,根据所述第一刷新状态数列更新所述默认状态的第二刷新状态数列确定的;


    技术总结
    本说明书公开了一种存算一体芯片的刷新控制方法,响应于计算指令,确定需要读取的数据的区间,针对区间中的每个地址行,判断是否对该地址行的数据进行读取,若是,将该地址行的刷新状态标记为已刷新,对读取该地址行的数据,并将该地址行的数据写回,若否,不读取该地址行的数据。计算指令执行结束时,对刷新状态未标记为已刷新的地址行进行刷新。利用在计算过程中对计算所需连续地址区间数据进行读取的特点,将读取的数据重新写回,从而在计算过程中完成对计算所需数据的区间中各地址行的刷新,在周期刷新信号到来后,不再需要刷新存储阵列所有地址行,减少响应于周期刷新信号需要刷新的地址行数量,从而减少单独的刷新操作时间,提高芯片性能。

    技术研发人员:曹玥,杨建国
    受保护的技术使用者:之江实验室
    技术研发日:
    技术公布日:2024/4/29
    转载请注明原文地址:https://wp.8miu.com/read-83539.html

    最新回复(0)