賽靈思FPGA:面向動(dòng)態(tài)應(yīng)用的靈活操作系統(tǒng)
一臺(tái)在未知的土地上行進(jìn)的自動(dòng)機(jī)器人;一部能夠根據(jù)信號(hào)強(qiáng)度改變解壓縮格式的視頻解碼器;一套寬帶電子對(duì)抗系統(tǒng);一種用于機(jī)動(dòng)車輛的自適應(yīng)圖像跟蹤算法……這些都屬于大量涌現(xiàn)的隨環(huán)境瞬變做出快速響應(yīng)的新興嵌入式或者關(guān)鍵任務(wù)應(yīng)用。在過去,靜態(tài)決策最壞情況分配曾為嚴(yán)格的實(shí)時(shí)約束提供了解決方案,而現(xiàn)在靈活性也成為一項(xiàng)要求。法國某研究項(xiàng)目建議使用的解決方案是一種分布在 FPGA 資源上,對(duì)軟硬件線程進(jìn)行管理的操作系統(tǒng)。
我們的目標(biāo)是設(shè)計(jì)一種支持新的系統(tǒng)分區(qū)類型的架構(gòu),讓軟/硬件組件遵循同一執(zhí)行模型。這就要求高度靈活的可擴(kuò)展操作系統(tǒng)。
近年來,特別是在嵌入式系統(tǒng)中,隨著片上系統(tǒng) (SoC) 密度的增大,可以通過并行處理任務(wù)和數(shù)據(jù),來增加運(yùn)算單元,最終滿足設(shè)計(jì)約束的要求。目前,隨著異構(gòu)計(jì)算內(nèi)核的加入,這種趨勢(shì)仍在繼續(xù)。不過這種技術(shù)遇到了難以逾越的復(fù)雜性障礙,因?yàn)樗枰獙?duì)編程模型進(jìn)行更高層次的抽象。
為了攻克這些難題,我們建議定義一個(gè)統(tǒng)一的執(zhí)行模型,不管線程是映射到硬件還是軟件上都可以使用。該執(zhí)行模型的硬件實(shí)現(xiàn)高度依賴動(dòng)態(tài)可重配置邏輯的使用。全分布式架構(gòu)結(jié)合傳統(tǒng)多核軟件子系統(tǒng),可同時(shí)兼?zhèn)滠?硬件的優(yōu)點(diǎn)。軟件部分很適用于智能化事件控制和決策,而硬件部分則擅長于提高能效、吞吐量以及數(shù)字運(yùn)算。通過兩者的結(jié)合,無論是針對(duì)每種特定的應(yīng)用,還是針對(duì)某一應(yīng)用的某一特定狀態(tài),我們都能在性能與資源利用率之間實(shí)現(xiàn)最佳平衡。
新型 FPGA 平臺(tái)具有高度的靈活性和可擴(kuò)展性,且集成度高,能夠在單個(gè)或兩個(gè)芯片上集成一個(gè)完整的異構(gòu)動(dòng)態(tài)運(yùn)算系統(tǒng)。
自適應(yīng)硬件在諸如導(dǎo)彈電子和軟件無線電等功耗和系統(tǒng)尺寸有限,同時(shí)對(duì)環(huán)境高度敏感的應(yīng)用中非常有用。采用動(dòng)態(tài)重配置技術(shù),可以在不增加系統(tǒng)功耗或電路板尺寸的情況下,實(shí)現(xiàn)支持不同應(yīng)用模式的專用架構(gòu)。傳統(tǒng)解決方案?jìng)?cè)重于控制部分,現(xiàn)在看來似乎已經(jīng)不能有效地滿足執(zhí)行單元的數(shù)量及其異構(gòu)性要求。只有采用兼具靈活性和可擴(kuò)展性的分布式方案,才能夠創(chuàng)建出面向未來的架構(gòu)。
雖然這種技術(shù)潛力無限,但對(duì)整個(gè)業(yè)界來說,動(dòng)態(tài)重配置的使用仍然有相當(dāng)大的難度。工程師需要一種清晰明確的設(shè)計(jì)方式,既能夠充分地發(fā)揮動(dòng)態(tài)重配置的優(yōu)勢(shì),又不影響應(yīng)用描述,而且最重要的是,不增加開發(fā)成本。為了將動(dòng)態(tài)性和高性能結(jié)合起來,我們建議采用基于多線程的執(zhí)行模型對(duì)異構(gòu)性進(jìn)行抽象。開發(fā)人員可以將應(yīng)用當(dāng)作線程集來進(jìn)行編程,而不必考慮線程是在標(biāo)準(zhǔn)處理器還是專用硬件上執(zhí)行。在這種情況下,動(dòng)態(tài)重配置的作用是進(jìn)行線程優(yōu)先調(diào)度(thread preemption)和上下文切換。由法國國家研究署 (French National Research Agency (ANR)) 贊助的 FOSFOR(靈活的可重配置平臺(tái)操作系統(tǒng))項(xiàng)目就專門負(fù)責(zé)開發(fā)這種新一代嵌入式、分布式實(shí)時(shí)操作系統(tǒng)。
評(píng)論