再思考FPGA中的同构和异构设计架构
扫描二维码
随时随地手机看文章
早在2001年,我曾写过一篇专栏文章,内容是关于在针对信号处理的应用中,采用异质结构设计所具备的优点。我的依据是:信号处理应用一般包括不同的数据速率、数据类型和算法;另外,针对这些不同需求有针对性地采用不同处理引擎,比一个以不变应万变的方法更有价值。当时,采用异构处理架构一般意味着采用两个或更多个芯片。
六年后,我们置身于追逐采用多核架构的潮流之中。这些芯片包含数以十计甚或数以百计的处理器,有时甚至包括类似FPGA那样的器件。此时,是采用同构还是异构处理元件的问题仍是个关键的设计决定,尽管在这种情况下,问题出现在芯片层面而非系统层面。
一般来说,同构设计便于使用且适合更广泛的一系列应用,但这些优点以性能和效率为代价。异构方案舍弃了一定的通用性和使用上的便利,但对其目标应用来说效率更高。从芯片供应商的角度讲,问题就变成:是把芯片设计得尽可能满足多种应用,还是只将其定位在一两个目标市场。
解决方法之一是:以一种相当通用的同构方法为出发点,然后,一旦该芯片找到细分市场且该市场已成型,则转向一个基于应用的专用异构方法。这就是 picoChip所采取的策略:其最初芯片有一个高度类似的处理器阵列,而其最新芯片通过整合进专用协处理器,转而衍变为面向特定应用的产品。FPGA供应商Altera和Xilinx已从提供通用的具有“海量门”的芯片向整合了硬连线信号处理元件、存储器、处理器和专用I/O的芯片发展。
我相信,在嵌入式应用中,对从同构到异构整个范畴内的所有芯片划分来说都存在着大量机遇。对多核架构芯片供应商来说,关键是使架构迎合市场需要,并注意同构和异构架构的优劣权衡。