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