ARM、DSP和FPGA的比较

 

在这里插入图片描述/

一、简介

这三种不同类型的芯片作者在不同的项目中使用的方式也不同。 本科学习电子竞技的时候,从事cortex-mo Arm芯片的开发。 在我的毕业设计中,我做了基于zynq7000 soc内核的NVDLA软硬件系统的移植。 研究生阶段实习公司的算法一般都是在DSP平台上开发的。 这三种嵌入式芯片可以说是各有千秋,可以在不同的场合使用。

2.什么是ARM?

ARM(Advanced RISC Machines)是微处理器行业的知名公司。 它设计了大量高性能、廉价、低能耗的RISC处理器、相关技术和软件。 ARM 架构是第一个专为低预算市场设计的 RISC 微处理器。 它基本上是 32 位微控制器的行业标准。 它提供一系列内核、系统扩展、微处理器和片上系统解决方案,四种功能模块可供量产。 厂家根据不同用户的要求配置生产。 由于所有产品都使用通用的软件架构,因此相同的软件可以在所有产品中运行。 ARM目前占据手持设备市场90%以上的份额,可以有效缩短应用开发和测试的时间,也可以减少研发费用。 ARM 是一个 32 位微控制器。 其内部硬件资源具有高性能。 它的主要特点是可以加载操作系统。 有了操作系统,它就可以像PC一样实时执行多任务,即可以同时完成多个任务。 ,并且不会互相影响。

与ARM架构一样著名的还有MIPS、RISCV等架构。 研究生第一学期,作者参考《写CPU》一书,完成了五级流水线MIPS架构的处理器基本模型的搭建。 微处理器的作用是将复杂的指令转换成最简单的加减乘除指令。 完成取指令、译码、执行、内存访问和内存恢复过程。

3.什么是DSP?

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

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

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

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

(4) 对低开销或无开销循环和跳转的硬件支持;

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

(6) 具有多个在单个周期内运行的硬件地址生成器;

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

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

4.什么是FPGA?

PGA是现场可编程门阵列的缩写。 它是在PAL、GAL、PLD等可编程器件的基础上进一步开发的产品。 它是集成度最高的专用集成电路(ASIC)类型。 FPGA采用逻辑单元阵列LCA(Logic Cell Array)新概念,包括可配置逻辑模块CLB(ConfigurableLogic Block)、输入输出模块IOB(InputOutput Block)和内部连接(Interconnect)三部分。 用户可以重新配置FPGA内部的逻辑模块和I/O模块来实现用户逻辑。 它还具有静态可重复编程和动态系统重构的特点,从而可以像软件一样通过编程来修改硬件的功能。 FPGA作为专用集成电路(ASIC)领域的半定制电路,不仅解决了定制电路的缺点,而且克服了原有可编程器件中门数有限的缺点。 毫不夸张地说,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系列等。

5. 差异

ARM具有比较强大的事务管理功能,可以用来运行接口和应用程序。 其优点主要体现在控制上; ARM现在分为32位和64位,其内部硬件资源具有高性能、可加载操作系统成为其主要特点。 有了操作系统,它就可以像PC一样实时处理多个任务,即可以同时完成多个任务,而不会互相影响。

DSP主要用于计算,如加解密、调制解调等,其优点是数据处理能力强、运算速度高;

FPGA可以使用VHDL或verilog HDL进行编程,灵活性很高。 由于可以编程、调试、重新编程和重复操作,因此可以充分进行设计开发和验证。 当电路有微小的变化时,FPGA的优势就能更明显地展现出来。 其现场编程能力可以延长市场上产品的使用寿命,并且该能力可用于系统升级或调试。

DSP与FPGA

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

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

By admin