数据处理方法和装置制造方法及图纸

技术编号:27263219 阅读:43 留言:0更新日期:2021-02-06 11:25
本发明专利技术实施例公开了一种数据处理方法和装置,将原始数据存储至少两份,每一份又分布存储在多个RAM(即RAM组)中,这样当滑动窗口覆盖的数据占用多个地址单元时,可以同时从多个RAM组中同时读取滑动窗口覆盖的数据的不同部分,实现了在一个读时钟周期内对滑动窗口数据的并行读取,从而提高嵌入式系统的数据处理效率。率。率。

【技术实现步骤摘要】
数据处理方法和装置


[0001]本专利技术涉及数据处理
,更具体地说,涉及一种数据处理方法和装置。

技术介绍

[0002]嵌入式系统在进行数据处理时,一般流程是从存储器中读取数据,然后将读取的数据送往计算单元完成特定运算,最后输出计算结果。目前的嵌入式系统在读取数据时,按顺序流水读取,即每个时钟周期内仅能读取一个地址中的数据,这种处理方式使得数据的读取速度较慢,特别是有滑动窗口提取处理需求的数据处理算法,可能出现一个滑动窗口内的数据需要在多个时钟周期内读取,无法高效获取滑动窗口内数据,因此数据处理的实时性无法满足高速处理的需求。
[0003]因此,如何提高嵌入式系统的数据处理效率成为亟待解决的技术问题。

技术实现思路

[0004]本专利技术的目的是提供一种数据处理方法和装置,以提高嵌入式系统的数据处理效率。包括如下技术方案:
[0005]一种数据处理方法,包括:
[0006]将原始数据划分为长度相同的输入数据,并按顺序编号,在每个写时钟周期,根据预先配置信息和输入数据序号确定写地址线;所述预先配置信息包括:每个RAM组中RAM的个数,RAM的写地址线宽度,以及RAM的写端口数据位宽和读端口数据位宽;RAM组的个数根据滑动窗口数据的位宽、每个RAM组中包括的RAM个数、以及RAM的写端口数据位宽和读端口数据位宽确定;或者,每个RAM组中包括的RAM个数、RAM的写端口数据位宽和读端口数据位宽根据RAM组的个数和滑动窗口数据的位宽确定;
[0007]根据输入数据序号、每个RAM组中RAM的个数、以及RAM的写端口数据位宽和读端口数据位宽确定写RAM,并将输入数据序号对应的输入数据按照确定的写地址线和写RAM写入;
[0008]在所有输入数据写入完成后,当需要读取数据时,在每个读时钟周期,确定滑动窗口序号;
[0009]根据滑动窗口序号对应的输入数据序号、RAM的读端口数据位宽和写端口数据位宽、以及每个RAM组中RAM的个数确定滑动窗口序号对应的读地址线;
[0010]从所确定的读地址线对应的存储位置中读取存储数据;其中,在确定的读地址线的个数大于一个时,在不同的RAM组中读取不同读地址线对应的存储位置中的存储数据;
[0011]根据滑动窗口序号对应的输入数据序号、RAM的读端口数据位宽和写端口数据位宽、每个RAM组中RAM的个数和确定的读地址线,从读取的存储数据中提取相应的滑动窗口数据;其中,在确定的读地址线的个数大于一个时,从在不同RAM组中读取的存储数据中提取滑动窗口数据的各个部分进行拼接,得到相应的滑动窗口数据。
[0012]上述方法,可选的,所述根据预先配置信息和输入数据序号确定写地址线包括:
[0013]根据如下公式确定写地址线:
[0014]wr_addr={wr_data_num[addr_A_width-1:log2(M)+log2(lenB/lenA)],wr_data_num[log2(lenB/lenA)-1:0]}
[0015]其中,wr_addr表示写地址线;wr_data_num为输入数据序号;lenA为RAM的写端口数据位宽;lenB为RAM的读端口数据位宽;M为每个RAM组中RAM的个数;
[0016]wr_data_num[addr_A_width-1:log2(M)+log2(lenB/lenA)]表示写地址线的高位,取wr_data_num的第addr_A_width-1个比特位到第log2(M)+log2(lenB/lenA)个比特位的数据;wr_data_num[log2(lenB/lenA)-1:0]表示写地址线的低位,取wr_data_num的第log2(lenB/lenA)-1个比特位到第0个比特位的数据;addr_A_width为所述RAM的写地址线宽度。
[0017]上述方法,可选的,所述RAM组的个数根据滑动窗口数据的位宽、每个RAM组中包括的RAM个数、以及RAM的写端口数据位宽和读端口数据位宽确定,包括:
[0018]根据如下公式确定所述RAM组的个数:
[0019]R≥(P-lenA+lenB)/(M
×
lenB)
[0020]其中,R表示所述RAM组的个数;lenA为RAM的写端口数据位宽;lenB为RAM的读端口数据位宽;M为每个RAM组中RAM的个数,P表示滑动窗口数据的位宽。
[0021]上述方法,可选的,所述根据输入数据序号、每个RAM组中RAM的个数、以及每个RAM的写端口数据位宽和读端口数据位宽确定写RAM,包括:
[0022]根据如下公式确定写RAM:
[0023][0024]其中,RAM_num表示写RAM的序号;
[0025]we_v=1时表示将写RAM的写端口使能;
[0026]wr_data_num[log2(M)+log2(lenB/lenA)-1:log2(lenB/lenA)]表示取wr_data_num的第log2(M)+log2(lenB/lenA)-1个比特位至第log2(lenB/lenA)个比特位的数据;wr_data_num表示输入数据序号;lenA为RAM写端口数据位宽;lenB为RAM的读端口数据位宽;M为每个RAM组中RAM的个数。
[0027]上述方法,可选的,所述将输入数据序号对应的输入数据按照确定的写地址线和写RAM写入,包括:
[0028]根据写地址线确定输入数据序号对应的输入数据在写RAM中的写入位置;其中,所述输入数据序号对应的输入数据中的各数据的顺序按照每个RAM组中RAM的位置顺序匹配写入。
[0029]上述方法,可选的,所述根据滑动窗口序号对应的输入数据序号、RAM的读端口数据位宽和写端口数据位宽、以及每个RAM组中RAM的个数确定滑动窗口序号对应的读地址线,包括:
[0030]根据如下公式确定滑动窗口序号对应的读地址线:
[0031]rd_B_addr=floor(rd_data_num/(lenB/lenA
×
M))
[0032]其中,rd_B_addr表示滑动窗口序号对应的读地址线,rd_data_num表示滑动窗口序号对应的输入数据序号中的任一输入数据序号;lenA为RAM的写端口数据位宽;lenB为
RAM的读端口数据位宽;M为每个RAM组中RAM的个数;floor表示向下取整。
[0033]上述方法,可选的,所述根据滑动窗口序号对应的输入数据序号、RAM的读端口数据位宽和写端口数据位宽、每个RAM组中RAM的个数和确定的读地址线,从读取的存储数据中提取相应的滑动窗口数据,包括:
[0034]对于滑动窗口序号对应的输入数据序号中的任一输入数据序号,根据该输入数据序号、RAM的读端口数据位宽和写端口数据位宽、以及每个RAM组中RAM的个数和基于该输入数据序号确定的读地址线,确定读RAM;
[0035]根据该输入数据序号、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:将原始数据划分为长度相同的输入数据,并按顺序编号,在每个写时钟周期,根据预先配置信息和输入数据序号确定写地址线;所述预先配置信息包括:每个RAM组中RAM的个数,RAM的写地址线宽度,以及RAM的写端口数据位宽和读端口数据位宽;RAM组的个数根据滑动窗口数据的位宽、每个RAM组中包括的RAM个数、以及RAM的写端口数据位宽和读端口数据位宽确定;或者,每个RAM组中包括的RAM个数、RAM的写端口数据位宽和读端口数据位宽根据RAM组的个数和滑动窗口数据的位宽确定;根据输入数据序号、每个RAM组中RAM的个数、以及RAM的写端口数据位宽和读端口数据位宽确定写RAM,并将输入数据序号对应的输入数据按照确定的写地址线和写RAM写入;在所有输入数据写入完成后,当需要读取数据时,在每个读时钟周期,确定滑动窗口序号;根据滑动窗口序号对应的输入数据序号、RAM的读端口数据位宽和写端口数据位宽、以及每个RAM组中RAM的个数确定滑动窗口序号对应的读地址线;从所确定的读地址线对应的存储位置中读取存储数据;其中,在确定的读地址线的个数大于一个时,在不同的RAM组中读取不同读地址线对应的存储位置中的存储数据;根据滑动窗口序号对应的输入数据序号、RAM的读端口数据位宽和写端口数据位宽、每个RAM组中RAM的个数和确定的读地址线,从读取的存储数据中提取相应的滑动窗口数据;其中,在确定的读地址线的个数大于一个时,从在不同RAM组中读取的存储数据中提取滑动窗口数据的各个部分进行拼接,得到相应的滑动窗口数据。2.根据权利要求1所述的方法,其特征在于,所述根据预先配置信息和输入数据序号确定写地址线包括:根据如下公式确定写地址线:wr_addr={wr_data_num[addr_A_width-1:log2(M)+log2(lenB/lenA)],wr_data_num[log2(lenB/lenA)-1:0]}其中,wr_addr表示写地址线;wr_data_num为输入数据序号;lenA为RAM的写端口数据位宽;lenB为RAM的读端口数据位宽;M为每个RAM组中RAM的个数;wr_data_num[addr_A_width-1:log2(M)+log2(lenB/lenA)]表示写地址线的高位,取wr_data_num的第addr_A_width-1个比特位到第log2(M)+log2(lenB/lenA)个比特位的数据;wr_data_num[log2(lenB/lenA)-1:0]表示写地址线的低位,取wr_data_num的第log2(lenB/lenA)-1个比特位到第0个比特位的数据;addr_A_width为所述RAM的写地址线宽度。3.根据权利要求1所述的方法,其特征在于,所述RAM组的个数、滑动窗口数据的位宽、每个RAM组中包括的RAM个数、以及RAM的写端口数据位宽和读端口数据位宽满足如下关系:R≥(P-lenA+lenB)/(M
×
lenB)其中,R表示所述RAM组的个数;lenA为RAM的写端口数据位宽;lenB为RAM的读端口数据位宽;M为每个RAM组中RAM的个数,P表示滑动窗口数据的位宽。4.根据权利要求1所述的方法,其特征在于,所述根据输入数据序号、每个RAM组中RAM的个数、以及每个RAM的写端口数据位宽和读端口数据位宽确定写RAM,包括:根据如下公式确定写RAM:
其中,RAM_num表示写RAM的序号;we_v=1时表示将写RAM的写端口使能;wr_data_num[log2(M)+log2(lenB/lenA)-1:log2(lenB/lenA)]表示取wr_data_num的第log2(M)+log2(lenB/lenA)-1个比特位至第log2(lenB/lenA)个比特位的数据;wr_data_num表示输入数据序号;lenA为RAM的写端口数据位宽;lenB为RAM的读端口数据位宽;M为每个RAM组中RAM的个数。5.根据权利要求4所述的方法,其特征在于,所述将输入数据序号对应的输入数据按照确定的写地址线和写RAM写入,包括:根据写地址线确定输入数据序号对应的输入数据在写RAM中的写入位置;其中,所述输入数据序号对应的输入数据中的各数据的顺序按照每个RAM组中RAM的位置顺序匹配写入。6.根据权利要求1所述的方法,其特征在于,所述根据滑动窗口序号对应的输入数据序号、RAM的读端口数据位宽和写端口数据位宽、以及每个RAM组中RAM的个数确定滑动窗口序号对应的读地址线,...

【专利技术属性】
技术研发人员:李为良
申请(专利权)人:北京润科通用技术有限公司
类型:发明
国别省市:

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

1