XFPGA最有影響力的25個(gè)研究成果 – 系統(tǒng)架構(gòu)篇
2020-03-01 09:21 作者: 老石 預(yù)計(jì) 17 分鐘讀完很多世界頂尖的“建筑師”可能是你從未聽說過的人,他們?cè)O(shè)計(jì)并創(chuàng)造出了很多你可能從未見過的神奇結(jié)構(gòu),比如在芯片內(nèi)部的復(fù)雜體系。制造芯片的基本材料源于沙子,但芯片本身已經(jīng)成為人們當(dāng)代生活不可或缺的東西。如果你使用手機(jī)、電腦,或者通過互聯(lián)網(wǎng)收發(fā)信息,那么你就無時(shí)無刻不在受益于這些建筑師們的偉大工作。
FPGA 是芯片的其中一種,從上世紀(jì)八十年代誕生起,F(xiàn)PGA 已經(jīng)從簡單的可編程門陣列,發(fā)展成為了有著大量可編程邏輯的復(fù)雜片上系統(tǒng)。除了硬件結(jié)構(gòu)之外,F(xiàn)PGA 的開發(fā)工具和應(yīng)用場景也都取得了長足的進(jìn)步和擴(kuò)展,F(xiàn)PGA 在整個(gè)半導(dǎo)體行業(yè)的重要性也在不斷增強(qiáng)。FPGA 芯片的演進(jìn),離不開這些“建筑師”的不斷發(fā)明創(chuàng)造。
幾年前,這些 FPGA 的頂級(jí)建筑師們選出了自上世紀(jì)九十年代起的 20 年以來 FPGA 領(lǐng)域最有影響力的 25 個(gè)研究成果。通過這些重要的成果,我們會(huì)理解 FPGA 是如何發(fā)展至今,并且知道 FPGA 技術(shù)未來將會(huì)發(fā)展向何處。
這 25 個(gè)研究成果按研究領(lǐng)域分為架構(gòu)、EDA 工具、電路、應(yīng)用等大類,每項(xiàng)成果都由一名該領(lǐng)域的頂級(jí)學(xué)者做推介。接下來,我將在幾篇文章里,分別介紹這這些改變了 FPGA 發(fā)展進(jìn)程的重要研究成果。本文是系統(tǒng)架構(gòu)篇。
(本文介紹的 5 項(xiàng)成果原文,均已上傳至知識(shí)星球:老石談芯進(jìn)階版,請(qǐng)?jiān)谖哪叽a進(jìn)入星球查看)
01??FPGA 與 SIMD 陣列的結(jié)合與統(tǒng)一
一句話總結(jié):FPGA 作為并行計(jì)算加速器的開山之作
英文名:Unifying FPGAs and SMID Arrays
作者:Michael Bolotski, Andre? DeHon, Thomas F. Knight, Jr.
發(fā)表時(shí)間:1994 年
推介人:Jonathan Rose(多倫多大學(xué))
這項(xiàng)成果在哲學(xué)的角度重新審視了 FPGA 這種計(jì)算“介質(zhì)”,并將其與單指令多數(shù)據(jù)(SIMD)方法聯(lián)系起來,以進(jìn)行常規(guī)計(jì)算的并行加速。這個(gè)工作最早揭示了 FPGA 和 SIMD 這兩種計(jì)算方法如何被看成是一個(gè)連續(xù)的整體,并在某種意義上將二者結(jié)合和統(tǒng)一。
這項(xiàng)成果提出了一種混合架構(gòu),名為“動(dòng)態(tài)可編程門陣列(DPGA)”。在這種架構(gòu)中,用來配置邏輯和布線的比特流(bitstream)位于特殊設(shè)計(jì)過的本地存儲(chǔ)單元中,并會(huì)不斷的快速變化。在 DPGA 里,有一個(gè)中央上下文標(biāo)識(shí)器(central context identifier),負(fù)責(zé)決定從本地內(nèi)存中加載哪些配置,如下圖所示。
通過使用這種方法,使 DPGA 架構(gòu)在某種程度上類似于 SIMD。具體來說,如果這些本地內(nèi)存里的內(nèi)容相同,那么就會(huì)執(zhí)行相同的“指令”;反之,如果本地內(nèi)存中的內(nèi)容不同,那么每個(gè)處理單元就會(huì)各自為戰(zhàn)。這使得 DPGA 既可以并行處理數(shù)據(jù),也可以串行處理數(shù)據(jù)。
此外,這項(xiàng)成果還對(duì)這種新的計(jì)算體系架構(gòu)的成本和收益進(jìn)行了深入的分析。
這項(xiàng)成果是關(guān)于 DPGA 的一系列富有影響力的成果的開山之作,也是第一批探討 FPGA 編程里上下文的工作之一。雖然這種可編程架構(gòu)并未成為業(yè)界主流,但它啟發(fā)了諸多后續(xù)的高質(zhì)量工作,并為來者奠定了堅(jiān)實(shí)的理論基礎(chǔ)。
02?一種高速的層次化同步可編程陣列
一句話總結(jié):高性能、高時(shí)鐘頻率 FPGA 架構(gòu)設(shè)計(jì)與時(shí)序優(yōu)化算法的開創(chuàng)性探索
英文名:HSRA: High-Speed, Hierarchical Synchronous Reconfigurable Array
作者:William Tsu, Kip Macy, Atul Joshi, Randy Huang, Tony Tung, Omid Rowhani, Varghese George, John Wawrzynek, Andre? DeHon
發(fā)表時(shí)間:1999 年
推介人:Carl Ebeling(華盛頓大學(xué))
這項(xiàng)工作專注于解答這樣的一個(gè)問題:是否有可能設(shè)計(jì)一個(gè) FPGA 架構(gòu),使其能和處理器或 ASIC 的時(shí)鐘頻率一較高下?
通常情況下,F(xiàn)PGA 比 CPU 或 ASIC 的時(shí)鐘頻率要慢 5 到 10 倍,這主要受制于于 FPGA 內(nèi)部的邏輯延時(shí)與互連延時(shí)。而這項(xiàng)工作則希望通過結(jié)合 FPGA 架構(gòu)創(chuàng)新和 CAD 工具創(chuàng)新兩方面,使得 FPGA 的性能上升到一個(gè)新的臺(tái)階。
總體而言,這項(xiàng)工作采用的方法是根據(jù)特定的時(shí)鐘頻率設(shè)計(jì)系統(tǒng)架構(gòu)。事實(shí)上,這與傳統(tǒng)的 FPGA 設(shè)計(jì)方法完全相左。然而通過這種方式,設(shè)計(jì)者可以精確的定義一個(gè)時(shí)鐘周期中邏輯層的數(shù)量、互聯(lián)和距離等,這樣可以得到一個(gè)包括可編程互聯(lián)在內(nèi)的高度流水化的結(jié)構(gòu)。
HSRA 最新穎的地方在于它的樹形分層互聯(lián)結(jié)構(gòu),如下圖所示。這種架構(gòu)允許連接通過點(diǎn)對(duì)點(diǎn)的方式完成,因此就可以得到任意兩點(diǎn)間的距離和延時(shí)。利用這些信息,就可以從時(shí)序的角度解決很多布局和布線問題。
另一方面,并不是所有設(shè)計(jì)都可以按照 HSRA 架構(gòu)進(jìn)行深度流水線優(yōu)化。為了解決這個(gè)問題,這項(xiàng)工作創(chuàng)造性的采用了名為 C-slowing 的方法,通過在電路中引入額外的并行性,來處理和補(bǔ)償當(dāng)設(shè)計(jì)中包含較大反饋時(shí)帶來的延時(shí)。C-slowing 也在后來逐漸成為了 retiming 的主流方法之一。
綜上所述,這項(xiàng)工作在 FPGA 體系結(jié)構(gòu)這個(gè)領(lǐng)域中開拓出了一個(gè)新的方向,那就是針對(duì)時(shí)序和高性能的 FPGA 架構(gòu)設(shè)計(jì)。HSRA 架構(gòu)本身由于與傳統(tǒng) FPGA 的差別太大,從而沒有在商業(yè)化的道路上走遠(yuǎn),但這個(gè)工作中的很多思路和方法,都對(duì)現(xiàn)代 FPGA 架構(gòu)的演進(jìn)產(chǎn)生了深遠(yuǎn)的影響。
03?Virtex-II FPGA 的動(dòng)態(tài)功耗
一句話總結(jié):現(xiàn)代 FPGA 動(dòng)態(tài)功耗分析、建模與優(yōu)化方法的開山之作
英文名:Dynamic Power Consumption in Virtex-II FPGA Family
作者:Li Shang, Alireza Kaviani, Kusuma Bathala
發(fā)表時(shí)間:2002 年
推介人:Russ Tessier(馬薩諸塞大學(xué))
在這項(xiàng)工作之前,很少有研究專門討論 FPGA 的功耗問題。因此,這項(xiàng)成果為研究者深入理解 FPGA 的功耗、并進(jìn)行功耗優(yōu)化邁出了重要的第一步。
關(guān)于功耗,業(yè)界一直假設(shè)互聯(lián)功耗是 FPGA 動(dòng)態(tài)功耗的主要來源。這項(xiàng)工作通過實(shí)驗(yàn)證明了這一假設(shè)是正確的。在對(duì)動(dòng)態(tài)功耗的分析過程中,這項(xiàng)工作研究了 FPGA 中不同結(jié)構(gòu)對(duì)功耗的影響,從而為后來針對(duì)功耗優(yōu)化的 CAD 算法的出現(xiàn)提供了理論基礎(chǔ)。同時(shí),通過仿真和物理實(shí)測,這項(xiàng)成果提出的功耗分布結(jié)果是非常可信的,見下圖。
業(yè)界對(duì)于 FPGA 功耗優(yōu)化的興趣始于大約十年之前,在當(dāng)時(shí) FPGA 的功耗優(yōu)化剛剛成為僅次于面積和延時(shí)優(yōu)化之外的另一個(gè)主要的優(yōu)化方向。這項(xiàng)工作不僅提供了在 FPGA 上動(dòng)態(tài)功耗的分布結(jié)果,還為今后十年間的功耗分析和優(yōu)化算法提供了詳細(xì)的方法論支持。
這項(xiàng)工作還是一個(gè)工業(yè)界與學(xué)術(shù)界緊密合作的典型代表。在這項(xiàng)工作中,賽靈思提供了 FPGA 器件的模型和數(shù)據(jù)集,并提供了先進(jìn)的動(dòng)態(tài)功耗分析方法和技術(shù)。由于學(xué)術(shù)界對(duì) Virtex II FPGA 架構(gòu)比較熟悉,因此不需要 FPGA 廠商公布額外的機(jī)密信息,使得這項(xiàng)工作使用的方法論有著很強(qiáng)的通用性。
04?Stratix FPGA 的布線和邏輯架構(gòu)
一句話總結(jié):奠定五代 Stratix 核心架構(gòu)的基石之作
英文名: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
發(fā)表時(shí)間:2003 年
推介人:Herman Schmit(卡耐基梅隆大學(xué))
在過去的很多年中,由 Jonathan Rose 教授領(lǐng)導(dǎo)的多倫多大學(xué)團(tuán)隊(duì)構(gòu)建了名為 VPR 的 FPGA 設(shè)計(jì)工具套件,并用來設(shè)計(jì)和探索簡化過的 FPGA 系統(tǒng)架構(gòu)和微架構(gòu)。VPR 包含 FPGA 后端設(shè)計(jì)的很多算法和流程,包含邏輯封裝、布局和布線等等,這使得很多的 FPGA 架構(gòu)問題都可以借助 VPR 進(jìn)行量化分析。而這也使得多倫多大學(xué)成為了全球最重要的 FPGA 學(xué)術(shù)研究中心之一。
在 1998 年,Jonathan Rose 教授創(chuàng)辦了一個(gè)名為 RightTrack CAD 的初創(chuàng)公司,其主旨就是將 VPR 進(jìn)行商業(yè)轉(zhuǎn)化。與此同時(shí),Altera 也在努力改進(jìn)他們的 FPGA 架構(gòu),以應(yīng)對(duì)賽靈思成功的 Virtex 系列帶來的競爭。在 2000 年,Altera 收購了 RightTrack,并開發(fā)了 Altera FPGA 建模工具包(Modelling Toolkit),用來優(yōu)化他們的第一代 Stratix FPGA 架構(gòu)。
這項(xiàng)成果就詳細(xì)介紹了 Stratix 架構(gòu)的技術(shù)細(xì)節(jié),見下圖。更重要的是,它系統(tǒng)闡述了架構(gòu)師在設(shè)計(jì) Stratix 時(shí)所作決策的具體過程。這項(xiàng)工作證明了 VPR 所采用的定量分析方法同樣適用于分析實(shí)際的性能和設(shè)計(jì)指標(biāo),如 FPGA 的物理面積和關(guān)鍵路徑延時(shí)等。這些方法和工具已經(jīng)被用于至少 5 代 Stratix FPGA 的設(shè)計(jì)。而這項(xiàng)工作也成功的展示了學(xué)術(shù)研究與工業(yè)界技術(shù)發(fā)展之間的緊密聯(lián)系與合作。
05??量化 FPGA 與 ASIC 的區(qū)別
一句話總結(jié):FPGA 基準(zhǔn)測試的標(biāo)桿之作
英文名:Measuring the Gap between FPGAs and ASICs
作者:Ian Kuon, Jonathan Rose
發(fā)表年份:2006
推介人:Herman Schmit(卡耐基梅隆大學(xué))
自發(fā)表以來,這項(xiàng)工作已被引用超過 1400 次。它的最主要貢獻(xiàn)之一,就是對(duì)可編程性的成本進(jìn)行了量化。這項(xiàng)工作表明,F(xiàn)PGA 的核心面積要比一個(gè)標(biāo)準(zhǔn)的 ASIC 單元大 40 倍。對(duì)于所有致力于提升和改進(jìn) FPGA 架構(gòu)的工作來說,這就是它們最主要的動(dòng)力之一。
在這項(xiàng)工作之前,F(xiàn)PGA 與 ASIC 之間大多數(shù)的比較都基于小型電路,并且傾向于比較 FPGA 與掩膜可編程門陣列(mask-programmable gate arrays)。在這種情況下,F(xiàn)PGA 只消耗大概 10 倍的額外面積。然而,到了 2006 年,ASIC CAD 工具已經(jīng)得到了長足的發(fā)展和進(jìn)步?;诳删C合的邏輯單元的 ASIC 設(shè)計(jì)已經(jīng)成為了業(yè)界的常見選擇。
從客觀上講,這里所說的 40 倍面積大小實(shí)際上不夠合理,因?yàn)檫@里只考慮了 FPGA 核心區(qū)域的面積,同時(shí)很多邏輯和算術(shù)運(yùn)算單元都沒有使用固化的乘法器幫助實(shí)現(xiàn)。在這項(xiàng)成果中,它根據(jù)電路中是否包含算術(shù)運(yùn)算、內(nèi)存單元、結(jié)構(gòu)化邏輯以及寄存器,將待研究的基準(zhǔn)電路集分成了四大類,見下圖。在包含邏輯單元和算術(shù)運(yùn)算單元的電路設(shè)計(jì)中,如果 FPGA 架構(gòu)里包含固化的乘法器,那么相比 ASIC 而言 FPGA 的面積會(huì)大 28 倍。
這項(xiàng)工作更重要的貢獻(xiàn)是向人們揭示了 FPGA 的架構(gòu)特性(如固化的內(nèi)存單元和 DSP 等)與基準(zhǔn)測試結(jié)果的相關(guān)性。同時(shí),這項(xiàng)工作深入分析了 FPGA 里固化的邏輯結(jié)構(gòu)對(duì)性能和成本的影響與關(guān)聯(lián),而這也直接對(duì)現(xiàn)代 FPGA 的架構(gòu)設(shè)計(jì)產(chǎn)生了深遠(yuǎn)影響。在現(xiàn)代 FPGA 中,關(guān)于將哪些 IP 或邏輯電路采用硬核的方式實(shí)現(xiàn)已經(jīng)成為了影響 FPGA 發(fā)展的重要命題。這與諸如 LUT 大小、布線拓?fù)浣Y(jié)構(gòu)等傳統(tǒng) FPGA 架構(gòu)問題同樣重要。
在學(xué)術(shù)界,像這樣的基準(zhǔn)測試工作總是充滿爭議的。因?yàn)樗鼈円丛诒容^時(shí)采用了不同的衡量標(biāo)準(zhǔn),要么對(duì)比較的標(biāo)準(zhǔn)進(jìn)行了抽象,使得結(jié)果不具有擴(kuò)展性和通用性。然而,這項(xiàng)成果為這類工作樹立了典范,它展示了如何客觀的做比較,以及如何細(xì)致的描述比較的具體細(xì)節(jié),這樣使得研究者可以從結(jié)果中得到自己的結(jié)論,并將這種思想應(yīng)用到今后的研究工作中。
評(píng)論