2022年,AMD收购了最大的FPGA生产商——赛灵思(Xilinx),完成了AMD有史以来最大规模收购,为此支付了超3000亿元,使得赛灵思成为了AMD的一部分。而在不久前英特尔收购了第二大的 FPGA 生产商Altera。另外,微软已经在其数据中心使用了FPGA,亚马逊也在其云服务中提供了FPGA,AMD则押宝高性能计算,在游戏显卡领域和智能终端边缘运算设备上大放异彩。以前的时候,以前,这些 FPGA 主要用于电子工程,而在软件工程中用得并不多。FPGA 是否即将腾飞并成为 CPU 和 GPU 的有力替代品呢?

什么是 FPGA?

如果你想要计算某些东西,常见的方法是为基于指令的架构(如 CPU 或 GPU)编写一些软件。另一种更艰巨的方法是为这种特定的计算设计一个特殊的电路——而不是为 CPU 或 GPU 等通用电路编写指令。

设计好电路后,您需要某种方法来实现设计,以便真正计算出一些东西。一种方法是实际生产出实现该设计的电路(这称为专用集成电路或 ASIC),但这需要相当多的资金。

一种更简单的方法,也是本文的主题,就是实现你的电路设计的方法是使用FPGA,将设计好的电路部署在FPGA上,无需实际生产出实现该设计的芯片,就可以实现出能够应用功能的”芯片“。它与基于 CPU 和 GPU 指令的硬件编程方法有很大不同。基于指令的硬件是软件配置的,而 FPGA 则是通过指定所需的硬件电路来配置。

FPGA 的优缺点