一种数据处理方法、装置、设备及存储介质

文档序号:1215061 发布日期:2020-09-04 浏览:6次 >En<

阅读说明:本技术 一种数据处理方法、装置、设备及存储介质 (Data processing method, device, equipment and storage medium ) 是由 潘攀 陆洋麟 高世洪 段仕勇 齐俊 于 2020-05-25 设计创作,主要内容包括:本发明公开了一种数据处理方法、装置、设备及存储介质。该方法包括:第一器件获取目标数据;所述第一器件将所述目标数据写入存储器的目标区域;所述第一器件在写操作结束后,向寄存器或者中断发送写操作结束指令,以使所述寄存器或者中断向第二器件发送写操作结束信息,所述第二器件根据所述写操作结束信息读取所述目标区域内的所述目标数据,通过本发明的技术方案,能够实现第一器件和第二器件共同使用一个DDR区域,第一器件处理完成的数据放在DDR的特定区域,第二器件可以直接取走,不需要第二器件拷贝数据,只需要第二器件简单的控制读写状态,进而减少第二器件的占用率,提升操作效率。(The invention discloses a data processing method, a data processing device, data processing equipment and a storage medium. The method comprises the following steps: the first device acquires target data; the first device writes the target data to a target area of a memory; after the write operation is finished, the first device sends a write operation finishing instruction to the register or the interrupt so as to enable the register or the interrupt to send write operation finishing information to the second device, and the second device reads the target data in the target area according to the write operation finishing information.)

一种数据处理方法、装置、设备及存储介质

技术领域

本发明实施例涉及计算机技术,尤其涉及一种数据处理方法、装置、设备及存储介质。

背景技术

传统FPGA(Field-Programmable Gate Array,即现场可编程门阵列)和MPU(Micro Processor Unit,微处理器单元)的数据交互,每当FPGA和MPU数据交互时,MPU都需要参与从寄存器或者控制器将数据拷贝到DDR(DDR SDRAM,Double Data RateSynchronous Dynamic Random Access Memory,存储器),以备其他软件对数据进行处理,或者反向从DDR拷贝数据到寄存器,以备FPGA取走使用。这种传统方案每次传输数据都需要MPU参与,当数据交互非常频繁时,MPU频繁进入拷贝操作效率太低,或者数据量较大时,MPU占用率太高,或者根本处理不过来。

发明内容

本发明实施例提供一种数据处理方法、装置、设备及存储介质,以实现第一器件和第二器件共同使用一个DDR区域,第一器件处理完成的数据放在DDR的特定区域,第二器件可以直接取走,不需要第二器件拷贝数据,只需要第二器件简单的控制读写状态,进而减少第二器件的占用率,提升操作效率。

第一方面,本发明实施例提供了一种数据处理方法,包括:

第一器件获取目标数据;

所述第一器件将所述目标数据写入存储器的目标区域;

所述第一器件在写操作结束后,向寄存器或者中断发送写操作结束指令,以使所述寄存器或者中断向第二器件发送写操作结束信息,所述第二器件根据所述写操作结束信息读取所述目标区域内的所述目标数据。

第二方面,本发明实施例还提供了一种数据处理装置,该装置包括:第一器件,所述第一器件包括:

获取模块,用于获取目标数据;

写入模块,用于将所述目标数据写入存储器的目标区域;

发送模块,用于在写操作结束后,向寄存器或者中断发送写操作结束指令,以使所述寄存器或者中断向第二器件发送写操作结束信息,所述第二器件根据所述写操作结束信息读取所述目标区域内的所述目标数据。

第三方面,本发明实施例还提供了一种设备,当其在计算机上运行时,使得计算机执行如本发明实施例中任一所述的数据处理方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的数据处理方法。

本发明实施例通过第一器件获取目标数据;所述第一器件将所述目标数据写入存储器的目标区域;所述第一器件在写操作结束后,向寄存器或者中断发送写操作结束指令,以使所述寄存器或者中断向第二器件发送写操作结束信息,所述第二器件根据所述写操作结束信息读取所述目标区域内的所述目标数据,能够实现第一器件和第二器件共同使用一个DDR区域,第一器件处理完成的数据放在DDR的特定区域,第二器件可以直接取走,不需要第二器件拷贝数据,只需要第二器件简单的控制读写状态,进而减少第二器件的占用率,提升操作效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明实施例一中的一种数据处理方法的流程图;

图2A是本发明实施例二中的一种数据处理方法的流程图;

图2B是本发明实施例二中的另一种数据处理方法的流程图;

图2C是本发明实施例二中的硬件连接框图;

图3是本发明实施例二中的一种数据处理装置的结构示意图;

图4是本发明实施例四中的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

实施例一

图1为本发明实施例一提供的一种数据处理方法的流程图,本实施例可适用于数据处理的情况,该方法可以由本发明实施例中的数据处理装置来执行,该装置可采用软件和/或硬件的方式实现,如图1所示,该方法具体包括如下步骤:

S110,第一器件获取目标数据。

其中,所述目标数据可以为可编程门阵列FPGA采集的数据,也可以为经过可编程门阵列FPGA处理后得到的数据,还可以为微处理器采集的数据,或者可以为微处理器处理后得到的数据,本发明实施例对此不进行限制。

其中,所述第一器件可以为可编程门阵列FPGA,也可以为微处理器,本发明实施例对此不进行限制。

可选的,所述目标数据包括:采集到的数据和/或处理后的数据。

S120,所述第一器件将所述目标数据写入存储器的目标区域。

其中,所述目标区域为可供微处理器MPU和FPGA共同使用一个DDR区域,所述目标区域为微处理器预先划分出的区域。

其中,所述目标区域的大小可以人为设定,例如可以是,目标区域大小为1GB。

可选的,所述目标区域大小为1GB。

具体的,所述第一设备将所述目标数据写入存储器的目标区域的方式可以为现场可编程门阵列FPGA发送给SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)控制器一个写指令,SDRAM控制器控制现场可编程门阵列FPGA通过FPGA2HPSSDRAM接口将所述目标数据写入存储器的目标区域,也可以为微处理器发送给SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)控制器一个写指令,SDRAM控制器控制微处理器通过接口将所述目标数据写入存储器的目标区域,本发明实施例对此不进行限制。

可选的,所述第一器件将所述目标数据写入存储器的目标区域包括:

所述第一器件向控制器发送写指令,以使所述控制器控制所述第一器件通过接口将所述目标数据写入存储器的目标区域。

其中,所述控制器可以为SDRAM控制器。

可选的,所述第一器件将所述目标数据写入存储器的目标区域之前,还包括:

微处理器在所述存储器中划分出目标区域,其中,所述目标区域可供所述第一器件或者所述第二器件直接写入数据或者读出数据。

具体的,所述微处理器在所述存储器中划分出目标区域的方式可以为微处理器将存储区域分为第一区域和第二区域,将第一区域作为目标区域,例如可以是,微处理器将预设大小的区域确定为第一区域,所述存储器除第一区域之外的区域为第二区域,并将第一区域作为目标区域;微处理器还可以根据需要将存储区域分为第一区域、第二区域和第三区域等,本发明实施例对此不进行限制。

可选的,所述微处理器通过内存映射方式将目标区域映射成所述微处理器直接使用的虚拟地址。

S130,所述第一器件在写操作结束后,向寄存器或者中断发送写操作结束指令,以使所述寄存器或者中断向第二器件发送写操作结束信息,所述第二器件根据所述写操作结束信息读取所述目标区域内的所述目标数据。

具体的,在写操作结束后,向寄存器或者中断发送写操作结束指令,寄存器或者中断向第二器件发送写操作结束信息,第二器件根据写操作结束信息直接读取目标数据。

本实施例的技术方案,通过第一器件获取目标数据;所述第一器件将所述目标数据写入存储器的目标区域;所述第一器件在写操作结束后,向寄存器或者中断发送写操作结束指令,以使所述寄存器或者中断向第二器件发送写操作结束信息,所述第二器件根据所述写操作结束信息读取所述目标区域内的所述目标数据,能够实现第一器件和第二器件共同使用一个DDR区域,第一器件处理完成的数据放在DDR的特定区域,第二器件可以直接取走,不需要第二器件拷贝数据,只需要第二器件简单的控制读写状态,进而减少第二器件的占用率,提升操作效率。

实施例二

本实施例以上述实施例为基础进行优化,在本实施例中,所述第一器件包括:微处理器或者现场可编程门阵列FPGA,所述第二器件包括:微处理器或者现场可编程门阵列FPGA,所述第一器件与所述第二器件不同。

如图2A所示,本实施例的方法具体可以包括如下步骤:

S210,现场可编程门阵列FPGA获取目标数据。

S220,所述现场可编程门阵列FPGA将所述目标数据写入存储器的目标区域。

S230,所述现场可编程门阵列FPGA在写操作结束后,向寄存器或者中断发送写操作结束指令,以使所述寄存器或者中断向微处理器发送写操作结束信息,所述微处理器根据所述写操作结束信息读取所述目标区域内的所述目标数据。

可选的,所述现场可编程门阵列FPGA将所述目标数据写入存储器的目标区域包括:

所述现场可编程门阵列FPGA向控制器发送写指令,以使所述控制器控制所述现场可编程门阵列FPGA通过接口将所述目标数据写入存储器的目标区域。

可选的,所述目标数据包括:现场可编程门阵列FPGA采集到的数据和/或现场可编程门阵列FPGA处理后的数据。

可选的,所述目标区域大小为1GB。

可选的,所述微处理器通过内存映射方式将目标区域映射成所述微处理器直接使用的虚拟地址。

在一个具体的例子中,现场可编程门阵列FPGA获取目标数据,目标数据包括:现场可编程门阵列FPGA采集到的数据和/或经过现场可编程门阵列FPGA处理后的数据。微处理器在所述存储器中划分出目标区域,其中,所述目标区域可供微处理器或者现场可编程门阵列FPGA直接写入数据或者读出数据,所述目标区域大小为1GB,也可以设置其他大小,本发明实施例对此不进行限制,现场可编程门阵列FPGA向SDRAM控制器发送写指令,SDRAM控制器控制现场可编程门阵列FPGA通过FPGA2HPS SDRAM接口将目标数据写入存储器的目标区域;现场可编程门阵列FPGA在写操作结束后,向寄存器或者中断发送写操作结束指令,以使所述寄存器或者中断向微处理器发送写操作结束信息,微处理器根据所述写操作结束信息读取所述目标区域内的所述目标数据。

如图2B所示,本实施例的方法具体还可以包括如下步骤:

S310,微处理器获取目标数据。

S320,所述微处理器将所述目标数据写入存储器的目标区域。

S330,所述微处理器在写操作结束后,向寄存器或者中断发送写操作结束指令,以使所述寄存器或者中断向现场可编程门阵列发送写操作结束信息,所述现场可编程门阵列根据所述写操作结束信息读取所述目标区域内的所述目标数据。

可选的,所述微处理器将所述目标数据写入存储器的目标区域包括:

所述微处理器向控制器发送写指令,以使所述控制器控制所述微处理器通过接口将所述目标数据写入存储器的目标区域。

可选的,所述目标数据包括:微处理器采集到的数据和/或微处理器处理后的数据。

可选的,所述目标区域大小为1GB。

可选的,所述微处理器通过内存映射方式将目标区域映射成所述微处理器直接使用的虚拟地址。

在一个具体的例子中,微处理器获取目标数据,目标数据包括:微处理器采集到的数据和/或经过微处理器处理后的数据。微处理器在所述存储器中划分出目标区域,其中,所述目标区域可供微处理器或者现场可编程门阵列FPGA直接写入数据或者读出数据,所述目标区域大小为1GB,也可以设置其他大小,本发明实施例对此不进行限制,微处理器向SDRAM控制器发送写指令,SDRAM控制器控制微处理器通过接口将目标数据写入存储器的目标区域;微处理器在写操作结束后,向寄存器或者中断发送写操作结束指令,以使所述寄存器或者中断向现场可编程门阵列FPGA发送写操作结束信息,现场可编程门阵列FPGA根据所述写操作结束信息读取所述目标区域内的所述目标数据。

在另一个具体的例子中,本方案采用intel aria10的FPGA+ARM单SOC芯片进行开发、验证,ARM上运行linux操作系统,硬件连接主要框图如图2C所示,以FPGA采集数据后给ARM处理进行描述,ARM侧linux操作系统设置最高1GB的数据为reserve数据,保证linux内核禁用最高1GB的数据区域,同时通过内存映射mmap方式把高1GB的区域映射成应用可以直接使用的虚拟地址;FPGA采集到的或者经过算法处理后的数据通过FPGA2HPS SDRAM接口直接对存储器DDR进行写操作,同时通过寄存器或者中断通知MPU数据准备完成,MPU可读;ARM侧linux操作系统应用程序可直接使用FPGA已写到DDR的数据,不需要任何拷贝操作,应用程序使用完数据后通过寄存器设置相应的数据为脏数据,通知FPGA可写。ARM传输数据给FPGA的原理相同,以上通信方式,读写数据完全取决于SDRAM控制器、DDR、FPGA的速度,实际和理论速度都能达到100Gb/s,远远高于其他传统数据交互方式。

本实施例的技术方案,通过现场可编程门阵列FPGA获取目标数据,所述现场可编程门阵列FPGA将所述目标数据写入存储器的目标区域,所述现场可编程门阵列FPGA在写操作结束后,向寄存器或者中断发送写操作结束指令,以使所述寄存器或者中断向微处理器发送写操作结束信息,所述微处理器根据所述写操作结束信息读取所述目标区域内的所述目标数据,或者微处理器获取目标数据,所述微处理器将所述目标数据写入存储器的目标区域,所述微处理器在写操作结束后,向寄存器或者中断发送写操作结束指令,以使所述寄存器或者中断向现场可编程门阵列FPGA发送写操作结束信息,所述现场可编程门阵列FPGA根据所述写操作结束信息读取所述目标区域内的所述目标数据,能够实现现场可编程门阵列FPGA和微处理器共同使用一个DDR区域,可编程门阵列FPGA处理完成的数据放在DDR的特定区域,微处理器可以直接取走,不需要微处理器拷贝数据,只需要微处理器简单的控制读写状态,进而减少微处理器的占用率,提升操作效率,微处理器处理完成的数据放在DDR的特定区域,可编程门阵列FPGA可以直接取走,不需要可编程门阵列FPGA拷贝数据,只需要可编程门阵列FPGA简单的控制读写状态,进而减少可编程门阵列FPGA的占用率,提升操作效率。

实施例三

图3为本发明实施例三提供的一种数据处理装置的结构示意图。本实施例可适用于数据处理的情况,该装置可采用软件和/或硬件的方式实现,该装置可集成在任何提供数据处理功能的设备中,如图3所示,所述数据处理装置具体包括:第一器件4,所述第一器件4包括:获取模块410、写入模块420和发送模块430。

其中,获取模块410,用于获取目标数据;

写入模块420,用于将所述目标数据写入存储器的目标区域;

发送模块430,用于在写操作结束后,向寄存器或者中断发送写操作结束指令,以使所述寄存器或者中断向第二器件发送写操作结束信息,所述第二器件根据所述写操作结束信息读取所述目标区域内的所述目标数据。

上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。

本实施例的技术方案,通过第一器件获取目标数据;所述第一器件将所述目标数据写入存储器的目标区域;所述第一器件在写操作结束后,向寄存器或者中断发送写操作结束指令,以使所述寄存器或者中断向第二器件发送写操作结束信息,所述第二器件根据所述写操作结束信息读取所述目标区域内的所述目标数据,能够实现第一器件和第二器件共同使用一个DDR区域,第一器件处理完成的数据放在DDR的特定区域,第二器件可以直接取走,不需要第二器件拷贝数据,只需要第二器件简单的控制读写状态,进而减少第二器件的占用率,提升操作效率。

实施例四

图4为本发明实施例四中的一种计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图4显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图4所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。

计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。

计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。另外,本实施例中的计算机设备12,显示器24不是作为独立个体存在,而是嵌入镜面中,在显示器24的显示面不予显示时,显示器24的显示面与镜面从视觉上融为一体。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的数据处理方法:第一器件获取目标数据;所述第一器件将所述目标数据写入存储器的目标区域;所述第一器件在写操作结束后,向寄存器或者中断发送写操作结束指令,以使所述寄存器或者中断向第二器件发送写操作结束信息,所述第二器件根据所述写操作结束信息读取所述目标区域内的所述目标数据。

实施例五

本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的数据处理方法:第一器件获取目标数据;所述第一器件将所述目标数据写入存储器的目标区域;所述第一器件在写操作结束后,向寄存器或者中断发送写操作结束指令,以使所述寄存器或者中断向第二器件发送写操作结束信息,所述第二器件根据所述写操作结束信息读取所述目标区域内的所述目标数据。

可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于CAN总线多子网协同睡眠方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!