• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

【讨论】DSP是否真的已经OUT了

DSP技术,在某些人看来,或者已经面临着英雄迟暮的感觉,就我们当前所知道的。FreesacleADINXP早就停掉了新技术发展,而当前从大的方面说只剩下TI一家扛着Digital Signal Processor的大旗。

FPGA才是未来的大杀器,真的是这样吗?



在很多人看来,这十年来,ARMIntel的发展幅度已经远远超过了DSP。尤其是在ARM,其A9双核、A15四核在嵌入式市场已经以摧枯拉朽之势占领了主导地位,但我们不能否认,在工业领域,DSP的应用还是占有很重要的位置。而在Intel,自Silvermont推出以后,低功耗的X86又称为一股强劲势力。有人就会觉得ARMIntel在未来的某个日子能够取代DSP

关于这个问题,电子工程师陈俊直接给出了一个这样的看法:他认为,对于DSP,有两个解释:

第一个Digital Signal Processing,是数字信号处理,是门学科技术,简单的说是将现实世界中的模拟信号量转换为数字信号量然后进行分析、离散变换、调制解调等等方面的数字运算。其有别于简单的加减乘数等四则运算;

第二个解释就是Digital Signal Processor,数字信号处理器,简单的说就是嵌入了可以快速处理数字信号分析、离散变换、调制解调等方面的一种特殊的微处理器。

从解释上可以看出,DSP芯片就是一颗加入了数字信号处理功能的微处理器芯片。那么ARM、和Intel的芯片也是微处理器芯片,大家其实工作都是进行运算,那么不带数字信号处理功能的微处理器和带该功能的处理器有什么区别呢?DSP处理器有一个指标,就是“乘法和累加运算”,就是一个32位数乘上另一个32位数其积再加一个32位数,这个运算过程要在一两个指令周期内完成。换了ARMIntel的微处理器,是不可能在一两个指令周期完成的,它们乘法就要跑好几个指令周期了。而DSP芯片自带了一个MAC模块,主频相同情况下,可以比ARMINTELN倍的计算出来。类似的还有快速傅里叶变换功能,这种数学运算在有DSP功能的芯片中,往往要算好长时间才能出结果。

那么你会说了,那我ARMIntel的芯片业嵌入这种模块就行了啊。是的,可以嵌。但是,一旦嵌入这种芯片,那么ARM芯片也可以叫做DSP芯片了。

所以,DSP只是一种技术,一种嵌了该技术的芯片,谁都可以生产。其实有些ARM芯片内部就嵌入了DSP功能,比如很多高通的一系列用于手机上的ARM主控芯片就自带DSP功能。

Intel自身发展是做计算领域的主控,在工业航天医疗等嵌入式领域才用得多的数字信号处理他们并不怎么涉及,所以他们的东西基本不会嵌入DSP模块。

Microchip为了避免和TIC2000系列DSP直接竞争,他们把旗下的dsPIC系列DSP芯片叫做DSC,其实还是DSP芯片,而且他们一直在推出新品。还有,飞思卡尔、ADINXP他们还都有生产DSP,只是他们争不过TI的专用DSP。主要一点还是发现争不过FPGA芯片。


这里又引出了FPGA这个技术,说到这个,或许才真的是DSP的真正敌人。目前做FPGA芯片的大厂有Altera等。他们不属于Intel公司,也不生产ARM芯片,他们只专注于FPGA芯片。

我们知道,微处理器芯片其实是一堆数字电路大规模超高密度集成在芯片中,其最小单元其实就是晶体管,晶体管集成一个个门电路。门电路通过一系列排列组合形成了芯片内部CPU、存储单元。这都是出厂前固化好的。

那我能否修改一下CPU 模块的某个门电路,让它有别的用途呢?已经出厂就固化的没法改,但现在有了FPGA,你可以用程序编一个你自己发明的CPU内核出来,嵌到FPGA芯片中去,那么你想加入DSP有的MAC模块等都可以,如果你觉得一个CPU内核不过瘾,还可以再加一个内核进去(前提是FPGA芯片容量和资源够大,当然这芯片就贵了)

所以,现在飞思卡尔、ADI等看到FPGA芯片如此强势,工业级的DSP成本又高,卖的价格跟FPGA差不多,价格比FPGA低点但又争不过TIDSP市场。所以没办法,只好慢慢退出了。现在TI也是靠以前的老客户死扛着。万一哪天,高端的FPGA降到跟他们差不多的价格,他们也要退出了。

当然FPGA的缺点除了自身成本高以外,如果要嵌入ARMDSP核的话,这些核也更是要花钱的。同时就是FPGAHDL开发难度要远大于DSPC,特别是在典型的图像处理算法上,这也在一定程度上限制了FPGA的发展。

在某些工程师看来,作为一个带有专用计算单元的处理器。DSP是为了满足专用市场做的一种带许多数学计算功能的处理器。比如哈弗结构,比如带SIMDVLIW技术的计算单元,曾经让DSP在专用市场领先很多。而TI DSP的优势就是低功耗、高运算性能、成熟稳定,再加上明显的价格优势。

从架构来说,TI固守的哈弗结构近十年没大的改动,而armintel推陈出新的速度还是有目共睹的。看两个小例子,intel的分支预测领先TI家很多;再比如TI的二级缓存、片内片外还需要用户来管理,cache miss penalty也相当高,而intel高超的缓存技术让你基本感觉不到片内片外的区别。

再看运算单元,现在armneonintelsseavx、乱序执行,还有专用图像计算的gpp;再加上FPGA。这些产品计算单元都已经很强悍了,所以说DSP的数学计算性能已经不能算是领先了。比如DSP里两个4字节整型做乘加运算,TIC674x需要4个时钟周期,intelsse3处理16个字节的乘加运算也只需要4个周期;而在复杂算法领域,比如图像处理、模式识别,DSP是真的不够用了,跑个boosting都吃力的要死,压缩感知算法也就预研预研,最终绝大部分还是跑在intelamd平台。

简单算法,可选的处理器太多,所以最重要的就是价格。我看好arm,而fpga没有价格优势。当然现在c2000现在还是有很多拥趸的,但是已经被别的处理器吃掉不少市场了。

以上是以计算性能为核心介绍的,没有涉及到功耗。而在同样的计算量,耗时相近的情况下,DSP的功耗控制是最优秀的,ARMatom都不如DSP功耗低(asic可能也很好,但是不算通用处理器)。这也是为什么在嵌入式复杂算法市场,还是DSP为主流。

而就陈工看来,DSP的计算优势并不在于普通四则运算上。就拿快速傅里叶变换FFT来说,同频率下,其他任何不带DSP内核的微处理器的FFT都要逊色于DSP。我们做DSP或者嵌入式其他的算法,都是根据《自动控制原理》或者《信号系统》,而不是根据《数据结构》。

他认为DSPboosting不是一个明智的选择,DSP对频域方面的运算能力可以设计一个实时声音过滤器(将嘈杂环境中的声音全部通过麦克风传到AD电路上,后通过DSP运算,把其中某个人的声音摘出来,并通过喇叭实时放出来某人的声音。这样的数字滤波器可以做到比手机还小)。在TI DSP最大供货的工业控制、航天领域,多数的DSP应用上跟计算机算法技术没啥关系。

而说到DSP的低功耗,当然DSP做滤波、音频处理等方面的时候,没用到DSP功能把(只是把它们当一个单片机那样来使用),这样功耗是很低的。但如果用DSPSPWM或数字滤波器什么的时候,功耗就大起来。具体对比数值我已经忘了,以前做矿用电机控制的时候对比过用ARM控制的功耗。(但好像MicrochipDSP芯片在做滤波时候功耗更低)

其实,16bit/32bitDSP芯片(或是其他32MCU/ARM嵌入DSP功能的芯片)在长期发展中一直和各种单片机、ARMPowerPCX86等共存,并且不仅仅是TI,其他很多厂家都专门生产或者嵌入DSP模块(比如MicrochipdsPIC系列DSP芯片,就一直不断出新品)。这就说明DSP拥有着其他各种架构处理器都不拥有的信号处理能力。


综合看下来,FPGA才是未来的大杀器,是真的吗?

全部回复(15)
正序查看
倒序查看
米老鼠
LV.8
2
2013-12-16 21:23
还是各有所长,51内核到现在应用了几十年依然还是有市场的
0
回复
小矿石
LV.10
3
2013-12-16 21:34

DSP在工业应用目前还是替代不了

不过见过高档的PLC,里边的处理器用的i5处理器

0
回复
fjsh2188
LV.5
4
2013-12-17 08:48

神舟有一款技术就是用DSP在深圳科技园完成的。

0
回复
2013-12-17 09:22
J版你终于出现了
0
回复
2013-12-17 11:21
@米老鼠
[图片]还是各有所长,51内核到现在应用了几十年依然还是有市场的
有看到苦瓜哥的影子了啊
0
回复
2013-12-17 11:30

正所谓『惟草木之零落兮,恐美人之迟暮』.

0
回复
2013-12-17 12:56
个人认为 各有所长
0
回复
haizhiyin
LV.4
9
2013-12-17 14:13
这段时间关注了下TI DSP的新产品,感觉以后会朝DSP和ARM双核发展。
0
回复
zjsyjbb
LV.4
10
2013-12-17 23:09
大学里学习DSP的时候还是比较感兴趣的,特别是FPGA这块,可以做的东西很多啊。
0
回复
qchwu
LV.1
11
2013-12-18 13:10
@haizhiyin
这段时间关注了下TIDSP的新产品,感觉以后会朝DSP和ARM双核发展。
发现TI的Concerto系列已经是这样做了。不过好像用的不多。
0
回复
cmg
LV.9
12
2013-12-18 19:54

这是哪跟哪啊,FPGA怎么会跟DSP竞争,FPGA是现场可编程门阵列,其实就是半定制集成电路,主要厂商是赛岭斯和你说的那家。

FPGA的主要目的是可以实现你想要的功能,但目前没有专用集成电路,或者需要很多集成电路才能实现,这样成本和体积增加很多,这时候你可以用FPGA编程实现很多集成电路的功能,开发成功后如果量不是特别大,就用FPGA生产了,如果量很大,就把FPGA做成专用集成电路ASIC。目前应用最多的是通信领域,如华为、中兴是这两家公司在中国最大的客户。FPGA里面集成了很多模块,其具体功能要上电的时候从ROM读取程序确定其功能,里面需要大量的连线,这就决定了其速度是无法跟DSP比的。

英特尔等公司芯片的初始验证很多是用FPGA实现的,他注重于逻辑功能,跟DSP完全两个领域。

ARM也是注重于逻辑运算,而不是数字运算,但现在ARM里面很多集成DSP核,但既然是集成就会牺牲一些DSP的长处,所以DSP的生命力还是很顽强的。

0
回复
xpliu
LV.1
13
2013-12-23 12:43
在很多应用中仍然无可替代.或者替代后成本或功耗不合适.
0
回复
2013-12-23 15:16
好贴
0
回复
cmg
LV.9
15
2013-12-23 17:57
@cmg
这是哪跟哪啊,FPGA怎么会跟DSP竞争,FPGA是现场可编程门阵列,其实就是半定制集成电路,主要厂商是赛岭斯和你说的那家。FPGA的主要目的是可以实现你想要的功能,但目前没有专用集成电路,或者需要很多集成电路才能实现,这样成本和体积增加很多,这时候你可以用FPGA编程实现很多集成电路的功能,开发成功后如果量不是特别大,就用FPGA生产了,如果量很大,就把FPGA做成专用集成电路ASIC。目前应用最多的是通信领域,如华为、中兴是这两家公司在中国最大的客户。FPGA里面集成了很多模块,其具体功能要上电的时候从ROM读取程序确定其功能,里面需要大量的连线,这就决定了其速度是无法跟DSP比的。英特尔等公司芯片的初始验证很多是用FPGA实现的,他注重于逻辑功能,跟DSP完全两个领域。ARM也是注重于逻辑运算,而不是数字运算,但现在ARM里面很多集成DSP核,但既然是集成就会牺牲一些DSP的长处,所以DSP的生命力还是很顽强的。
现在开发数字电源芯片的,开始阶段一般都是用FPGA来实现控制功能的,这是FPGA在电源IC开发里面的用途。
0
回复
higel
LV.8
16
2013-12-23 20:57
@cmg
这是哪跟哪啊,FPGA怎么会跟DSP竞争,FPGA是现场可编程门阵列,其实就是半定制集成电路,主要厂商是赛岭斯和你说的那家。FPGA的主要目的是可以实现你想要的功能,但目前没有专用集成电路,或者需要很多集成电路才能实现,这样成本和体积增加很多,这时候你可以用FPGA编程实现很多集成电路的功能,开发成功后如果量不是特别大,就用FPGA生产了,如果量很大,就把FPGA做成专用集成电路ASIC。目前应用最多的是通信领域,如华为、中兴是这两家公司在中国最大的客户。FPGA里面集成了很多模块,其具体功能要上电的时候从ROM读取程序确定其功能,里面需要大量的连线,这就决定了其速度是无法跟DSP比的。英特尔等公司芯片的初始验证很多是用FPGA实现的,他注重于逻辑功能,跟DSP完全两个领域。ARM也是注重于逻辑运算,而不是数字运算,但现在ARM里面很多集成DSP核,但既然是集成就会牺牲一些DSP的长处,所以DSP的生命力还是很顽强的。
解释得很精辟 
0
回复