OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6088|回复: 5

[XILINX] 【阿东手把手教你学FPGA】CPU、DSP和FPGA有什么区别?

[复制链接]

8

主题

13

帖子

1

精华

超级版主

Rank: 8Rank: 8

积分
221
金钱
221
注册时间
2019-11-11
在线时间
27 小时
发表于 2023-3-8 11:56:55 | 显示全部楼层 |阅读模式
本帖最后由 dongguo100 于 2024-8-26 22:03 编辑

自从电子技术发展多年以来,出现了CPU、DSP和FPGA三种器件,CPU、DSP和FPGA都有各自的擅长领域,很多新人对这三个器件到底有啥区别,到底应该学习哪个有点懵。为此,阿东整理了三个器件的差别,以及给出一些建议到底应该学习哪个。
首先,我们来了解下CPU:
CPU架构上一般都是基于指令流水线,从存储器中进行指令的读取,指令的解析,指令的执行这样的流程。因此,在了解CPU之前,我们需要去了解CPU的指令集,再去了解指令的具体执行方式,然后针对具体的芯片了解其外围电路。
指令集:
目前常用的指令集主要分为两种,一个是复杂指令集(CISC),另一个是精简指令集(RISC)。其中复杂指令集是早期intel使用的指令集,即使到现在,大部分的PC中使用的依然是复杂指令集。预期相对的是精简指令集,业界普遍认为精简指令集具有较高的执行效率。
CPU一般包括几种:
1、单片机(也叫微处理器),比如早期的intel 8051单片机,近几年比较火的ST的STM32单片机。
2、通用CPU,比如intel和AMD的台式机CPU。
3、高性能ARM CPU,比如ARM Coretex A53/57内核,一般用在手机或者手持设备中。
4、RISC-V处理器,近期RISC-V比较火,优势是开源且高性能,吸引了国内外很多家公司在研究。
ARM目前还是占了很大的市场份额,设置很多人常常使用ARM代替CPU,下面单独说下ARM:
ARM设计了大量的高性能、廉价、功耗低的RISC处理器,相关的技术以及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,它能够提供一系列的内核,体系扩展,微处理器和系统芯片方案,这四个功能模块可供生产商根据不同的用户要求来配置生产。ARM是32位单片机,其内部的硬件资源性能较高,可以加载操作系统是其主要特点,加载操作系统之后,可以向PC一样进行多任务的实时处理,不会相互影响。
其次,我们来了解下DSP:
DSP通常负责数字信号(视频、音频和其他的传感器获得的数字信号)处理,在日常生活中,常见的数字电视机机顶盒、MP3、MP4和光模块等都广泛使用了DSP。由于设计的专一化,DSP可以在较低的成本下,执行比较复杂的编解码信号处理工作。
DSP其实是一种独特的CPU,只是拥有自己的完整指令系统,是可以处理大量数字信号的器件。最大的特点就是DSP内部有专门的硬件乘法器和哈佛总线结构,对大量的数字信号处理速度比较快。DSP处理器包括有控制单元、运算单元、各种存储器、以及一定数量的存储单元,并能够与一定数量的外部设备互相通信。DSP采用的是哈佛设计,数据总线与地址总线分开,这样程序和数据能够分别存储在两块独立的空间中,允许取指令与执行指令完全重叠,就是说在CPU在执行上一条指令的同时也取出了下一条指令,并完成了译码工作,提高微处理器的执行速率。此外还允许在程序空间和数据空间进行数据传输,增加器件的灵活性,具体的工作原理是将接收到的模拟信号转换成01的数字信号,再对数据信号进行修改、删除、强化等工作,最终在其他芯片中吧数字信号解读回实际环境需要的格式,运行速度可以达到每秒千万调复杂的指令,其主要特点如下:
  • 在一个指令周期内可以完成一次乘法和加法运算
  • 程序和数据分开,同时访问指令和数据
  • 片内具有快速RAM,通常能够通过独立的数据总线在两块中同时访问
  • 具有低开销或无开销循环以及跳转指令的硬件支持
  • 快速的中断处理以及硬件IO支持
  • 能够在单周期内操作多个硬件地址产生器
  • 可以并行执行多个操作
  • 支持pipeline操作,取值译码和执行操作可以同时执行
最后,我们来了解下FPGA:
FPGA是(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芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
区别
CPU具有比较强的事务管理功能,可以用来跑UI以及应用程序,CPU优点主要在于擅长控制。
DSP主要是来做计算,例如加解密算法,调制解调等,其优势是强大的数据处理能力和较高的运行速度。
FPGA主要使用Verilog进行编程,灵活性强,并行处理度高,可编程,可以做到很高的带宽处理。
FPGA DSP MCU区别.jpeg
新人应该学习哪个?
阿东觉得,新人可以先学习单片机,然后再学习FPGA。DSP目前涉及领域比较窄,不建议单独学习。当然,如果您是致力于IC设计、FPGA设计,是完全可以只学习FPGA的,正点原子提供的资料都是可以从零基础学习的。

正点原子FPGA开发板推荐:
正点原子FPGA选型指南 V1.2.png
正点原子FPGA开发板链接:
入门FPGA学习可以选择开拓者开发板             :https://detail.tmall.com/item.htm?abbucket=2&id=609033128784
入门XILINX学习可以选择达芬奇开发板           :https://detail.tmall.com/item.htm?abbucket=2&id=624335496505
国产FPGA学习可以选择紫光PGL22开发板      :https://detail.tmall.com/item.htm?abbucket=2&id=692712955836
国产FPGA学习可以选择紫光PGL25开发板      :https://detail.tmall.com/item.htm?abbucket=2&id=744605790689
国产FPGA学习可以选择紫光PG2L100H开发板:https://detail.tmall.com/item.htm?abbucket=2&id=777415803211
入门ZYNQ学习可以选择领航者开发板            :https://detail.tmall.com/item.htm?abbucket=2&id=609032204975
进阶MPSOC学习可以选择MSPOC P4开发板  :https://detail.tmall.com/item.htm?abbucket=2&id=692450874670
进阶MPSOC学习可以选择MSPOC P5开发板  :https://detail.tmall.com/item.htm?abbucket=2&id=753441508614
进阶FPGA可以选择达芬奇Pro开发板              :https://detail.tmall.com/item.htm?abbucket=2&id=640278473312
高性能FPGA可以选择K7开发板                      :https://detail.tmall.com/item.htm?abbucket=2&id=819861151271
高性能FPGA可以选择KU开发板                     :https://detail.tmall.com/item.htm?abbucket=2&id=824835319529
入门ZYNQ学习可以选择启明星开发板           https://detail.tmall.com/item.htm?abbucket=14&id=609758283497
使用ISE软件可以选择超越者S6开发板            https://detail.tmall.com/item.htm?abbucket=14&id=631924341558
A7核心板                                                     :https://detail.tmall.com/item.htm?abbucket=14&id=641086479676
ZYNQ核心板                                                :https://detail.tmall.com/item.htm?abbucket=14&id=609758975143
EP4CE10最小系统                                        :https://detail.tmall.com/item.htm?abbucket=14&id=644475594248
Spartan6最小系统                                       :https://detail.tmall.com/item.htm?abbucket=14&id=641940549268
ZYNQ最小系统                                            :https://detail.tmall.com/item.htm?abbucket=14&id=658456387837

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

302

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1589
金钱
1589
注册时间
2018-11-28
在线时间
205 小时
发表于 2023-3-8 14:39:35 | 显示全部楼层
回复 支持 反对

使用道具 举报

2

主题

74

帖子

0

精华

高级会员

Rank: 4

积分
835
金钱
835
注册时间
2019-12-14
在线时间
53 小时
发表于 2023-3-10 18:59:59 | 显示全部楼层
确实不错的文章,值得学习和了解。
回复 支持 反对

使用道具 举报

0

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
125
金钱
125
注册时间
2019-5-29
在线时间
12 小时
发表于 2023-4-15 16:59:55 | 显示全部楼层
厉害了
回复 支持 反对

使用道具 举报

6

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2022-6-19
在线时间
29 小时
发表于 2024-7-24 19:13:44 | 显示全部楼层
原子什么时候出DSP的板子??
回复 支持 反对

使用道具 举报

1

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2019-8-12
在线时间
9 小时
发表于 2024-8-13 09:29:01 | 显示全部楼层
学习中
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-9-27 06:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表