English Version
会员登录
账号:
密码:
当前分类  上级分类
推荐文章
热门文章
内容:高性能DSP互联方法
高性能DSP互联方法
发布时间:2009-02-10 07:56:40   点击率:667

并行处理通过互联技术将多个处理器联合使用,提高了处理性能。并行处理技术的发展,促使“深蓝”等巨型计算机的出现,提高了计算机的处理能力。在信号处理领域,同样需要高速处理能力。上世纪80 年代初,美国德州仪器公司( TI 公司) 推出了世界第一片数字信号处理芯片( TMS320C10) ,开创了数字信号处理器发展的实用化时代。经过20 多年的发展,处理器的处理能力已经达到GIDS( GI/ s ) 以上( 如, TI 的TMS320C64x 和ADI 的TS201) 。但是在图像处理、通信基站、雷达、声纳等计算密集型的领域,单个DSP 的处理能力并不能满足要求,因此需要同样借助并行处理技术,解决DSP 之间的数据传输问题,从而达到更高的处理性能。

 

1  并行处理系统互联结构

并行系统处理器之间的互联拓扑结构如图1 所示,可分为:线型、星型、树型、网格型和共享总线型等多种形式 。

线型结构是把多个处理器按顺序依次级联在一起,这种结构对于分块顺序执行的算法特别适用,而且硬件实现和软件编程都比别的结构简单方便,是最为常用的一种结构。在线型结构的网络中,数据流按固定方向流动,或左、或右。线型结构的优点是数据流在网中的传输处理延迟是固定的,每个节点只与其他两个节点有物理链路直接互联,因此,传输控制机制较为简单,实时性强。
 

环型结构则将线型结构的首尾进行相连,成为一个闭环的系统。该结构实现简单,应用也比较广泛。共享总线结构各个处理器通过总线方式可访问同一个大容量共享存储器,进行数据交换。这种结构处理器进行大容量数据交换比较容易,尤其是对于那些需要广播到每个处理器的大量数据交换。但是这种结构多个处理器的总线需要和共享存储器互联,因此对于硬件设计的要求较高。
 

网格型结构分为全连接网格和不完全连接网格两种形式。网格型结构全连接网格中,每一个节点和网中其它节点均有链路连接。不完全连接网格中,两节点之间不一定有直接链路连接,它们之间的通信,依靠其它节点转接。这种网络的优点是节点间路径多,阻塞可大大减少,可靠性高。由于网格型结构中处理器可以方便的与周围处理器交换数据,结构灵活,可以适用于复杂的并行处理模型。
 

星型结构的优点是结构简单,可以很容易地实现多处理器两两之间点对点的数据传输,系统结构灵活。其缺点是属集中控制,主节点负载过重,可靠性低,总线利用率低。

 

树型结构也称为主从结构,实际上是星型结构的一种变形,通常包括一个主处理器和很多从处理器。它将原来用单独链路直接连接的节点通过多级处理主机进行分级连接,主处理器主要用来进行输入输出数据的处理和管理控制整个系统,从处理器用来进行并行信号处理。

 

选择合适的互联结构,可以解决处理器之间的数据传输瓶颈,从而可发挥高性能处理器的强大性能,满足实时处理的要求。

 

2  DSP 并行处理系统中的互联结构

 

为了构成高性能并行处理系统,需要利用DSP的外部接口进行多处理之间的数据交换。而不同DSP 的外部接口不尽相同,主要包括外部存储器接口、HPI 口、及其他专用接口。高性能DSP 都具有外部存储器接口,而其他专用接口分属不同种类的DSP ,如Link 口是ADI 公司的标志、TI 的C6455 系
列具有RapidIO 接口。其中ADI 的Link 口比较容易实现多DSP 并行系统,因此并行系统中常见ADI的DSP。TI 的C6455 系列的RapidIO 接口具有和
Link 口相同的功能。对于其他DSP 如TI 的TMS320C6x 系列,则需要利用外部存储器接口组成多DSP 并行处理系统。

 

2. 1  利用外部存储器接口组成并行结构DSP 的外部存储器接口是用来扩展存储器大小的,通过该接口DSP 可外接SDRAM、SRAM、ROM、FLASH、FIFO、双口RAM 等存储设备。因此可使用双口RAM 或者FIFO 将DSP 两两联接,组成如图1 所示的各种并行结构。几乎所用DSP都可通过这种结构实现DSP 相互之间的高速传输。该接口的数据传输速度较高, 一般高性能DSP 的外部存储器宽度为64 bit ,数据传输速率可达8 Gbit/ s。但是DSP、RAM、FIFO 之间连线较多,尤其是共享存储器结构时连线更为复杂。因此多使用FIFO 作为互联器件, 从而省去了地址线。

 

2. 2  ADI 公司多处理器并行结构
为了便于组成多处理器系统,DSP 提供了各种高速接口和处理器结构,如ADI 的L IN K 口及共享总线结构。

2. 2. 1  共享总线(簇) 方式
ADI 的SHARC 和TigerSHARC 处理器提供了必要的控制握手信号线,使8 片DSP 可以直接相连组成图1 所示的共享存储结构。不同于前面提到
的基于FIFO 构成的共享结构,在ADI 的DSP 内有完整的总线共享功能和片内总线仲裁逻辑,设计者无需开发另外的总线共享逻辑和定时电路。DSP
的片内总线仲裁逻辑能够为多达8 个DSP 和一个主机处理器组成的系统提供简单无缝的连接与循环优先权。共享多处理器可以利用共享总线做广播式传送,并使得处理器间的通信变得容易。主处理器还能全面控制处理器的片内资源。其数据线宽度为64 bit ,传输率可达8 Gbit/ s。虽然省去了FIFO 数据传输数据总裁的麻烦,但是各个DSP 64 bit 数据线、64 bit 地址线增加了硬件设计的难度。

 

TigerSHARC 系列处理器4 个链路口为处理器间的通讯提供了极大的便利。TigerSHARC 提供的Link 传输数据率已达到32 Gbit/ s ,与外部总线的数据速率不相上下,可满足高速信号处理的要求。Link 口连接的多处理器系统,如TS201 每个Link 仅需12 对LVDS 信号线便可实现DSP 间高速数据通信。并可避免了总线冲突与仲裁,降低了硬件设计难度。每个处理器上有四个Link 口,可分别与其它4 个处理器进行无缝连接,从而构成多种并行结构,见图2 。

 

 

2. 3  TI 公司多处理器并行结构
TI 公司也在发展自己的并行结构DSP 处理器,在TMS320C64x 系列中增加了多个EMIF 接口、在TMS320C6455 上增加了类似Link 结构的,同时给出了已有DSP (包括TMS320C67x) 多处理器互联方案。

2. 3. 1  Serial RapidIO 接口
为了方便地将各个高性能处理器连接起来,组成性能更高的并行处理系统,TI 在c641xDSP 的基础上增加了和Link 类似的Serial RapidIO 接口。Serial
RapidIO 最高传输速度可以达到12. 5 Gbit/ s ,该接口可作为1 组工作,也可拆分为2 组、4 组工作。图3 为TI 公司提供的多处理器结构:2 组构成环形连接、1组通过开关连接、通过开关及部分互联、4 组Mesh 网格连接、5DSP 全连接等。

2. 3. 2  利用专用互联芯片构成多处理器结构
为了方便其他DSP 组成并行处理系统, Ti 公司提供了Solano 接口芯片。在芯片内部4 组FIFO结构的LVDS 接口, 其传输速率可以达到13. 6Gbit/ s。DSP 通过外部存储器接口与该芯片连接,从而扩出4 个高速互联接口。这样便可以组成图4所示的并行处理系统。

 

2. 3. 3  用主机接口( HPI) 组成星型/ 树状并行结构
HPI 通信时采用主从方式工作,主处理器通过从处理器的HPI 口访问从处理器的存储资源。因此可以利用该接口完成处理器之间的数据交换,构成并行处理结构树型、星型、线型、环型结构。其数据宽度一般为32 bit ,数据传输率在0. 8 Gbit/ s 左右。作者采用EMIFB 与HPI 接口互联构成线型多片TMS320C641x 并行处理系统。

2. 3. 4  其他接口组成的并行结构
Mcbsp 按时分多址方式工作,从而构成图1 所示的共享总线结构。这种结构的优点是接口简单,仅需6 根信号线便可完成互联。但传输的速率较低,最高为125 Mbit/ s。此外对于那些具有特殊接口的DSP 在进行并行系统设计时, 可考虑使用该接口。例如TMS320C6415/ 6416 具有PCI 接口,通过PCI 总线控制器将多C64x 连接起来组成并行处理系统。

 

3  结论
综上所述,外部存储器接口、Link 、Serial Ra2pidIO、HPI、专用接口芯片等方法,可将高性能DSP互联起来组成并行处理系统。这些互联方式各具特
点如表1 所示。

 

上述各互联方法均可实现DSP 并行处理,实际设计时可根据需要合理选择。由于信号处理的数据流比较单一,因此针对用户的定制产品可选用线型、
环型结构,尽量减少设计复杂度增加系统可靠性。而COTS 产品考虑到通用性,多采用共享总线和其他互联方式相结合的并行结构。如图5 所示的4 个
TigerSHARC 组成的并行处理系统。该系统采用共享总线和Link 互联结构,处理器之间既可通过大容量存储器进行数据共享,也可由Link 完成数据交
换。PCI 接口芯片完成系统的通用总线接口。

 

另外在并行信号处理系统, FPGA 作为外部接口器件,完成处理系统和其他系统之间的外部数据交换。在FPGA 中可实现各种接口规范(如FPDP、ADC、DAC、CCD、图像、自定义等接口) , 甚至是Link 口协议标准。鉴于FPGA 的DSP 处理能力,可以将一些处理功能由FPGA 完成,如:数字下变频、FF T、预处理等。因此典型的并行信号处理系统是一个DSP 互联与FPGA 的混合结构 。