鑒于對(duì)高級(jí)快速原型設(shè)計(jì)和在無(wú)人機(jī)平臺(tái)上部署ISR應(yīng)用程序的需求不斷增加,系統(tǒng)工程師將明智地檢查與工作資格相匹配的可重構(gòu)架構(gòu)和靈活的軟件工具。
可重構(gòu)計(jì)算系統(tǒng)是為無(wú)人機(jī) (UAV) 上的情報(bào)、監(jiān)視和偵察 (ISR) 應(yīng)用提供異構(gòu)數(shù)字信號(hào)處理 (DSP) 計(jì)算解決方案的絕佳且越來越受歡迎的選擇。與其他類型的系統(tǒng)相比,可以為ISR無(wú)人機(jī)身應(yīng)用創(chuàng)建具有更小尺寸,重量和功率(SWaP)和更高計(jì)算密度的可重構(gòu)系統(tǒng)。
此外,現(xiàn)在可以使用ANSI標(biāo)準(zhǔn)C或FORTRAN進(jìn)行編程環(huán)境,并使程序員能夠從硬件中提取所有可能的計(jì)算性能。使用標(biāo)準(zhǔn)編程語(yǔ)言大大縮短了學(xué)習(xí)曲線,與使用專有非標(biāo)準(zhǔn)語(yǔ)言或純硬件語(yǔ)言的編程環(huán)境相比,可以更快地部署應(yīng)用程序。因此,無(wú)人機(jī)ISR系統(tǒng)開發(fā)人員應(yīng)該考慮在其設(shè)計(jì)中必須重新配置的計(jì)算架構(gòu)和靈活的軟件工具。
無(wú)人機(jī)有效載荷的可重構(gòu)計(jì)算
在考慮快速部署無(wú)人機(jī)有效載荷時(shí),可重新配置的硬件是關(guān)鍵??芍貥?gòu)系統(tǒng)的核心是FPGA集成電路。該器件可以顯式編程以執(zhí)行特定于應(yīng)用的算法,并且相對(duì)于通用設(shè)備(如CPU或通用圖形處理器單元(GPGPU))產(chǎn)生非常高的計(jì)算效率。反過來,這種計(jì)算效率為在可重構(gòu)系統(tǒng)上執(zhí)行的應(yīng)用程序產(chǎn)生高性能的每瓦特,從而能夠?yàn)榛跓o(wú)人機(jī)的ISR應(yīng)用創(chuàng)建計(jì)算密集/低SWaP設(shè)計(jì)。
表 1 比較了在僅 CPU 系統(tǒng)、與 GPGPU 配對(duì)的 CPU 和與 FPGA 配對(duì)的 CPU 上執(zhí)行單精度矩陣乘法基準(zhǔn)測(cè)試的情況??芍貥?gòu)系統(tǒng)的每瓦性能比僅支持 CPU 的系統(tǒng)高出 1.7 倍,比 CPU/GPGPU 系統(tǒng)高出 2.5 倍。請(qǐng)注意,CPU/FPGA 組合的總功耗是最低的功耗。
表 1:矩陣乘法性能/功率比。資料來源:Altera公司,“FPGA協(xié)處理演進(jìn):持續(xù)性能接近峰值性能”,WP-01031-1.1,2009年6月版本1.1。
(單擊圖形可縮放 1.9 倍)
快速無(wú)人機(jī)有效載荷部署的一個(gè)主要因素是標(biāo)準(zhǔn)編程工具的可用性,這些工具與可重新配置的計(jì)算機(jī)硬件密切相關(guān)。集成來自不同供應(yīng)商的編譯器、軟件工具、FPGA 板和 CPU 板的零碎方法會(huì)減慢部署速度。如果工具和硬件具有不同的供應(yīng)商,則必須創(chuàng)建一個(gè)系統(tǒng)運(yùn)行時(shí)環(huán)境來統(tǒng)一系統(tǒng),然后才能開始有意義的應(yīng)用程序工作。
一旦真正的應(yīng)用程序開發(fā)最終開始,一個(gè)供應(yīng)商的編譯器宏庫(kù)(假設(shè)它們確實(shí)有庫(kù))將不會(huì)針對(duì)另一個(gè)供應(yīng)商的FPGA板進(jìn)行優(yōu)化,因此應(yīng)用程序開發(fā)必須經(jīng)歷性能規(guī)格的降低或時(shí)間表擴(kuò)展。無(wú)人機(jī)有效載荷開發(fā)的零碎方法中的這些和其他固有困難共同將“快速”一詞與“部署”分離,通常以意想不到的方式,并且總是在應(yīng)用程序開發(fā)期間。因此,來自一個(gè)供應(yīng)商的完整,集成良好的軟件和硬件包通常是快速部署無(wú)人機(jī)有效載荷的最佳途徑。
可擴(kuò)展的系統(tǒng)和并行編程
模塊化、可擴(kuò)展的系統(tǒng)非常適合代碼重用,這也加速了無(wú)人機(jī)有效載荷的部署。軟件設(shè)計(jì)的模塊化允許經(jīng)過驗(yàn)證的代碼在多個(gè)ISR應(yīng)用程序中重復(fù)使用,而硬件模塊化則支持根據(jù)任務(wù)參數(shù)和無(wú)人機(jī)機(jī)身的SWaP要求輕松擴(kuò)展ISR應(yīng)用程序。如今,大多數(shù)異構(gòu)系統(tǒng)都使用一種或另一種形式的 PCIe,使協(xié)處理器能夠通過 CPU 訪問系統(tǒng)內(nèi)存。但是,PCIe 的有效可擴(kuò)展性受到其阻塞的“多對(duì)一”架構(gòu)的限制(圖 1)。PCIe 協(xié)處理器僅通過 CPU 另一端的系統(tǒng)內(nèi)存訪問數(shù)據(jù)并相互通信。雖然 PCIe 確實(shí)通過 PCIe 交換機(jī)提供點(diǎn)對(duì)點(diǎn)連接,但一個(gè)點(diǎn)始終是 CPU 內(nèi)存,另一個(gè)點(diǎn)始終是 PCIe 設(shè)備。真正可用的擴(kuò)展需要分布式內(nèi)存和交換網(wǎng)絡(luò),該網(wǎng)絡(luò)具有與交換機(jī)上任何模塊之間的無(wú)阻塞、“多對(duì)多”連接。
圖 1:典型的基于 PCIe 的協(xié)處理器架構(gòu),由于其阻塞“多對(duì)一”點(diǎn)對(duì)點(diǎn)架構(gòu),可擴(kuò)展性有限
一個(gè)能夠很好地?cái)U(kuò)展的模塊化硬件系統(tǒng)只是一個(gè)良好的開端。軟件工具必須為程序員提供對(duì)可重構(gòu)系統(tǒng)中密集計(jì)算效率的直觀或自動(dòng)訪問。如果程序員必須深入到系統(tǒng)的體系結(jié)構(gòu)中以查找和開發(fā)滿足應(yīng)用程序性能要求的解決方案,則無(wú)人機(jī)有效載荷的開發(fā)和部署會(huì)受到影響。有標(biāo)準(zhǔn)的計(jì)算機(jī)語(yǔ)言可用于在可重構(gòu)系統(tǒng)中對(duì)CPU和FPGA進(jìn)行編程,但僅使用C或FORTRAN并不能實(shí)現(xiàn)ISR應(yīng)用的性能要求。C 和 FORTRAN 是傳統(tǒng)上用于 CPU 的串行編程語(yǔ)言,其中指令按順序執(zhí)行,一次一條指令??芍貥?gòu)系統(tǒng)的性能是通過并行編程實(shí)現(xiàn)的:多個(gè)程序指令流同時(shí)作用于多個(gè)數(shù)據(jù)流。
幸運(yùn)的是,科學(xué)超級(jí)計(jì)算社區(qū)已經(jīng)為C和FORTRAN開發(fā)了并行化技術(shù),其中許多技術(shù)已被一些可重新配置的系統(tǒng)編譯器采用。以編程方式指定并行性的一種方法是 OpenMP 并行部分雜注語(yǔ)句。在傳統(tǒng)的大型微處理器集群上,并行部分雜注所包含的代碼塊可以在CPU上并行執(zhí)行。在可重配置的系統(tǒng)上,OpenMP 樣式編譯指示指定的代碼塊在 FPGA 中實(shí)例化,以便這些“硬件代碼塊”并行執(zhí)行。另一種方法是數(shù)據(jù)流,其中一系列計(jì)算在時(shí)間上重疊;例如,計(jì)算塊可以在收到前一個(gè)塊的第一個(gè)結(jié)果時(shí)開始執(zhí)行,而不是在開始之前等待前一個(gè)計(jì)算塊的所有結(jié)果生成。
除了從科學(xué)超級(jí)計(jì)算中借用的并行化技術(shù)外,大多數(shù)可重新配置的系統(tǒng)編譯器還執(zhí)行自動(dòng)循環(huán)流水線以提高執(zhí)行性能。此外,可重新配置的系統(tǒng)編譯器在FPGA硬件中自動(dòng)創(chuàng)建程序循環(huán)中的所有算術(shù)運(yùn)算,所有這些運(yùn)算都是并行執(zhí)行的。與此形成鮮明對(duì)比的是微處理器編譯器,微處理器編譯器受 CPU 設(shè)計(jì)中可用算術(shù)計(jì)算元素?cái)?shù)量的限制。這里真正的問題是給定系統(tǒng)的特定軟件工具集的有效性。但是,軟件工具確實(shí)存在,可以為計(jì)算密集型ISR應(yīng)用程序的程序員提供可重新配置硬件中的潛在性能。
可重配置性有助于快速部署、SWaP
如今,可重新配置的系統(tǒng)和工具可用于快速開發(fā)和部署 ISR 應(yīng)用程序??芍貥?gòu)系統(tǒng)的密集計(jì)算特性使其成為尺寸、重量和功耗至關(guān)重要的解決方案的理想選擇。軟件工具與硬件緊密耦合,使軟件程序員能夠在低SWaP處理器有效載荷中快速實(shí)現(xiàn)高性能。
因此,SRC計(jì)算機(jī)提供模塊化,可擴(kuò)展,可重新配置的低SWaP系統(tǒng),帶有軟件工具和庫(kù),使用ANSI標(biāo)準(zhǔn)語(yǔ)言快速部署無(wú)人機(jī)的計(jì)算密集型ISR應(yīng)用程序。SRC Computers開發(fā)了一種高帶寬,低延遲的網(wǎng)絡(luò)交換機(jī),除了用于模塊間通信的數(shù)據(jù)流構(gòu)造,用于代碼塊并行化的OpenMP樣式編譯指示以及用于指令級(jí)并行化的自動(dòng)循環(huán)流水線外,還提供了必要的非阻塞“多對(duì)多”模塊。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19103瀏覽量
228826 -
dsp
+關(guān)注
關(guān)注
552文章
7959瀏覽量
347933 -
無(wú)人機(jī)
+關(guān)注
關(guān)注
226文章
10304瀏覽量
179162
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論