一种存储器的快速读写方法、装置、电子设备及存储介质制造方法及图纸

技术编号:31089992 阅读:17 留言:0更新日期:2021-12-01 12:51
本发明专利技术公开了一种存储器的快速读写方法、装置、电子设备及存储介质,本发明专利技术可在等待数据值返回过程中,进行多个具有同一数据读取地址的数据读写命令对应数据值的一次性读取、多个具有不同数据读取地址的数据读写命令对应读取指令的串行发送以及多个具有同一地址的数据读写命令对应存储值的一次性写入,从而避免了现有技术需要每个命令都读写一次的弊端,由此,本发明专利技术即可缩短数据值的读取间隔时间,进而缩短存储值的写入间隔时间,最终提高了光子数累计的效率。子数累计的效率。子数累计的效率。

【技术实现步骤摘要】
一种存储器的快速读写方法、装置、电子设备及存储介质


[0001]本专利技术属于时间测量系统中的存储器读写
,具体涉及一种存储器的快速读写方法、装置、电子设备及存储介质。

技术介绍

[0002]在时间测量系统中,通过计算光子到达时间,以柱状图累计的方式,可以得到一个关于光子信息的时间包络图,其横坐标为按照一定时间分辨率划分的时间值,纵坐标为光子数,当一个光子到达时,按照光子到达的时间位置,在相应的时间窗口内加一,多次累加之后,得到一个柱状图的信息,以实现光子到达时间的统计。
[0003]目前,柱状图的累计过程是通过把柱状图放在一个存储器中,每个分辨率(即一个时间段)对应存储器的一个地址,当某个光子到达时,读取此光子的时间信息对应地址中的数据值,待存储器中的数据被读出后,在此数据的基础上加一,然后再写入存储器,即实现一次柱状图的累计;同理,对于光子的多次测量,通过多次读出对应地址的数据值然后加一写回存储器,即可得到基于光子到达时间的柱状图信息。
[0004]但是,前述数据读写方法存在以下问题:由于每个光子做累计加一写回存储器的时候,需要先发送读命令,等待存储器中的数据返回,然后再加一写回,接着才能进行下一命令的发送,以此进行循环,从而实现光子数的累计,而对于同一地址来说,其也需要一次一次的读写,其读写次数与命令的个数相同,由此,则会增大两个光子被统计的时间间隔,即增大了系统的死时间,降低了光子数累计的效率,最终影响到实验的效果;因此,如何提高光子测量时存储器的读写速度成为一个亟待解决的问题。
>
技术实现思路

[0005]本专利技术的目的是提供一种存储器的快速读写方法、装置、电子设备及存储介质,以解决现有光子做累计加一时,需要先发送读命令,等待存储器中的数据返回,然后再加一写回,接着才能进行下一次读取,从而导致的同一地址需要多次读写,造成光子数累计效率较低的问题。
[0006]为了实现上述目的,本专利技术采用以下技术方案:
[0007]本专利技术提供了一种存储器的快速读写方法,使用N级寄存器组进行存储器中数据的读写,其中,所述N级寄存器组包括n个寄存器,且n个寄存器按照序号从高到低进行排序,所述方法包括:
[0008]S1.接收第一数据读写命令,其中,所述第一数据读写命令包括数据读取地址;
[0009]S2.将所述第一数据读写命令中的数据读取地址存储至第i个寄存器中,并将所述第i个寄存器的存储有效指示位由0变为1,其中,所述第i个寄存器为所述N级寄存器组中存储有效指示位为0且上一寄存器的存储有效指示位为1的寄存器或存储有效指示位为0且排序最低的寄存器,i,N和n为整数;
[0010]S3.根据所述第一数据读写命令,生成第一数据读取指令,其中,所述第一数据读
取指令包括所述数据读取地址;
[0011]S4.向存储器驱动模块发送所述第一数据读取指令,以使所述存储器驱动模块根据所述第一数据读取指令,从存储器中读取与所述数据读取地址相对应的第一数据值;
[0012]S5.若在接收到所述第一数据值前,接收到第二数据读写命令,则判断所述N级寄存器组中是否存在存储有第二地址的寄存器,其中,所述第二地址为所述第二数据读写命令中的数据读取地址;
[0013]S6.若是,则将存储有第二地址的寄存器的读命令统计值加1;
[0014]S7.重复步骤S5和步骤S6,直至接收到所述第一数据值时,停止接收第二数据读写命令;
[0015]S8.在接收到所述第一数据值后,根据所述第一数据值以及所述第i个寄存器的读命令统计值,得到所述第一数据读写命令中数据读取地址对应的存储值;
[0016]S9.将所述存储值发送至所述存储器驱动模块,以使所述存储器驱动模块将所述存储值存储至所述存储器中;
[0017]S10.将所述第i个寄存器的存储有效指示位以及读命令统计值变为0,并重复步骤S1~S10,直至未接收到新的第一数据读写命令为止。
[0018]基于上述公开的内容,本专利技术通过在等待第一数据读写命令对应的数据值返回过程中,对接收到的第二数据读写命令中的地址进行判断,即判断N级寄存器组中是否存在存储有第二地址的寄存器,若存在,则将存储有第二地址的寄存器的读命令统计值加1,以此循环,直至接收到第一数据值为止;由此,本专利技术即可在数据值返回过程中,对具有相同地址的命令进行统计,也就是直接对存储有该相同地址的寄存器的读命令统计值加一,而当第一数据值返回后,即可使用第一数据值加上对应寄存器的读命令统计值,从而具得到有相同地址的多个命令的存储值,最后,将该存储值存入存储器,即可实现多个具有相同地址命令对应数据值的一次性读取,以及存储值的一次性写入。
[0019]通过上述设计,本专利技术通过使用多个寄存器,而每个寄存器可存储一个地址,从而在等待一个命令的数据值返回期间,对接收到的多个命令中的地址进行判别,从而将相同地址存入一个寄存器,并对对应寄存器的读命令统计值加1,最后,在接收到该命令的数据值时,即可使用数据值加上对应寄存器的读命令统计值,从而得到具有相同地址的多个命令的存储值;由此,即可实现多个具有相同地址命令对应数据的一次性读取,以及存储值的一次性写入,而无需每个命令读写一次,大大的提高了光子数累计的效率。
[0020]在一个可能的设计中,所述方法还包括:
[0021]若所述N级寄存器组中不存在存储有第二地址的寄存器,则将所述第二地址存储至第j个寄存器中,其中,所述第j个寄存器为所述第i个寄存器的下一个寄存器;
[0022]根据所述第二地址,生成第二数据读取指令,其中,所述第二数据读取指令包括所述第二地址;
[0023]向所述存储器驱动模块发送所述第二数据读取指令,以使所述存储器驱动模块根据所述第二数据读取指令,在存储器中读取与所述第二地址相对应的第二数据值。
[0024]基于上述公开的内容,若N级寄存器组中不存在存储有第二地址的寄存器,则说明在n个寄存器中没有存入过第二地址,因此,则需要将第二地址存储至第i个寄存器的下一个寄存器中;同时,本专利技术还会生成第二数据读取指令,并发送至存储器驱动模块;由此,本
专利技术可实现多个具有不同地址的数据读写命令对应读取指令的串行发送,从而避免现有技术需等待前一个命令的数据值返回并写入后才能发送下一读取指令的弊端,由此,即可减少数据读取指令的发送间隔时间,从而减少不同地址对应存储值的写入间隔时间,进而进一步的提高了光子数的累计效率。
[0025]在一个可能的设计中,在将所述第一数据读写命令中的数据读取地址存储至第i个寄存器中前,所述方法还包括:
[0026]判断所述N级寄存器组中是否存在存储有所述数据读取地址的寄存器;
[0027]若否,则将所述第一数据读写命令中的数据读取地址存储至第i个寄存器中。
[0028]在一个可能的设计中,所述方法还包括:
[0029]若是,则将存储有所述数据读取地址的寄存器的读命令统计值加1。
[0030]基于上述公开的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种存储器的快速读写方法,其特征在于,使用N级寄存器组进行存储器中数据的读写,其中,所述N级寄存器组包括n个寄存器,且n个寄存器按照序号从高到低进行排序,所述方法包括:S1.接收第一数据读写命令,其中,所述第一数据读写命令包括数据读取地址;S2.将所述第一数据读写命令中的数据读取地址存储至第i个寄存器中,并将所述第i个寄存器的存储有效指示位由0变为1,其中,所述第i个寄存器为所述N级寄存器组中存储有效指示位为0且上一寄存器的存储有效指示位为1的寄存器或存储有效指示位为0且排序最低的寄存器,i,N和n为整数;S3.根据所述第一数据读写命令,生成第一数据读取指令,其中,所述第一数据读取指令包括所述数据读取地址;S4.向存储器驱动模块发送所述第一数据读取指令,以使所述存储器驱动模块根据所述第一数据读取指令,从存储器中读取与所述数据读取地址相对应的第一数据值;S5.若在接收到所述第一数据值前,接收到第二数据读写命令,则判断所述N级寄存器组中是否存在存储有第二地址的寄存器,其中,所述第二地址为所述第二数据读写命令中的数据读取地址;S6.若是,则将存储有第二地址的寄存器的读命令统计值加1;S7.重复步骤S5和步骤S6,直至接收到所述第一数据值时,停止接收第二数据读写命令;S8.在接收到所述第一数据值后,根据所述第一数据值以及所述第i个寄存器的读命令统计值,得到所述第一数据读写命令中数据读取地址对应的存储值;S9.将所述存储值发送至所述存储器驱动模块,以使所述存储器驱动模块将所述存储值存储至所述存储器中;S10.将所述第i个寄存器的存储有效指示位以及读命令统计值变为0,并重复步骤S1~S10,直至未接收到新的第一数据读写命令为止。2.如权利要求1所述的方法,其特征在于,所述方法还包括:若所述N级寄存器组中不存在存储有第二地址的寄存器,则将所述第二地址存储至第j个寄存器中,其中,所述第j个寄存器为所述第i个寄存器的下一个寄存器;根据所述第二地址,生成第二数据读取指令,其中,所述第二数据读取指令包括所述第二地址;向所述存储器驱动模块发送所述第二数据读取指令,以使所述存储器驱动模块根据所述第二数据读取指令,在存储器中读取与所述第二地址相对应的第二数据值。3.如权利要求1所述的方法,其特征在于,在将所述第一数据读写命令中的数据读取地址存储至第i个寄存器中前,所述方法还包括:判断所述N级寄存器组中是否存在存储有所述数据读取地址的寄存器;若否,则将所述第一数据读写命令中的数据读取地址存储至第i个寄存器中。4.如权利要求3所述的方法,其特征在于,所述方法还包括:若是,则将存储有所述数据读取地址的寄存器的读命令统计值加1。5.如权利要求1所述的方法,其特征在于,根据所述第一数据值以及所述第i个寄存器的读命令统计值,得到所述第一数据读写命令中数据读取地址对应的存储值,包括:
将所述第一数据值与所述第i个寄存器的读命令统计值相加,得到所述存储值。6.如权利要求1所述的方法,其特征在于,所述N级寄存器组包括至少4个寄存器或至少8个寄存器。7.一种存储器的快速读写装置,其特征在于,包括:接收单元、存储单元、命令生成单元、发送单元...

【专利技术属性】
技术研发人员:张帅陈杰
申请(专利权)人:山东星秒光电科技有限公司
类型:发明
国别省市:

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

1