CN101236488B - 协同分布式的处理方法及装置 - Google Patents

协同分布式的处理方法及装置 Download PDF

Info

Publication number
CN101236488B
CN101236488B CN2008100063950A CN200810006395A CN101236488B CN 101236488 B CN101236488 B CN 101236488B CN 2008100063950 A CN2008100063950 A CN 2008100063950A CN 200810006395 A CN200810006395 A CN 200810006395A CN 101236488 B CN101236488 B CN 101236488B
Authority
CN
China
Prior art keywords
module
data
coprocessor
operating mode
ram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2008100063950A
Other languages
English (en)
Other versions
CN101236488A (zh
Inventor
王昆
鲁迎春
付卫香
吴迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2008100063950A priority Critical patent/CN101236488B/zh
Publication of CN101236488A publication Critical patent/CN101236488A/zh
Application granted granted Critical
Publication of CN101236488B publication Critical patent/CN101236488B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Advance Control (AREA)

Abstract

本发明实施例公开了一种协同分布式处理的方法,该方法包括:协处理器在软核的控制下选择指定的工作模式;协处理器对需要进行处理的数据进行与所述工作模式对应的运算处理,得到运算结果,所述软核和协处理器用现场可编程门阵列FPGA实现。本发明实施例还公开了一种协同分布式处理的装置。采用本发明实施例方案进行运算处理,具有实现简单,成本和功耗低,运算处理速度快的优点。

Description

协同分布式的处理方法及装置
技术领域
本发明涉及数字单板技术,尤其涉及协同分布式的处理方法及装置。
背景技术
目前,数字预失真(DPD,Digital Pre-Distortion)算法采用数字信号处理(DSP,Digital Signal Processing)的方法来实现。根据DSP的特点,用DSP来处理时,如果需要进行浮点运算,就只能用浮点的DSP,而浮点的DSP分为单精度和双精度,其处理复杂,运算速度慢;并且,用DSP来处理价格高、功耗大,为后续基站类产品专用集成电路(ASIC,Application-Specific Integrated Circuit)化造成了困难。
现有基站类产品中,数字单板上具有很多现场可编程门阵列(FPGA,Field Programmable Gate Array),将DPD算法通过DSP实现后应用于数字单板上,将出现FPGA和DSP同时存在的情况,这将导致基站类产品需要用两种类型的物理器件来实现,这样带来了如下缺点:数字单板的体积增大,功耗增加,并且使板极互联增多,集成度不高。
发明内容
本发明实施例提供一种协同分布式的处理方法,该方法能够简化处理,提高处理速度和数字单板上的集成度。
本发明实施例提供一种协同分布式的处理装置,该装置能够简化处理,提高处理速度和数字单板上的集成度。
一种协同分布式的处理方法,该方法包括:
协处理器在软核的控制下选择指定的工作模式;
协处理器对需要进行处理的数据进行与所述工作模式对应的运算处理,得到运算结果,所述软核和协处理器用现场可编程门阵列FPGA实现。
一种协同分布式的处理装置,该装置包括软核和协处理器;
所述软核,用于控制协处理器;
所述协处理器,用于在所述软核的控制下选择指定的工作模式,对需要进行处理的数据进行与所述工作模式对应的运算处理,得到运算结果,所述软核和协处理器用FPGA实现。
从上述方案可以看出,本发明实施例协处理器在软核的控制下选择指定的工作模式后,协处理器对需要进行处理的数据进行与所述工作模式对应的运算处理,得到运算结果,所述软核和协处理器用FPGA实现。采用FPGA来进行运算处理,具有价格低、功耗低、处理简便和处理速度高的优点;并且将DPD算法通过FPGA实现后应用于数字单板,使板极互联减少,增强了单板集成度。
附图说明
图1为本发明实施例协同分布式的处理装置的结构示意图;
图2(a)为本发明实施例协同分布式的处理装置的结构示意图例一;
图2(b)为本发明实施例协同分布式的处理装置的结构示意图例二;
图2(c)为本发明实施例协同分布式的处理装置的结构示意图例三;
图2(d)为本发明实施例协同分布式的处理装置的结构示意图例四;
图3为图1中浮点运算子模块的结构示意图实例;
图4为本发明实施例协同分布式的处理方法的示例性流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
本发明实施例通过软核加协处理器来实现DPD运算处理,所述软核和协处理器用FPGA实现,这里,将软核加协处理器的处理称为协同分布式的处理。参见图1,为本发明实施例协同分布式的处理装置的结构示意图,该装置包括软核和协处理器;
所述软核,用于控制协处理器;
所述协处理器,用于在所述软核的控制下选择指定的工作模式,对需要进行处理的数据进行与所述工作模式对应的运算处理,得到运算结果。协处理器包括直接存储器访问(DMA,Direct Memory Access)模块、随机存储器(RAM,Random Access Memory)、工作模式模块和运算模块。
运算模块包括多个运算子模块,每个运算子模块进行DPD算法中的一类运算处理。DPD算法包括以下的运算类型:
1.N个复数浮点数相关运算;
2.N个复数浮点求平方和;
3.同步运算;
4.滤波运算;
5.数字下变频(DDC,Digital Down Convert)运算;
6.内插运算;
7.数据搬移,也就是将数据从一块存储器搬移到另一块存储器。
这里,将运算类型1和运算类型2统称为浮点运算。为了节省资源,可以将进行N个复数浮点数相关运算处理的运算子模块和进行N个复数浮点求平方和运算处理的运算子模块合成一个模块,将合成的模块称为浮点运算子模块。这样,运算模块包括浮点运算子模块、同步运算子模块、滤波运算子模块、内插运算子模块、搬移运算子模块和/或下变频运算子模块。各个子模块采用FPGA来实现,其实现为常用技术,这里不赘述。
所述浮点运算子模块,用于进行浮点数相关运算和复数浮点求平方和运算处理;
所述同步运算子模块,用于进行同步运算处理;
所述滤波运算子模块,用于进行滤波运算处理;
所述内插运算子模块,用于进行内插运算处理;
所述搬移运算子模块,用于将数据从一块存储器搬移到另一块存储器;
所述下变频运算子模块,用于进行下变频处理。
下面结合图2(a)~(d),对图1的装置结构的运用进行举例说明。
当运算处理涉及对单个数据的运算时,协处理器包括工作模式模块、运算模块,如图2(a)所示,运算处理过程中。单个数据由软核直接发送给运算模块。
所述工作模式模块,用于在软核的控制下选择指定的工作模式,将运算模块处理得到的运算结果发送给软核;工作模式模块由图中所示的工作模式子模块A和工作模式子模块B构成;
所述运算模块,用于接收软核发送的数据,进行与工作模式模块选择的工作模式对应的运算处理,得到运算结果。
当运算处理涉及对队列的运算时,协处理器包括工作模式模块、运算模块、RAM和DMA模块,所述RAM为两个,设为RAM一和RAM二,所述DMA模块为两个,设为DMA模块一和DMA模块二,如图2(b)所示。
所述DMA模块一,用于接收软核发送的数据读取信息,控制RAM一读取存储的数据后发送给工作模式模块;
所述RAM一,用于在DMA模块一的控制下,将存储的数据读出后发送给工作模式模块;
所述DMA模块二,用于接收软核发送的数据读取信息,控制RAM二读出存储的数据后发送给工作模式模块;接收软核发送的数据写入信息,控制RAM二将接收到的数据写入;
所述工作模式模块,用于在软核的控制下选择指定的工作模式,将接收的由DMA模块一和DMA模块二发送的数据输入到运算模块,将运算模块处理得到的运算结果发送给RAM二;
所述RAM二,用于在DMA模块二的控制下,将存储的数据读出后发送给工作模式模块;在DMA模块二的控制下,将由工作模式模块发送的运算结果写入。
本实施例采用图2(b)的结构进行运算处理的过程中,需要进行运算的队列分别存储于RAM一和RAM二中,其运算过程具体包括:DMA模块一接收软核发送的数据读取信息,控制RAM一读取存储的数据后发送给工作模式子模块A,DMA模块二接收软核发送的数据读取信息,控制RAM二读取存储的数据后发送给工作模式子模块A;同时,软核控制工作模式模块选择指定的工作模式,这里所述指定的工作模式为与队列运算相关的工作模式;然后工作模式模块将接收的由DMA模块一和DMA模块二发送的数据输入到运算模块,进行运算处理后,将得到的运算结果通过工作模式子模块B发送给RAM二;RAM二接收工作模式模块发送的运算结果,在DMA模块二的控制下,将运算结果写入,至此,便完成了队列运算。
当运算处理涉及对队列和单个数据的运算时,协处理器包括工作模式模块、运算模块、RAM和DMA模块;
所述DMA模块,用于接收软核发送的数据读取信息,控制RAM读取存储的数据后发送给工作模式模块;接收软核发送的数据写入信息,控制RAM将由工作模式模块发送的运算结果写入;
所述RAM,用于在DMA模块的控制下,将存储的数据读出后发送给工作模式模块;在DMA模块的控制下,将工作模式模块发送的数据写入;
所述工作模式模块,用于在软核的控制下选择指定的工作模式,将接收的由RAM发送的数据输入到运算模块,将运算模块处理得到的运算结果发送给RAM;
所述运算模块,用于接收软核发送的数据和工作模式模块输入的数据,进行与工作模式模块选择的工作模式对应的运算处理,得到运算结果。
对于涉及对队列和单个数据运算的情况,DMA模块和RAM可以为一组,也可以为两组:为一组时,在DMA模块和RAM内完成数据的读取和写入,如图2(c)所示;为两组时,其中一组DMA模块和RAM用于完成数据的读取,另一组DMA模块和RAM用于完成数据的写入,如图2(d)所示,其中DMA模块三和RAM三用于完成数据的读取,DMA模块四和RAM四用于完成数据的写入。采用图2(d)的结构进行运算队列和单个数据的处理时,需要进行运算的单个数据可以由软核直接发送给运算模块,需要进行运算的队列存储于RAM三中,进行运算处理后的运算结果保存到RAM四中,其运算处理的过程具体包括:
DMA模块三接收软核发送的数据读取信息,控制RAM三读取存储的数据后发送给工作模式子模块A;软核控制工作模式模块选择指定的工作模式,并将由RAM三发送的数据输入到运算模块;运算模块接收软核发送的数据和由工作模式模块发送的数据,进行运算处理后,将运算结果通过工作模式子模块B发送给RAM四;DMA模块四接收软核发送的数据写入信息,控制RAM四将工作模式模块发送的数据写入,至此,完成了队列和单个数据的运算。
下面以浮点运算为例,对本发明实施例协同式分布的处理进行举例说明。浮点运算子模块的数据来源有两个,一个是从RAM发送而来的队列数据,主要用于做两个队列的N点相乘、相加或者乘累加等相似作用;另一个是从软核发送而来的单一数据,用于和来自RAM的数据配合使用,可以完成单一数据乘队列数据,两个单一数据相乘,累加等作用。
设从RAM发送至浮点运算子模块的三个N维向量,即三个队列,为:dataA、dataB和dataC;从软核发送至浮点运算子模块的四个单一数据:rega,regb,regc,regd;从RAM发送至浮点运算子模块的单个运算结果:resultA,resultB。在浮点运算子模块中的运算处理包括:
两个队列相乘、相加:
dataC(i)=dataA(i)*dataB(i);i=0,1,2,3......N  (1)
dataC(i)=dataA(i)+dataB(i);i=0,1,2,3......N  (2)
两个队列乘累加:
resultA = Σ i = 1 N dataA ( i ) * dataB ( i ) ; - - - ( 3 )
单一数据乘队列:
dataC(i)=resultA*dataA(i);i=0,1,2,3......N;  (4)
累加:拆成两部分来处理,先将队列乘1,再进行累加;
resultA = Σ i = 1 N 1 * dataA ( i ) ; - - - ( 5 )
假设浮点运算子模块的结构为图3所示,图中D触发器为可选,用于对接收的数据进行延时处理。向量dataA,dataB从RAM发送而来,在进行队列相乘时,软核控制多路选择器(MUX,Multiplexor)A、MUXB将dataA、dataB输入浮点相乘子模块,浮点相乘子模块对dataA和dataB进行相乘后,将相乘结果dataC写入RAM。所述软核控制MUXA、MUXB将dataA、dataB输入浮点相乘子模块的方法包括:软核打开MUXA、MUXB的相应操作码,控制MUXA选择dataA输入浮点相乘子模块,控制MUXB选择dataB输入浮点相乘子模块。类似地,进行队列相加时,软核打开MUXC和MUXD的相应操作码,将选择的数据通过D触发器输入浮点相加子模块,在浮点相加子模块内进行相加后,将相加结果输写入到RAM。
如果执行完队列相乘处理后需进行队列相加处理,则直接将浮点相乘子模块输出的相乘结果输入到浮点相加子模块,便可进行相加处理。
如果进行单个数据的运算处理,则软核控制MUXA、MUXB、MUXC和MUXD的相应操作码,选择从软核发送的数据,进行单个数据的运算处理后,将运算结果传送给软核。
下面将DSP的处理方案和本发明实施例协同分布式的处理方案进行比较。假设作这样一个运算:两个m×n复数浮点距阵相乘,产生一个m×m复数浮点距阵。用DSP来处理,运算如下:
for(i=0;i<27;i++)                      *i取值为:0≤i<27
        {
          for(j=0;j<2048;j++)          *j取值为:0≤i<2048
             {
               di+=temphi[i][j]*tempi[i][j]+temphq[i][j]*tempq[i][j];
               dq+=temphi[i][j]*tempq[i][j]-temphq[i][j]*tempi[i][j];
     }                                        *进行2048次复数计算
               *mati+=di;                   *将计算的di存入mati
               *matq+=dq;                   *将计算的dq存入matq
               mati++;                       *mati地址下移
               matq++;                       *matq地址下移
     }                                        *重复进行上述计算27次
对i的每一个取值,需进行2048次复数计算,也就是,经过2048个时钟周期才能完成一个i值的复数计算,而i共27个取值,完成该运算需要进行27×2048次计算,也就是,需要27×2048个时钟周期才能完成该运算,该运算是很耗时间的。采用图3所示的浮点运算子模块进行该运算,其处理如下:
将该运算分成四个乘累加:
1, dataia = Σ j = 1 2048 temphi [ i ] [ j ] * temppi [ i ] [ j ] ;
2, dataib = Σ j = 1 2048 temphq [ i ] [ j ] * tempq [ i ] [ j ] ;
3, dataqa = Σ j = 1 2048 temphi [ i ] [ j ] * tempq [ i ] [ j ] ;
4, dataqb = Σ j = 1 2048 temphq [ i ] [ j ] * tempi [ i ] [ j ] ;
根据计算得到的上述四个乘累加结果得到di和dq:
  di=dataia+dataib;
  dq=dataqa-dataqb;
对i的每一个取值,在流水线作用下,一个时钟周期就完成了取数据、运算和存数据。i共27个取值,进行27时钟周期便能完成该运算。用DSP来完成该运算,只能用软件来模拟,速度较慢,需要27×2048个时钟周期;采用本发明实施例方案,用硬件实现,可进行流水线处理,只需要27个时钟周期。同理,对于求平方、求功率等相关运算,都可以拆成公式与上述四个乘累加类似的多个单元。
可见,本发明实施例协同分布式的处理方案提高了处理速度,且采用FPGA来实现,降低了实现成本和功耗。浮点运算子模块不仅限于图3所示的结构,根据进行浮点运算的不同特点,可以采取不同的FPGA来实现。
本发明实施例的运算处理过程由软核控制,进行运算处理时,软核向协处理器下发一个启动命令,并同时为协处理器配置数据读取信息和/或单个数据。如果需要进行运算处理的数据包括队列,则软核将配置的数据读取信息发送给DMA模块,所述数据读取信息包括读首地址、目的地址、长度和步进,DMA模块利用所述数据读取信息从RAM中读出需要进行运算处理的队列,发送给工作模式模块;如果需要进行运算处理的数据包括单个数据,则由软核直接发送给对应的运算子模块。
工作模式模块在软核的控制下选择软核指定的工作模式后,启动对应的运算子模块进行运算处理,工作模式子模块A将RAM发送的数据输入对应的运算子模块,工作模式子模块B将运算结果发送给RAM,DMA模块接收软核发送的数据写入信息,控制RAM将接收到的数据写入,所述数据写入信息包括写首地址、长度和步进。
其中的两个RAM可以采用双口RAM,用于对大块数据进行缓存,在DMA模块的控制下将需要进行运算处理的数据发送给工作模式模块。
协处理器具有可配置性和灵活性的优点,进行DPD运算处理时,可以将常用的运算子模块固定在协处理器中,例如固定常用的浮点运算子模块、数据搬移子模块和内插子模块。对于不常用的模块,如同步子模块、滤波运算子模块和DDC子模块,可以根据不同的应用对其进行修改。
运算模块中的各个子模块可以单独工作,也可以并行工作,软核根据进程来确定现在的工作模式是哪个工作模式,从而配置工作模式子模块A和工作模式子模块B的操作码,来使能哪个运算子模块工作。当需要增加新的运算子模块时,可以单独进行编码,添加到工作模式模块里,使工作模式模块能够对增加的运算子模块进行控制,这样,不影响已有的运算子模块;也可以修改已有的没有固定的运算子模块,这样,不影响装置结构的变动。
参见图4,为本发明实施例本发明实施例协同分布式的处理方法的示例性流程图,该方法包括以下步骤:
步骤401,协处理器在软核的控制下选择指定的工作模式。
步骤402,协处理器对需要进行处理的数据进行与所述工作模式对应的运算处理,得到运算结果,所述软核和协处理器用现场可编程门阵列FPGA实现。
步骤401所述协处理器在软核的控制下选择指定的工作模式为:协处理器的工作模式模块在软核的控制下选择指定的工作模式。
当步骤402所述需要进行处理的数据为单个数据时,所述需要进行处理的数据由软核发送给协处理器的运算模块;相应地,步骤402之后,该方法包括:工作模式模块将运算模块处理得到的运算结果发送给软核。
当步骤402所述需要进行处理的数据为队列时,所述需要进行处理的数据的获取方法为:协处理器的DMA模块一根据软核发送的数据读取信息读出协处理器的RAM一内存储的数据,通过所述工作模式模块发送给运算模块,协处理器的DMA模块二根据软核发送的数据读取信息读出协处理器的RAM二内存储的数据,通过所述工作模式模块发送给运算模块,运算模块接收的所述由协处理器的RAM一通过工作模式模块发送的数据和由协处理器的RAM二通过工作模式模块发送的数据为所述需要进行处理的数据;相应地,步骤402之后,该方法包括:运算模块将处理得到的运算结果通过工作模式模块传送给DMA模块二,DMA模块二根据软核发送的数据写入信息将运算结果写入协处理器的RAM二。
所述数据读取信息包括读首地址、目的地址、长度和进步,所述数据写入信息中包括写首地址、目的地址、长度和进步。
当步骤402所述需要进行处理的数据为队列和单个数据时,所述需要进行处理的数据的获取方法为:协处理器的DMA模块根据软核发送的数据读取信息读出协处理器的RAM内存储的队列,通过所述工作模式模块发送给协处理器的运算模块,软核向协处理器的运算模块发送单个数据,运算模块接收的所述由协处理器的RAM通过工作模式模块发送的队列和所述由软核发送的单个数据为所述需要进行处理的数据;相应地,步骤402之后,该方法包括:运算模块将处理得到的运算结果通过工作模式模块传送给IDMA模块,DMA模块根据软核发送的数据写入信息将运算结果写入协处理器的RAM。
本步骤所述运算处理包括:浮点运算处理、同步运算处理、滤波运算处理、搬移处理、内插运算处理和/或下变频处理。
本发明实施例采用软核加协处理器的方案来进行处理,软核和协处理器通过同一FPGA芯片实现,提高了处理速度,简化了实现难度,降低了成本和功耗,并且,使数字单板上的器件统一为用FPGA实现的器件,减少了板极互联,提高了数字单板上器件的集成度。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种协同分布式的处理方法,该方法用于数字预失真运算处理,其特征在于,该方法包括:
协处理器的工作模式模块在软核的控制下选择指定的工作模式;
协处理器对需要进行处理的数据进行与所述工作模式对应的运算处理,得到运算结果,所述软核和协处理器用现场可编程门阵列FPGA实现;
当所述需要进行处理的数据为单个数据时,所述需要进行处理的数据由软核发送给协处理器的运算模块;
所述得到运算结果之后,该方法包括:工作模式模块将运算模块处理得到的运算结果发送给软核;或,
当所述需要进行处理的数据为队列时,所述需要进行处理的数据的获取方法为:
协处理器的直接存储器访问DMA模块一根据软核发送的数据读取信息读出协处理器的随机存储器RAM一内存储的数据,通过所述工作模式模块发送给运算模块,协处理器的DMA模块二根据软核发送的数据读取信息读出协处理器的RAM二内存储的数据,通过所述工作模式模块发送给运算模块,运算模块接收的所述由协处理器的RAM一通过工作模式模块发送的数据和由协处理器的RAM二通过工作模式模块发送的数据为所述需要进行处理的数据;
所述得到运算结果之后,该方法包括:运算模块将处理得到的运算结果通过工作模式模块传送给DMA模块二,DMA模块二根据软核发送的数据写入信息将运算结果写入协处理器的RAM二;或,
当所述需要进行处理的数据为队列和单个数据时,所述需要进行处理的数据的获取方法为:
协处理器的DMA模块根据软核发送的数据读取信息读出协处理器的RAM内存储的队列,通过所述工作模式模块发送给协处理器的运算模块,软核向协处理器的运算模块发送单个数据,运算模块接收的所述由协处理器的RAM通过工作模式模块发送的队列和所述由软核发送的单个数据为所述需要进行处理的数据;
所述得到运算结果之后,该方法包括:运算模块将处理得到的运算结果通过工作模式模块传送给DMA模块,DMA模块根据软核发送的数据写入信息将运算结果写入协处理器的RAM。
2.如权利要求1所述的方法,其特征在于,所述运算处理包括:浮点运算处理、同步运算处理、滤波运算处理、搬移处理、内插运算处理和/或下变频处理。
3.一种协同分布式的处理装置,该装置用于数字预失真运算处理,其特征在于,该装置包括软核和协处理器,协处理器包括工作模式模块;
所述软核,用于控制协处理器;
所述工作模式模块,用于在软核的控制下选择指定的工作模块;
所述协处理器,用于对需要进行处理的数据进行与所述工作模式对应的运算处理,得到运算结果,所述软核和协处理器用FPGA实现;
当所述需要进行处理的数据为单个数据时,所述协处理器包括工作模式模块和运算模块;
所述工作模式模块,用于将运算模块处理得到的运算结果发送给软核;
所述运算模块,用于接收软核发送的数据,进行与工作模式模块选择的工作模式对应的运算处理,得到运算结果;或,
当所述需要进行处理的数据为队列时,所述协处理器包括运算模块、RAM一、RAM二、DMA模块一和DMA模块二;
所述DMA模块一,用于接收软核发送的数据读取信息,控制RAM一读取存储的数据后发送给工作模式模块;
所述RAM一,用于在DMA模块一的控制下,将存储的数据读出后发送给工作模式模块;
所述工作模式模块,用于将接收的由DMA模块一和DMA模块二发送的数据输入到运算模块,将运算模块处理得到的运算结果发送给RAM二;
所述DMA模块二,用于接收软核发送的数据读取信息,控制RAM二读出存储的数据后发送给工作模式模块;接收软核发送的数据写入信息,控制RAM二将接收到的数据写入;
所述RAM二,用于在DMA模块二的控制下,将存储的数据读出后发送给工作模式模块;在DMA模块二的控制下,将由工作模式模块发送的运算结果写入;或,
当所述需要进行处理的数据为队列和单个数据时,所述协处理器包括运算模块、RAM和DMA模块;
所述DMA模块,用于接收软核发送的数据读取信息,控制RAM读取存储的数据后发送给工作模式模块;接收软核发送的数据写入信息,控制RAM将由工作模式模块发送的运算结果写入;
所述RAM,用于在DMA模块的控制下,将存储的数据读出后发送给工作模式模块;在DMA模块的控制下,将工作模式模块发送的数据写入;
所述工作模式模块,用于将接收的由RAM发送的数据输入到运算模块,将运算模块处理得到的运算结果发送给RAM;
所述运算模块,用于接收软核发送的数据和工作模式模块输入的数据,进行与工作模式模块选择的工作模式对应的运算处理,得到运算结果。
4.如权利要求3所述的装置,其特征在于,所述运算模块包括浮点运算子模块、同步运算子模块、滤波运算子模块、内插运算子模块、搬移运算子模块和/或下变频运算子模块;
所述浮点运算子模块,用于进行浮点数相关运算和复数浮点求平方和运算处理;
所述同步运算子模块,用于进行同步运算处理;
所述滤波运算子模块,用于进行滤波运算处理;
所述内插运算子模块,用于进行内插运算处理;
所述搬移运算子模块,用于将数据从一块存储器搬移到另一块存储器;
所述下变频运算子模块,用于进行下变频处理。
CN2008100063950A 2007-12-27 2008-02-29 协同分布式的处理方法及装置 Active CN101236488B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100063950A CN101236488B (zh) 2007-12-27 2008-02-29 协同分布式的处理方法及装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200710306928.2 2007-12-27
CN200710306928 2007-12-27
CN2008100063950A CN101236488B (zh) 2007-12-27 2008-02-29 协同分布式的处理方法及装置

Publications (2)

Publication Number Publication Date
CN101236488A CN101236488A (zh) 2008-08-06
CN101236488B true CN101236488B (zh) 2011-06-01

Family

ID=39920136

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100063950A Active CN101236488B (zh) 2007-12-27 2008-02-29 协同分布式的处理方法及装置

Country Status (1)

Country Link
CN (1) CN101236488B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542244B2 (en) 2015-04-22 2017-01-10 Ryft Systems, Inc. Systems and methods for performing primitive tasks using specialized processors

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9411528B1 (en) 2015-04-22 2016-08-09 Ryft Systems, Inc. Storage management systems and methods
US9411613B1 (en) 2015-04-22 2016-08-09 Ryft Systems, Inc. Systems and methods for managing execution of specialized processors
CN107809643B (zh) * 2017-11-13 2020-11-20 苏州浪潮智能科技有限公司 一种图像的解码方法、装置及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542244B2 (en) 2015-04-22 2017-01-10 Ryft Systems, Inc. Systems and methods for performing primitive tasks using specialized processors

Also Published As

Publication number Publication date
CN101236488A (zh) 2008-08-06

Similar Documents

Publication Publication Date Title
Ma et al. Performance modeling for CNN inference accelerators on FPGA
CN111414994B (zh) 一种基于FPGA的Yolov3网络计算加速系统及其加速方法
CN108416422A (zh) 一种基于fpga的卷积神经网络实现方法及装置
CN107657581A (zh) 一种卷积神经网络cnn硬件加速器及加速方法
CN101512499A (zh) 相对地址产生
CN109643233A (zh) 具有带读取和读取/前进操作数编码的流引擎的数据处理设备
CN109977347B (zh) 一种支持多模式配置的可重构fft处理器
CN103336672B (zh) 数据读取方法、装置及计算设备
CN101083643A (zh) 一种低存储器开销的混合基fft处理器及其方法
CN109992302A (zh) 远程原子操作的空间和时间上的归并
CN102279818A (zh) 支持有限共享的向量数据访存控制方法及向量存储器
CN101717817A (zh) 对基于随机上下文无关文法的rna二级结构预测进行加速的方法
CN101236488B (zh) 协同分布式的处理方法及装置
CN101847986A (zh) 一种实现fft/ifft变换的电路及方法
CN109472734B (zh) 一种基于fpga的目标检测网络及其实现方法
CN101211256A (zh) 一种专用双流水线risc指令系统及其操作方法
CN110321165A (zh) 复数向量融合乘加和复数向量乘法的高效实现
CN101082906A (zh) 一种低存储器开销的固定基fft处理器及其方法
Zhang et al. Achieving full parallelism in LSTM via a unified accelerator design
CN109948113A (zh) 一种基于fpga的二维fft加速器
CN110989970B (zh) 一种双精度浮点矩阵运算处理器及方法
RU2294561C2 (ru) Устройство аппаратной реализации вероятностных генетических алгоритмов
CN103493039B (zh) 数据处理方法、数据处理装置、接入设备和用户设备
CN104679690A (zh) 用于gpdsp的基于乒乓机制支持数据乱序返回的dma矩阵转置传输方法
CN102129419A (zh) 基于快速傅立叶变换的处理器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant