基于EDA的嵌入式系統軟硬件劃分方法
根據概率估計算法的不同,EDAs 分為一階EDAs 和高階EDAs 兩大類,其中,二階EDAs 中的建立在一般結構Gauss 網絡上的分布估計算法(GN-EDA )采用一種不使用條件概率密度函數來產生樣本的方法,無需進行Gauss 網絡結構的學習,大大減少了計算量,而且可以獲得高精度的聯合密度函數[5]。
GN- EDA 的算法步驟為:
4 仿真試驗
算法采用C++ 在m IntelP41.6GHz 256MRam 環境下實現,CDFG 的結點數、時間約束、每個節點的信息、結點之間的連接關系都是隨機生成的。首先,隨機生成了 30、60、100 、200 個節點的 CDFG,并隨機生成了各個節點的性能參數,同時根據對節點的性能參數的分析,確定了系統的約束條件以及這些約束條件各自的權重。CDFG 硬件執行時間為軟件執行時間的20%~50%,硬件代價約束取值為總硬件代價之和的50% 。對每個 CDFG 都進行 100 次的測試,并將最終求出的最優解的代價函數值的平均值同遺傳算法求出的值進行了比較,實驗數據如表 1 所示。
表 1 為60 節點系統隨機運行10 次的統計結果。從表中數據可以看出,與遺傳算法相比,本文提出的GN-EDA 算法在算法的執行速度和搜索目標函數最優值方面都有很大的優勢。對于各節點數系統,尤其是對于較多節點數系統,GN-EDA 算法有更為優化的結果,且劃分結果較為穩定。
圖2 系統性能收斂曲線
圖 2 為 60 節點系統隨機運行30 次,劃分過程中平均每代最佳有效個體對應的系統性能,從圖中可以看出GN-EDA 算法有很好的收斂性。
5 結論
本文作者創新點:運用一種建立在一般結構Gauss 網絡上的分布估計算法對嵌入式系統軟硬件劃分問題進行了研究,該算法無需進行Gauss 網絡結構的學習,大大減少了計算量,適用于處理日趨復雜的嵌入式系統軟硬件劃分問題。實驗結果表明,GN-EDA 算法能有效地完成軟硬件劃分,并具有較好的計算穩定性。
評論