DSP技术,在某些人看来,或者已经面临着英雄迟暮的感觉,就我们当前所知道的。Freesacle、ADI、NXP早就停掉了新技术发展,而当前从大的方面说只剩下TI一家扛着Digital Signal Processor的大旗。
      在很多人看来,这十年来,ARM和Intel的发展幅度已经远远超过了DSP。尤其是在ARM,其A9双核、A15四核在嵌入式市场已经以摧枯拉朽之势占领了主导地位,但我们不能否认,在工业领域,DSP的应用还是占有很重要的位置。而在Intel,自Silvermont推出以后,低功耗的X86又称为一股强劲势力。有人就会觉得ARM和Intel在未来的某个日子能够取代DSP。

      有人直给出了一个这样的看法:对于DSP,有两个解释,第一个Digital Signal Processing,是数字信号处理,是门学科技术,简单的说是将现实世界中的模拟信号量转换为数字信号量然后进行分析、离散变换、调制解调等等方面的数字运算。其有别于简单的加减乘数等四则运算;第二个解释就是Digital Signal Processor,数字信号处理器,简单的说就是嵌入了可以快速处理数字信号分析、离散变换、调制解调等方面的一种特殊的微处理器。从解释上可以看出,DSP芯片就是一颗加入了数字信号处理功能的微处理器芯片。那么ARM、和Intel的芯片也是微处理器芯片,大家其实工作都是进行运算,那么不带数字信号处理功能的微处理器和带该功能的处理器有什么区别呢?DSP处理器有一个指标,就是“乘法和累加运算”,就是一个32位数乘上另一个32位数其积再加一个32位数,这个运算过程要在一两个指令周期内完成。换了ARM和Intel的微处理器,是不可能在一两个指令周期完成的,它们乘法就要跑好几个指令周期了。而DSP芯片自带了一个MAC模块,主频相同情况下,可以比ARM和INTEL快N倍的计算出来。类似的还有快速傅里叶变换功能,这种数学运算在有DSP功能的芯片中,往往要算好长时间才能出结果。那么你会说了,那我ARM和Intel的芯片业嵌入这种模块就行了啊。是的,可以嵌。但是,一旦嵌入这种芯片,那么ARM芯片也可以叫做DSP芯片了。所以,DSP只是一种技术,一种嵌了该技术的芯片,谁都可以生产。其实有些ARM芯片内部就嵌入了DSP功能,比如很多高通的一系列用于手机上的ARM主控芯片就自带DSP功能。而Intel自身发展是做计算领域的主控,在工业航天医疗等嵌入式领域才用得多的数字信号处理他们并不怎么涉及,所以他们的东西基本不会嵌入DSP模块。Microchip为了避免和TI的C2000系列DSP直接竞争,他们把旗下的dsPIC系列DSP芯片叫做DSC,其实还是DSP芯片,而且他们一直在推出新品。还有,飞思卡尔、ADI、NXP他们还都有生产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低点但又争不过TI的DSP市场。所以没办法,只好慢慢退出了。现在TI也是靠以前的老客户死扛着。万一哪天,高端的FPGA降到跟他们差不多的价格,他们也要退出了。当然FPGA的缺点除了自身成本高以外,如果要嵌入ARM、DSP核的话,这些核也更是要花钱的。同时就是FPGA的HDL开发难度要远大于DSP的C,特别是在典型的图像处理算法上,这也在一定程度上限制了FPGA的发展。在某些工程师看来,作为一个带有专用计算单元的处理器。DSP是为了满足专用市场做的一种带许多数学计算功能的处理器。比如哈弗结构,比如带SIMD、VLIW技术的计算单元,曾经让DSP在专用市场领先很多。而TI DSP的优势就是低功耗、高运算性能、成熟稳定,再加上明显的价格优势。从架构来说,TI固守的哈弗结构近十年没大的改动,而arm、intel推陈出新的速度还是有目共睹的。看两个小例子,intel的分支预测领先TI家很多;再比如TI的二级缓存、片内片外还需要用户来管理,cache miss penalty也相当高,而intel高超的缓存技术让你基本感觉不到片内片外的区别。再看运算单元,现在arm有neon,intel有sse、avx、乱序执行,还有专用图像计算的gpp;再加上FPGA。这些产品计算单元都已经很强悍了,所以说DSP的数学计算性能已经不能算是领先了。比如DSP里两个4字节整型做乘加运算,TI的C674x需要4个时钟周期,intel的sse3处理16个字节的乘加运算也只需要4个周期;而在复杂算法领域,比如图像处理、模式识别,DSP是真的不够用了,跑个boosting都吃力的要死,压缩感知算法也就预研预研,最终绝大部分还是跑在intel、amd平台。简单算法,可选的处理器太多,所以最重要的就是价格。我看好arm,而fpga没有价格优势。当然现在c2000现在还是有很多拥趸的,但是已经被别的处理器吃掉不少市场了。以上是以计算性能为核心介绍的,没有涉及到功耗。而在同样的计算量,耗时相近的情况下,DSP的功耗控制是最优秀的,ARM、atom都不如DSP功耗低(asic可能也很好,但是不算通用处理器)。这也是为什么在嵌入式复杂算法市场,还是DSP为主流。
       DSP的计算优势并不在于普通四则运算上。就拿快速傅里叶变换FFT来说,同频率下,其他任何不带DSP内核的微处理器的FFT都要逊色于DSP。我们做DSP或者嵌入式其他的算法,都是根据《自动控制原理》或者《信号系统》,而不是根据《数据结构》。他认为DSP做boosting不是一个明智的选择,DSP对频域方面的运算能力可以设计一个实时声音过滤器(将嘈杂环境中的声音全部通过麦克风传到AD电路上,后通过DSP运算,把其中某个人的声音摘出来,并通过喇叭实时放出来某人的声音。这样的数字滤波器可以做到比手机还小)。在TI DSP最大供货的工业控制、航天领域,多数的DSP应用上跟计算机算法技术没啥关系。而说到DSP的低功耗,当然DSP做滤波、音频处理等方面的时候,没用到DSP功能把(只是把它们当一个单片机那样来使用),这样功耗是很低的。但如果用DSP做SPWM或数字滤波器什么的时候,功耗就大起来。具体对比数值我已经忘了,以前做矿用电机控制的时候对比过用ARM控制的功耗。(但好像Microchip的DSP芯片在做滤波时候功耗更低)。其实,16bit/32bit的DSP芯片(或是其他32位MCU/ARM嵌入DSP功能的芯片)在长期发展中一直和各种单片机、ARM、PowerPC、X86等共存,并且不仅仅是TI,其他很多厂家都专门生产或者嵌入DSP模块(比如Microchip的dsPIC系列DSP芯片,就一直不断出新品)。这就说明DSP拥有着其他各种架构处理器都不拥有的信号处理能力。综合看下来,FPGA才是未来的大杀器,大家怎么看待?当然,整个讨论只是一家之言,希望大家能够理性看待整个讨论。

DSP已经英雄迟暮了吗?FPGA才是未来的大杀器?的更多相关文章

  1. FPGA知识大梳理(四)FPGA中的复位系统大汇总

    本文整合特权(吴厚航)和coyoo(王敏志)两位大神的博文.我也很推崇这两位大神的书籍,特权的书籍要偏基础一下,大家不要一听我这么说就想买coyoo的.我还是那一句话,做技术就要step by ste ...

  2. OpenStack Austin 峰会观察:OpenStack as IaaS 已是过去,Solutions on OpenStack 才是未来

    虽然搞 OpenStack 前后也有几年,但是今年在美国 Austin 举办的 OpenStack Summit 我还是第一次参加.回来之后,一直还在回味,觉得要写点东西,将我在这次峰会上的观察和思考 ...

  3. 社区O2O,才是未来10年移动互联网最赚钱的项目

    原文:http://blog.sina.com.cn/s/blog_70e76a920102uyoi.html 8月12日  上海  晴 从深圳回来后,一直和郭老师探讨一个问题:新媒体营销未来最大的市 ...

  4. (转)数据库老兵:NewSQL才是未来

    编者按:在数据库技术领域,Michael Stonebraker几乎是无人不知无人不晓的人物.现年70岁的Stonebraker不仅是Ingres和PostgreSQL的创始人,同时在Informix ...

  5. 转 让FPGA替代GPU的6大顾虑,你确定不看看吗?

    最近FPGA又频频被各AI领域的巨头看好,比如微软.百度.科大讯飞都对FPGA应用前景有所期待.那么如果让你选择FPGA作为AI计算系统的主力军,你会有什么样的顾虑? 这几天,已经退役的AlphaGo ...

  6. Flink不止于计算,存算一体才是未来

    ​ "伴随着实时化浪潮的发展和深化,Flink 已逐步演进为实时流处理的领军技术和事实标准.Flink 一方面持续优化其流计算核心能力,不断提高整个行业的流计算处理标准,另一方面沿着流批一体 ...

  7. 边缘计算 VS 云计算,谁才是未来?

    计算是互联网中一个永恒的话题,设备的所有运行都可以看成是 0 和 1 的运算.在计算中近些年有两个越来越响亮的技术:云计算和边缘计算.现如今是云计算方兴未艾,边缘计算已经有了燎原之势,本文将对这两种技 ...

  8. 网站开发只需数小时?Meteor 说这才是未来

    原文: http://www.geekpark.net/topics/211573/ 那个想要挑战过去数十年沿用至今的网站开发模式的新势力来了. Meteor 是从 YC 孵化而出的现代网站开发平台, ...

  9. 谈自由,ASP.NET Core才是未来?

    首先我要说一下自己对自由的理解: 自由是我可以选择不干什么,但我要保留我可以干什么的可能性. 比如说我现在只有一个码农的角色,但我仍然要保留我可以扮演其他角色的可能, 比如成为一个作者,当我写下文章的 ...

随机推荐

  1. Tomcat开启Debug模式

    在bin/catalina.sh中添加如下行,将tomcat重启即可. 注:以下标红的7002需将其改成对象的tomcat端口即可! JAVA_OPTS=,server=y,suspend=n -Df ...

  2. [HTML5和Flash视频播放器]Video.js 学习笔记(一 ) HLS库:videojs-contrib-hls

    DEMO地址:https://github.com/Tinywan/PHP_Experience https://github.com/videojs/videojs-contrib-hls 下载JS ...

  3. soj2012.King(有向图+蛋疼得一逼)

    Description There are n children in a country marked by integers from 1 to n. They often fight with ...

  4. Visual Leak Detector原理剖析

    认识VLD VLD(Visual Leak Detector)是一款用于Visual C++的开源内存泄漏检测工具,我们只需要在被检测内存泄漏的工程代码里#include “vld.h”就可以开启内存 ...

  5. 是否使用TDD(测试驱动开发)进行UI开发

    问题 StackOverflow上有一则是否使用TDD(测试驱动开发)进行UI开发 的提问. _JacobE_问: 对于是否使用TDD进行开发UI这件事,我想了很久,但难以决定.我想听听你们的意见. ...

  6. pentaho bi server 配置MySQL数据库

    软件版本: jdk 1.7 MySQL 5.5 biserver-ce-6.1.0.1-196 (选择右下方的所有选项See All Activities) 一.前置环境安装 1.安装jdk(略) 2 ...

  7. POJ3233_Matrix Power Series_矩阵幂_C++

    题目:http://poj.org/problem?id=3233 这是今天考试的题目,结果没想出来写了个暴力30分,看完题解之后觉得自己是SB 首先暴力就是一个个乘然后相加,时间是O(kn3),极限 ...

  8. spfa+差分约束系统(C - House Man HDU - 3440 )+对差分约束系统的初步理解

    题目链接:https://cn.vjudge.net/contest/276233#problem/C 题目大意:有n层楼,给你每个楼的高度,和这个人单次的最大跳跃距离m,两个楼之间的距离最小是1,但 ...

  9. Hibernate5笔记5--关联关系映射

    关联关系映射: 关联关系,是使用最多的一种关系,非常重要.在内存中反映为实体关系,映射到DB中为主外键关系.实体间的关联,即对外键的维护.关联关系的发生,即对外键数据的改变. 外键:外面的主键,即,使 ...

  10. 【Python】POST上传APK检测是否存在ZipperDown漏洞

    前言 用POST的方式上传文件,检测APK是否存在ZipperDown漏洞. 代码 # authour:zzzhhh # 2018.08.08 # check ZipperDown # -*- cod ...