XFPGA最有影响力的25个研究成果 – 系统架构篇
2020-03-01 09:21 作者: 老石 预计 17 分钟读完很多世界顶尖的“建筑师”可能是你从未听说过的人,他们设计并创造出了很多你可能从未见过的神奇结构,比如在芯片内部的复杂体系。制造芯片的基本材料源于沙子,但芯片本身已经成为人们当代生活不可或缺的东西。如果你使用手机、电脑,或者通过互联网收发信息,那么你就无时无刻不在受益于这些建筑师们的伟大工作。
FPGA 是芯片的其中一种,从上世纪八十年代诞生起,FPGA 已经从简单的可编程门阵列,发展成为了有着大量可编程逻辑的复杂片上系统。除了硬件结构之外,FPGA 的开发工具和应用场景也都取得了长足的进步和扩展,FPGA 在整个半导体行业的重要性也在不断增强。FPGA 芯片的演进,离不开这些“建筑师”的不断发明创造。
几年前,这些 FPGA 的顶级建筑师们选出了自上世纪九十年代起的 20 年以来 FPGA 领域最有影响力的 25 个研究成果。通过这些重要的成果,我们会理解 FPGA 是如何发展至今,并且知道 FPGA 技术未来将会发展向何处。
这 25 个研究成果按研究领域分为架构、EDA 工具、电路、应用等大类,每项成果都由一名该领域的顶级学者做推介。接下来,我将在几篇文章里,分别介绍这这些改变了 FPGA 发展进程的重要研究成果。本文是系统架构篇。
(本文介绍的 5 项成果原文,均已上传至知识星球:老石谈芯进阶版,请在文末扫码进入星球查看)
01 FPGA 与 SIMD 阵列的结合与统一
一句话总结:FPGA 作为并行计算加速的开山之作
英文名:Unifying FPGAs and SMID Arrays
作者:Michael Bolotski, André DeHon, Thomas F. Knight, Jr.
发表时间:1994 年
推介人:Jonathan Rose(多伦多大学)
这项成果在哲学的角度重新审视了 FPGA 这种计算“介质”,并将其与单指令多数据(SIMD)方法联系起来,以进行常规计算的并行加速。这个工作最早揭示了 FPGA 和 SIMD 这两种计算方法如何被看成是一个连续的整体,并在某种意义上将二者结合和统一。
这项成果提出了一种混合架构,名为“动态可编程门阵列(DPGA)”。在这种架构中,用来配置逻辑和布线的比特流(bitstream)位于特殊设计过的本地存储单元中,并会不断的快速变化。在 DPGA 里,有一个中央上下文标识器(central context idenTIfier),负责决定从本地内存中加载哪些配置,如下图所示。
通过使用这种方法,使 DPGA 架构在某种程度上类似于 SIMD。具体来说,如果这些本地内存里的内容相同,那么就会执行相同的“指令”;反之,如果本地内存中的内容不同,那么每个处理单元就会各自为战。这使得 DPGA 既可以并行处理数据,也可以串行处理数据。
此外,这项成果还对这种新的计算体系架构的成本和收益进行了深入的分析。
这项成果是关于 DPGA 的一系列富有影响力的成果的开山之作,也是第一批探讨 FPGA 编程里上下文的工作之一。虽然这种可编程架构并未成为业界主流,但它启发了诸多后续的高质量工作,并为来者奠定了坚实的理论基础。
02 一种高速的层次化同步可编程阵列
一句话总结:高性能、高时钟频率 FPGA 架构设计与时序优化算法的开创性探索
英文名:HSRA: High-Speed, Hierarchical Synchronous Reconfigurable Array
作者:William Tsu, Kip Macy, Atul Joshi, Randy Huang, Tony Tung, Omid Rowhani, Varghese George, John Wawrzynek, André DeHon
发表时间:1999 年
推介人:Carl Ebeling(华盛顿大学)
这项工作专注于解答这样的一个问题:是否有可能设计一个 FPGA 架构,使其能和处理器或 ASIC 的时钟频率一较高下?
通常情况下,FPGA 比 CPU 或 ASIC 的时钟频率要慢 5 到 10 倍,这主要受制于于 FPGA 内部的逻辑延时与互连延时。而这项工作则希望通过结合 FPGA 架构创新和 CAD 工具创新两方面,使得 FPGA 的性能上升到一个新的台阶。
总体而言,这项工作采用的方法是根据特定的时钟频率设计系统架构。事实上,这与传统的 FPGA 设计方法完全相左。然而通过这种方式,设计者可以精确的定义一个时钟周期中逻辑层的数量、互联和距离等,这样可以得到一个包括可编程互联在内的高度流水化的结构。
HSRA 最新颖的地方在于它的树形分层互联结构,如下图所示。这种架构允许连接通过点对点的方式完成,因此就可以得到任意两点间的距离和延时。利用这些信息,就可以从时序的角度解决很多布局和布线问题。
另一方面,并不是所有设计都可以按照 HSRA 架构进行深度流水线优化。为了解决这个问题,这项工作创造性的采用了名为 C-slowing 的方法,通过在电路中引入额外的并行性,来处理和补偿当设计中包含较大反馈时带来的延时。C-slowing 也在后来逐渐成为了 reTIming 的主流方法之一。
综上所述,这项工作在 FPGA 体系结构这个领域中开拓出了一个新的方向,那就是针对时序和高性能的 FPGA 架构设计。HSRA 架构本身由于与传统 FPGA 的差别太大,从而没有在商业化的道路上走远,但这个工作中的很多思路和方法,都对现代 FPGA 架构的演进产生了深远的影响。
03 Virtex-II FPGA 的动态功耗
一句话总结:现代 FPGA 动态功耗分析、建模与优化方法的开山之作
英文名:Dynamic Power ConsumpTIon in Virtex-II FPGA Family
作者:Li Shang, Alireza Kaviani, Kusuma Bathala
发表时间:2002 年
推介人:Russ Tessier(马萨诸塞大学)
在这项工作之前,很少有研究专门讨论 FPGA 的功耗问题。因此,这项成果为研究者深入理解 FPGA 的功耗、并进行功耗优化迈出了重要的第一步。
关于功耗,业界一直假设互联功耗是 FPGA 动态功耗的主要来源。这项工作通过实验证明了这一假设是正确的。在对动态功耗的分析过程中,这项工作研究了 FPGA 中不同结构对功耗的影响,从而为后来针对功耗优化的 CAD 算法的出现提供了理论基础。同时,通过仿真和物理实测,这项成果提出的功耗分布结果是非常可信的,见下图。
业界对于 FPGA 功耗优化的兴趣始于大约十年之前,在当时 FPGA 的功耗优化刚刚成为仅次于面积和延时优化之外的另一个主要的优化方向。这项工作不仅提供了在 FPGA 上动态功耗的分布结果,还为今后十年间的功耗分析和优化算法提供了详细的方法论支持。
这项工作还是一个工业界与学术界紧密合作的典型代表。在这项工作中,赛灵思提供了 FPGA 器件的模型和数据集,并提供了先进的动态功耗分析方法和技术。由于学术界对 Virtex II FPGA 架构比较熟悉,因此不需要 FPGA 厂商公布额外的机密信息,使得这项工作使用的方法论有着很强的通用性。
04 StraTIx FPGA 的布线和逻辑架构
一句话总结:奠定五代 Stratix 核心架构的基石之作
英文名:The Stratix Routing and Logic Architecture
作者:David Lewis, Vaughn Betz, David Jefferson, Andy Lee, Chris Lane, Paul Leventis, Sandy Marquardt, Cameron McClintock, Bruce Pedersen, Giles Powell, Srinivas Reddy, Chris Wysocki, Richard Cliff, Jonathan Rose
发表时间:2003 年
推介人:Herman Schmit(卡耐基梅隆大学)
在过去的很多年中,由 Jonathan Rose 教授领导的多伦多大学团队构建了名为 VPR 的 FPGA 设计工具套件,并用来设计和探索简化过的 FPGA 系统架构和微架构。VPR 包含 FPGA 后端设计的很多算法和流程,包含逻辑封装、布局和布线等等,这使得很多的 FPGA 架构问题都可以借助 VPR 进行量化分析。而这也使得多伦多大学成为了全球最重要的 FPGA 学术研究中心之一。
在 1998 年,Jonathan Rose 教授创办了一个名为 RightTrack CAD 的初创公司,其主旨就是将 VPR 进行商业转化。与此同时,Altera 也在努力改进他们的 FPGA 架构,以应对赛灵思成功的 Virtex 系列带来的竞争。在 2000 年,Altera 收购了 RightTrack,并开发了 Altera FPGA 建模工具包(Modelling Toolkit),用来优化他们的第一代 Stratix FPGA 架构。
这项成果就详细介绍了 Stratix 架构的技术细节,见下图。更重要的是,它系统阐述了架构师在设计 Stratix 时所作决策的具体过程。这项工作z明了 VPR 所采用的定量分析方法同样适用于分析实际的性能和设计指标,如 FPGA 的物理面积和关键路径延时等。这些方法和工具已经被用于至少 5 代 Stratix FPGA 的设计。而这项工作也成功的展示了学术研究与工业界技术发展之间的紧密联系与合作。
05 量化 FPGA 与 ASIC 的区别
一句话总结:FPGA 基准测试的标杆之作
英文名:Measuring the Gap between FPGAs and ASICs
作者:Ian Kuon, Jonathan Rose
发表年份:2006
推介人:Herman Schmit(卡耐基梅隆大学)
自发表以来,这项工作已被引用超过 1400 次。它的最主要贡献之一,就是对可编程性的成本进行了量化。这项工作表明,FPGA 的核心面积要比一个标准的 ASIC 单元大 40 倍。对于所有致力于提升和改进 FPGA 架构的工作来说,这就是它们最主要的动力之一。
在这项工作之前,FPGA 与 ASIC 之间大多数的比较都基于小型电路,并且倾向于比较 FPGA 与掩膜可编程门阵列(mask-programmable gate arrays)。在这种情况下,FPGA 只消耗大概 10 倍的额外面积。然而,到了 2006 年,ASIC CAD 工具已经得到了长足的发展和进步。基于可综合的逻辑单元的 ASIC 设计已经成为了业界的常见选择。
从客观上讲,这里所说的 40 倍面积大小实际上不够合理,因为这里只考虑了 FPGA 核心区域的面积,同时很多逻辑和算术运算单元都没有使用固化的乘法器帮助实现。在这项成果中,它根据电路中是否包含算术运算、内存单元、结构化逻辑以及寄存器,将待研究的基准电路集分成了四大类,见下图。在包含逻辑单元和算术运算单元的电路设计中,如果 FPGA 架构里包含固化的乘法器,那么相比 ASIC 而言 FPGA 的面积会大 28 倍。
这项工作更重要的贡献是向人们揭示了 FPGA 的架构特性(如固化的内存单元和 DSP 等)与基准测试结果的相关性。同时,这项工作深入分析了 FPGA 里固化的逻辑结构对性能和成本的影响与关联,而这也直接对现代 FPGA 的架构设计产生了深远影响。在现代 FPGA 中,关于将哪些 IP 或逻辑电路采用硬核的方式实现已经成为了影响 FPGA 发展的重要命题。这与诸如 LUT 大小、布线拓扑结构等传统 FPGA 架构问题同样重要。
在学术界,像这样的基准测试工作总是充满争议的。因为它们要么在比较时采用了不同的衡量标准,要么对比较的标准进行了抽象,使得结果不具有扩展性和通用性。然而,这项成果为这类工作树立了典范,它展示了如何客观的做比较,以及如何细致的描述比较的具体细节,这样使得研究者可以从结果中得到自己的结论,并将这种思想应用到今后的研究工作中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)