乱序存储和释放数据的方法及装置制造方法及图纸

技术编号:38594693 阅读:11 留言:0更新日期:2023-08-26 23:31
本申请提供一种乱序存储和释放数据的方法及装置,所述方法通过第一数据结构来标记缓存中每个存储空间的使用状态,以便将当前发送的命令信息直接注入空闲的存储空间。并且,通过在缓存的每个存储空间设置计数器累计缓存中相同已存储命令信息的数量,以及通过第二数据结构来标记缓存中已存储的命令信息与当前接收的命令反馈信息相同的存储空间,以便根据第二数据结构和计数器来查找目标存储空间,实现对目标存储空间已存储命令信息的准确提取和释放。本申请提供的乱序存储和释放数据的方法及装置可以对存储空间进行灵活动态的注入和释放操作,克服需要大量数据移位操作的缺陷,降低硬件电路的功耗。降低硬件电路的功耗。降低硬件电路的功耗。

【技术实现步骤摘要】
乱序存储和释放数据的方法及装置


[0001]本申请涉及数字电路领域,具体涉及一种乱序存储和释放数据的方法及装置。

技术介绍

[0002]数字电路的实现系统中通常使用主从数据通信总线来实现主机和从机的通信。主机和从机之间可以通过命令通道(Command Channel,简称CC)、数据通道(Data Channel,简称DC)及反馈通道(Response Channel,简称RC)来实现通信。其中,CC支持Outstanding(简称OTD),OTD是指主机可以在RC没有返回在先命令的反馈信息的情况下,通过CC继续发送后续命令的行为。RC支持乱序返回,即对于不同命令的ID(英文全称:Identifier,身份指示符),RC返回命令的ID的顺序与CC发送命令的ID的顺序可以不相同。
[0003]通常,主机通过CC发送OTD命令时,需要把命令信息存储在指定的存储结构中,等到RC返回对应命令的反馈信息时,系统根据需要使用存储结构中的命令信息,同时释放该命令信息在该存储结构中的空间。然而,在释放存储空间时,针对OTD命令的ID存在相同的场景,由于存储结构中多个存储空间对应的命令的ID与从RC乱序返回的命令的ID相同,会导致从RC乱序返回的命令的ID无法一一映射到存储结构中的命令的ID,以得到需要释放的唯一存储空间的问题。
[0004]为了解决这个问题,目前常规的方法是:设置一个存储结构;存储结构的数据注入规则是按照命令发送的顺序依次将命令的ID注入存储结构;存储结构的数据释放规则是根据RC返回的命令的ID从低地址至高地址查找存储结构中相同的命令的ID,若匹配,则释放命中位置的存储空间,并且,把存储结构中命中位置之后的所有数据依次前移,以供下一次映射使用。但是,该方法需要大量的数据移位操作,在硬件电路中,如果命令信号很多,则该方法浪费功耗。

技术实现思路

[0005]本申请提供一种乱序存储和释放数据的方法及装置,可以在数字电路的实现系统对相应命令信息进行准确提取和释放的过程中,克服需要大量数据移位操作的缺陷,降低硬件电路的功耗。
[0006]第一方面,本申请提供一种乱序存储和释放数据的方法,包括:
[0007]当发送一命令时,根据第一数据结构将当前发送的命令信息注入一缓存中一个空闲的存储空间,并在第一数据结构中将存储当前发送的命令信息的存储空间标记为被占用,其中,缓存的每个存储空间均设置一计数器,所述计数器用于累计缓存中与当前发送的命令信息相同的已存储的命令信息的数量;
[0008]若缓存中不存在与当前发送的命令信息相同的已存储的命令信息,则与存储当前发送的命令信息的存储空间对应的计数器将初始值作为当前计数值;
[0009]若缓存中存在至少一个与当前发送的命令信息相同的已存储的命令信息,则与存储当前发送的命令信息的存储空间对应的计数器将与当前发送的命令信息相同的已存储
的命令信息的数量增一后作为当前计数值;
[0010]当接收一命令的反馈信息时,根据第二数据结构从缓存中被标记为匹配的存储空间中查找目标存储空间,其中,被标记为匹配的存储空间已存储的命令信息与当前接收的命令反馈信息相同,以及,与目标存储空间对应的计数器的当前计数值为初始值;
[0011]在所述第一数据结构中将目标存储空间标记为空闲,并且将被标记为匹配的存储空间中除目标存储空间之外的存储空间对应的计数器的计数值减一后作为当前计数值。
[0012]第二方面,本申请提供一种乱序存储和释放数据的装置,包括:
[0013]命令信息缓存模块,被配置为,当发送一命令时,根据第一数据结构将当前发送的命令信息注入一缓存中一个空闲的存储空间,并且,在第一数据结构中将存储当前发送的命令信息的存储空间标记为被占用,其中,缓存的每个存储空间均设置一计数器,所述计数器用于累计缓存中与当前发送的命令信息相同的已存储的命令信息的数量;
[0014]第一判定模块,被配置为,若缓存中不存在与当前发送的命令信息相同的已存储的命令信息,则与存储当前发送的命令信息的存储空间对应的计数器将初始值作为当前计数值;
[0015]第二判定模块,被配置为,若缓存中存在至少一个与当前发送的命令信息相同的已存储的命令信息,则与存储当前发送的命令信息的存储空间对应的计数器将与当前发送的命令信息相同的已存储的命令信息的数量增一后作为当前计数值;
[0016]查找模块,被配置为,当接收一命令的反馈信息时,根据第二数据结构从缓存中被标记为匹配的存储空间中查找目标存储空间,其中,被标记为匹配的存储空间已存储的命令信息与当前接收的命令反馈信息相同,与目标存储空间对应的计数器的当前计数值为初始值;
[0017]命令信息释放模块,被配置为,在所述第一数据结构中将目标存储空间标记为空闲,并且将被标记为匹配的存储空间中除目标存储空间之外的存储空间对应的计数器的计数值减一后作为当前计数值。
[0018]进一步地,在根据第一数据结构将当前发送的命令信息注入一缓存中一个空闲的存储空间之前,所述命令信息缓存模块还被配置为:构建第一数据结构,所述第一数据结构用于标记缓存中的存储空间的使用状态,其中,使用状态包括空闲和被占用,第一数据结构的深度与缓存的深度N相同,N为正整数。
[0019]进一步地,所述第一数据结构是深度为N个bit的第一位图序列,每一bit对应标记缓存中每一存储空间的使用状态,每一存储空间的初始使用状态为空闲。
[0020]进一步地,在所述根据第二数据结构从缓存中被标记为匹配的存储空间中查找目标存储空间之前,所述查找模块还被配置为:将当前接收的命令反馈信息逐一与缓存中每个被占用的存储空间已存储的命令信息进行比较,以获取缓存中每个被占用的存储空间已存储的命令信息与当前接收的命令反馈信息的匹配状态;构建第二数据结构,并通过第二数据结构标记缓存中已存储的命令信息与当前接收的命令反馈信息匹配的存储空间。
[0021]进一步地,所述第二数据结构是深度为N个bit的第二位图序列,每一bit对应标记缓存中一个已存储的命令信息与当前接收的命令反馈信息匹配的存储空间。
[0022]进一步地,所述命令信息和命令反馈信息是命令的ID。
[0023]第三方面,本申请提供一种集成电路,包括存储单元、处理单元及存储在存储单元
上并能在处理单元上运行的计算机程序或指令,所述处理单元运行所述计算机程序或指令时能够执行第一方面提供的所述乱序存储和释放数据的方法的步骤。
[0024]第四方面,本申请提供一种电子设备,配置有如第三方面所述的集成电路。
[0025]第五方面,本申请提供一种计算机可读存储介质,存储有计算机程序或指令,该计算机程序或指令被处理器执行时实现第一方面所述乱序存储和释放数据的方法的步骤。
[0026]由上述技术方案可知,本申请提供的乱序存储和释放数据的方法及装置,通过第一数据结构来标记缓存中每个存储空间的使用状态,以便将当前发送的命令信息直接注入空闲的存储空间。并且,通本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种乱序存储和释放数据的方法,其特征在于,所述方法包括:当发送一命令时,根据第一数据结构将当前发送的命令信息注入一缓存中一个空闲的存储空间,并在第一数据结构中将存储当前发送的命令信息的存储空间标记为被占用,其中,缓存的每个存储空间均设置一计数器,所述计数器用于累计缓存中与当前发送的命令信息相同的已存储的命令信息的数量;若缓存中不存在与当前发送的命令信息相同的已存储的命令信息,则与存储当前发送的命令信息的存储空间对应的计数器将初始值作为当前计数值;若缓存中存在至少一个与当前发送的命令信息相同的已存储的命令信息,则与存储当前发送的命令信息的存储空间对应的计数器将与当前发送的命令信息相同的已存储的命令信息的数量增一后作为当前计数值;当接收一命令的反馈信息时,根据第二数据结构从缓存中被标记为匹配的存储空间中查找目标存储空间,其中,被标记为匹配的存储空间已存储的命令信息与当前接收的命令反馈信息相同,以及,与目标存储空间对应的计数器的当前计数值为初始值;在所述第一数据结构中将目标存储空间标记为空闲,并且将被标记为匹配的存储空间中除目标存储空间之外的存储空间对应的计数器的计数值减一后作为当前计数值。2.根据权利要求1所述的乱序存储和释放数据的方法,其特征在于,在根据第一数据结构将当前发送的命令信息注入一缓存中一个空闲的存储空间的步骤之前,所述方法包括:构建第一数据结构,所述第一数据结构用于标记缓存中的存储空间的使用状态,其中,使用状态包括空闲和被占用,第一数据结构的深度N与缓存的深度N相同,N为正整数。3.根据权利要求2所述的乱序存储和释放数据的方法,其特征在于,所述第一数据结构是深度为N个bit的第一位图序列,每一bit对应标记缓存中每一存储空间的使用状态,每一存储空间的初始使用状态为空闲。4.根据权利要求1所述的乱序存储和释放数据的方法,其特征在于,在所述根据第二数据结构从缓存中被标记为匹配的存储空间中查找目标存储空间的步骤之前,所述方法还包括:将当前接收的命令反馈信息逐一与缓存中每个被占用的存储空间已存储的命令信息进行比较,以获取缓存中每个被占用的存储空间已存储的命令信息与当前接收的命令反馈信息的匹配状态;构建第二数据结构,并通过第二数据结构标记缓存中已存储的命令信息与当前接收的命令反...

【专利技术属性】
技术研发人员:李阳吴志伟
申请(专利权)人:深圳云豹智能有限公司
类型:发明
国别省市:

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

1