当前位置:首页 >> 解密信息 >> 技术文档

DSP与FPGA的性能比较分析

时间:2012-10-10 09:10:26

   DSP内部结构使它所具有的优势为:所有指令的执行时间都是单周期,指令采用流水线,内部的数据、地址、指令及DMA(Direct Memory Access直接存储器存取)总线分开,有较多的寄存器。

 
  与通用微处理器相比,DSP芯片的通用功能相对较弱些。DSP是专门的微处理器,适用于条件进程,特别是较复杂的多算法任务。在运算上它受制于时钟速率,而且每个时钟周期所做的有用操作的数目也受限制。例如TMS320C6201只有两个乘法器和一个200 MHz 的时钟,这样只能在每秒完成400M的乘法。
 
  将模拟算法、具体指标要求映射到通用DSP中,比较典型的DSP通过汇编或高级语言如C语言进行编程,实时实现方案。如果DSP采用标准C程序,这种C代码可以实现高层的分支逻辑和判断。例如通信系统的协议堆栈,这是很难在FPGA上实现的。从效果来说,采用DSP器件的优势在于:软件更新速度快,极大地提高了系统的可靠性、通用性、可更换性和灵活性,但DSP的不足是受到串行指令流的限制。
 
  FPGA有很多自由的门,通过将这些门连接起来形成乘法器、寄存器、地址发生器等等。这些只要在框图级完成,许多块可以从简单的门到FIR(Finite Impulse Response 有限冲激响应)或FFT(Fast Fourier Transform 快速傅里叶变换)在很高的级别完成。但它的性能受到它所有的门数及时钟速度的限制。例如,一个具有20万门的Virtex 器件可以实现200MHz时钟的10个16位的乘法器。
 
  FPGA包含有大量实现组合逻辑的资源,可以完成较大规模的组合逻辑电路设计;与此同时,它还包含有相当数量的触发器,借助这些触发器,FPGA又能完成复杂的时序逻辑功能。通过使用各种EDA (Electronic Design Automatic 电子设计自动化)工具,设计人员可以很方便地将复杂的电路在FPGA中实现。象微处理器一样,许多FPGA可以无限的重新编程,加载一个新的设计方案只需要几百毫秒。甚至现场产品可以很简单而且快速的实现。这样,利用重配置可以减少硬件的开销。
 
  超过几MHz的取样率,一个DSP仅仅能完成对数据非常简单的运算。而这样简单的运算用FPGA将很容易实现,并且能达到非常高的取样速率。在比较低的取样速率时,整体上很复杂的程序可以使用DSP,这对于FPGA来讲是很困难的。
 
  对于较低速的事件,DSP是有优势的。可以将它们排队,并保证它们都能执行,但是在它们处理前可能会有些时延。而FPGA不能处理多事件,因为每个事件都有专用的硬件,但是采用这种专用硬件实现的每个事件的方式可以使各个事件同时执行。
 
  如果需要主工作环境进行切换,DSP可以通过在程序里分出一个新的子程序的方式来完成,而对于每种配置FPGA需要建立专门的资源。如果这些配置是比较小的,那么在FPGA中可以同时存在几种配置;如果配置较大则意味着FPGA需要重新配置,而这种方法只在某些时候可以采用。
 
  最后,FPGA是以框图方式编程的,这样很容易看数据流。DSP是按照指令的顺序流来编程的。大多数的单处理系统都是以某种框图方式开始设计的。实际上,系统设计者大多认为将框图移植给FPGA比将其转化为DSP的C代码更容易。
解密技术
解密问题
芯片解密

微信扫描二维码咨询