91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為您的 DSP 應(yīng)用程序優(yōu)化軟件

張勇 ? 來源:DengQilong ? 作者:DengQilong ? 2022-07-21 16:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

經(jīng)驗豐富的嵌入式系統(tǒng)程序員已經(jīng)知道將代碼優(yōu)化到目標(biāo)平臺的大部分技巧,但是我們中的許多人相對較晚才接觸到嵌入式系統(tǒng)編程,因為我們在限制較少的平臺上學(xué)習(xí)了我們的編碼技能。除了算法的一般效率之外,我們不必過多擔(dān)心硬件細節(jié),但在嵌入式應(yīng)用程序中,我們需要更加小心,當(dāng)然是為了性能,還要適應(yīng)我們想要做的實際限制我們的硬件目標(biāo),尤其是可用內(nèi)存的類型和大小。這些系統(tǒng)中的內(nèi)存是您必須將所有軟件和所有工作數(shù)據(jù)裝入其中的手提箱,而且手提箱通常比您希望的要小得多。

作為一個額外的復(fù)雜因素,這些系統(tǒng)中通常有不止一種類型的內(nèi)存。為了保持編程簡單,您只看到一個邏輯內(nèi)存空間,但某些地址范圍可能以不同的方式在硬件中實現(xiàn)。一些空間可以實現(xiàn)為外部主存儲器,可以通過一級或多級高速緩存從處理器訪問。

一個常見的硬件優(yōu)化將實現(xiàn)另一個范圍作為緊耦合內(nèi)存 (TCM)。它與處理器位于同一芯片內(nèi),通常緊鄰該處理器。TCM 為存儲在該內(nèi)存中的任何指令或數(shù)據(jù)提供有保證的單時鐘周期訪問,這與標(biāo)準(zhǔn)內(nèi)存不同,標(biāo)準(zhǔn)內(nèi)存只有在指令/數(shù)據(jù)已經(jīng)在緩存中時才能提供該性能;否則它必須進入主存儲器,花費更多的時鐘周期。TCM 是(內(nèi)存映射)快速片上內(nèi)存的一個例子;還有其他用途,例如用于圖像處理中快速訪問的圖像緩沖區(qū)。

另一個考慮因素 - 使用片上存儲器可降低功耗,而使用主存儲器會消耗更多功率,這要歸功于更高的電流來驅(qū)動所有這些封裝引腳和芯片之間的電路板互連。這是低功耗應(yīng)用中的一個重要考慮因素。

為什么不只使用大的片上存儲器并從片外不頻繁地加載/存儲?不幸的是,大型片上存儲器顯著增加了芯片面積,并且隨著芯片尺寸的增長,該設(shè)備變得更加昂貴且競爭力下降。系統(tǒng)架構(gòu)師必須非常小心地平衡性能增益與此成本,考慮他們是否可能僅提供 16KB 的 TCM 與可能多達 1MB 的 TCM。這讓程序員有很多責(zé)任要盡可能節(jié)儉和謹慎地使用或規(guī)劃這些存儲器(如果你在早期的芯片架構(gòu)中有發(fā)言權(quán)),尤其是在涉及到你想要的功能或數(shù)據(jù)時使用快速內(nèi)存。

您需要在這里做的一些事情是相當(dāng)明顯的;我假設(shè)您從基于 PC 的實現(xiàn)或為早期產(chǎn)品開發(fā)的實現(xiàn)開始。由于您顯然對 DSP 感興趣,因此您可能計劃進行大量浮點計算。盡可能將數(shù)據(jù)類型從雙精度減少到單精度;僅此一項就可能將數(shù)據(jù)大小減半。

臨時內(nèi)存池是一種一次性分配內(nèi)存塊以滿足多個較小相關(guān)分配需求的方法,它在分配和釋放速度方面很受歡迎,但在內(nèi)存方面可能非常昂貴。嘗試將所有這些合并到一個內(nèi)存池中,只要它們不并行使用或硬著頭皮返回堆上的傳統(tǒng)malloc;這可能會慢一些,但在內(nèi)存中效率會高很多。

特別是在 TCM 方面,分析代碼以找到消耗最多運行時間的函數(shù)。您的策略將是從需求最高的功能開始,決定其中哪些可以適合 TCM。當(dāng)然,這里必須有一些判斷。如果一個高需求函數(shù)調(diào)用一個低需求函數(shù),你能負擔(dān)得起從緩存中拉出那個低需求函數(shù)嗎?只要緩存命中率很高,或者偶爾較長的延遲是可以容忍的,這可能就可以了。

在支持 MP3 和 FLAC 解碼器的音樂播放器中,較長的延遲可能是可以的。每首歌曲最多只能使用一個,因此它們不需要都駐留在快速內(nèi)存中。接受延遲加載所需的任何內(nèi)容,按需從片外加載到快速存儲器中。

您希望將生產(chǎn)代碼和數(shù)據(jù)壓縮到盡可能小的大小,因此作為一般良好衛(wèi)生的一點,請確保所有調(diào)試、分析和日志記錄代碼都包含在編譯指示中,這些編譯指示可以在生產(chǎn)構(gòu)建中禁用。在 PC 代碼中,您可能不會太擔(dān)心這一點(特別是如果您想在生產(chǎn)軟件上運行調(diào)試器),但在這里它是必不可少的。相反,您還應(yīng)該確保在 禁用該代碼的情況下運行所有回歸測試。只需要在調(diào)試中忽略一個運行時依賴項即可創(chuàng)建下游噩夢。

同樣,請確保您的軟件中的每一段代碼都在被使用。運行覆蓋測試。如果您發(fā)現(xiàn)未使用的代碼,則可能是早期版本的遺留問題,可能需要它。這里不是,所以你應(yīng)該能夠擺脫它,對吧?再次,你必須小心。也許這是對一個不能忽視的非常罕見的情況的錯誤處理。也許它應(yīng)該包含在回歸測試中,但直接觸發(fā)太難了。您必須根據(jù)與架構(gòu)師甚至硬件團隊的討論做出決定。

最后,與架構(gòu)師(如果需要,還有營銷人員)爭論他們要求包含哪些功能是真正必要的。他們可能沒有意識到,在您可能想到的每一次優(yōu)化之后,手提箱仍然不會關(guān)閉。然后他們將不得不決定可能不得不犧牲他們真正想要的真正酷的功能?;蛘?,也許他們必須回到業(yè)務(wù)團隊并要求更大的片上存儲器,使用您可以提供的關(guān)于這些存儲器需要增長多少的信息。無論哪種方式,你都會看起來不錯!

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    561

    文章

    8244

    瀏覽量

    366643
  • 嵌入式
    +關(guān)注

    關(guān)注

    5198

    文章

    20449

    瀏覽量

    334048
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    從算法到部署:Enclustra如何用DSP+FPGA/SoC專長,實現(xiàn)功耗與成本雙優(yōu)化?

    DSP技術(shù)數(shù)字信號處理(DSP)是FPGA和SoC的常見應(yīng)用領(lǐng)域。為了在此領(lǐng)域客戶提供最優(yōu)服務(wù),Enclustra積累了深厚的DSP專業(yè)知識,不僅能提供純粹的實現(xiàn)服務(wù),更能從零開始支
    的頭像 發(fā)表于 02-27 08:34 ?280次閱讀
    從算法到部署:Enclustra如何用<b class='flag-5'>DSP</b>+FPGA/SoC專長,實現(xiàn)功耗與成本雙<b class='flag-5'>優(yōu)化</b>?

    深入了解API:詳解應(yīng)用程序接口的作用和原理

    引言:在現(xiàn)代軟件開發(fā)領(lǐng)域中, API(Application Programming Interface,應(yīng)用程序接口)扮演著至關(guān)重要的角色。無論是在Web開發(fā)、移動應(yīng)用還是大型軟件系統(tǒng)中,API
    的頭像 發(fā)表于 11-03 09:37 ?356次閱讀

    【技術(shù)貼】解密艾飛天?DSP黑科技(三):特色算法與未來前瞻

    深度好文推薦優(yōu)質(zhì)的DSP產(chǎn)品需要承載優(yōu)秀的DSP算法,方能體現(xiàn)產(chǎn)品的核心價值。數(shù)模龍頭艾電子的艾飛天DSP特色算法,在提升產(chǎn)品性能和
    的頭像 發(fā)表于 10-29 18:48 ?408次閱讀
    【技術(shù)貼】解密艾<b class='flag-5'>為</b>飛天?<b class='flag-5'>DSP</b>黑科技(三):特色算法與未來前瞻

    【技術(shù)貼】解密艾飛天?DSP黑科技(二):產(chǎn)品迭代與性能飛躍

    深度好文推薦中國數(shù)模龍頭艾電子推出的艾飛天DSP在產(chǎn)品演進過程中,始終致力于吸收先進的技術(shù)成果,并結(jié)合自身需求與產(chǎn)品特點,進行針對性的優(yōu)化和創(chuàng)新,最終打造高度適配的產(chǎn)品解決方案。以
    的頭像 發(fā)表于 10-29 18:47 ?353次閱讀
    【技術(shù)貼】解密艾<b class='flag-5'>為</b>飛天?<b class='flag-5'>DSP</b>黑科技(二):產(chǎn)品迭代與性能飛躍

    如何在應(yīng)用程序調(diào)試期間分析棧和堆使用情況

    隨著 AMD Vitis 統(tǒng)一軟件平臺 2021.2 的發(fā)布,Vitis 引入了一個 Tcl 腳本,用于在應(yīng)用程序運行的特定時間點協(xié)助查找棧和堆的內(nèi)存使用情況。該腳本已延續(xù)到后續(xù)的 Vitis 版本
    的頭像 發(fā)表于 10-24 16:54 ?891次閱讀
    如何在<b class='flag-5'>應(yīng)用程序</b>調(diào)試期間分析棧和堆使用情況

    蜂鳥E203內(nèi)核優(yōu)化方法

    提高程序的響應(yīng)速度和并行度。 應(yīng)用程序優(yōu)化:針對具體的應(yīng)用場景,優(yōu)化算法和程序實現(xiàn),減少資源占用,提高效率。例如,開發(fā)需要用到的驅(qū)動
    發(fā)表于 10-21 07:55

    學(xué)生適合使用的SOLIDWORKS 云應(yīng)用程序

    隨著科技的不斷發(fā)展,計算機輔助設(shè)計(CAD)技術(shù)已經(jīng)成為現(xiàn)代工程教育的重要組成部分。SOLIDWORKS作為一款CAD軟件,其教育版云應(yīng)用程序學(xué)生提供了強大而靈活的設(shè)計平臺。本文將探討
    的頭像 發(fā)表于 09-15 10:39 ?777次閱讀
    學(xué)生適合使用的SOLIDWORKS 云<b class='flag-5'>應(yīng)用程序</b>

    ZEISS INSPECT應(yīng)用程序,解鎖工業(yè)測量的無限可能(二)

    在使用ZEISS INSPECT測量時,您是否曾覺得軟件功能不夠靈活? 您是否期待,能在現(xiàn)有功能基礎(chǔ)上,疊加單獨的功能模塊,以滿足的定制化需求? 您是否想過,如果軟件可以開放API接口與測試
    的頭像 發(fā)表于 09-12 14:30 ?899次閱讀
    ZEISS INSPECT<b class='flag-5'>應(yīng)用程序</b>,解鎖工業(yè)測量的無限可能(二)

    ZEISS INSPECT應(yīng)用程序,解鎖工業(yè)測量的無限可能(一)

    在使用ZEISS INSPECT測量時,您是否曾覺得軟件功能不夠靈活? 您是否期待,能在現(xiàn)有功能基礎(chǔ)上,疊加單獨的功能模塊,以滿足的定制化需求? 您是否想過,如果軟件可以開放API接口與測試
    的頭像 發(fā)表于 08-22 15:41 ?1805次閱讀
    ZEISS INSPECT<b class='flag-5'>應(yīng)用程序</b>,解鎖工業(yè)測量的無限可能(一)

    軟件更新 | TSMaster 2025.06版來了!AIO/DIO/DDS全面優(yōu)化,體驗再升級

    我們很高興帶來TSMaster2025.06版本的更新匯總!本次升級聚焦AIO、DIO、用戶事件、DDS支持、API文檔網(wǎng)頁版等核心功能,并釋放多項新API,全方位優(yōu)化軟件性能、增
    的頭像 發(fā)表于 07-25 20:04 ?1261次閱讀
    <b class='flag-5'>軟件</b>更新 | TSMaster 2025.06版來了!AIO/DIO/DDS全面<b class='flag-5'>優(yōu)化</b>,體驗再升級

    華秋DFM軟件升級時,提示“應(yīng)用程序無法正常啟動”怎么辦?

    最近有用戶反饋: 登錄華秋DFM軟件,點自動升級的時候有時會報錯,導(dǎo)致無法正常升級。 其中有一種情況是: 軟件自動升級時,彈出“應(yīng)用程序無法正常啟動(0xc000007b)。請單擊“確定\"
    發(fā)表于 06-12 18:32

    FANUC程序傳輸軟件的使用

    FANUC程序傳輸軟件的使用
    發(fā)表于 06-04 16:23 ?0次下載

    VirtualLab:光柵的優(yōu)化與分析

    光柵是光學(xué)工程師使用的最基本的工具。為了設(shè)計和分析這類組件,快速物理光學(xué)建模和設(shè)計軟件VirtualLab Fusion用戶提供了許多有用的工具。其中包括參數(shù)優(yōu)化,以輕松優(yōu)化系統(tǒng),以
    發(fā)表于 05-23 08:49

    如何在 Raspberry Pi AI Camera 上構(gòu)建開發(fā)人員提供實時的智能應(yīng)用程序!

    在這篇特邀文章中,我們的合作伙伴索尼公司的雷蒙娜-雷納(RamonaRayner)將向展示如何快速探索不同的模型和人工智能功能,以及如何在RaspberryPi人工智能相機的基礎(chǔ)上輕松構(gòu)建應(yīng)用程序
    的頭像 發(fā)表于 03-25 09:37 ?831次閱讀
    如何在 Raspberry Pi AI Camera 上構(gòu)建<b class='flag-5'>為</b>開發(fā)人員提供實時的智能<b class='flag-5'>應(yīng)用程序</b>!

    MCP:連接AI與應(yīng)用程序的開放標(biāo)準(zhǔn)!

    。 在第二種方式中,開發(fā)者需要為AI大模型編寫與具體應(yīng)用程序協(xié)作的訪問代碼,例如,開發(fā)者希望DeepSeek-R1與Gmail協(xié)作,就需要手動編寫協(xié)作代碼。這種手動編寫協(xié)作代碼的方式,耗時費力,還難以復(fù)用。 一,什么是MCP? 解決AI應(yīng)用開發(fā)者手動編寫A
    的頭像 發(fā)表于 03-21 18:21 ?2199次閱讀
    MCP:連接AI與<b class='flag-5'>應(yīng)用程序</b>的開放標(biāo)準(zhǔn)!