首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通用MCU/CPU与FPGA和ASIC的关系

通用MCU/CPU与FPGA和ASIC的关系
EN

Software Engineering用户
提问于 2015-05-13 16:23:53
回答 1查看 488关注 0票数 1

我试图理解诸如英特尔、AMD、PowerPC、AVR、ARM等“普通”MCU/CPU与FPGA和ASIC之间的关系。

以下是我的理解:

  • 这些共用的MCU/CPU(同样,Intel,AVR,ARM等)都是“通用用途”,因此不是可编程的,而是要运行各种不同的应用程序。
  • FPGA也是MCU/CPU,但是它们的电路是完全可编程的。
  • ASICs也是MCUs/CPUs,但是它们是特定于应用程序的,而不是可编程/可重用的。
  • 对它正在运行的应用程序进行的微调越多,该应用程序的性能就会越快。
  • 因此: ASICs是最快的,但是是特定应用的,而不是通用的.普通的MCU/CPU是最慢的(相对的,无论如何都不称它们为“慢”!)但都是通用的,可以运行任何二进制兼容的应用程序。而FPGA处于中间位置,因为它们都是应用程序专用的和可编程的。

我上面的理解有什么不正确吗?如果是的话,请纠正我!

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2015-05-14 04:31:58

你把事情搞混了。你已经知道了它的要点,但还没有完全理解。

让我们比较一下通用微处理器、微控制器、FPGA和ASIC。你把微控制器和微处理器混为一谈,而你真的不该这么做。

通用微处理器:这些是台式机和膝上型处理器,英特尔奔腾芯片,AMD雅典乐等。这些是昂贵的,很高的功率(瓦特),高性能处理器。它们需要大量的支持电路才能运行。

微控制器:这些经典的设备,如8位Atmel AVRs,微芯片图片,和许多其他设备.它们通常是廉价的,低速的,低性能的,低功率的设备,并且通常需要很少的支持电路来操作。40W对于CPU来说是低的,而对于一个微控制器则是高的。它们的内存非常少,通常只有4-8K的SRAM和64 of的闪存。

许多应用程序中的处理器,如手机,模糊了通用微处理器之间的界限,具有更高的性能和更大的内存,但功耗仍然很低。有许多ARM产品正在微控制器领域取得进展,它们的性能远远超过上面所述的微控制器,虽然功耗要高得多,但在支持电路和成本方面却是相似的。例如,数码相机中的处理器可能是一个很难装进任何一个桶的芯片(而且可能会有一个强大的DSP来配合它)。

FPGA经济地处于微控制器和ASIC的中间。它们提供高速和低功耗的折衷,但灵活性降低,复杂性增加.为它们编写VHDL或Verilog比为微控制器编写C要复杂得多。现在,除非您的应用程序有大量的模拟组件,否则ASIC通常不会比FPGA更具成本效益。FPGA也不是微处理器,也不是微控制器,但是,只要它有正确的外围设备,就可以编写一个作为微控制器的程序。

专用集成电路(ASIC)。这些是为特定任务设计的定制芯片。根据我的经验,ASIC标签是针对单一客户/单一产品设计的芯片,而不仅仅是它们的专业程度。我个人不会把数字钥匙目录中的任何东西叫做ASIC,只是一个IC。甚至像TI ADS1298R,一种专门为心电设备设计的芯片。ASICs用于速度、功率或尺寸限制的专用产品,在这些产品中,没有现有的通用部件可以满足需要。ASIC不一定是为了最大的速度而设计的,它也可以是低功耗的。一个ASIC可以做到所有,并给你的速度,力量和大小的任何组合,你需要,但达到那里将花费你比任何其他选择。

同样,与FPGA一样,ASIC既不是微控制器,也不是微处理器,但可以在ASIC中实现。然而,这样做是非常昂贵和复杂的,你需要重新思考你在做什么。相反,您将实现一个设备来计算拼图中的一些小部分,即应用程序最紧的循环中的元素,然后使用通用部件来处理其他所有内容。

当然,正如所提到的,有很多设备不太适合这些水桶。

最后,通用微处理器不一定是最慢的,事实上,桌面处理器速度非常快,几乎超过了FPGA所能做到的所有功能。然而,与FPGA相比,它们还需要大量的能量。因此,您是否想使用常规处理器或FPGA将取决于您的应用程序是插到墙上还是运行一个微型电池。

票数 4
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/283794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档