如何實(shí)現(xiàn)高性能的DSP處理
應(yīng)用開(kāi)發(fā)通常開(kāi)始于在個(gè)人電腦或工作站編寫(xiě)的C原型代碼,然后將代碼移植到嵌入式處理器中,并加以優(yōu)化。本系列文章則將這種層面的優(yōu)化在系統(tǒng)級(jí)擴(kuò)展到包括以下三方面的技術(shù):內(nèi)存管理,DMA管理,系統(tǒng)中斷管理。這些優(yōu)化措施與程序代碼優(yōu)化同樣重要。
本文引用地址:http://butianyuan.cn/article/152151.htm在大多數(shù)系統(tǒng)中,有很多的數(shù)據(jù)需要傳輸,并需要很高的數(shù)據(jù)傳輸速率。因此,你最終會(huì)混合使用處理器中的所有存儲(chǔ)器,如內(nèi)部存儲(chǔ)器和外部存儲(chǔ)器。
軟件架構(gòu)選擇
在開(kāi)始設(shè)計(jì)之前,我們必須確定使用什么類型的軟件“架構(gòu)”,所謂架構(gòu)是在嵌入式系統(tǒng)中搬移程序代碼和數(shù)據(jù)的軟件底層結(jié)構(gòu)。由于架構(gòu)定義了使用多少存儲(chǔ)和其他系統(tǒng)資源,因此,架構(gòu)也影響系統(tǒng)的性能。設(shè)計(jì)的架構(gòu)也能反映某些性能特性、是否易于使用,以及其他應(yīng)用要求。軟件架構(gòu)劃分為以下幾類:高速實(shí)時(shí)處理;易編程要求優(yōu)于對(duì)性能的要求;以性能為第一考慮。
第一類高速實(shí)時(shí)處理架構(gòu),對(duì)于安全性至關(guān)重要的應(yīng)用程序或沒(méi)有外部存儲(chǔ)器的系統(tǒng)是很理想的。在這種情況下,要么是無(wú)法忍受緩沖數(shù)據(jù)所需的時(shí)間,或者是沒(méi)有相應(yīng)的系統(tǒng)資源,由于沒(méi)有外部存儲(chǔ)器,故所有工作都需在片內(nèi)完成。在這種情況下,需要先讀取并處理數(shù)據(jù),再進(jìn)行判決,然后刪除數(shù)據(jù)。然而,這里必須保證的是,在當(dāng)前幀的所有處理完成前正在使用的緩沖數(shù)據(jù)幀不會(huì)被覆蓋。
例如,車道偏離系統(tǒng)就是一個(gè)安全性至關(guān)重要的應(yīng)用。在這個(gè)系統(tǒng)中,通常不能在做出判斷前等待33毫秒的全幀數(shù)據(jù),更好的做法是處理幀的一部分。例如,您可以從幀末尾處開(kāi)始檢測(cè)車道,因此只需讀入數(shù)據(jù)幀末尾部分的數(shù)據(jù)。
第二種架構(gòu)通常用在是否易于編程是最重要的考慮因素的情況。這種架構(gòu)對(duì)于需要快速面市的應(yīng)用,以及需要迅速開(kāi)發(fā)樣機(jī)和易于編程超過(guò)對(duì)性能的要求等應(yīng)用都是十分理想的,它也同樣降低了開(kāi)發(fā)難度。
當(dāng)需要達(dá)到系統(tǒng)的最優(yōu)性能時(shí),第三類架構(gòu)就是合適的選擇。由于重點(diǎn)是性能,所以需要對(duì)某些因素,諸如處理器、數(shù)據(jù)流、帶寬效率和優(yōu)化技術(shù)等的選擇,做仔細(xì)的考慮。然而,這種架構(gòu)的不足之處在于可復(fù)用性和可升級(jí)性方面有所降低。
在開(kāi)發(fā)周期中,事先規(guī)劃好指令和數(shù)據(jù)流是十分重要的,這也包括對(duì)是否需要外部存儲(chǔ)器或者緩存做出重要決定。這樣,開(kāi)發(fā)人員就可以集中精力利用處理器的結(jié)構(gòu)特點(diǎn),并調(diào)整性能,而不需要重新審視初始設(shè)計(jì)。
高速緩存概述
高速緩存能夠以很快的存取時(shí)間(通常是單個(gè)周期)將指令和數(shù)據(jù)存儲(chǔ)在處理器片內(nèi)存儲(chǔ)器中。高速緩存的實(shí)現(xiàn)是因?yàn)闇p少了系統(tǒng)對(duì)單周期訪問(wèn)的存儲(chǔ)器資源數(shù)量的需求?;诟咚倬彺娴奶幚砥鹘Y(jié)構(gòu),開(kāi)始時(shí)將數(shù)據(jù)放置在低成本的低速外部存儲(chǔ)器中,需要時(shí),高速緩存可自動(dòng)地將其中的指令和數(shù)據(jù)傳輸?shù)教幚砥鞯钠瑑?nèi)存儲(chǔ)器。
評(píng)論