ARM,DSP,FPGA三者比较

  • 一.前言
  • 二.什么是ARM?
  • 三.什么是DSP?
  • 四 .什么是FPGA?
  • 五. 区别

一.前言

这三款不同类型的芯片,笔者在不同项目中都有不同的使用。本科做电赛的时候做个cortex-mo arm芯片的开发。毕业设计做过基于zynq7000 soc核的NVDLA软硬件系统移植。研究生阶段实习公司的算法一般开发在DSP平台上。三个嵌入式芯片可以说是各有千秋,分别能在不同场合下有所应用。

二.什么是ARM?

ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90%以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。ARM是32位的单片机,其内部硬件资源的性能较高,可以加载操作系统成为其主要特点,有了操作系统,就可以像pc机那样多任务实时处理,就是同一时间内能完成多个任务,而且不会互相影响。

与ARM架构齐名的还有MIPS,RISCV等架构。笔者在研一上班学期参考自己动手写cpu这本书,完成了五级流水线MIPS架构的处理器基础模型搭建。微处理器的作用就是将复杂的指令转换为最简单的加减乘除指令。完成指令的取指,译码,执行,访存和回存等过程。

三.什么是DSP?

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

(1)在一个指令周期内可完成一次乘法和一次加法;

(2)程序和数据空间分开,可以同时访问指令和数据;

(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;

(4)具有低开销或无开销循环及跳转的硬件支持;

(5)快速的中断处理和硬件I/O支持;

(6)具有在单周期内操作的多个硬件地址产生器;

(7)可以并行执行多个操作;

(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。

四 .什么是FPGA?

PGA是(Field ProgrammableGate Array)现场可编程门阵列的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogic Block)、输出输入模块IOB(InputOutput 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具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面;ARM现在分为32位和64位两种,其内部硬件资源的性能较高,可以加载操作系统成为其主要特点,有了操作系统,就可以像pc机那样多任务实时处理,就是同一时间内能完成多个任务,而且不会互相影响。

DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度;

FPGA可以用VHDL或verilog HDL来编程,灵活性强,由于能够进行编程、除错、再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。

DSP VS FPGA

DSP是通用的信号处理器,用软件实现数据处理;FPGA用硬件实现数据处理。DSP成本低,算法灵活,功能性强,而FPGA的实时性好,成本较高,FPGA适合于控制功能算法简单且含有大量重复计算的工程使用,DSP适合于控制功能复杂且含有大量计算任务的工程应用。

DSP是软件实现算法,FPGA是硬件实现算法,所以FPGA的处理速度会更高;FPGA比DSP快的一个重要原因是FPGA可以实现并行运算,而DSP由于硬件结构条件限制,主要还是依靠软件来提取指令执行,理解为还是串行执行的。

ARM,DSP,FPGA三者比较相关推荐

  1. ARM/DSP+FPGA运动控制机器视觉控制器方案定制

    ARM/DSP+FPGA运动控制机器视觉控制器方案定制,信迈拥有成熟的相关方案. 机器视觉是计算机视觉的一个分支,工业自动化领域中的视觉控制或视觉应用,主要指的是通过前端光学摄像头,从采集到的数字化图 ...

  2. 单片机、DSP、ARM、FPGA,它们都能干什么

    已剪辑自: https://zhuanlan.zhihu.com/p/476394240 概述 首先,"嵌入式"这是个概念,准确的定义没有,各个书上都有各自的定义.但是主要思想是一 ...

  3. 高性能国产化信号处理平台国产DSP+FPGA+AI NPU安路紫光方案

    一.有了NPU,还要DSP吗? · 其实都是针对某种算法进行加速的处理器,不过NPU针对的是那些神经元算法,DSP针对的是信号处理算法,二者各有侧重 NPU采用普林斯顿结构. DSP采用哈弗结构. 各 ...

  4. ARM 选型   —— arm,dap,fpga

    http://lib.csdn.net/article/deeplearning/53068 ARM公司自1990年正式成立以来,在32位RISC(Reduced Instruction Set Co ...

  5. 国产RK3588+DSP+FPGA+AI工业视觉主板解决方案

    工业4.0驱动新一轮工业革命,核心特征是互联,进一步信息化.智能化是典型的特点.顺应工业4.0的需求,瑞芯微针对性地提供了HMI人机交互.信息采集及控制.以及AI视觉等解决方案,并广泛应用于工业各个领 ...

  6. DSP+FPGA的前景及应用调研

    DSP+FPGA处理系统正广泛应用于复杂的信号处理领域.在雷达信号处理.数字图像处理等领域中,信号处理的实时性至关重要.由于FPGA芯片在大数据量的底层算法处理上的优势及DSP芯片在复杂算法处理上的优 ...

  7. 怎样混好嵌入式/MCU/ARM/DSP这一行?

    很多初学者,甚至是混了好几年的老手,都在抱怨,电子这行怎么竞争这么大啊? 颓废,这完全在抹杀自己的激情,没了激情,搞电子,完全就是在浪费生命. 其实,竞争真的大吗?? 对比一下,难道做业务的竞争不大, ...

  8. DSP+FPGA评估板 TI TMS320C6657 1.25GHz-DSP PCIe接口

    本文介绍DSP+FPGA评估板 TMS320C6655/57主要特性,框图: 以及C6657+XC7Z035评估板XQ6657Z35-EVM主要特性,方框图,DSP PCIe接口. TI TMS320 ...

  9. 天呐!这款1.2GHz双核工业核心板,ARM+DSP+RISC-V,才99元起!

    ARM工业核心板是一种用于工业控制和自动化等领域的嵌入式系统开发板,具有以下用途: 1.作为工业控制器:可以用于实现数字信号控制.模拟信号采集.数据存储和通信等功能. 2.作为智能终端设备:可用于控制 ...

最新文章

  1. 专访中国移动钱岭:大数据更像是一种“倍增器”
  2. Intellij IDEA 2020.1 的Plugins 搜索不了插件,连接超时
  3. 【翻译】CEDEC2012 SQUARE ENIX GPGPU实现高速GI烘培工具的方法
  4. 什么?欧洲也有个恩智浦杯?
  5. OpenGL学习(4)——纹理(补)
  6. python的用途实例-Python基础之函数原理与应用实例详解
  7. mac搭建appium自动化之testNG
  8. Docker run 命令【转】
  9. 论:CMMI项目策划方法(PP)
  10. mescroll上拉加载的实现
  11. x轴z轴代表的方向图片_游戏中到底是Z轴朝上还是Y轴朝上?
  12. python autohotkey_PyAutoGUI-python版的autoit/AHK
  13. 2017.10.23学习知识总结回顾及编写新网页
  14. 一下删除MSSQL表所有的数据,但不删除表结构
  15. Springboot2.2.6中的RSocket使用, RSocket 进行反应式数据传输
  16. jq 克隆 移除table
  17. pic单片机tmr1计数c语言,PIC单片机C语言编程实例五.doc
  18. imx8qm LVDS屏 DS90UB9478调试
  19. mac php fpm 502,nginx+php-fpm出现502(Bad Gateway)错误的分析与解决 | linux系统运维
  20. USB闪存盘变成FDD(软盘驱动器)了?

热门文章

  1. tree(陈立杰)[国家集训队2012]
  2. 【命名实体识别(NER)】(1):命名实体识别综述
  3. google浏览器打开自动启动桔梗网的问题
  4. 厦门房地产网签备案的图片识别之一
  5. THINKPHP6.02调用百度H5实名认证接口
  6. XSS攻击的预防措施
  7. 中国石化私有云第一批应用成功上线
  8. 小程序iphone6高度_整理iPhone应用程序的6个技巧
  9. 数据经济专题二:地级市、县域、企业数字经济指数、数字乡村指数、相关专利获得情况
  10. 多线程服务器的常用编程模型 .