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