FPGA,你为什么这么牛?
最近几年,FPGA这个概念越来越多地出现。 例如,比特币挖矿,就有使用基于FPGA的矿机。还有,之前微软表示,将在数据中心里,使用FPGA“代替”CPU,等等。 其实,对于专业人士来说,FPGA并不陌生,它一直都被广泛使用。但是,大部分人还不是太了解它,对它有很多疑问—— FPGA到底是什么?为什么要使用它? 相比 CPU、GPU、ASIC(专用芯片),FPGA有什么特点?…… 今天,带着这一系列的问题,我们一起来—— 揭秘FPGA 。 一、为什么使用 FPGA? 众所周知,通用处理器(CPU)的摩尔定律已入暮年,而机器学习和 Web 服务的规模却在指数级增长。 人们使用定制硬件来加速常见的计算任务,然而日新月异的行业又要求这些定制的硬件可被重新编程来执行新类型的计算任务。 FPGA 正是一种硬件可重构的体系结构。它的英文全称是 Field Programmable Gate Array,中文名是现场可编程门阵列。 FPGA常年来被用作专用芯片(ASIC)的小批量替代品,然而近年来在微软、百度等公司的数据中心大规模部署,以 同时提供强大的计算能力和足够的灵活性 。 不同体系结构性能和灵活性的比较 FPGA 为什么快? 「都是同行衬托得好」。 CPU、GPU 都属于冯·诺依曼结构,指令译码执行、共享内存。 FPGA 之所以比 CPU 甚至 GPU 能效高,本质上是无指令