基于DSP系統(tǒng)模型建立和設定實現(xiàn)最佳模擬
嵌入式軟件發(fā)展需要對目標架構及其使用有著廣泛而透徹的認識和瞭解。把嵌入式系統(tǒng)從概念轉化成能夠有效地在硬件環(huán)境中部署的高效能解決方案,需要若干個步驟。整個過程包括:分析、架構搭建、評估、硬件支援、設計、編碼、除錯、整合、驗證和確認,過程中準確度極為重要。硬件資源的使用效率低,或者是軟件沒有針對那些硬件資源進行最佳化,都可能對性能帶來嚴重的影響。
CEVA-X系列采用的創(chuàng)新架構,充分利用可能的設計變數(shù)來控制整體性能。CEVA-X1620是CEVA-X核心系列的第一款產(chǎn)品,具有先進的平行架構(Parallel Architecture),在一個機器周期中可執(zhí)行多達八條指令。對于這類先進架構,高效能及有效的硬件資源使用更是格外重要。此外,CEVA-X整合了完整的存儲器系統(tǒng),負責階層(Hierarchy)存儲器管理,包括直接存儲器存取(DMA)控制器、板上(On Board)快取存儲器、寫入緩沖器、內部及外部存儲器、存儲器管理及仲裁器。利用這種廣泛的功能集,透過完整精確的模擬環(huán)境和先進的設定(Profiling)能力,即可簡易地最佳化軟件應用。
透過模擬減少時間、降低成本、提高性能
對基于DSP/即時(Real Time)軟件發(fā)展而言,模擬環(huán)境非常重要,有幾項效益如下:
可見性/透明性
硬件內部構件和硬件邏輯的工作可被監(jiān)控,即使它們不是硬件介面的一部分,但是這在實際的硬件環(huán)境中往往是不可見的。瞭解背后的情況是解決問題和提高性能的關鍵。
除錯
模擬環(huán)境提供了硬件本身不支援的額外除錯功能。因此,在只提供有限可見性的硬件上運行所有程序(在缺乏精確模擬環(huán)境時),意味著不得不利用更多的資源及更長的除錯時間。
靈活性
亦即在提交給最終系統(tǒng)架構之前檢查若干系統(tǒng)佈局(Layout)和場景(Scenario)的能力。要實現(xiàn)最佳性能,全都是利用硬件環(huán)境參數(shù)及運行其上的軟件進行反覆試驗的結果。對于所選擇的具體裝置,不可能總是準確預測到對系統(tǒng)的影響。
時間
在能夠執(zhí)行所有實際測試(run-time)之前,不用損失時間和增加特殊硬件費用,就能實現(xiàn)平行硬件和軟件的開發(fā)。
預先計畫 即時模擬
CEVA開發(fā)出的模擬和設定環(huán)境,完全採用軟件建立模型,再加上廣泛的設定能力,可應用于諸多設計領域,對系統(tǒng)架構師和DSP軟件發(fā)展人員提供很大幫助。這種方法和環(huán)境可顯著地提高系統(tǒng)性能,減少開發(fā)時間。全面的模型建立環(huán)境,意味著CEVA-X1620實現(xiàn)方案能夠以多種模式用于不同的開發(fā)階段或不同開發(fā)目的。
圖一:CEVA的模擬環(huán)境除錯工具
ISS和CAS模擬模式
最初支援的是類似于標準模擬解決方案的基本指令集模擬(Instruction Set Simulation,ISS)模式。在這種模式中,每一條指令都被當作不可分割的階段來執(zhí)行。該模式執(zhí)行速度非??欤阌谲浖l(fā)展。
周期精確模擬(CAS)是更先進的模擬模式。在這種模式中,架構的行為被完全模擬,包括所有的管線級。在檢查精度或硬件驗證時,該模式對完整的系統(tǒng)模擬非常重要,屆時模擬器可以當作內核模組,很方便地模擬真實硬件的功能。除了周期精確能力之外,全部存儲器子系統(tǒng)(MSS)都被建立成模型,可對整個系統(tǒng)進行共同模擬。這樣一來,由于軟件與硬件的交互作用,便能夠實現(xiàn)軟件行為的真實精確的模擬。因這種模式包括了所有的MSS模組,故可對所有的存儲器層次進行除錯,包括快取存儲器、寫入緩沖器、內部外部存儲器。可在模擬中分析不同存儲器的布局情況,從而觀察在每一種情況下,在演算法執(zhí)行期間存儲器的存取和沖突情形。
完整設定 針對模擬環(huán)境自動分析
除了上述的模擬能力之外,CEVA還提供針對C-level導向的應用程式及存儲器的設定器。這種設定器可對整個模擬環(huán)境進行自動分析。
第一個功能是在基本的ISS模式中提供完整的C-level設定。經(jīng)由找出潛在的問題,比如應用核心、瓶頸和最耗費程式碼執(zhí)行的部分,藉此有效提高軟件性能。這項工具能夠減少關鍵功能的時脈消耗和非關鍵功能的程式碼大小。應用程式設定在C函數(shù)上來自動執(zhí)行,不需要修改任何代碼,同時還可用于組合語言程式。
接下來,應用程式設定可依據(jù)CAS和MSS模擬器來被執(zhí)行,以便根據(jù)每一個功能的存儲器映射和存儲器沖突來獲得它真正的應用性能。
最后,在應用程式以CAS和MSS模式被設定及有關功能已被確定后,設定器給出了完整的存儲器使用資訊,其中包括快取存儲器使用和沖突、每項功能的停滯概要、代碼存儲器停滯、資料存儲器停滯、代碼存儲器沖突及資料存儲器沖突的相關資訊。這種全面的MSS設定資訊,可指導使用者針對應用中的每一項特定功能最佳化存儲器使用。
目前CEVA的多媒體和音頻開發(fā)團隊,已成功利用上述模型建立和設定流程來精簡某些演算法功能的時脈消耗和程式碼,同時也協(xié)助采用此核心的客戶晶片組設計提升效能。