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