描写水晶灯的句子:鱼活在水的眼泪中_第1页
描写水晶灯的句子:鱼活在水的眼泪中_第2页
描写水晶灯的句子:鱼活在水的眼泪中_第3页
描写水晶灯的句子:鱼活在水的眼泪中_第4页
描写水晶灯的句子:鱼活在水的眼泪中_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

并行DSP技术实时信号处理并行处理技术的必要性、现状及发展并行处理技术的分类加速比与并行效率并行处理模块介绍并行算法研究/m/119.html实时信号处理实时信号处理技术的基本特征,就是对处理完成的时间作出限制。最大处理时间是由输入样本间隔(数据吞吐率、采样率表征)、可以使用的缓冲区(存储能力)或是否要求即时的结果(时域或频域)所决定。实时处理概念 定义一个有I个离散时间信号的集合xi

0≤i≤I-1。通常情况下,数字信号处理的目的是将输入信号xi(n)变换或映射为输出信号yj(m),0≤j≤J-1,yj具有我们更需要的形式。这一映射过程可图示为实时处理概念DSPyj(m)=Tj[xi(n)]x0(n)x1(n)xi(n)y0(m)yj(m)将信号xi(n)映射到yj(m)的变换实时处理概念 变换Tj的下标j决定了所选择的输出信号yj。一般情况下,每个输出样本取决于输入信号xi(n)中的每个样本,其中0≤i≤I-1,-∞≤n≤∞。实际应用中,yj(m)仅仅取决于有限个xi(n),如图实时处理概念输入与输出的时序关系(Tc

<

LTx)Tyy(m)T(x(n),n=L,L+1,……,2L-l)x(n)T(x(n),n=0,1,……,L-l)nmTcTcTcy(0)y(1)y(2)实时处理概念 可以看出,输出y(0)取决于L个输入样值x(n),n=0,1,……L-1,其范围从t=0到t=(L-1)Tx

。这样的输入信号集,称做长度为L的帧。Tx是输入信号的间隔,Ty是输出信号的周期,且Ty=LTx。Tc是将一帧内的所有数据进行Tj

变换需要的计算时间。有两种情况:情况1:如果Tc小于帧的持续时间,也就是Tc

<LTx

,则对输入x(0),x(1)……x(L-1)的处理,就可以在影响下一个输出y(1)的最后一个输入样值到达之前完成。因此,第二帧的运算T[x(L),x(L+1)……x(2L-1)]可以在采样样本x(2L-1)到达的时候立即开始。此时,输出就总能跟上输入。情况2:如果Tc>LTx

,即对输入信号x(0),x(1)……x(L-1)进行运算的时间大于帧长LTx。前一帧的计算,要在下一帧的最后一个输入样值到达以后才能完成,输出会越来越落后于输入(如下图)。这样的系统不能完整地实时处理全过程,因为来不及处理的输入信号会不断地积压。输入与输出的时序关系(Tc

>

LTx)y(m)T(x(n),n=L,L+1,……,2L-l)x(n)T(x(n),n=0,1,……,L-l)nTcTcy(0)y(1)实时处理概念 对于实时处理来说,处理时间的门限Tc=LTx是最重要的参数。满足Tc<LTx的系统,可以称为实时运行的;而Tc>LTx的系统,则称为非实时的。 由此,可给出实时的定义如下:如果在使用变换Tj计算得到每个输出样本yj(m)的时候,完成计算量所需要的时间不超过对输出yj(m)有影响的所有xi(n)的持续时间,则该处理就称为是实时的。实时处理概念 简而言之,是否能够实时处理取决于:输入信号采样的间隔时间(采样率)变换Tj的复杂度(运算量)完成Tj[xi(n)]的处理速度并行处理技术的必要性、现状及发展并行处理技术的必要性并行处理技术的现状并行处理技术的发展并行处理技术的必要性 尽管超大规模集成电路(VLSI)技术已经产生了峰值运算能力达10亿次/秒以上的DSP,但相对于越来越高要求的几百亿、上千亿次运算来说仍显不足。而且,VLSI技术的发展已经受到其开关速度极限的限制,进一步提高DSP主频的难度及相应的成本越来越大,单处理器性能的提高空间受到限制。为此,DSP的发展中融入了并行处理技术。并行处理技术的现状片内并行技术片间并行技术

片内并行技术TI公司TMS320C6X,进一步发展了超长指令字(VLIW)和多流水线技术,在每条长达256bit(8×32bit)的指令字中规定了多条流水线、多个处理单元的并行操作,分别控制8个运算单元(其中6个是浮点型)的运算操作;ADI公司的ADSP-2116XSHARCDSP属于一种单指令多数据流(SIMD)的并行处理结构,内部由两个相同的处理单元组成。ADSP21160SHARCDSP的高并行性 ADSP21160SHARCDSP的高并行性由以下两个结构特点决定:在一个周期内可完成多条指令单指令多数据流(SIMD)机制并行结构特点1 ADSP21160SHARCDSP最多可以在一个指令周期内完成一个乘法、一个双加减和两个读/写操作。并行结构特点2 在其内核中,有两套完全独立的运算单元(X、Y),每个运算单元包括:ALU、乘法器、SHIFTER、DATAREGISTERFILE及一些辅助设备。当两个计算单元执行同一条指令时,它们的操作数及使用的寄存器是不同的,这就是所谓的单指令多数据流(SIMD)。 同时,ADSP21160SHARCDSP采用SIMD与单指令单数据流(SISD)可选机制,由MODE1寄存器的PEYEN位选择。ADSP21160SHARCDSP的SIMD结构应用实例 以频域数字脉压的核心算法——FFT算法为例,对ADSP21160SHARCDSP的并行结构特点及处理能力进行讨论。应用实例 由频域脉压理论可知,频域数字脉压过程是由FFT,加权(复数乘),IFFT,求模组成,其主要开销在FFT和IFFT。因此,脉压算法的核心程序研究就集中在对FFT和IFFT的研究上。而IFFT算法可以由FFT算法实现,只需要对序列做简单的处理,即:IFFT(x)={FFT(x*)}*/N。因此做FFT和IFFT就相当于做两次FFT。 基-2、基-4FFT算法有成熟的蝶形运算理论。这里不对它们进行详细推导,只研究基于ADSP21160SHARCDSP芯片的并行算法实现和优化。应用实例

由于蝶形单元构成了最基本、最内层的循环体,对它最大程度的优化和提高并行性是在软件上提高处理速度的根本方法。可基于以下三点因素考虑其优化:合理利用ADSP21160SHARCDSP芯片SIMD的特性,是提高系统处理能力的有效途径。蝶形系数在算法中相乘的次序对算法核心模块的优化起了关键性作用。充分利用ADSP21160SHARCDSP的指令特点,即最多可以在一个指令周期内实现数据单乘/双加减/双存取。

应用实例 实现复数基-2FFT

算法蝶形单元包括:4个实数加,4个实数减和8个实数乘,其中包含3个双加减,根据ADSP21160SHARCDSP的指令特点:最多可以在一个指令周期实现乘/双加减/双存取,该蝶形单元最终可优化至8个指令周期来完成。应用实例 实现复数基-4FFT

算法蝶形单元则复杂的多,它包括:11个实数加,11个实数减和12个实数乘,其中包含8个双加减,该蝶形单元最终可优化至12个指令周期来完成。应用实例 由于ADSP21160SHARCDSP的运算都依赖寄存器R0~R15,对它们的合理使用是设计与优化的重要方面。由蝶形单元循环体向外,第二层循环体由组(GROUP)构成,由于每一组具有相同的结构和旋转因子分布,即具有天然的并行结构,因此非常有利于SIMD的使用。只需要将旋转因子的顺序生成为适合使用SIMD的顺序即可。片间并行技术 片间并行(或称片外并行)则是DSP并行技术发展的主流方向,因为这种并行可以相对不受限制地扩大并行规模。以ADSP-21160SHARCDSP为代表的并行DSP提供了6个高速链路口(LinkPorts),易于多片组成高效的并行处理系统。并行处理技术的分类按数据流和指令特征分类按处理单元间的连接方式分类按并行方式分类按并行任务大小分类按任务并行化的层次分类按数据流和指令特征分类SIMD(单指令多数据流)MISD(多指令单数据流)MIMD(多指令多数据流)按处理单元间的连接方式分类松耦合的分布式并行处理机

线型、星型、树型、网型、超立方体结构等紧耦合的共享总线并行处理机按并行方式分类流水线处理机阵列处理机

脉动阵、波前阵等按并行任务大小分类粗粒度并行细粒度并行按任务并行化的层次分类指令内并行(片内范畴,如VLIW)指令间并行(对应前述的细粒度并行)任务级并行(对应前述的粗粒度并行)加速比与并行效率

加速比与并行效率是一个并行系统的重要的性能指标,它们取决于组成并行系统的三个基本要素:并行处理单元(即DSP芯片本身)、并行系统网络结构、任务分解方法和并行算法,三者紧密联系,互相依赖。并行处理单元 并行处理单元是并行系统的核心,高性能的处理单元可以提高系统性能、减少系统体积和功耗、降低结构复杂性等,高效的并行系统多采用高性能的通用并行DSP。并行系统网络结构 并行网络为各处理单元提供数据交换的通道,不同的处理系统规模,不同的并行网络结构可以使系统达到不同的加速比与并行效率。分布式并行网络结构 分布式并行网络结构的每一个处理单元都有自己可以直接访问的内存(称为局部存储器),更适用于大规模并行系统。共享总线式并行网络结构 共享总线式并行网络结构有一个各处理单元均能访问的系统内存,各处理单元之间通过修改共享内存中的共享变量交换信息,由于当多处理单元需要同时访问共享内存时,会产生内存争用现象而严重影响效率,故仅在小规模的并行系统中得到较好的应用。分布式共享存储并行网络结构 分布式共享存储并行网络结构综合上述两种网络结构特点,每个处理单元都有自己可直接访问的局部内存,这些局部内存允许别的处理单元访问,由硬件支持实现了单一的地址空间,同时,多处理机亦可通过直接访问公用的存储单元隐含地实现数据通信(即共享方式)。 这种物理上的分布式存储、逻辑上的共享内存可保留分布式结构可扩展性好的优点,同时还具备了共享总线结构编程方便、数据传输简单等特点,是当今并行处理技术发展的重要方向。任务分解方法和并行算法 任务分配和并行算法的好坏直接影响并行系统的性能。并行算法的目的是尽可能减少时间复杂性,即尽量使每个时刻可独立执行的计算任务增加,使整个算法的计算步数尽量减少,或者说,通过增加每个步骤的算法复杂性来减少整体的时间复杂性,适当增加空间复杂性来减少时间复杂性。 由于通用DSP的使用,系统设计的重点已转移到软件编程上。对于并行处理系统而言,并行算法的研究有利于提高系统的并行效率,从而设计出高性能的并行系统。加速比的定义 可定义P个处理器的加速比为

其中,T1为单片处理器处理所用时间,TPar为P个处理器处理同一任务所用时间。加速比的定义 将一个处理任务分成只能串行执行的部分和可由P个同样的处理单元并行执行的部分,假设只能串行执行的运算量所占总运算量的百分比为s,其余的运算量是可以由P个处理器并行完成的,所占百分比为1-s,如果忽略通信和同步等由并行引起的开销,加速比应为≤

上式通常称为Amdahl定律,它给出了Sp的上限值。

并行效率的定义 并行效率是并行系统的另一个重要指标,它定义为

(0<EP<1) 可以看出,并行效率与加速比是密切相关的,加速比越接近于P,则并行效率越接近于1。 影响系统并行效率的因素是多方面的,一个处理任务不可能所有步骤均可完全并行,处理器之间的通信与同步都不可避免时间开销,并且任务分配的不均衡等都会导致系统并行效率的降低。并行处理模块介绍 基于通用芯片ADSP21160SHARCDSP,BittWare公司开发了多种不同规模的并行处理模块。这里着重介绍4片ADSP21160

SHARCDSP芯片构成的基于PCI总线的并行处理单元HHPC(Hammer-headPCI)。HHPC并行处理模块的结构框图HHPC并行处理模块的结构特点(1)四片80MHzADSP21160M构成并行处理系统;64bit,66MHz

PCI接口,可以PC机作为主机;最大可配置512MSDRAM共享外部存贮器;两个PMC接口,其中一个具有扩展的PMC+,支持BittWare公司的PMC+I/O模块;四个80MB/s高速链路口(LinkPorts);HHPC并行处理模块的结构特点(2)四个的外部串口(RS-232),一条外部串行总线;BittWare公司开发的SHARCFINASIC芯片,集成了丰富的控制逻辑,提供了4片ADSP21160SHARCDSP面向PCI总线、SDRAM、UART、串口、闪存(Flash)以及一条通用扩展总线的接口,同时,它还提供一套DMA功能和中断选择以支持最小处理器耗时的高速实时数据传输。2MB

FlashRAM,具有脱离主机独立工作的能力。HHPC通用并行处理板的实物照片小结 可以看出,HHPC实际上就是一个分布式共享存储多处理机,即系统中的每一个处理器都有自己可直接访问的局部内存,这些片内存储器也允许别的处理器通过片间总线或高速链路接口(LinkPorts)来访问;另外,多处理机还共享公用的存储单元。小结 具体地,4片ADSP21160SHARCDSP均可以通过共享总线访问其它处理器中的IOP寄存器和片内存储器。在每片ADSP21160SHARCDSP的地址空间中,为各片处理器的内存开辟了统一的所谓多处理器内存映射空间(MMS,MultiprocessorMemorySpace),以及一个公共区域,称之为广播空间(BroadcastSpace),对广播空间进行写入操作,将对所有DSP的相应片内地址写入同样的内容。小结 一般情况下,片内存储器的访问速度是很快的,而片间存储器及共享存储器的访问速度,由于通信接口的限制,通常会较低。为了解决这一问题,一方面,可以借助了ADSP21160SHARCDSP芯片特有的80MB/s高速链路接口,另一方面,通过并行算法设计和软件编程,尽量使用片内存储器,而减少非本地存储单元的访问。此外,系统还提供了丰富的通信端口,从而可以使数据传输变得极为方便和多样化。小结 由于该系统采用具有强大的DSP处理功能的ADSP21160SHARCDSP,特别是其特有的支持多处理器的功能,使整个系统的运算速度和并行效率能够充分发挥出来,并且系统还提供了大规模的存储空间和方便的调试环境,完全能够满足实际应用的需要。自行研制的基于4片ADSP21160的并行处理板并行算法研究 由于通用DSP的使用,系统设计的重点已转移到软件编程上。对于并行处理系统而言,并行算法的研究有利于提高系统的并行效率,从而设计出高性能的并行处理系统。 下面以一个频域数字脉冲压缩的具体实例说明,如何在HHPC硬件平台上,通过不同并行算法的运用,来最大程度地提高系统的处理性能。并行算法分析 在频域数字脉压过程中,核心是FFT和IFFT并行算法的实现。为减小编程的复杂性,FFT采用基-2频域抽取法,即采样数据正序输入,逆序输出;匹配滤波器和加权系数可事先算好保存在系统存储器中;IFFT采用基-2时域抽取法,把加权后的逆序数据直接输入,输出正序数据,再经过求模后输出。这样可以最大程度地减少数据读取、转换和存储的时间。算法1 由4片ADSP-21160SHARCDSP对全程回波数据并行处理。123基-2FFT频域抽取并行算法分解 可以看出,用4片DSP共同完成一个FFT运算时,需要把所有数据读入到每片DSP的内部存储器中,而且在蝶形运算的前两步,必须进行数据交换,从第三步开始,每片DSP独立进行运算。与FFT运算相反,在IFFT中,仅最后两步的蝶形运算各DSP之间需要数据交换。

当处理数据长度等于或接近2的整数次幂时,对全程数据进行并行处理的效率比较高,主要的时间开销是每个DSP都必须把全程数据读入本地存储器,以及进行FFT和IFFT时各个DSP之间需要数据传输;当数据长度与2的整数次幂相差较大时,需要大量添零,这会导致并行效率的急剧下降。算法2 为避免因添零而大量增加数据冗余,对回波数据可采用每段L点、重叠M点的分段脉压(分段卷积)算法。 对每段数据的处理选用算法一,即用4片DSP并行处理,完成L点复数的脉压运算。各段数据的处理顺序进行,每段处理过的数据去掉前面的M个点后进行合成,得到全程脉压输出。

此种方案适合于处理任意长度的数据,避免了因大量添零而增加额外的运算量。重叠数据长度必须满足M>fs×τ,数据分段长度L可根据M来选定,以达到最大的并行效率。 影响并行效率的主要原因是数据段之间的重叠,以及各个DSP之间的数据传输。当数据长度接近2的整数次幂时,并行效率要比算法一低;当数据长度与2的整数次幂相差较大时,并行效率要比算法一高。算法3 采用与算法二相同的分段处理方法,但每片DSP单独处理L点数据的脉压,4片ADSP21160SHARCDSP采用流水方式工作。其片间流水工作时序如下图所示。 其中,Tr为单片DSP读取L-M点数据的时间,Tp为单片DSP进行L点数据脉压处理的时间。与算法二类似,算法三也适合处理长度与2的整数次幂相差较大的数据。不同之处是在做FFT和IFFT时,各个DSP只读取需要处理的数据段,而不需要读取全部数据,这样从共享存储器中读取到各片内存储器的时间减少1/4,同时各DSP之间不需要进行数据传输,因而可以进一步提高并行效率,并可降低程序复杂度。算法4片间流水和片间并行相结合。如果全程数据N满足如下关系

则前面4×M1段数据采用片间流水方法(算法三)处理,剩余的M2段数据则采用片间并行的方法(算法一、二)处理。这种流水与并行相结合的算法,能够最大程度地提高系统的并行效率。其工作时序如图示。片间流水、片间并行相结合工作时序图其中,T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论