Dsp处理器与外部存储器的数据交互方法、装置及系统的制作方法

文档序号:6511383阅读:346来源:国知局
Dsp处理器与外部存储器的数据交互方法、装置及系统的制作方法
【专利摘要】本发明公开了一种DSP处理器与外部存储器的数据交互方法、装置及系统,方法包括:直接存储器访问控制单元配置读通道,利用读通道读取待处理数据,并发送给硬件加速器,以使得DSP处理器对数据进行处理时,源数据乒存储模块将待处理数据搬移到源数据乓存储模块中,同时结果数据乒存储模块将处理后的数据搬移到结果数据乓存储模块中,实现数据处理和数据搬移的并行处理。本发明实施例中,利用读通道和写通道来分别进行两个方向的数据搬移,使得临时缓存区域和外部存储器之间双方向的数据搬移并行起来,从而提高了数据交互的效率。
【专利说明】DSP处理器与外部存储器的数据交互方法、装置及系统
【技术领域】
[0001]本发明涉及计算机及通信【技术领域】,尤其涉及一种DSP处理器与外部存储器的数据交互方法、装置及系统。
【背景技术】
[0002]目前在数字环路系统DSL芯片(例如ADSL芯片、VDSL芯片)中,数据通路绝大多数都是基于数字信号处理器DSP结合硬件加速逻辑的方式来实现的结构,现有DSP处理器与外部存储器的数据交互系统的结构图如图1所示。数据通路部分主要负责完成信号处理数据通路的功能,即负责完成OFDM系统中数据的编码/解码、调制/解调以及滤波等的物理层处理功能。在DSL的应用中,数据通路处理的数据吞吐量都十分大,并可能需要外部存储器(DDR—Double Data Rate,双倍速率同步动态随机存储器)存储需要处理的大量数据。这样数据通路内部的DSP处理器就需要从外部存储器DDR读取待处理的业务数据,完成业务数据的处理,然后将结果数据送回外部存储器(DDR)或者送给后续的硬件加速器进行后续的数据处理。DSP处理器的数据处理能力以及与外部存储器DDR交互数据的效率直接决定了芯片处理能力和实现成本。
[0003]目前DSP处理器与外部存储器DDR交互数据的方式,主要是采用:
[0004]1.通过直接存储器访问DMA (Direct Memory Access)将数据从DDR中搬移到DSP处理器的诊断测试与条件监控器 DTCM (Diagnostic Testing and Condition Monitoring)中;
[0005]2.DSP处理器从诊断测试与条件监控器DTCM中读取数据进行处理,然后将结果数据送回放在诊断测试与条件监控器DTCM中;
[0006]3.配置直接存储器访问DMA,将数据从诊断测试与条件监控器DTCM中搬移回DDR中;
[0007]4.重复以上3个步骤直到所有业务数据处理完毕。
[0008]从上面的过程描述可以看到,现有DSP处理器与外部存储器的数据交互系统的缺点是:将待处理的业务数据其从DDR中搬移到DSP处理器的诊断测试与条件监控器DTCM的搬移过程中,DSP处理器无法对数据进行处理;并且,在DSP处理器对数据进行处理的过程中,诊断测试与条件监控器DTCM被DSP处理器占用,无法继续将数据从DDR中搬移到诊断测试与条件监控器DTCM中,因此降低了 DSP处理器与外部存储器的数据交互的效率。

【发明内容】

[0009]本发明实施例提供一种DSP处理器与外部存储器的数据交互方法、装置及系统,以解决现有技术中DSP处理器与外部存储器的数据交互效率低的问题。
[0010]为了解决上述技术问题,本发明实施例公开了如下技术方案:
[0011]第一方面,提供一种DSP处理器与外部处理器的数据交互方法,该方法包括:
[0012]直接存储器访问控制单元配置读通道,利用所述读通道读取外部存储器提供的待处理数据,并将所述待处理数据发送给硬件加速器中划分得到的源数据乒存储模块,以使得当数字信号处理器DSP处理器从所述硬件加速器中划分得到的源数据乓存储模块读取数据并处理时,所述源数据乒存储模块将所述待处理数据搬移到所述源数据乓存储模块中,以及同时所述硬件加速器中划分得到的结果数据乒存储模块将DSP处理器发送的处理后的数据搬移到所述硬件加速器中划分得到的结果数据乓存储模块中,实现数据处理和数据搬移的并行处理;
[0013]所述直接存储器访问控制单元配置写通道,利用所述写通道接收所述结果数据乓存储模块发送的处理后的数据,并将所述处理后的数据发送给所述外部存储器。
[0014]在第一方面的第一种可能的实现方式中,所述直接存储器访问控制单元配置读通道和写通道采用的模式为:硬件握手模式。
[0015]在第一方面的第二种可能的实现方式中,所述方法进一步包括:
[0016]在读通道和写通道中链表的每个节点搬移完成到跳转下一个节点之间进行流量控制,以实现DSP处理器处理数据时间与数据搬移时间相匹配。
[0017]第二方面,提供一种DSP处理器与外部处理器的数据交互方法,将硬件加速器划分为源数据乒存储模块、源数据乓存储模块、结果数据乒存储模块和结果数据乓存储模块,该方法包括:
[0018]所述源数据乒存储模块利用直接存储器访问控制单元预先配置的读通道接收所述直接存储器访问控制单元发送的待处理数据,所述待处理数据为所述直接存储器访问控制单元从外部存储器读取到的数据;
[0019]所述源数据乓存储模块将数据发送给数字信号处理器DSP处理器,所述结果数据乒存储模块同时接收DSP处理器发送的处理后的数据;
[0020]所述源数据乒存储模块当DSP处理器对从所述源数据乓存储模块中接收的数据进行处理时,将所述待处理数据搬移到所述源数据乓存储模块中;以及所述结果数据乒存储模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块中,实现数据处理和数据搬移的并行处理;
[0021]所述结果数据乓存储模块利用所述直接存储器访问控制单元预先配置的写通道将所述处理后的数据发送给所述直接存储器访问控制单元。
[0022]在第二方面的第一种可能的实现方式中,
[0023]该方法进一步包括:所述源数据乒存储模块和所述结果数据乒存储模块同时接收DSP处理器发来的搬移触发消息,所述搬移触发消息为DSP处理器对从所述源数据乓存储模块中接收的数据进行处理时发送的;
[0024]所述源数据乒存储模块在接收到所述搬移触发消息后,执行所述将所述待处理数据搬移到所述源数据乓存储模块中;
[0025]所述结果数据乒存储模块在接收到所述搬移触发消息后,执行所述将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块中。
[0026]结合所述第二方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,利用所述直接存储器访问控制单元对预先配置的读通道和写通道中链表的每个节点搬移完成到跳转下一个节点直接进行的流量控制,使得所述源数据乒存储模块将所述待处理数据搬移到所述源数据乓存储模块的过程、所述结果数据乓存储模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块的过程和DSP处理器的处理过程所需的时间相匹配。
[0027]在第一方面的第三种可能的实现方式中,所述源数据乓存储模块将数据发送给数字信号处理器DSP处理器,所述结果数据乒存储模块同时接收DSP处理器发送的处理后的数据,具体包括:
[0028]所述源数据乓存储模块将数据发送并保存到本地快速通道单元,使得DSP处理器从所述本地快速通道单元中连续读取数据;所述结果数据乒存储模块同时接收所述本地快速通道单元发送的处理后的数据,使得DSP处理器对数据处理完成后将所述处理后的数据连续写入所述本地快速通道单元。
[0029]第三方面,提供一种直接存储器访问控制单元,包括:
[0030]配置模块,用于配置读通道和写通道;
[0031]读取模块,用于利用所述配置模块配置的读通道读取外部存储器提供的待处理数据;
[0032]发送模块,用于将所述读取模块读取的所述待处理数据发送给硬件加速器中划分得到的源数据乒存储模块,以使得当数字信号处理器DSP处理器从所述硬件加速器中划分得到的源数据乓存储模块读取数据并处理时,所述源数据乒存储模块将所述待处理数据搬移到所述源数据乓存储模块中,以及同时所述硬件加速器中划分得到的结果数据乒存储模块将DSP处理器发送的处理后的数据搬移到所述硬件加速器中划分得到的结果数据乓存储模块中,实现数据处理和数据搬移的并行处理;以及将接收模块接收到的处理后的数据发送给所述外部存储器;
[0033]所述接收模块,用于利用所述配置模块配置的写通道接收所述结果数据乓存储模块发送的处理后的数据。
[0034]在第三方面的第一种可能的实现方式中,所述配置模块配置读通道和写通道的模式为硬件握手模式。
[0035]在第三方面的第二种可能的实现方式中,
[0036]所述配置模块,还用于在读通道和写通道中链表的每个节点搬移完成到跳转下一个节点之间进行流量控制,以实现DSP处理器处理数据时间与数据搬移时间相匹配。
[0037]第四方面,提供一种硬件加速器,包括:
[0038]划分模块,用于将将硬件加速器划分为源数据乒存储模块、源数据乓存储模块、结果数据乒存储模块和结果数据乓存储模块;
[0039]接收模块,用于所述源数据乒存储模块利用直接存储器访问控制单元预先配置的读通道接收所述直接存储器访问控制单元发送的待处理数据,所述待处理数据为所述直接存储器访问控制单元从外部存储器读取到的数据;以及用于所述结果数据乒存储模块接收DSP处理器发送的处理后的数据;
[0040]发送模块,用于与所述接收模块中所述结果数据乒存储模块接收DSP处理器发送的处理后的数据的同时将数据发送给DSP处理器;以及用于所述结果数据乓存储模块利用所述直接存储器访问控制单元预先配置的写通道将所述处理后的数据发送给所述直接存储器访问控制单兀;
[0041]搬移模块,用于所述源数据乒存储模块当DSP处理器对从所述源数据乓存储模块中接收的数据进行处理时,将所述待处理数据搬移到所述源数据乓存储模块中;以及所述结果数据乒存储模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块中,实现数据处理和数据搬移的并行处理。
[0042]在第四方面的第一种可能的实现方式中,
[0043]所述接收模块,还用于所述源数据乒存储模块和所述结果数据乒存储模块同时接收DSP处理器发来的搬移触发消息,所述搬移触发消息为DSP处理器对从所述源数据乓存储模块中接收的数据进行处理时发送的消息;
[0044]执行模块,还用于当所述源数据乒存储模块接收到所述搬移触发消息后,执行所述搬移模块将将所述待处理数据搬移到所述源数据乓存储模块中;以及用于当所述结果数据乒存储模块在接收到所述搬移触发消息后,执行所述搬移模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块中。
[0045]在第四方面的第二种可能的实现方式中,所述硬件加速器还包括:
[0046]匹配模块,用于利用所述直接存储器访问控制单元对预先配置的读通道和写通道中链表的每个节点搬移完成到跳转下一个节点直接进行的流量控制,使得所述源数据乒存储模块将所述待处理数据搬移到所述源数据乓存储模块的过程、所述结果数据乓存储模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块的过程和DSP处理器的处理过程所需的时间相匹配。
[0047]在第四方面的第三种可能的实现方式中,所述硬件加速器还包括:
[0048]所述发送模块,还用于所述源数据乓存储模块将数据发送并保存到本地快速通道单元,使得DSP处理器从所述本地快速通道单元中连续读取数据;
[0049]所述接收模块,还用于所述结果数据乒存储模块在所述发送模块将数据发送并保存到本地快速通道单元的同时,接收所述本地快速通道单元发送的处理后的数据,使得DSP处理器对数据处理完成后将所述处理后的数据连续写入所述本地快速通道单元。
[0050]第五方面,提供一种DSP处理器与外部处理器的数据交互系统,包括第三方面所述的直接存储器访问控制单元和第四方面所述的硬件加速器。
[0051]在本发明实施例中,利用直接存储器访问控制单元配置读通道和写通道来分别进行两个方向的数据搬移,使得临时缓存区域和外部存储器之间双方向的数据搬移的并行处理,从而使得DSP处理器的处理时间和数据搬移时间相匹配,提高了 DSP处理器与外部存储器的数据交互效率。
【专利附图】

【附图说明】
[0052]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0053]图1是现有DSP处理器与外部存储器的数据交互系统的结构图;
[0054]图2是本发明实施例一提供的DSP处理器与外部存储器的数据交互方法流程图;
[0055]图3是本发明实施例二提供的DSP处理器与外部存储器的数据交互方法流程图;
[0056]图4是本发明实施例三提供的DSP处理器与外部存储器的数据交互方法流程图;[0057]图5是本发明实施例四提供的一种直接存储器访问控制单元的结构示意图;
[0058]图6是本发明实施例五提供的一种硬件加速器的结构示意图;
[0059]图7是本发明实施例六提供的DSP处理器与外部存储器的数据交互系统的结构图;
[0060]图8是本发明实施例七的处理器结构示意图。
【具体实施方式】
[0061]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0062]下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0063]实施例1
[0064]本发明实施例提供了一种DSP处理器与外部存储器的数据交互方法,以直接存储器访问控制单元侧的数据交互过程为例,如图2所示,包括:
[0065]步骤SlOl:直接存储器访问控制单元配置读通道,利用所述读通道读取外部存储器提供的待处理数据,并将所述待处理数据发送给硬件加速器中划分得到的源数据乒存储模块,以使得当数字信号处理器DSP处理器从所述硬件加速器中划分得到的源数据乓存储模块读取数据并处理时,所述源数据乒存储模块将所述待处理数据搬移到所述源数据乓存储模块中,以及同时所述硬件加速器中划分得到的结果数据乒存储模块将DSP处理器发送的处理后的数据搬移到所述硬件加速器中划分得到的结果数据乓存储模块中,实现数据处理和数据搬移的并行处理;
[0066]步骤S102:所述直接存储器访问控制单元配置写通道,利用所述写通道接收所述结果数据乓存储模块发送的处理后的数据,并将所述处理后的数据发送给所述外部存储器。
[0067]本发明实施例提供了一种DSP处理器与外部处理器的数据交互方法,通过配置的读通道和写通道,将读取待处理数据,以使得当数字信号处理器DSP处理器从源数据乓存储模块读取数据并处理时,源数据乒存储模块将所述待处理数据搬移到所述源数据乓存储模块中,DSP处理器对待处理数据处理完成后,并将处理后的数据通过写通道发送给外部存储器,从而实现了数据处理和数据搬移的并行处理,节约了数据传输时间,提高了数据处理的效率。
[0068]直接存储器访问控制单元采用硬件握手模式配置读通道和写通道,从而不需要对每个数据交互周期的读通道和写通道进行重新配置,节约了配置过程中的资源浪费。
[0069]通过在读通道和写通道中链表的每个节点搬移完成到跳转下一个节点之间进行流量控制,实现了 DSP处理器处理数据时间与数据搬移时间相匹配,使得在处理数据的过程中完成数据搬移,从而实现了数据处理和数据搬移的并行处理,提高了数据处理的效率。
[0070]其中,直接存储器访问控制单元配置的读通道为:外部处理器-直接存储器访问控制单元-硬件加速器(源数据乒存储模块-源数据乓存储模块)_DSP处理器;直接存储器访问控制单元配置的读写通道为:DSP处理器-硬件加速器(结果数据乒存储模块-结果数据乓存储模块)-直接存储器访问控制单元-外部处理器。
[0071]进一步的,直接存储器访问控制单元配置的读通道和写通道共32条,分别为
channelO、channel 1、......channel31,每条通道包括一条链表,每个链表中包括多个节点,
每个节点携带源地址和目的地址。其中,硬件握手模式为:当链表中的每个节点搬移完成后,根据外部使能信号从该节点跳转到下一个节点,以此进行重复性搬移操作。通过采用硬件握手模式,不需要对每个数据交互周期进行配置读通道和写通道,从而节省了数据交互时间。
[0072]进一步的,每个节点携带的源地址和目的地址相同,或者不同。
[0073]本实施例的实现过程为:利用配置的读通道从外部存储器中读取待处理数据,并将待处理数据发送给硬件加速器,使得硬件加速器中划分得到的源数据乒存储模块接收到待处理数据,在DSP处理器在对数据进行处理的同时使得硬件加速器中划分得到的结果数据乒存储模块将处理后的数据搬移到硬件加速器中划分得到的结果数据乓存储模块中,直接存储器访问控制单元接收处理后的数据,并将处理后的数据通过配置的写通道发送给外部存储器。
[0074]实施例2
[0075]本发明实施例提供了一种DSP处理器与外部处理器的数据交互方法,以硬件加速器侧的数据交互过程为例,将硬件加速器划分为源数据乒存储模块、源数据乓存储模块、结果数据乒存储模块和结果数据乓存储模块,划分的源数据乒存储模块、源数据乓存储模块、结果数据乒存储模块和结果数据乓存储模块形成为临时缓存区域,如图3所示,该方法包括:
[0076]步骤S201:所述源数据乒存储模块利用直接存储器访问控制单元预先配置的读通道接收所述直接存储器访问控制单元发送的待处理数据,所述待处理数据为所述直接存储器访问控制单元从外部存储器读取到的数据;
[0077]步骤S202:所述源数据乓存储模块将数据发送给数字信号处理器DSP处理器,所述结果数据乒存储模块同时接收DSP处理器发送的处理后的数据;
[0078]步骤S203:所述源数据乒存储模块当DSP处理器对从所述源数据乓存储模块中接收的数据进行处理时,将所述待处理数据搬移到所述源数据乓存储模块中;以及所述结果数据乒存储模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块中,实现数据处理和数据搬移的并行处理;
[0079]步骤S204:所述结果数据乓存储模块利用所述直接存储器访问控制单元预先配置的写通道将所述处理后的数据发送给所述直接存储器访问控制单元。
[0080]本发明实施例提供的一种DSP处理器与外部处理器的数据交互方法,通过将硬件加速器划分为多个临时缓存区域,源数据乒存储模块接收直接存储器访问控制单元发送的待处理数据,所述源数据乒存储模块当数字信号处理器DSP处理器从所述源数据乓存储模块读取数据并处理时,将所述待处理数据搬移到所述源数据乓存储模块中;以及所述结果数据乒存储模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块中,从而实现了数据处理和数据搬移的并行处理,节省了数据处理的资源浪费,以及提高了数据处理的效率。[0081]进一步的,所述源数据乒存储模块和所述结果数据乒存储模块同时接收DSP处理器发来的搬移触发消息,所述搬移触发消息为DSP处理器对从所述源数据乓存储模块中接收的数据进行处理时发送的;所述源数据乒存储模块在接收到所述搬移触发消息后,执行所述将所述待处理数据搬移到所述源数据乓存储模块中;所述结果数据乒存储模块在接收到所述搬移触发消息后,执行所述将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块中,从而使得DSP处理的数据处理和数据搬移的时间相匹配,使得从源数据乒存储模块将数据搬移到源数据乓存储模块完成时,DSP处理器对待处理数据进行处理完成,从而提高了数据处理的效率。
[0082]进一步的,利用所述直接存储器访问控制单元对预先配置的读通道和写通道中链表的每个节点搬移完成到跳转下一个节点直接进行的流量控制,使得所述源数据乒存储模块将所述待处理数据搬移到所述源数据乓存储模块的过程、所述结果数据乓存储模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块的过程和DSP处理器的处理过程所需的时间相匹配,从而提高了数据处理的效率。
[0083]进一步的,所述源数据乓存储模块将数据发送并保存到本地快速通道单元,使得DSP处理器从所述本地快速通道单元中连续读取数据;所述结果数据乒存储模块同时接收所述本地快速通道单元发送的处理后的数据,使得DSP处理器对数据处理完成后将所述处理后的数据连续写入所述本地快速通道单元。由于DSP处理器与硬件加速器中的临时缓存区域的读取不存在连续性,因此可能会造成DSP处理器处理数据的不连贯,因此将数据预先保存到本地快速通道单元中,通过本地快速通道单元的快速读取数据以及快速写入数据,使得DSP处理器读入数据以及写入数据的连续性,提高了数据交互的效率。
[0084]本发明实施例利用硬件加速器中的临时缓存器区域替代现有技术中的诊断测试与条件监控器DTCM,将数据搬移与数据处理通过乒-乓机制分离,实现数据搬移与数据处理的并行处理,以及实现数据搬移与数据处理同时进行。其中,硬件加速器划分的临时缓存器区域(Temp Buffer)包括源数据兵存储模块(Source_Data_Ping memory)、源数据兵存储模块(Source_Data_Pong memory)、结果数据兵存储模块(Result_Data_Ping memory)和结果数据兵存储模块(Result_Data_Pong memory)。进一步的,临时缓存器区域均能够存储多个数据。
[0085]本发明实施例具体的实施过程为:源数据乒存储模块接收直接存储器访问控制单元发送的待处理数据,当DSP处理器对从源数据乓存储模块中读取的数据进行处理时,源数据乒存储模块和结果数据乒存储模块同时接收DSP处理器发送的搬移触发消息,所述源数据乒存储模块根据所述搬移触发消息将所述待处理数据搬移到所述源数据乓存储模块中,以及所述结果数据乒存储模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块中,DSP处理器的处理过程、与源数据乒存储模块到源数据乓存储模块的数据搬移过程、与结果数据乒存储模块到结果数据乓存储模块的数据搬移过程同时进行,结果数据乓存储模块接收到处理后的数据后,将该处理后的数据发送给直接存储器访问控制单
J Li ο
[0086]实施例3
[0087]本发明实施例提供了一种DSP处理器与外部处理器的数据交互方法,本发明实施例结合了实施例1中的直接存储器访问控制单元和实施例2的硬件加速器,而提供的一种DSP处理器与外部处理器的详细数据交互方法,如图4所示,该方法包括:
[0088]步骤S301:直接存储器访问控制单元配置数据交互的读通道和写通道;
[0089]直接存储器访问控制单元配置的数据交互的读通道和写通道的详细流程如实施例I所述,在此不再赘述。
[0090]步骤S302:直接存储器访问控制单元对读通道和写通道中的链表的每个节点搬移完成到跳转下一个节点之间进行流量控制,以实现DSP处理器处理数据时间与数据搬移时间相匹配;
[0091]其中,直接存储器访问控制单元采用硬件握手模块,且设置过程如实施例1所述,在此不再赘述。
[0092]步骤S303:外部存储器通过配置的读通道将待处理数据发送给直接存储器访问控制单元,直接存储器访问控制单元接收到所述待处理数据将所述待处理数据发送给硬件加速器;
[0093]其中,硬件加速器划分得到了多个临时缓存区域,包括源数据乒存储模块、源数据乓存储模块、结果数据乒存储模块和结果数据乓存储模块。
[0094]步骤S304:所述源数据乒存储模块利用直接存储器访问控制单元预先配置的读通道接收所述直接存储器访问控制单元发送的待处理数据,本地快速通道单元从源数据乓存储模块中快速读取数据并保存数据,同时本地快速通道单元将DSP处理器处理后的数据发送给结果数据乒存储模块;
[0095]步骤S305:本地快速通道单元将读取的数据发送给DSP处理器,同时DSP处理器将处理后的数据发送给本地快速通道单元;
[0096]其中,步骤S305中的处理后的数据与步骤S304中的处理后的数据不是同一个数据,在时间上,步骤S304中的处理后的数据为步骤S305中处理后的数据的前一个数据。如果按照本发明实施例来说,以待处理数据为第N个数据,则步骤S304中处理后的数据为第N+3个数据,步骤S305中处理后的数据为第N+2个数据,步骤S305中的读取的数据为第N+1个数据,本文的数据均为从外部存储器发送过来的待处理数据。
[0097]步骤S306 =DSP处理器对从本地快速通道单元中接收的数据进行处理,同时源数据乒存储模块将待处理数据搬移到源数据乓存储模块中,同时结果数据乒存储模块将处理后的数据搬移到结果数据乓存储模块中;
[0098]在本发明实施例中,DSP处理器中固有的FLIX (Flexible Length InstructionExtensions,柔性长度指令扩展)的特性,通过利用临时缓存区域中源数据和结果数据的存储分离,从而将DSP处理器的读取数据和写入数据进行并行处理。
[0099]步骤S307:结果数据乓存储模块将处理后的数据发送给直接存储器访问控制单元,直接存储器访问控制单元根据配置的写通道将处理后的数据发送给外部存储器,从而完成数据的交互。
[0100]在本发明实施例中,利用DSP处理器与硬件加速器中的临时缓存区域的接口替代了诊断测试与条件监控器DTCM的接口,由于DSP处理器与DTCM接口的数量有限制,且DSP处理器与临时缓存区域的接口数量相对比较丰富,因此就没有了接口限制的问题。其次,使用了读通道和写通道来分别进行两个方向的数据搬移,使得临时缓存区域和外部存储器之间双方向的数据搬移并行起来。再次,由于外部存储器和DSP处理器之间数据搬移与处理都是重复性的操作,因此利用直接存储器访问控制单元DMAC的链表模式进行此重复性搬移操作,减少了每次数据搬移配置DMAC带来的循环浪费;再一次,采用DMAC硬件握手(Hardware Handshake)模式使得DSP处理器的处理时间和数据搬移时间相匹配;最后,利用本地快速通道单元对数据进行快速读取和写入,保证了每个循环周期中,DSP处理器都可以从临时缓存区域内连续的读取和写入数据。
[0101]实施例4
[0102]本发明实施例还提供了一种直接存储器访问控制单元,如图5所示,包括:
[0103]配置模块401,用于配置读通道和写通道;
[0104]读取模块402,用于利用所述配置模块配置的读通道读取外部存储器提供的待处理数据;
[0105]发送模块403,用于将所述读取模块读取的所述待处理数据发送给硬件加速器中划分得到的源数据乒存储模块,以使得当数字信号处理器DSP处理器从所述硬件加速器中划分得到的源数据乓存储模块读取数据并处理时,所述源数据乒存储模块将所述待处理数据搬移到所述源数据乓存储模块中,以及同时所述硬件加速器中划分得到的结果数据乒存储模块将DSP处理器发送的处理后的数据搬移到所述硬件加速器中划分得到的结果数据乓存储模块中,实现数据处理和数据搬移的并行处理;以及将接收模块接收到的处理后的数据发送给所述外部存储器;
[0106]所述接收模块404,用于利用所述配置模块配置的写通道接收所述结果数据乓存储模块发送的处理后的数据。
[0107]进一步的,所述配置模块配置读通道和写通道的模式为硬件握手模式。
[0108]所述配置模块,还用于在读通道和写通道中链表的每个节点搬移完成到跳转下一个节点之间进行流量控制,以实现DSP处理器处理数据时间与数据搬移时间相匹配。
[0109]本发明实施例通过提供一种直接存储器访问控制单元,通过使用读通道和写通道来分别进行两个方向的数据搬移,使得临时缓存区域和外部存储器之间双方向的数据搬移并行起来。利用直接存储器访问控制单元DMAC的链表模式进行此重复性搬移操作,减少了每次数据搬移配置DMAC带来的循环浪费;再一次,采用DMAC硬件握手(HardwareHandshake)模式使得DSP处理器的处理时间和数据搬移时间相匹配。
[0110]实施例5
[0111]本发明实施例提供了一种硬件加速器,如图6所示,包括:
[0112]划分模块501,用于将将硬件加速器划分为源数据乒存储模块、源数据乓存储模块、结果数据乒存储模块和结果数据乓存储模块;
[0113]接收模块502,用于所述源数据乒存储模块利用直接存储器访问控制单元预先配置的读通道接收所述直接存储器访问控制单元发送的待处理数据,所述待处理数据为所述直接存储器访问控制单元从外部存储器读取到的数据;以及用于所述结果数据乒存储模块接收DSP处理器发送的处理后的数据;
[0114]发送模块503,用于与所述接收模块中所述结果数据乒存储模块接收DSP处理器发送的处理后的数据的同时将数据发送给DSP处理器;以及用于所述结果数据乓存储模块利用所述直接存储器访问控制单元预先配置的写通道将所述处理后的数据发送给所述直接存储器访问控制单兀;[0115]搬移模块504,用于所述源数据乒存储模块当DSP处理器对从所述源数据乓存储模块中接收的数据进行处理时,将所述待处理数据搬移到所述源数据乓存储模块中;以及所述结果数据乒存储模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块中,实现数据处理和数据搬移的并行处理。
[0116]进一步的,所述接收模块,还用于所述源数据乒存储模块和所述结果数据乒存储模块同时接收DSP处理器发来的搬移触发消息,所述搬移触发消息为DSP处理器对从所述源数据乓存储模块中接收的数据进行处理时发送的消息;
[0117]执行模块,还用于当所述源数据乒存储模块接收到所述搬移触发消息后,执行所述搬移模块将将所述待处理数据搬移到所述源数据乓存储模块中;以及用于当所述结果数据乒存储模块在接收到所述搬移触发消息后,执行所述搬移模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块中。
[0118]进一步的,所述硬件加速器还包括:
[0119]匹配模块,用于利用所述直接存储器访问控制单元对预先配置的读通道和写通道中链表的每个节点搬移完成到跳转下一个节点直接进行的流量控制,使得所述源数据乒存储模块将所述待处理数据搬移到所述源数据乓存储模块的过程、所述结果数据乓存储模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块的过程和DSP处理器的处理过程所需的时间相匹配。
[0120]进一步的,所述硬件加速器还包括:
[0121]所述发送模块,还用于所述源数据乓存储模块将数据发送并保存到本地快速通道单元,使得DSP处理器从所述本地快速通道单元中连续读取数据;
[0122]所述接收模块,还用于所述结果数据乒存储模块在所述发送模块将数据发送并保存到本地快速通道单元的同时,接收所述本地快速通道单元发送的处理后的数据,使得DSP处理器对数据处理完成后将所述处理后的数据连续写入所述本地快速通道单元。
[0123]本发明实施例通过提供一种硬件加速器,对硬件加速器划分为多个临时缓存模块,利用DSP处理器与硬件加速器中的临时缓存模块的接口替代了诊断测试与条件监控器DTCM的接口,由于DSP处理器与DTCM接口的数量有限制,且DSP处理器与临时缓存区域的接口数量相对比较丰富,因此就没有了接口限制的问题。同时,利用本地快速通道单元对数据进行快速读取和写入,保证了每个循环周期中,DSP处理器都可以从临时缓存区域内快速读取和写入数据。
[0124]实施例6
[0125]本发明实施例提供了一种DSP处理器与外部处理器的数据交互系统,如图7所示,包括实施例4中所述的直接存储器访问控制单元和实施例5中所述的硬件加速器。
[0126]其中,直接存储器访问控制单元与DSP处理器以及外部存储器均通过系统总线相连接。
[0127]实施例7
[0128]在本发明实施例中,上述实施例中的直接存储器访问控制单元可以为如图8所示,包括至少一个处理器81 (例如:CPU),至少一个网络接口 82或者其他通信接口,存储器83和至少一个通信总线84,用于实现这些装置之间的连接通信。处理器81用于执行存储器83中存储的可执行模块,例如:计算机程序。存储器83可能包含高速随机存取存储器(Random Access Memory, RAM),也可能还包括非不稳定的存储器(non-volatile memory),例如:至少一个磁盘存储器。通过至少一个网络接口 82 (可以是有线或者无线)实现该系统网关与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
[0129]在一些实施方式中,存储器83存储了程序,程序可以被处理器81执行,这个程序包括:直接存储器访问控制单元配置读通道,利用所述读通道读取外部存储器提供的待处理数据,并将所述待处理数据发送给硬件加速器,以使得当数字信号处理器DSP处理器从所述硬件加速器中划分得到的源数据乓存储模块读取数据并处理时,所述硬件加速器中划分得到的源数据乒存储模块将所述待处理数据搬移到所述源数据乓存储模块中,以及同时所述硬件加速器中划分得到的结果数据乒存储模块将DSP处理器发送的处理后的数据搬移到所述硬件加速器中划分得到的结果数据乓存储模块中,实现数据处理和数据搬移的并行处理。
[0130]本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实现方式可以被具体实施为系统、方法或者计算机程序产品。因此,本发明的各方面、或各个方面的可能实现方式可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形式,在这里都统称为“电路”、“模块”或者“系统”。此夕卜,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
[0131 ] 计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者快闪存储器)、光纤、便携式只读存储器(CD-ROM)。
[0132]计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
[0133]计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为单独的软件包、部分在用户的计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执行。
[0134]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种DSP处理器与外部处理器的数据交互方法,其特征在于,包括: 直接存储器访问控制单元配置读通道,利用所述读通道读取外部存储器提供的待处理数据,并将所述待处理数据发送给硬件加速器中划分得到的源数据乒存储模块,以使得当数字信号处理器DSP处理器从所述硬件加速器中划分得到的源数据乓存储模块读取数据并处理时,所述源数据乒存储模块将所述待处理数据搬移到所述源数据乓存储模块中,以及同时所述硬件加速器中划分得到的结果数据乒存储模块将DSP处理器发送的处理后的数据搬移到所述硬件加速器中划分得到的结果数据乓存储模块中,实现数据处理和数据搬移的并行处理; 所述直接存储器访问控制单元配置写通道,利用所述写通道接收所述结果数据乓存储模块发送的处理后的数据,并将所述处理后的数据发送给所述外部存储器。
2.如权利要求1所述的数据交互方法,其特征在于,所述直接存储器访问控制单元配置读通道和写通道采用的模式为:硬件握手模式。
3.如权利要求1所述的数据交互方法,其特征在于,所述方法进一步包括: 在读通道和写通道中链表的每个节点搬移完成到跳转下一个节点之间进行流量控制,以实现DSP处理器处理数据时间与数据搬移时间相匹配。
4.一种DSP处理器与外部处理器的数据交互方法,其特征在于,将硬件加速器划分为源数据乒存储模块、源数据乓存储模块、结果数据乒存储模块和结果数据乓存储模块,包括: 所述源数据乒存储模块利用直接存储器访问控制单元预先配置的读通道接收所述直接存储器访问控制单元发送的待.处理数据,所述待处理数据为所述直接存储器访问控制单元从外部存储器读取到的数据; 所述源数据乓存储模块将数据发送给数字信号处理器DSP处理器,所述结果数据乒存储模块同时接收DSP处理器发送的处理后的数据; 所述源数据乒存储模块当DSP处理器对从所述源数据乓存储模块中接收的数据进行处理时,将所述待处理数据搬移到所述源数据乓存储模块中;以及所述结果数据乒存储模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块中,实现数据处理和数据搬移的并行处理; 所述结果数据乓存储模块利用所述直接存储器访问控制单元预先配置的写通道将所述处理后的数据发送给所述直接存储器访问控制单元。
5.如权利要求4所述的数据交互方法,其特征在于, 该方法进一步包括:所述源数据乒存储模块和所述结果数据乒存储模块同时接收DSP处理器发来的搬移触发消息,所述搬移触发消息为DSP处理器对从所述源数据乓存储模块中接收的数据进行处理时发送的; 所述源数据乒存储模块在接收到所述搬移触发消息后,执行所述将所述待处理数据搬移到所述源数据乓存储模块中; 所述结果数据乒存储模块在接收到所述搬移触发消息后,执行所述将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块中。
6.如权利要求5所述的数据交互方法,其特征在于,利用所述直接存储器访问控制单元对预先配置的读通道和写通道中链表的每个节点搬移完成到跳转下一个节点直接进行的流量控制,使得所述源数据乒存储模块将所述待处理数据搬移到所述源数据乓存储模块的过程、所述结果数据乓存储模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块的过程和DSP处理器的处理过程所需的时间相匹配。
7.如权利要求4所述的数据交互方法,其特征在于,所述源数据乓存储模块将数据发送给数字信号处理器DSP处理器,所述结果数据乒存储模块同时接收DSP处理器发送的处理后的数据,具体包括: 所述源数据乓存储模块将数据发送并保存到本地快速通道单元,使得DSP处理器从所述本地快速通道单元中连续读取数据;所述结果数据乒存储模块同时接收所述本地快速通道单元发送的处理后的数据,使得DSP处理器对数据处理完成后将所述处理后的数据连续写入所述本地快速通道单元。
8.一种直接存储器访问控制单元,其特征在于,包括: 配置模块,用于配置读通道和写通道; 读取模块,用于利用所述配置模块配置的读通道读取外部存储器提供的待处理数据; 发送模块,用于将所述读取模块读取的所述待处理数据发送给硬件加速器中划分得到的源数据乒存储模块,以使得当数字信号处理器DSP处理器从所述硬件加速器中划分得到的源数据乓存储模块读取数据并处理时,所述源数据乒存储模块将所述待处理数据搬移到所述源数据乓存储模块中,以及同时所述硬件加速器中划分得到的结果数据乒存储模块将DSP处理器发送的处理后的数据搬移到所述硬件加速器中划分得到的结果数据乓存储模块中,实现数据处理和数据搬移的并行处理;以及将接收模块接收到的处理后的数据发送给所述外部存储器; 所述接收模块,用于利用所述配置模块配置的写通道接收所述结果数据乓存储模块发送的处理后的数据。
9.如权利要求8所述的直接存储器访问控制单元,其特征在于,所述配置模块配置读通道和写通道的模式为硬件握手模式。
10.如权利要求8所述的直接存储器访问控制单元,其特征在于, 所述配置模块,还用于在读通道和写通道中链表的每个节点搬移完成到跳转下一个节点之间进行流量控制,以实现DSP处理器处理数据时间与数据搬移时间相匹配。
11.一种硬件加速器,其特征在于,包括: 划分模块,用于将将硬件加速器划分为源数据乒存储模块、源数据乓存储模块、结果数据乒存储模块和结果数据乓存储模块; 接收模块,用于所述源数据乒存储模块利用直接存储器访问控制单元预先配置的读通道接收所述直接存储器访问控制单元发送的待处理数据,所述待处理数据为所述直接存储器访问控制单元从外部存储器读取到的数据;以及用于所述结果数据乒存储模块接收DSP处理器发送的处理后的数据; 发送模块,用于与所述接收模块中所述结果数据乒存储模块接收DSP处理器发送的处理后的数据的同时将数据发送给DSP处理器;以及用于所述结果数据乓存储模块利用所述直接存储器访问控制单元预先配置的写通道将所述处理后的数据发送给所述直接存储器访问控制单元; 搬移模块,用于所述源数据乒存储模块当DSP处理器对从所述源数据乓存储模块中接收的数据进行处理时,将所述待处理数据搬移到所述源数据乓存储模块中;以及所述结果数据乒存储模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块中,实现数据处理和数据搬移的并行处理。
12.如权利要求11所述的硬件加速器,其特征在于, 所述接收模块,还用于所述源数据乒存储模块和所述结果数据乒存储模块同时接收DSP处理器发来的搬移触发消息,所述搬移触发消息为DSP处理器对从所述源数据乓存储模块中接收的数据进行处理时发送的消息; 执行模块,还用于当所述源数据乒存储模块接收到所述搬移触发消息后,执行所述搬移模块将将所述待处理数据搬移到所述源数据乓存储模块中;以及用于当所述结果数据乒存储模块在接收到所述搬移触发消息后,执行所述搬移模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块中。
13.如权利要求11所述的硬件加速器,其特征在于,所述硬件加速器还包括: 匹配模块,用于利用所述直接存储器访问控制单元对预先配置的读通道和写通道中链表的每个节点搬移完成到跳转下一个节点直接进行的流量控制,使得所述源数据乒存储模块将所述待处理数据搬移到所述源数据乓存储模块的过程、所述结果数据乓存储模块将DSP处理器发送的处理后的数据搬移到所述结果数据乓存储模块的过程和DSP处理器的处理过程所需的时间相匹配。
14.如权利要求11所述的硬件加速器,其特征在于,所述硬件加速器还包括: 所述发送模块,还用于所述源数据乓存储模块将数据发送并保存到本地快速通道单元,使得DSP处理器从所述本地快速通道单元中连续读取数据; 所述接收模块,还用于所述结果数据乒存储模块在所述发送模块将数据发送并保存到本地快速通道单元的同时,接收所述本地快速通道单元发送的处理后的数据,使得DSP处理器对数据处理完成后将所述处理后的数据连续写入所述本地快速通道单元。
15.一种DSP处理器与外部处理器的数据交互系统,包括如权利要求8~10中任一项所述的直接存储器访问控制单元和如权利要求11~14中任一项所述的硬件加速器。
【文档编号】G06F13/28GK103473188SQ201310416360
【公开日】2013年12月25日 申请日期:2013年9月12日 优先权日:2013年9月12日
【发明者】钟威 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1