DSP有两个解释:第一个Digital Signal Processing,是数字信号处理,是门学科技术,简单的说是讲现实世界中的模拟信号量转换为数字信号量然后进行分析、离散变换、调制解调等等方面的数字运算。其有别于简单的加减乘数等四则运算;第二个解释就是Digital Signal Processor,数字信号处理器,简单的说就是嵌入了可以快速处理数字信号分析、离散变换、调制解调等方面的一种特殊的微处理器。
在某些工程师看来,作为一个带有专用计算单元的处理器。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现在还是有很多拥趸的,但是已经被别的处理器吃掉不少市场了。