
这是否与法国职业高尔夫球协会有关?
非! 的首字母缩写,代表现场可编程门阵列(Field Programmable Gate Arrays),即一类非常有趣的可黑客数字集成电路(IC)。
我的计算机科学课本只读到第三章,所以你得提醒我什么是门阵列......
在本对话中,门阵列是一个矩形硅片,其中包含大量相同的几个基本逻辑门,所有这些逻辑门都排成一行或一列。 逻辑门的最简单形式是由几个晶体管组合而成的基本布尔函数(OR、AND、反相器......)。
现场可编程 "部分是什么意思?
单个逻辑门始终是相同的,无论它位于哪个集成电路中。 CPU之所以是CPU,而图形芯片组之所以是图形芯片组,而且两者都不能做另一个芯片所做的事情,是因为它们内部的数百万个逻辑门在硅代工厂中被永久地连接在一起。 这些逻辑门和连接它们的微线(称为网)被绘制在特殊的掩膜上,这些掩膜直接印在硅片上。 每个可能的掩膜对应一个且仅有一个电路设计,一旦芯片被打印出来就无法更改--除非您使用的是FPGA。
因此,您可以自己改变电路的构成...
没错。 在代工厂,只有未连接的导线阵列和基本模块被印在硅片上。 所有的连接都是在您购买了空白FPGA并将其安装在PCB板上之后,在厨房的桌子上完成的! 基本的空白FPGA可以以相对较低的单价大批量生产,因为掩模总是相同的,但芯片可以作为单个或极少量出售给任何想按自己的喜好编程的人。 这对从微电子行业到业余爱好者和教育工作者的许多人都产生了巨大影响。
但无论如何,芯片肯定是可以重新编程的--这又是为什么呢?
当然,同一个微处理器(例如x86)可以运行Windows、数百个Linux发行版、OpenOffice.org、Apache、Photoshop等不同的程序。 然而,无论它运行什么软件,它仍然是同一个微处理器:一个集成电路,只能以相同的机器语言执行一组有限的、固定的基本指令。 而且它总是具有相同的固定宽度的数据总线,或相同数量的辅助引脚。 FPGA可以成为您想要的任何独特的数字电路(在合理的范围内)。 更重要的是,FPGA每次上电都可以是完全不同的电路。
这怎么可能?
编程或FPGA术语中的 "烧录",是在FPGA上电后立即读取一个文件。 文件内容描述了哪些基本模块(BB)必须连接到哪些其他模块,通过哪些内部路径,以及每个BB必须如何配置。 每次主板断电后,所有这些连接和配置信息都会被完全清除。 虽然每次都必须重复刻录过程,但没有内置限制强制每次刻录的文件都必须相同。
BB弹里面是什么?
一般来说,FPGA BB包含组合电路和寄存器电路。 当输入发生变化时,组合电路会尽快更新其输出,而顺序电路仅在某个时钟或使能信号的边沿重新计算其输出,并在此期间保持上次计算的值不变。 基本加法器或解码器等是组合电路,触发器和其他存储元件是顺序电路。
搭建小火箭节点加速软件
注册后可收到来自科技界的每日突发新闻、评论、意见、分析、交易和更多信息。