DSP

DSP 与 ARM 对比

2019-07-13 09:43发布

一部分:
DSP(digital singnal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,源源超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特 {MOD}。 

DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器具,其主机应用是实时快速地实现各种数字信号处理算法。

根据数字信号处理的要求,DSP芯片一般具有如下主要特点: 
(1)在一个指令周期内可完成一次乘法和一次加法; 
(2)程序和数据空间分开,可以同时访问指令和数据; 
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问; 
(4)具有低开销或无开销循环及跳转的硬件支持; 
(5)快速的中断处理和硬件I/O支持; 
(6)具有在单周期内操作的多个硬件地址产生器; 
(7)可以并行执行多个操作; 
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。 

当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。 

ARM ( Advanced RISC Machines ),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991 年 ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用 ARM技术知识产权( IP )核的微处理器,即我们通常所说的 ARM 微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于 ARM 技术的微处理器应用约占据了 32 位 RISC 微处理器 75 %以上的市场份额, ARM 技术正在逐步渗入到我们生活的各个方面。 ARM 公司是专门从事基于 RISC 技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特 {MOD}的芯片,世界各大半导体生产商从ARM公司购买其设计的 ARM 微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的 ARM 微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用 ARM 公司的授权,因此既使得 ARM 技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。 

第二部分

1、CPU外设接口电路比较复杂,这是个缺点(不是说那种嵌入式的)但是标准化和通用性做的很好。cpu为核心的系统方便人机交互以及和标准接口设备通信,非常方便而且不需要硬件开发了;dsp 主要还是用来开发嵌入式的信号处理系统了,不强调人机交互,一般不需要很多通信接口。如果只是着眼于嵌入式应用的话,嵌入式CPU和DSP的区别应该只在于 一个偏重控制一个偏重运算了.

这一点看了不少资料才总结出来,因为自己刚开始做dsp就是dm642,对别的dsp也没有仔细看过,dm642几乎把所有的外设都集成了(都不叫dsp 了叫digital media processor),也因此以为dsp和通用的cpu(如arm)一样,其实相对于同等外设的cpu,dm642的价格就多得多了~看了一下 tms320c系列的dsp,的确外设减少了许多。

2、DSP优势在意其有独特乘法器,一个指令就可以完成乘加运算,但CPU 处理一般是用加法代替乘法,要n多cpu周期,尽管cpu主频很快,但还是要相当时间,这一点现在的cpu已经基本上可以做到内部单周期运算乘加指令了。
还有待看具体的芯片资料资料查具体的区别。

3、dsp是采用加强的哈佛总线结构,它的存储指令和数据采用的不同的总线。而CPU 是采用的冯。娄曼结构,把程序当成数据一起访问
    这一点cpu也做到了~

4、dsp一般是RISC
    risc的cpu很普遍

5、PLL和循环计数器呀,这才提高工作频率
     没有看明白

6、功耗最大的DSP也比类似运算能力的CPU耗电省很多
同等计算能力?怎么比较?有待进一步查阅~

7、呵呵希望大家继续往下补充了~  

大家不妨比较一下adi的tigar sharc系列的ts201(或者ti的tms320c6713)和基于risc结构的mot的power pc系列的mpc8260,前者的片内存储资源远远大于后者,保证了更多的数据或程序吞吐是在片上完成,而且是采用vlim,运算速度远远大于后者。但是后者的片上外围接口则远远胜于前者,dsp一般只有spi等,大部分没有以太网(ti的一款最新的例外,好像是什莫dm64x,记不清了),而8260的 fcc、scc、smc等可以提供以太网、iic、spi等诸多接口。其实顶尖的半导体公司都在用0.13um的工艺,产品由于各自的侧重点不同而有所不同,真的谈不上哪个更好一些。一点拙见,见笑,欢迎批评指正

TS201这样的DSP必须配合FPGA来使用, X86的CPU也必须要有南北桥协同工作,powerpc的浮点运算能力非常厉害,不会输给DSP,因为powerpc的高端芯片在设计时就大量融入了 DSP的结构,但是powerpc有个问题,就是针对DSP运算来说IO带宽相对低了,TI的高端DSP也有这个问题。而且powerpc还得外置DMA 控制器和SDRAM控制器,这些都限制了powerpc高运算能力的发挥。DSP运算中大块的搬移数据是很常见的,忽略了这个,就像给奔驰车装上拖拉机轮子,一样跑不起来。我觉得TS201的设计理念很适合现代EDA技术的发展,什么接口也不内置,就给出两条总线和4个高速LVDS口,这些是FPGA直接支持的,具体的接口扩展都到FPGA里面去做。反正整个设计是肯定离不开FPGA的。对于极高采样率的AD器件,现在ADI已经开始做LVDS接口的了,可以直接和TS201接口。从体系结构上来讲,DSP系统的IO带宽非常重要,在这点上,ADI做的比较好。

第三部分

ARM,DSP,FPGA  的区别:
ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。这里有一篇介绍ARM结构体系发展介绍。

DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度 。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特 {MOD}。由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。

根据数字信号处理的要求,DSP芯片一般具有如下主要特点:
(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问指令和数据; 
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问; 
(4)具有低开销或无开销循环及跳转的硬件支持; 
(5)快速的中断处理和硬件I/O支持; 
(6)具有在单周期内操作的多个硬件地址产生器; 
(7)可以并行执行多个操作; 
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。 
当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。

FPGA是英文Field Programmable Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。

作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可以毫不夸张的讲,FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现。FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此工作时需要对片内的RAM进行编程。

用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。 

区别是什么涅?:ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面,而DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。FPGA可以用VHDL或verilogHDL来编程,灵活性强,由于能够进行编程、除错、再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。