FPGA和MCU到底是干啥用的?

我希望回答的越简单,越通俗越好,网上的说的太专业化,我看不懂。(我对电路方面是新手,希望能回答的详细一点,耐心一点)。谢谢。

不知你有没有用过74系列的数字逻辑芯片,据说可以用74系列的芯片通过连线完成一CPU,CPU是由门电路构成的硬件设备,但是现在你不用在连线了,使用一片FPGA芯片,里面包含了很多门电路,并且连线是可以自由配置的,配置的方法就是使用verilog编程语言,或者其他硬件编程语言,注意,他写出来的是门电路。
在说CPU,通过上面的分析FPGA通过verilog的编程可以编程一片CPU(51单片机),这么说你可能有点不懂,自己领悟,自己想一想会豁然开朗;此时我们使用C语言在对CPU进行编程(基于指令集的),两者虽然都是编程,但是思路完全不一样。
但是上面两种方法,都可以完成同样的任务,这两者对不同的任务各有倾向,各有优势。。。追问

我就是想问问fpga与mcu同样是编程,fpga执行的速率比mcu的快。
我知道fpga与mcu根本就不是一回事,可是还是没搞清楚他们的根本区别到底在哪,能用最容易懂的方式给我讲讲么。

追答

根本区别就能一个,FPGA编程完成后,是整片的硬件电路;MCU编程完成后,在MCU内部的flash中放有你的代码,MCU每一个指令周期读取一条指令,循环执行,直到完成你的功能。
至于执行速度,没法比,MCU强于控制,强于调度。FPGA强于大量数据的处理,强于算法。FPGA速度是很快,但是并不是所有的应用都适合。。。
感觉你FPGA和MCU都不会,这样的话,不管怎么说你都不会明白的。看看微型计算机原理,理解一下MCU的过程,至于FPGA很容易理解的,就是整片的电路。
“也就是说fpga在编程完了之后还可以再无数次的修改,但是mcu一旦你把程序写好了之后,这个芯片的功能就已经定型了,也就不能再做修改了。可以这样理解么。”
都是可以修改的,只不过MCU改的不是硬件,是软件,而FPGA改的的硬件。
好好看看书,如果你没有基础,再怎么说都理解不透彻。。。。。

追问

你说的对,但我还想问一下。
fpga与mcu同样是编程,mcu改的是软件,fpga改的是硬件?这句话怎么理解呢。

追答

比如说,某处理器使用cortex A8内核,那么他就不能在升级为cortex A15,而软件却可以不断的更新,例如andriod的不断更新;如果使用FPGA那,那么可以通过软核的更新,不断的升级处理器内核(理论上)。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-27
FPGA的学名是现场可编程门阵列,其实就是一个可以任意设置逻辑功能的逻辑器件,可以将你想要的绝大多数逻辑电路放到这个FPGA中;MCU的学名是为控制单元,也叫微控制器,说得简单点,就是我们平常说的CPU,CPU的功能有强有弱,习惯上我们称功能不是太强的CPU为MCU。追问

称功能不是太强的CPU为MCU???
网上说mcu就相当于一个微型的计算机,只是没外围设备而已。
可是这跟cpu怎么又扯上关系了呢。

追答

所谓的MCU就是MCPU——微处理器,凡是将运算器和控制器集成到一片硅片上的CPU统称为微处理器(MCU)。

本回答被网友采纳
第2个回答  2013-08-15
FPGA在应用上就好比一堆砖头,可以改成各种各样的房子。工程师想怎么用就怎么编程,可以做成CPU,显卡,控制芯片什么的,而且还可以拆了重新盖。MUC就不行。
MCU就好比是一个房子,盖好了不能再该,比如它有一扇门,它不能再加一扇门,但是可以控制进入房子的人。但FPGA就不同,它可以盖成别墅,平房,盖好之后还可以再加一扇门、再加一个窗户。这样讲不知道你明白不。追问

你说的例子很形象。
也就是说fpga在编程完了之后还可以再无数次的修改,但是mcu一旦你把程序写好了之后,这个芯片的功能就已经定型了,也就不能再做修改了。可以这样理解么。

追答

对头。。。但是MCU的功能也可以做改变,但是能力上线改变不了多少。。比如说一个MCU,当做房子,两扇门,它可以一次进去一人,也可以一次进去两个。再多就不行了。
FPGA这个时候可以再造几个门,MCU就不行。希望你明白。

追问

也就是说MCU是有一定的局限性,它在编程好之后还是可以修改的,只是次数是有限制的。
是么。
如果是的话,那么除了在编程这方面来说的区别之外,还有其他的么?

追答

次数,还有最大能力都会受到限制,别的就没什么了。这个就好比手机还有固定电话,价格啦,功能啦,等等。。你问这个干什么,学生么?

追问

我总结一下你说的,你看理解对不对。
mcu在写好编程之后,它的功能基本上是固定了的,但是也不是完全的定死,也是可以改变,只是改变的次数跟能力已有限制,基本上是改变不了什么。
所以fpga的功能更强大,用起来更灵活。
刚毕业,但是不是学电子的,所以一窍不通。

第3个回答  2019-01-03
FPGA是可编程逻辑门阵列的简称,是通过编程,然后通过特定编译工具编译成电路来实现特定的硬件功能。可以关注FPGA-Engineer公号,你可以学到很多关于FPGA 的知识。而MCU是指微处理器,是通过编写软件,然后编译成一条条软件指令来实现特定功能。
相似回答