ARM、DSP、FPGA的区别(转)
ARM(Adanced RISC Machines)是采用RISC指令集的嵌入式处理器;DSP(Digital Singnal Processor)是以数字信号来处理大量信息的器件,简称数字信号处理;FPGA即Field Programmable Gate Array(现场可编程逻辑门阵列)是专用集成电路ASIC的一种,可认为是可编程ASIC。
ARM(Adanced RISC Machines)是一个公司名字,也是一种处理器的通称,还可以认为是一种技术的名字,主要销售晶片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各方面。ARM公司是专门从事基于RISC技术晶片设计开发的公司,作为知识产权供应商,本身不直接从事晶片生产,靠转让设计许可由合作公司生产各具特 {MOD}的晶片,世界各大半导体生产商(RFID射频快报注:如PHILIPS、TI、Intel、BroadCom、ATMEL等)从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器晶片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具竞争力。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行,可以有效地缩短应用程序开发与测试的时间,也降低了研发ARMDSPFPGA区别费用。
DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。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芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前做FPGA比较领先的有XILINX、ALTERA公司。
ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面,而DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。FPGA可以用VHDL或verilogHDL来编程,灵活性强,由于能够进行编程、除错、再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。FPGA目前的趋势是有代替前两者的可能,在FPGA内部置入乘法器和DSP块,就具有高速的DSP处理能力。在FPGA内置入硬核CPU或软核CPU(Xilinx有powerpc硬核的产品,有microblaze软核。Altera有NIOS II软核)就可以成为既有能实现数字逻辑有适应嵌入式开发的综合性器件了。
ARM, DSP, C51各自的优缺点
我想这个问题的出发点应该是:作为Processor,这几种器件有什么优缺点。
其实C51,ARM,DSP都不是单独作为芯片来提供给用户的,都要加一些外围电路来支持。
例如:memory controller,interrupt controller,timer,UART,SPI,I2C 等等。
所以要比较最好从processor的角度来比较他们。
(1). C51是8位的;ARM是32位的;DSP有16位的,也有更高的。
(2).所有说从运算能力上看,C51最弱,DSP最强,ARM居中。
(3).结构差别较大,C51最简单,是一般的冯诺伊曼结构;ARM9以上是哈佛结构的RISC;DSP一般使用哈佛结构。
(4).C51一般芯片面积非常小,工作频率很低(一般是10多MHz,有的是24MHz),所以功耗低。DSP则频率很高(高的达到300MHz以上),所以功耗大。ARM芯片面积也很小,ARM7是0.55平方毫米,功耗也比较小。频率大约在(几十到200MHz之间)
(5).所以一般C51主要应用于不需要太多计算量的控制类系统。一般配有丰富的外围module。DSP则主要应用于需要进行复杂计算的高端系统,例如图像处理,加密解密,导航系统等,外围module一般较少。ARM是C51和DSP之间的一个折衷。
(6).强调一点:C51的性能远不如ARM和DSP,但仍然占据重要的一席之地,原因就是性能价格比。因为它太成熟了,太小了,太便宜了。而在一些需要复杂计算的领域,DSP也不可或缺。ARM的成功就是他找到了一个折衷点,并且建立了一个非常灵活的商业模型。
(7).现在高端产品的一个趋势是ARM+DSP。
附:1 cpu,mcu,dsp的区别
CPU是中央处理器
MCU是微控制器
DSP是数字信号处理器
CPU和MCU之间的界限并不是很清晰,不过CPU主要用在电脑上,也算是控制器,MCU主要是工业控制领域,DSP用途也比较广。比如说DSP可以实现MP3解码,电机控制等。它的特点是处理速度比较快。
CPU(Central Processing Unit,中央处理器)发展出来三个分枝,一个是DSP(Digital Signal Processing/Processor,数字信号处理),另外两个是MCU(Micro Control Unit,微控制器单元)和MPU(Micro Processor Unit,微处理器单元)。
MCU集成了片上外围器件;MPU不带外围器件(例如存储器阵列),是高度集成的通用结构的处理器,是去除了集成外设的MCU;DSP运算能力强,擅长很多的重复数据运算,而MCU则适合不同信息源的多种数据的处理诊断和运算,侧重于控制,速度并不如DSP。
MCU区别于DSP的最大特点在于它的通用性,反应在指令集和寻址模式中。DSP与MCU的结合是DSC,它终将取代这两种芯片。
在20世纪最值得人们称道的成就中,就有集成电路和电子计算机的发展。20世纪70年代出现的微型计算机,在科学技术界引起了影响深远的变革。在70年代中期,微型计算机家族中又分裂出一个小小的派系--单片机。随着4位单片机出现之后,又推出了8位的单片机。MCS48系列,特别是MCS51系列单片机的出现,确立了单片机作为微控制器(MCU)的地位,引起了微型计算机领域新的变革。在当今世界上,微处理器(MPU)和微控制器(MCU)形成了各具特 {MOD}的两个分支。它们互相区别,但又互相融合、互相促进。与微处理器(MPU)以运算性能和速度为特征的飞速发展不同,微控制器(MCU)则是以其控制功能的不断完善为发展标志的。
2 寄存器和存储器的区别
如果仅是讨论CPU的范畴
寄存器在cpu的内部,容量小,速度快 分通用寄存器和特殊功能寄存器(比如pc,sp等)。
存储器一般都在cpu外部,容量大,速度慢 分ROM与RAM
从根本上讲,寄存器与RAM的物理结构不一样。
一般寄存器是指由基本的RS触发器结构衍生出来的D触发,
就是一些与非门构成的结构,这个在数电里面大家都看过;
而RAM则有自己的工艺,一般1Bit由六MOS管构成。所以,
这两者的物理结构不一样也导致了两者的性能不同。寄存器
访问速度快,但是所占面积大。而RAM相反,所占面积小,
功率低,可以做成大容量存储器,但访问速度相对慢一点。
寄存器存在于CPU中,速度很快,数目有限;
存储器就是内存,速度稍慢,但数量很大;
计算机做运算时,必须将数据读入寄存器才能运算。