嵌入式軟件開發(fā)需要對目標架構及其使用有廣泛透徹的認識和了解。把嵌入式系統(tǒng)從概念轉化為能夠有效地在硬件環(huán)境中部署的高效解決方案,需要一系列步驟。整個過程包括:分析、架構搭建、評估、硬件支持、設計、編碼、調(diào)試、集成、驗證和確認。在這個過程中,如果硬件資源沒有得到有效利用,或是軟件沒有針對硬件資源進行優(yōu)化,都可能對性能造成嚴重影響。
ceva-x系列dsp內(nèi)核中采用的創(chuàng)新架構需要完全新穎的方案,以充分利用可能的設計變量來控制總體性能。ceva-x1620是ceva-x內(nèi)核系列的第一款產(chǎn)品,采用非常先進的并行架構,在一個機器周期中可執(zhí)行多達8條指令。對于這類先進架構,高效能及高效率地使用硬件資源非常重要。
此外,ceva-x整合了完整的存儲器子系統(tǒng),負責分層存儲器管理。這包括直接存儲訪問(dma)控制器、板上緩存、寫入緩沖器、內(nèi)部及外部存儲器、存儲器管理及仲裁。利用這種廣泛的功能集,通過完整精確的仿真環(huán)境和先進的配置能力,就可以輕松地完成軟件應用的優(yōu)化。
對仿真環(huán)境的要求
對基于dsp/實時的軟件開發(fā)而言,仿真環(huán)境非常重要,需要具有以下幾個特點。
可視性
透明性——可以監(jiān)控內(nèi)部硬件和硬件邏輯的工作。即使它們不是硬件接口的一部分,在實際的硬件環(huán)境中一般不可見,但是,了解它們的情況是解決問題和提高性能的關鍵。
調(diào)試——當缺乏精確的仿真環(huán)境時,在只提供有限可視性的硬件上運行所有進程意味著需要利用更多的資源,并會增加調(diào)試時間。因此,仿真環(huán)境應提供硬件本身不支持的額外調(diào)試功能。
靈活性——這是指在提交給最終系統(tǒng)架構之前檢查幾種不同系統(tǒng)布局的能力。實現(xiàn)最佳性能通常要設置不同的硬件環(huán)境參數(shù),并利用軟件進行反復試驗。對于所選擇的具體設置,需要依靠仿真環(huán)境來準確預測其對系統(tǒng)的影響。
時間——在能夠執(zhí)行所有運行時間測試之前,無需耗費太多時間和增加特殊硬件就能夠實現(xiàn)并行硬件和軟件的開發(fā)。
精確仿真和全面配置
先進的仿真和配置環(huán)境完全采用軟件建模,并具有全面廣泛的配置能力,能夠幫助系統(tǒng)架構師和dsp軟件工程師更好地進行應用設計。這種方法和環(huán)境顯著提高了系統(tǒng)性能,相應減少了開發(fā)時間。全面的建模環(huán)境意味著ceva-x1620實現(xiàn)方案能夠以多種模式用于不同的開發(fā)階段或不同的開發(fā)目的。
仿真
工具中最先支持的是類似于標準仿真解決方案的基本指令集仿真(iss)模式。在這種模式中,每一條指令都作為不可分割的階段被執(zhí)行。該模式執(zhí)行速度非???,便于軟件開發(fā)。
周期精確仿真(cas)是更先進的仿真模式。在這種模式中,包括所有流水線級的架構行為被完全仿真。在進行精度檢查或硬件驗證時,該模式對全系統(tǒng)仿真非常重要,這時仿真器可以作為內(nèi)核模塊方便地模擬真實硬件的功能。除了周期精確能力之外,全部存儲器子系統(tǒng)(mss)都被建模,可對整個系統(tǒng)進行仿真。這樣一來,由于軟件與硬件的交互作用,因此能夠實現(xiàn)真實精確的仿真。這種模式包括了所有的mss模塊,故可對所有的存儲層次進行調(diào)試,包括緩存、寫緩沖、內(nèi)部/外部存儲器。另外,它也可以通過仿真分析不同的存儲器布局情況,以針對每一種布局,觀察算法執(zhí)行期間存儲器的訪問和沖突情況。
配置
除了全面完善的仿真能力之外,ceva還提供面向c-level的應用程序及存儲器的配置器。這種配置器可對整個仿真環(huán)境進行自動分析。
它能在基本的iss模式中提供完全的c-level配置。通過查找出潛在的問題,比如應用內(nèi)核、瓶頸和最耗費代碼行的部分,可有效地提高軟件性能。這是非常強有力的工具,能夠減少關鍵功能的時鐘數(shù)和非關鍵功能的代碼大小。應用程序配置在c函數(shù)上被自動執(zhí)行,無需修改任何代碼,同時還可用于匯編程序。
然后,應用程序配置可基于cas和mss仿真器被執(zhí)行,以根據(jù)每一個功能的存儲映射和存儲沖突獲得它的真正應用性能。
在應用程序以cas和mss模式被配置及有關功能已被確定后,配置器可給出完整的存儲器使用信息,其中包括緩存使用和沖突、每項功能的停滯概要、代碼存儲停滯、數(shù)據(jù)存儲停滯、代碼存儲沖突及數(shù)據(jù)存儲沖突的相關信息。這種全面透徹的mss配置信息可指導用戶針對應用中的每一項特定功能優(yōu)化存儲使用。
結語
目前,這種建模和配置流程已經(jīng)被成功地利用于實現(xiàn)某些算法功能代碼數(shù)量的精簡,并已協(xié)助眾多采用ceva內(nèi)核進行最終設計的芯片組獲得了出色的性能。 信息來源:電子設計應用