一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据矩阵处理装置、方法、设备及介质与流程

2022-04-06 22:04:56 来源:中国专利 TAG:


1.本发明涉及半导体集成电路集成技术领域,尤其涉及一种数据矩阵处理装置、方法、设备及介质。


背景技术:

2.由于图像处理中经常会采用各种窗口进行数据处理,如采用3x3、5x5、7x7、9x9等的数据矩阵处理窗口,且需要对多行的数据矩阵进行存储,并同时读出数据矩阵中的同一行数据。
3.通常采用行缓冲器(line buffer)对数据矩阵中的数据做存储,直到存满行缓存器中的一行后再输出。所以会造成数据矩阵中本该同时输出的数据被延迟到行缓存器中的下一行输出,如图1所示,所述行缓冲器获取数据矩阵,并当行缓存器中的每一行被数据存满后才能被读出,这就容易造成原本数据矩阵中的同一行数据不能被同时读取,影响了后续模块对所述行缓存器中的数据调用的效率。节省空间实现方式灵活
4.因此,为了保证数据矩阵中的同一行数据被读取的同时性,本发明提出了一种数据矩阵处理装置、方法、设备及介质,从而保证了数据矩阵中同一行的数据被读取的同时性。


技术实现要素:

5.本发明实施例提供了一种数据矩阵处理装置、方法、设备及介质,并通过调节缓存模块的地址深度,使得所述数据矩阵中的同一行数据能够被同时读出,提高了缓存模块的工作效率。
6.第一方面,本发明提供一种数据矩阵处理装置,包括:接口模块、缓存模块;所述接口模块,连接所述缓存模块;所述接口模块包括接收单元,所述接收单元用于接收第一数据,并生成所述第一数据的数据信息,所述数据信息包括所述第一数据为m
×
n的数据矩阵,m为所述数据矩阵的行数,n为所述数据矩阵的列数,m和n均为正整数;所述接口模块还包括指令生成单元,所述指令生成单元用于接收所述数据信息,并根据所述数据信息生成第一调用指令;所述接口模块还包括调节单元,所述调节单元用于接收所述第一调用指令,并根据所述第一调用指令调节所述缓存模块的地址深度,且将所述地址深度调节到n;所述接口模块还包括控制单元,所述控制单元用于控制所述缓存模块写入第一数据,还用于控制所述缓存模块读出第一数据。
7.其有益效果在于:本发明通过将所述地址深度调节到n,即将所述缓存模块的地址深度调节到与所述第一数据的列数一致,使得所述缓存模块在读出所述第一数据的时候,可以同时读出所述第一数据中同一行的数据,避免同一行的数据的读出时间不一致,提高了缓存模块的工作效率。
8.可选地,所述接口模块连接有算法模块;所述算法模块还连接所述缓存模块,所述算法模块用于获取所述缓存模块输出的所述第一数据;所述接收单元还用于获取所述算法
模块的行数k,并将所述算法模块的行数k发送给所述指令生成单元;所述指令生成单元还用于接收所述算法模块的行数k,并根据所述算法模块的行数k生成第二调用指令;所述调节单元还用于接收所述第二调用指令,并根据所述第二调用指令调节所述缓存模块的行数,且将所述缓存模块的行数调节到k,k为正整数。其有益效果在于:本发明通过将所述缓存模块的行数调节到k,即将所述缓存模块的行数调节到与所述算法模块的行数一致,可以充分地利用所述算法模块的运算空间,提高了数据处理的效率。
9.可选地,所述缓存模块的数据宽度等于位宽与所述缓存模块的行数的乘积。其有益效果在于:通过所述缓存模块的数据宽度等于位宽与所述缓存模块的行数的乘积,使得所述缓存模块一次输出的数据量,刚好满足所述算法模块行数的需求,提高了数据处理的效率。
10.可选地,所述缓存模块包括l个sram,l为正整数。其有益效果在于,通过所述缓存模块包括l个sram,所以可通过调节所述sram的排列方式及数量,来达到调节所述缓存模块的地址深度的目的。
11.第二方面,本发明提供一种数据矩阵处理方法,包括:提供接口模块和缓存模块,且所述接口模块包括接收单元、指令生成单元、调节单元和控制单元;所述接收单元接收第一数据,并生成所述第一数据的数据信息,所述数据信息包括所述第一数据为m
×
n的数据矩阵,m为所述数据矩阵的行数,n为所述数据矩阵的列数,m和n均为正整数;所述指令生成单元接收所述数据信息,并根据所述数据信息生成第一调用指令;所述调节单元接收所述第一调用指令,并根据所述第一调用指令调节所述缓存模块的地址深度,且将所述地址深度调节到n;所述控制单元控制所述缓存模块写入第一数据,且还控制所述缓存模块读出第一数据。
12.其有益效果在于:本发明通过将所述地址深度调节到n,即将所述缓存模块的地址深度调节到与所述第一数据的列数一致,使得所述缓存模块在读出所述第一数据的时候,可以同时读出所述第一数据中同一行的数据,避免同一行的数据的读出时间不一致,提高了缓存模块的工作效率。
13.可选地,所述方法还包括:提供算法模块;所述接收单元获取算法模块的行数k,并将所述算法模块的行数k发送给所述指令生成单元;所述指令生成单元接收所述算法模块的行数k,并根据所述算法模块的行数k生成第二调用指令;所述调节单元接收所述第二调用指令,并根据所述第二调用指令调节所述缓存模块的行数,且将所述缓存模块的行数调节到k,k为正整数。其有益效果在于:本发明通过将所述缓存模块的行数调节到k,即将所述缓存模块的行数调节到与所述算法模块的行数一致,可以充分地利用所述算法模块的运算空间,提高了数据处理的效率。
14.可选地,所述缓存模块的数据宽度等于位宽与所述缓存模块的行数的乘积。其有益效果在于:通过所述缓存模块的数据宽度等于位宽与所述缓存模块的行数的乘积,使得所述缓存模块一次输出的数据量,刚好满足所述算法模块行数的需求,提高了数据处理的效率。
15.可选地,所述缓存模块包括l个sram,l为正整数。其有益效果在于:通过所述缓存模块包括l个sram,所以可通过调节所述sram的排列方式及数量,来达到调节所述缓存模块的地址深度的目的。
16.第三方面,本技术实施例提供一种电子设备,包括处理器和存储器。其中,存储器用于存储一个或多个程序;当存储器存储的一个或多个程序被处理器执行时,使得该电子设备能够实现上述第二方面的任意一种可能的设计的方法。
17.第四方面,本发明提供一种可读存储介质,该可读存储介质内存储有程序,该程序被处理器执行时,实现如上述第二方面的任意一种可能的设计的方法。
18.关于上述第三方面至第四方面的有益效果可以参见上述第一方面或第二方面中的描述。
附图说明
19.图1为一种行缓存器的工作方式示意图;
20.图2为本技术实施例提供的一种数据矩阵处理装置示意图;
21.图3为本技术实施例提供的又一种数据矩阵处理装置示意图;
22.图4为本技术实施例提供的一种数据矩阵处理方法流程图;
23.图5为本技术实施例提供的一种电子设备的示意图。
具体实施方式
24.下面结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。其中,在本技术实施例的描述中,以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一种”、“该”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本技术以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a、b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
25.在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
26.在本技术实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
27.本技术实施例提供了一种数据矩阵处理装置,如图2所示,所述装置200包括:接口模块201和缓存模块202。
28.所述接口模块201包括接收单元2011,所述接收单元2011用于接收第一数据,并生成所述第一数据的数据信息,所述数据信息包括所述第一数据为m
×
n的数据矩阵,m为所述数据矩阵的行数,n为所述数据矩阵的列数,m和n均为正整数。所述接口模块201还包括指令生成单元2012,所述指令生成单元2012用于接收所述数据信息,并根据所述数据信息生成第一调用指令。所述接口模块201还包括调节单元2013,所述调节单元2013用于接收所述第一调用指令,并根据所述第一调用指令调节所述缓存模块202的地址深度,且将所述地址深度调节到n。所述接口模块201还包括控制单元2014,所述控制单元2014用于控制所述缓存模块202写入第一数据,还用于控制所述缓存模块202读出第一数据。
29.在本技术实施例中,不仅可以处理行数和列数相等的数据矩阵,还可以处理行数和列数不相等的数据矩阵,而不必局限于背景技术中提到的3x3、5x5、7x7、9x9等的数据矩阵处理窗口。示例性地,假设第一数据为一个4
×
1024的数据矩阵,且所述数据矩阵的行数为4,列数为1024。所述接口模块201根据所述数据矩阵的列数为1024,将所述缓存模块202的地址深度调到1024,因为缓存模块中包括l个sram,假设一个sram的地址深度为512,那么通过将两个sram连接在一起,看做为在地址深度方向上的延展,达到了将所述缓存模块202的地址深度调到1024的目的,即所述缓存模块202一次可容纳的数据的列数为1024,使得所述缓存模块202可以将所述第一数据的每一行的1024个数据同时读出。
30.可选地,所述接口模块201连接有算法模块301,所述算法模块301还连接所述缓存模块202,如图3所示;所述算法模块301用于获取所述缓存模块202输出的所述第一数据;所述接收单元2011还用于获取所述算法模块301的行数k,并将所述算法模块301的行数k发送给所述指令生成单元2012;所述指令生成单元2012还用于接收所述算法模块301的行数k,并根据所述算法模块301的行数k生成第二调用指令;所述调节单元2013还用于接收所述第二调用指令,并根据所述第二调用指令调节所述缓存模块202的行数,且将所述缓存模块202的行数调节到k,k为正整数。
31.示例性地,假设算法模块203的行数为4,所述接收单元2011还用于获取所述算法模块301的行数4,并将所述算法模块301的行数4发送给所述指令生成单元2012;所述指令生成单元2012还用于接收所述算法模块301的行数4,并根据所述算法模块301的行数4生成第二调用指令;所述调节单元2013还用于接收所述第二调用指令,并根据所述第二调用指令调节所述缓存模块202的行数,且将所述缓存模块202的行数调节到4,使得所述缓存模块202的行数与所述算法模块203的行数一致,可以充分地利用所述算法模块203的运算空间,提高了数据处理的效率。
32.可选地,所述缓存模块的数据宽度等于位宽与所述缓存模块的行数的乘积。在本实施例中,通过所述缓存模块202的数据宽度等于位宽与所述缓存模块202的行数的乘积,使得所述缓存模块202一次输出的数据量,刚好满足所述算法模块203行数的需求,提高了数据处理的效率。
33.可选地,所述缓存模块202包括l个静态随机存取存储器(static random-access memory,sram)(附图未示出),且所述l为变量,l为正整数。在本实施例中,通过所述缓存模块202包括l个sram,所以可通过调节所述sram的排列方式及数量,来达到调节所述缓存模块202的地址深度的目的。当然所述缓存模块202还可以由不限个数和组合方式的动态随机存取存储器(dynamic random access memory,dram)、快闪存储器flash和先进先出队列
(first input first output,fifo)等存储器构成。
34.示例性地,若所述缓存模块202的地址深度需要调到2048,因为缓存模块中包括l个sram,假设一个sram的地址深度为512,那么需要将四个sram连接在一起,即此时l为4,可以看做为其中三个sram看做是另一个sram在地址深度方向上的延展,达到了将所述缓存模块202的地址深度调到1024的目的。
35.本技术实施例提供一种数据矩阵处理方法,其方法流程如图4所示,具体步骤如下:
36.s401,提供接口模块和缓存模块,且所述接口模块包括接收单元、指令生成单元、调节单元和控制单元。
37.在本步骤中,所述接口模块与所述缓存模块连接,并存在信息交互。
38.s402,所述接收单元接收第一数据,并生成所述第一数据的数据信息,所述数据信息包括所述第一数据为m
×
n的数据矩阵,m为所述数据矩阵的行数,n为所述数据矩阵的列数,m和n均为正整数。
39.在本步骤中,所述数据信息还可以包括所述第一数据的地址信息,并根据所述地址信息确定出所述第一数据为m
×
n的数据矩阵,例如所述第一数据为4
×
1024的数据矩阵,m为所述数据矩阵的行数,n为所述数据矩阵的列数。
40.s403,所述指令生成单元接收所述数据信息,并根据所述数据信息生成第一调用指令。
41.在本步骤中,若所述数据信息为所述第一数据为4
×
1024的数据矩阵,4为所述数据矩阵的行数,1024为所述数据矩阵的列数,那么所述指令生成单元根据所述数据信息生成第一调用指令。
42.s404,所述调节单元接收所述第一调用指令,并根据所述第一调用指令调节所述缓存模块的地址深度,且将所述地址深度调节到n。
43.在本步骤中,若所述第一数据的列数为1024,那么所述调节单元根据所述第一调用指令将所述缓存模块的地址深度调节到1024。
44.s405,所述控制单元控制所述缓存模块写入第一数据,且还控制所述缓存模块读出第一数据。
45.上述实施例通过将所述地址深度调节到n,即将所述缓存模块的地址深度调节到与所述数据矩阵的列数一致,使得所述缓存模块在读出所述第一数据的时候,可以同时读出所述第一数据中同一行的数据,避免同一行的数据的读出时间不一致,提高了缓存模块的工作效率。
46.在一种可能的实施例中,所述方法还提供算法模块;所述接收单元获取算法模块的行数k,并将所述算法模块的行数k发送给所述指令生成单元;所述指令生成单元接收所述算法模块的行数k,并根据所述算法模块的行数k生成第二调用指令;所述调节单元接收所述第二调用指令,并根据所述第二调用指令调节所述缓存模块的行数,且将所述缓存模块的行数调节到k,k为正整数。
47.示例性地,假设算法模块的行数为4,所述接收单元获取所述算法模块的行数4,并将所述算法模块的行数4发送给所述指令生成单元;所述指令生成单元还用于接收所述算法模块的行数4,并根据所述算法模块的行数4生成第二调用指令;所述调节单元还用于接
收所述第二调用指令,并根据所述第二调用指令调节所述缓存模块的行数,且将所述缓存模块的行数调节到4,使得所述缓存模块的行数与所述算法模块的行数一致,可以充分地利用所述算法模块的运算空间,提高了数据处理的效率。
48.在又一种可能的实施例中,所述缓存模块的数据宽度等于位宽与所述缓存模块的行数的乘积。
49.在还一种可能的实施例中,所述缓存模块包括l个sram,l为正整数,且所述l为变量。
50.示例性地,若所述缓存模块的地址深度需要调到2048,因为缓存模块中包括l个sram,假设一个sram的地址深度为512,那么需要将四个sram连接在一起,即此时l为4,可以看做为其中三个sram看做是另一个sram在地址深度方向上的延展,达到了将所述缓存模块的地址深度调到1024的目的。
51.在本技术的另一些实施例中,本技术实施例公开了一种电子设备,如图5所示,该电子设备可以包括:一个或多个处理器501;存储器502;显示器503;一个或多个应用程序(未示出);以及一个或多个程序504,上述各器件可以通过一个或多个通信总线505连接。其中该一个或多个程序504被存储在上述存储器502中并被配置为被该一个或多个处理器501执行,该一个或多个程序504包括指令,上述指令可以用于执行上述相应实施例中的各个步骤。
52.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
53.在本技术实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
54.该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个可读存储介质中,包括若干指令用以使得一台设备(可以是服务器,或者网络设备等)或处理器执行本技术各个实施例该方法的全部或部分步骤。而前述的可读存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
55.以上所述,仅为本技术实施例的具体实施方式,但本技术实施例的保护范围并不局限于此,任何在本技术实施例揭露的技术范围内的变化或替换,都应涵盖在本技术实施例的保护范围之内。因此,本技术实施例的保护范围应以该权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献