DSP已经英雄迟暮了吗?FPGA才是未来的大杀器?
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才是未来的大杀器?的更多相关文章
- FPGA知识大梳理(四)FPGA中的复位系统大汇总
本文整合特权(吴厚航)和coyoo(王敏志)两位大神的博文.我也很推崇这两位大神的书籍,特权的书籍要偏基础一下,大家不要一听我这么说就想买coyoo的.我还是那一句话,做技术就要step by ste ...
- OpenStack Austin 峰会观察:OpenStack as IaaS 已是过去,Solutions on OpenStack 才是未来
虽然搞 OpenStack 前后也有几年,但是今年在美国 Austin 举办的 OpenStack Summit 我还是第一次参加.回来之后,一直还在回味,觉得要写点东西,将我在这次峰会上的观察和思考 ...
- 社区O2O,才是未来10年移动互联网最赚钱的项目
原文:http://blog.sina.com.cn/s/blog_70e76a920102uyoi.html 8月12日 上海 晴 从深圳回来后,一直和郭老师探讨一个问题:新媒体营销未来最大的市 ...
- (转)数据库老兵:NewSQL才是未来
编者按:在数据库技术领域,Michael Stonebraker几乎是无人不知无人不晓的人物.现年70岁的Stonebraker不仅是Ingres和PostgreSQL的创始人,同时在Informix ...
- 转 让FPGA替代GPU的6大顾虑,你确定不看看吗?
最近FPGA又频频被各AI领域的巨头看好,比如微软.百度.科大讯飞都对FPGA应用前景有所期待.那么如果让你选择FPGA作为AI计算系统的主力军,你会有什么样的顾虑? 这几天,已经退役的AlphaGo ...
- Flink不止于计算,存算一体才是未来
"伴随着实时化浪潮的发展和深化,Flink 已逐步演进为实时流处理的领军技术和事实标准.Flink 一方面持续优化其流计算核心能力,不断提高整个行业的流计算处理标准,另一方面沿着流批一体 ...
- 边缘计算 VS 云计算,谁才是未来?
计算是互联网中一个永恒的话题,设备的所有运行都可以看成是 0 和 1 的运算.在计算中近些年有两个越来越响亮的技术:云计算和边缘计算.现如今是云计算方兴未艾,边缘计算已经有了燎原之势,本文将对这两种技 ...
- 网站开发只需数小时?Meteor 说这才是未来
原文: http://www.geekpark.net/topics/211573/ 那个想要挑战过去数十年沿用至今的网站开发模式的新势力来了. Meteor 是从 YC 孵化而出的现代网站开发平台, ...
- 谈自由,ASP.NET Core才是未来?
首先我要说一下自己对自由的理解: 自由是我可以选择不干什么,但我要保留我可以干什么的可能性. 比如说我现在只有一个码农的角色,但我仍然要保留我可以扮演其他角色的可能, 比如成为一个作者,当我写下文章的 ...
随机推荐
- spring boot使用自定义配置的线程池执行Async异步任务
一.增加配置属性类 package com.chhliu.springboot.async.configuration; import org.springframework.boot.context ...
- [整理]C语言中字符常量与ASCII码
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示.而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为 ...
- 【Linux】SecureCRT连接Linux乱码
SecureCRT连接linux出现乱码问题.解决方法. 打开SecureCRT-->option-->Session option
- Eltwise层解析
Concat层虽然利用到了上下文的语义信息,但仅仅是将其拼接起来,之所以能起到效果,在于它在不增加算法复杂度的情形下增加了channel数目.那有没有直接关联上下文的语义信息呢?答案是Eltwise层 ...
- Centos7网络配置(VMware)
在VM虚拟机上装了Centos7,想要用xshell5连接操作,配置网络花了整整一个上午的时间,真是心酸. 登陆后,使用命令 ip addr查看了本机的网络 可以看到我的网络配置文件是ens33, 使 ...
- 42、Java装饰者设计模式
设计模式简介 什么是设计模式?设计模式是可以重复利用的解决方案.软件开发的先驱或者前辈们将之前在开发中遇到的问题进行总结并给出了解决方案,后辈在遇到这些问题之后直接使用这些方案即可解决问题.比如盖高楼 ...
- 调整扩大VMDK格式VirtualBox磁盘空间
如果虚拟机的格式是VDI格式的, 那么可以通过这篇文章来调整磁盘大小: 调整Virtual Box硬盘大小 不过楼主当初在创建虚拟机的时候,是用的VMDK格式, 以求与VMWare的兼容性.这时候要扩 ...
- python collection 中的队列
认识中的队列 在以前的认知里,队列是先进先出,就是一头进,一头出,Queue.而无意间看到了deque 双向队列. 即从该队列的头或者尾部都能插入和移除元素.而起时间复杂度竟然是一样的!O(1),是不 ...
- js选择checkbox值,组织成key-value形式,传值到后台
最近项目中遇到这样一个问题,接口定义需要传一个Map<String,String[]> params的参数,需要在jsp页面组织数据到后台操作,所以记下来以后难免还会用到. 以下是java ...
- ansible的几点记录
user模块的password加密 ansible中user模块的password需要传入加密数据,可以通过这种方式快速加密: To get a sha512 password hash (rando ...