嵌入式可重构数据处理方法、装置及系统的制作方法

文档序号:6371852阅读:145来源:国知局
专利名称:嵌入式可重构数据处理方法、装置及系统的制作方法
技术领域
本发明涉及计算机领域,具体而言,涉及一种嵌入式可重构数据处理方法、装置及系统。
背景技术
在一些特定的数据处理领域,受限于通用处理器对大规模数据运算的性能不高,一般设计中会选择使用硬件协处理器完成数据计算的任务,系统中的通用处理器只需负责数据流控制及任务分发、收集。传统的数据处理系统会采用专用硬件协处理器的方式,比如专门用于数字信号处理的DSP(Digital Signal Processor,数字信号处理器)芯片,专门的向量计算部件等。这种方式的优点是协处理器性能较高,针对某一类型的计算能够获得很高的性能提升。但同 样也存在很大的缺点,专用的协处理器只能针对专用的领域,是的这种系统的应用范围受到很大的局限性。随着FPGA (Field Programmable Gate Array,现场可编程门阵列)芯片被开发出来,可重构计算逐渐得到人们的关注。利用FPGA芯片作为数据处理系统的硬件协处理器,可以通过专用的配置接口改变FPGA内部电路的功能以满足不同应用的需求。这种方式既保留了使用专用协处理器带来的性能提升,又具有使用通用处理器方法实现数据计算的灵活性。现有技术方案的工作过程如图I所示,协处理器器的FPGA功能改变主要有两种方式,一种如图中的配置过程I所示,使用专门的配置接口,由外部设备将配置数据写入协处理器的FPGA ;第二种如图中配置过程2所示,由系统处理器从本地内存或者存储单元中读取配置文件,通过系统中的控制电路写入协处理器的FPGA。配置过程I相对比较简单,也是调试时最常用的方法,但是这种方法需要外部设备,无法满足系统运行中根据需要改变FPGA目的;配置过程2很好的解决了 I中无法实现的功能,系统可以在运行中根据任务的需求,选择配置文件写入FPGA中。但这种方法同样存在一个缺点,配置过程中需要占用处理器较长时间,从配置开始到配置结束控制单元无法处理其它事情,这对于一些有实时性要求的系统或者控制单元本身性能表现不是很好的系统,会严重影响系统的性能。针对相关技术中改变协处理器的FPGA的配置过程需要占用处理器时间较长而造成的影响系统性能的问题,目前尚未提出有效的解决方案。

发明内容
本发明提供了一种嵌入式可重构数据处理方法、装置及系统,以解决相关技术中改变协处理器的FPGA的配置过程需要占用处理器时间较长而造成的影响系统性能的问题。根据本发明的一个方面,提供了一种嵌入式可重构数据处理方法,用于对嵌入式可重构数据处理系统的数据进行处理,嵌入式可重构数据处理系统包括处理器和协处理器,该方法包括处理装置接收处理器发送的更改协处理器的FPGA的指令;处理装置根据指令选取更改协处理器的FPGA所需的配置文件以完成对协处理器的FPGA的更改,其中,处理装置与处理器和协处理器分别相连接。进一步地,在处理装置根据指令选取更改协处理器的FPGA所需的配置文件以完成对协处理器的FPGA的更改之后,该方法还包括处理装置判断是否已完成对协处理器的FPGA的更改;若判断结果为是,则处理装置向处理器发送已完成对协处理器的FPGA的更改的消息。进一步地,处理装置根据指令选取更改协处理器的FPGA所需的配置文件以完成对协处理器的FPGA的更改包括处理装置根据接收到的指令从Flash芯片中选取更改协处理器的FPGA所需的配置文件以完成对协处理器的FPGA的配置,其中,Flash芯片用于存储更改协处理器的FPGA的配置文件。进一步地,在处理装置接收处理器发送的更改协处理器的FPGA的指 令之前,还包括处理装置接收处理器发送的更改协处理器的FPGA的配置文件,并将配置文件写入Flash芯片中。根据本发明的另一方面,提供了一种嵌入式可重构数据处理装置,该装置包括接收模块,用于接收处理器发送的更改协处理器的FPGA的指令;配置模块,用于根据接收模块接收的指令选取更改协处理器的FPGA所需的配置文件以完成对协处理器的FPGA的更改。进一步地,该装置还包括判断模块,用于判断是否已完成对协处理器的FPGA的更改;发送模块,用于在判断模块判断结果为是时,向处理器发送已完成对协处理器的FPGA的更改的消息。进一步地,该装置还包括Flash芯片,用于存储更改协处理器的FPGA的配置文件。进一步地,配置模块还用于在接收处理器发送的更改协处理器的FPGA的指令之前,接收处理器发送的更改协处理器的FPGA的配置文件,并将配置文件写入Flash芯片中。根据本发明的一个方面,提供了一种嵌入式可重构数据处理系统,包括处理器;协处理器,与处理器连接通讯;在线配置控制单元,与处理器和协处理器连接通讯,其中,在线配置控制单元包括接收模块,用于接收处理器发送的更改协处理器的FPGA的指令;配置模块,用于根据接收模块接收的指令选取更改协处理器的FPGA所需的配置文件以完成对协处理器的FPGA的更改。进一步地,在线配置控制单元还包括判断模块,用于判断是否已完成对协处理器的FPGA的更改;发送模块,用于在判断模块判断结果为是时,向处理器发送已完成对协处理器的FPGA的更改的消息。进一步地,还包括=Flash芯片,用于存储更改协处理器的FPGA的配置文件。进一步地,配置模块还用于在接收处理器发送的更改协处理器的FPGA的指令之前,接收处理器发送的更改协处理器的FPGA的配置文件,并将配置文件写入Flash芯片中。在本发明中,在处理器外部增加更改协处理器的FPGA的处理装置,在嵌入式可重构数据处理系统接收到更改协处理器的FPGA功能的指令时,由处理装置执行更改更改协处理器的FPGA所需的配置工作,而处理器在该处理装置进行配置期间可以处理其他待处理的事情,从而有效的解决了相关技术中改变协处理器的FPGA的配置过程需要占用处理器时间较长而造成的影响系统性能的问题,进而达到了提高系统性能的效果。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I是根据相关技术中更改协处理器的FPGA的过程的一种优选的示意图;
图2是根据本发明实施例的嵌入式可重构数据处理系统的一种优选的结构示意图;图3是根据本发明实施例的嵌入式可重构数据处理系统的另一种优选的结构示意图;图4是根据本发明实施例的嵌入式可重构数据处理系统的又一种优选的结构示意图;图5是根据本发明实施例的嵌入式可重构数据处理装置的一种优选的结构示意图;图6是根据本发明实施例的嵌入式可重构数据处理装置的另一种优选的结构示意图;以及图7是根据本发明实施例的嵌入式可重构数据处理方法的一种优选的流程示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。实施例I本优选的实施例提供了一种嵌入式可重构数据处理系统,其中,图2示出该系统的一种优选的结构图,该系统包括如下部分处理器10 ;协处理器12,该协处理器12与处理器10连接通讯;在线配置控制单元14,与处理器10和协处理器12连接通讯,其中,在线配置控制单元14包括接收模块121,用于接收处理器10发送的更改协处理器12的FPGA的指令;配置模块122,用于根据接收模块121接收的指令选取更改协处理器12的FPGA所需的配置文件以完成对协处理器12的FPGA的更改。在上述优选的实施方式中,在处理器外部增加更改协处理器的FPGA的处理装置,在嵌入式可重构数据处理系统接收到更改协处理器的FPGA功能的指令时,由处理装置执行更改更改协处理器的FPGA所需的配置工作,而处理器在该处理装置进行配置期间可以处理其他待处理的事情,从而有效的解决了相关技术中改变协处理器的FPGA的配置过程需要占用处理器时间较长而造成的影响系统性能的问题,进而达到了提高系统性能的效果。在本发明一个优选的实施方式中,还对上述在线配置控制单元14进行了优化,具体而言,如图3所示,在线配置控制单元14还包括判断模块123,与配置模块122连接,用于判断是否已完成对协处理器12的FPGA的更改;发送模块124,与判断模块123连接,用于在判断模块123判断结果为是时,向处理器10发送已完成对协处理器12的FPGA的更改的消息。优选地,该系统还包括Flash芯片,用于存储更改协处理器12的FPGA的配置文件。其中,Flash芯片可以位于在线配置控制单元14中,也可以独立存在,在线配置控制单元14根据接收到的指令从Flash芯片中选取更改协处理器12的FPGA所需的配置文件以完成对协处理器12的FPGA的配置。在本发明的一个优选的实施方式中,配置模块122还用于在接收处理器10发送的更改协处理器12的FPGA的指令之前,接收处理器10发送的更改协处理器12的FPGA的配置文件,并将配置文件写入Flash芯片中。具体而言,图4示出该系统的另一种优选的结构示意图,处理器10的可以从本地内存或存储单元或外部接口获取需要使用到的各种配置文件,预先发送给在线配置控制单 元14的配置模块122,并写入到Flash芯片中。在系统运行过程中,当需要更改协处理器12的FPGA的功能时,处理器10会将需要的功能指令发送给在线配置控制单元14,在接收到处理器10发送的指令后,在线配置控制单元14选取所需的配置文件及完成FPGA的配置工作。优选的,当配置工作完成后,在线配置控制单元14会发送一个配置完成信号告知处理器10。FPGA的配置过程类似于数据传输中的DMA操作,无需处理器的过多干涉。在本发明的另一个优选的实施方式中,提供了上述系统的具体构成,下面结合图4进行进一步说明。优选的,该系统采用龙芯嵌入式SoC作为处理器10,使用两片Xilinx的Vertex 2FPGA分别作为协处理器12和在线配置控制单元14,使用一片三星的EEPROM芯片作为外挂Flash芯片。优选的,用作在线配置控制单元14的FPGA的内部逻辑会在上电后自动由外接的专有PROM载入,这是Xilinx FPGA上电时的一种自动配置方法,该在线配置控制单元14的FPGA内部的逻辑在系统运行过程中不会改变。在上述嵌入式可重构数据处理系统中,总线I为PCI总线,总线3为EMI (Embedded Memory Interface)总线,优选的,总线I上挂在有PCI接口的网络控制器,用于系统启动后通过网络从外部load需要的配置文件,然后通过在线配置控制单元14写入Flash芯片。上述系统在需要特定功能的协处理器12帮助进行数据计算时(例如进行FFT计算),可以将需要的功能通知在线配置控制单元14,该单元根据需要的功能在Flash中查找对应的配置文件,然后通过Xilinx FPGA提供的并行下载接口 SelectMap下载到协处理器12的FPGA中,下载完成后在线配置控制单元14会通知处理器10,然后处理器10可以通过PCI总线和协处理器12进行数据通信,进而完成加速计算。实施例2基于实施例I提供的嵌入式可重构数据处理系统,本发明还提供了一种嵌入式可重构数据处理装置,该嵌入式可重构数据处理装置的功能对应于上述系统中的嵌入式可重构数据处理装置,具体来说,如图5所示,该装置包括接收模块121,用于接收处理器发送的更改协处理器的FPGA的指令;配置模块122,用于根据接收模块121接收的指令选取更改协处理器的FPGA所需的配置文件以完成对协处理器的FPGA的更改。在上述优选的实施方式中,在处理器外部增加更改协处理器的FPGA的处理装置,在系统接收到更改协处理器的FPGA功能的指令时,由处理装置执行更改更改协处理器的FPGA所需的配置工作,而处理器在该处理装置进行配置期间可以处理其他待处理的事情,从而有效的解决了相关技术中改变协处理器的FPGA的配置过程需要占用处理器时间较长而造成的影响系统性能的问题,进而达到了提高系统性能的效果。 在本发明一个优选的实施方式中,还对上述嵌入式可重构数据处理装置进行了优化,具体而言,如图6所示,在嵌入式可重构数据处理装置还包括判断模块123,与配置模块122连接,用于判断是否已完成对协处理器的FPGA的更改;发送模块124,与判断模块123连接,用于在判断模块123判断结果为是时,向处理器发送已完成对协处理器的FPGA的更改的消息。优选地,该装置还包括Flash芯片,用于存储更改协处理器的FPGA的配置文件。优选的,Flash芯片可以位于嵌入式可重构数据处理装置中,也可以独立存在。嵌入式可重构数据处理装置根据接收到的指令从Flash芯片中选取更改协处理器的FPGA所需的配置文件以完成对协处理器的FPGA的配置。在本发明的一个优选的实施方式中,配置模块122还用于在接收处理器发送的更改协处理器的FPGA的指令之前,接收处理器发送的更改协处理器的FPGA的配置文件,并将 配置文件写入Flash芯片中。具体而言,处理器的可以从本地内存或存储单元或外部接口获取需要使用到的各种配置文件,预先发送给嵌入式可重构数据处理装置的配置模块122,并写入到Flash芯片中。在系统运行过程中,当需要更改协处理器单元的FPGA的功能时,处理器会将需要的功能指令发送给嵌入式可重构数据处理装置,在接收到处理器发送的指令后,嵌入式可重构数据处理装置选取所需的配置文件及完成FPGA的配置工作。优选的,当配置工作完成后,嵌入式可重构数据处理装置会发送一个配置完成信号告知处理器。FPGA的配置过程类似于数据传输中的DMA操作,无需处理器的过多干涉。实施例3在上述实施例I和实施例2的基础上,本发明还提供了一种嵌入式可重构数据处理方法,用于对嵌入式可重构数据处理系统的数据进行处理,嵌入式可重构数据处理系统包括处理器和协处理器,具体地,如图7所示,该方法包括S702,处理装置接收处理器发送的更改协处理器的FPGA的指令;S704,处理装置根据指令选取更改协处理器的FPGA所需的配置文件以完成对协处理器的FPGA的更改,其中,处理装置与处理器和协处理器分别相连接。在上述优选的实施方式中,在处理器外部增加更改协处理器的FPGA的处理装置,在嵌入式可重构数据处理系统接收到更改协处理器的FPGA功能的指令时,由处理装置执行更改更改协处理器的FPGA所需的配置工作,而处理器在该处理装置进行配置期间可以处理其他待处理的事情,从而有效的解决了相关技术中改变协处理器的FPGA的配置过程需要占用处理器时间较长而造成的影响系统性能的问题,进而达到了提高系统性能的效果。在本发明一个优选的实施方式中,还对上述嵌入式可重构数据处理方法进行了优化,具体而言,在处理装置根据指令选取更改协处理器的FPGA所需的配置文件以完成对协处理器的FPGA的更改之后,该方法还包括处理装置判断是否已完成对协处理器的FPGA的更改;以及若判断结果为是,则处理装置向处理器发送已完成对协处理器的FPGA的更改的消息。
优选地,处理装置根据接收到的指令从Flash芯片中选取更改协处理器的FPGA所需的配置文件以完成对协处理器的FPGA的配置,其中,Flash芯片用于存储更改协处理器的FPGA的配置文件。在本发明的一个优选的实施方式中,在处理装置接收处理器发送的更改协处理器的FPGA的指令之前,还包括处理装置接收处理器发送的更改协处理器的FPGA的配置文件,并将配置文件写入Flash芯片中。具体而言,处理器的可以从本地内存或存储单元或外部接口获取需要使用到的各种配置文件,预先发送给处理装置,并写入到Flash芯片中。在系统运行过程中,当需要更
改协处理器单元的FPGA的功能时,处理器会将需要的功能指令发送给处理装置,在接收到处理器发送的指令后,处理装置选取所需的配置文件及完成FPGA的配置工作。优选的,当配置工作完成后,处理装置会发送一个配置完成信号告知处理器。FPGA的配置过程类似于数据传输中的DMA操作,无需处理器的过多干涉。从以上的描述中,可以看出,本发明在处理器外部增加更改协处理器的FPGA的处理装置,在系统接收到更改协处理器的FPGA功能的指令时,由处理装置执行更改更改协处理器的FPGA所需的配置工作,而处理器在该处理装置进行配置期间可以处理其他待处理的事情,从而有效的解决了相关技术中改变协处理器的FPGA的配置过程需要占用处理器时间较长而造成的影响系统性能的问题,进而达到了提高系统性能的效果。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种嵌入式可重构数据处理方法,用于对嵌入式可重构数据处理系统的数据进行处理,所述嵌入式可重构数据处理系统包括处理器和协处理器,其特征在于,所述方法包括 处理装置接收所述处理器发送的更改所述协处理器的FPGA的指令;以及 所述处理装置根据所述指令选取更改所述协处理器的FPGA所需的配置文件以完成对所述协处理器的FPGA的更改, 其中,所述处理装置与所述处理器和所述协处理器分别相连接。
2.根据权利要求I所述的方法,其特征在于,在所述处理装置根据所述指令选取更改所述协处理器的FPGA所需的配置文件之后,该方法还包括 所述处理装置判断是否已完成对所述协处理器的FPGA的更改;以及 若判断结果为是,则所述处理装置向所述处理器发送已完成对所述协处理器的FPGA的更改的消息。
3.根据权利要求I所述的方法,其特征在于,所述处理装置根据所述指令选取更改所述协处理器的FPGA所需的配置文件以完成对所述协处理器的FPGA的更改包括 所述处理装置根据接收到的所述指令从Flash芯片中选取更改所述协处理器的FPGA所需的配置文件以完成对所述协处理器的FPGA的配置,其中,所述Flash芯片用于存储更改所述协处理器的FPGA的配置文件。
4.根据权利要求3所述的方法,其特征在于,在所述处理装置接收所述处理器发送的更改协处理器的FPGA的指令之前,还包括 所述处理装置接收所述处理器发送的更改所述协处理器的FPGA的配置文件,并将所述配置文件写入所述Flash芯片中。
5.一种嵌入式可重构数据处理装置,其特征在于,包括 接收模块,用于接收处理器发送的更改协处理器的FPGA的指令;以及 配置模块,用于根据所述接收模块接收的指令选取更改所述协处理器的FPGA所需的配置文件以完成对所述协处理器的FPGA的更改。
6.根据权利要求5所述的装置,其特征在于,还包括 判断模块,用于判断是否已完成对所述协处理器的FPGA的更改;以及 发送模块,用于在所述判断模块判断结果为是时,向所述处理器发送已完成对所述协处理器的FPGA的更改的消息。
7.根据权利要求5所述的装置,其特征在于,还包括=Flash芯片,用于存储更改所述协处理器的FPGA的配置文件。
8.根据权利要求7所述的装置,其特征在于,所述配置模块还用于在接收所述处理器发送的更改所述协处理器的FPGA的指令之前,接收所述处理器发送的更改所述协处理器的FPGA的配置文件,并将所述配置文件写入所述Flash芯片中。
9.一种嵌入式可重构数据处理系统,其特征在于,包括 处理器; 协处理器,与所述处理器连接通讯;以及 在线配置控制单元,与所述处理器和所述协处理器连接通讯,其中,所述在线配置控制单元包括接收模块,用于接收所述处理器发送的更改所述协处理器的FPGA的指令;配置模块,用于根据所述接收模块接收的指令选取更改所述协处理器的FPGA所需的配置文件以完成对所述协处理器的FPGA的更改。
10.根据权利要求9所述的系统,其特征在于,所述在线配置控制单元还包括 判断模块,用于判断是否已完成对所述协处理器的FPGA的更改;以及 发送模块,用于在所述判断模块判断结果为是时,向所述处理器发送已完成对所述协处理器的FPGA的更改的消息。
11.根据权利要求9所述的系统,其特征在于,还包括=Flash芯片,用于存储更改所述协处理器的FPGA的配置文件。
12.根据权利要求11所述的系统,其特征在于,所述配置模块还用于在接收所述处理器发送的更改所述协处理器的FPGA的指令之前,接收所述处理器发送的更改所述协处理 器的FPGA的配置文件,并将所述配置文件写入所述Flash芯片中。
全文摘要
本发明提供了一种嵌入式可重构数据处理方法、装置及系统,其中,该方法包括处理装置接收处理器发送的更改协处理器的FPGA的指令;处理装置根据指令选取更改协处理器的FPGA所需的配置文件以完成对协处理器的FPGA的更改,其中,处理装置与处理器和协处理器分别相连接。本发明解决了相关技术中改变协处理器的FPGA的配置过程需要占用处理器时间较长而造成的影响系统性能的问题,进而达到了提高系统性能的效果。
文档编号G06F15/177GK102799561SQ201210206529
公开日2012年11月28日 申请日期2012年6月18日 优先权日2012年6月18日
发明者符兴建, 邓珊珊, 章立生 申请人:龙芯中科技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1