




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章DSP概?述1.1引言1.2什么是DSP1.3DSP處理器的特點(diǎn)1.4DSP處理器的應(yīng)用1.5具有代表性的DSP芯片生產(chǎn)商習(xí)題與思考題
現(xiàn)代社會(huì),數(shù)字電視、數(shù)碼相機(jī)、數(shù)字電話、數(shù)字視頻、數(shù)字音頻等產(chǎn)品已經(jīng)得到了廣泛的應(yīng)用。與傳統(tǒng)的模擬產(chǎn)品比較,這些數(shù)字產(chǎn)品能夠提供更完美的效果。這在很大程度上是由于這些產(chǎn)品使用了數(shù)字信號(hào)處理技術(shù)的緣故。目前,數(shù)字信號(hào)處理任務(wù)大多數(shù)都是由DSP來(lái)完成的,DSP技術(shù)已成為人們?nèi)找骊P(guān)注的并得到迅速發(fā)展的前沿技術(shù)。1.1引言
DSP是數(shù)字信號(hào)處理(DigitalSignalProcessing)的縮寫(xiě),也是數(shù)字信號(hào)處理器(DigitalSignalProcessor)的縮寫(xiě)。我們所說(shuō)的DSP技術(shù),通常指的是利用通用的或?qū)S玫腄SP處理器來(lái)完成數(shù)字信號(hào)處理的方法和技術(shù)。1.2什么是DSP1.2.1數(shù)字信號(hào)處理
數(shù)字信號(hào)處理是一種通過(guò)使用數(shù)學(xué)方法來(lái)提取信息,處理現(xiàn)實(shí)信號(hào)的信號(hào)處理技術(shù)。這些被處理的信號(hào)由數(shù)字序列表示。
1807年傅里葉分析誕生,并在隨后產(chǎn)生了兩種傅里葉分析方法,即連續(xù)的和離散的傅里葉分析,但是由于其計(jì)算量太大,很難在實(shí)際使用中發(fā)揮作用。直到1965年,IBM公司的Cooley和Tukey提出DFT(離散傅里葉變換)的高效快速算法(FourierTransform,F(xiàn)FT),才使數(shù)字信號(hào)處理方法的使用有了突破性的進(jìn)展。自FFT產(chǎn)生以來(lái),數(shù)字信號(hào)處理(DSP)已有40多年的歷史,在這期間,伴隨著計(jì)算機(jī)和信息技術(shù)的飛速發(fā)展,數(shù)字信號(hào)處理技術(shù)日臻完善,進(jìn)而形成一門(mén)獨(dú)立的學(xué)科系統(tǒng)。
如今,在數(shù)字信號(hào)處理的各個(gè)應(yīng)用領(lǐng)域,如語(yǔ)音與圖像處理、信息的壓縮與編碼、信號(hào)的調(diào)制與調(diào)解、信道的辨識(shí)與均衡、各種智能控制與移動(dòng)通信等都延伸出各自的理論與技術(shù),可以說(shuō)凡是用計(jì)算機(jī)來(lái)處理各類信號(hào)的場(chǎng)合都引用了數(shù)字信號(hào)處理的基本理論、概念和技術(shù)。
經(jīng)典的數(shù)字信號(hào)處理方法有時(shí)域的信號(hào)濾波(如IIR、FIR)和頻域的頻譜分析(如FFT)。1.2.2數(shù)字信號(hào)處理器
數(shù)字信號(hào)處理器(DigitalSignalProcessors,DSP)是指具有專門(mén)為完成通用數(shù)字信號(hào)處理任務(wù)而優(yōu)化設(shè)計(jì)的系統(tǒng)體系結(jié)構(gòu)、軟件和硬件資源的單片、可編程的處理器。
經(jīng)典的數(shù)字信號(hào)處理,如IIR、FIR和FFT的核心是乘加運(yùn)算。數(shù)字信號(hào)處理器是專門(mén)為完成數(shù)字信號(hào)處理任務(wù)而優(yōu)化設(shè)計(jì)的,其設(shè)計(jì)的宗旨是為了更快地完成數(shù)字信號(hào)處理任務(wù),因此其特點(diǎn)是更適合于乘加運(yùn)算。另外,數(shù)字信號(hào)處理器是可編程的,非常利于程序修改以及產(chǎn)品升級(jí)。1.2.3數(shù)字信號(hào)處理的特點(diǎn)與優(yōu)勢(shì)
1.數(shù)字信號(hào)處理的優(yōu)點(diǎn)
1)設(shè)計(jì)靈活性
圖1-1為一個(gè)典型的FIR濾波器,同樣的濾波效果可以由傳統(tǒng)的模擬濾波器完成,但是如果需要改變?cè)O(shè)計(jì)時(shí),模擬系統(tǒng)必須重新進(jìn)行系統(tǒng)設(shè)計(jì),至少需要改變系統(tǒng)中的某些器件或參數(shù),然后再重新裝配和調(diào)試,這個(gè)過(guò)程是非常費(fèi)時(shí)和費(fèi)力的。而如果使用以DSP處理器為核心的數(shù)字系統(tǒng),則是在一個(gè)硬件平臺(tái)通過(guò)用各種軟件來(lái)執(zhí)行各種各樣的數(shù)字信號(hào)處理任務(wù)。改變?cè)O(shè)計(jì)時(shí),只需要改變相應(yīng)的軟件或軟件中的參數(shù),而不需要改變硬件平臺(tái)本身,具有極大的靈活性,是傳統(tǒng)的模擬系統(tǒng)無(wú)法比擬的。例如,數(shù)字濾波器可以通過(guò)重新編程來(lái)完成低通、高通、帶通和帶阻等不同的濾波任務(wù),不需要改變硬件;而模擬濾波器則必須改變其設(shè)計(jì)并重新調(diào)試,才能達(dá)到目的。近年來(lái)得到迅速發(fā)展和應(yīng)用的軟件無(wú)線電技術(shù),是在一個(gè)以高性能DSP處理器為核心的硬件平臺(tái)上,用不同的軟件來(lái)實(shí)現(xiàn)對(duì)不同工作模式的電臺(tái)間通信;對(duì)于模擬電臺(tái)而言,只有工作模式完全相同的電臺(tái)之間才能進(jìn)行通信。
以DSP處理器為核心的數(shù)字系統(tǒng)的靈活性是模擬系統(tǒng)很難達(dá)到的,有的甚至是模擬系統(tǒng)不可能實(shí)現(xiàn)的。
圖1-1有限沖擊響應(yīng)濾波器(FIR)結(jié)構(gòu)圖
2)精度高
一般來(lái)說(shuō),數(shù)字系統(tǒng)精度要比模擬系統(tǒng)高。模擬系統(tǒng)由于受元器件精度的制約,精度始終很難提高,雖然現(xiàn)在有了高精度的電阻等元器件,但其直接影響了系統(tǒng)的成本,而且其精度也不能讓人滿意。而數(shù)字系統(tǒng)的精度是由系統(tǒng)所采用的A/D轉(zhuǎn)換器的位數(shù)、處理器字長(zhǎng)以及所采用的算法等因素決定的。相對(duì)而言,可以獲得更高的精度。
3)可靠性和可重復(fù)性好
數(shù)字系統(tǒng)的可靠性和可重復(fù)性也是模擬系統(tǒng)所不能達(dá)到的。模擬系統(tǒng)受環(huán)境溫度、濕度、噪聲、電磁場(chǎng)等的干擾和影響大。當(dāng)環(huán)境的溫度、濕度、振動(dòng)以及在外界電磁場(chǎng)干擾等條件改變時(shí),模擬系統(tǒng)的性能就會(huì)發(fā)生改變,而且可能是大的改變。另外,隨時(shí)間的改變,模擬系統(tǒng)的特性也會(huì)發(fā)生改變。數(shù)字系統(tǒng)的輸入、輸出是由軟件來(lái)確定的,因此,不存在隨時(shí)間而改變的問(wèn)題。相對(duì)模擬系統(tǒng)而言,數(shù)字系統(tǒng)的穩(wěn)定性要好得多,即受時(shí)間和環(huán)境的影響要小得多。兩個(gè)同樣設(shè)計(jì)的模擬系統(tǒng),采用同樣的元器件,在相同的輸入信號(hào)和環(huán)境下,由于元器件參數(shù)的離散性,所得到的輸出往往會(huì)有細(xì)小的差別。另外,同一個(gè)模擬系統(tǒng)在不同的時(shí)間和環(huán)境下,相同的輸入也往往得不到相同的輸出結(jié)果。而數(shù)字系統(tǒng)一旦其設(shè)計(jì)完畢以后,精度也就確定了,并且其精度不會(huì)隨著時(shí)間和環(huán)境的變化而變化。
4)便于大規(guī)模集成
隨著科學(xué)與技術(shù)的發(fā)展,近年出現(xiàn)了大量的模擬集成電路和模擬/數(shù)字混合集成電路,但從可選擇的種類、集成度、功能與性能、性價(jià)比等諸方面而言,還是不能與超大規(guī)模數(shù)字集成電路相比。DSP處理器就是基于超大規(guī)模數(shù)字集成電路技術(shù)和計(jì)算機(jī)技術(shù)而發(fā)展起來(lái)的、適合于作數(shù)字信號(hào)處理的高速高位微處理器。它們體積小、功能強(qiáng)、功耗小、一致性好、使用方便、性價(jià)比高。
5)數(shù)字系統(tǒng)的其他優(yōu)勢(shì)
數(shù)字系統(tǒng)除具有上述優(yōu)勢(shì)以外,還在抗干擾性能、數(shù)據(jù)壓縮、實(shí)現(xiàn)自適應(yīng)算法等方面有不俗的表現(xiàn)。
數(shù)字系統(tǒng)的抗干擾功能強(qiáng)大。在數(shù)字系統(tǒng)中,信號(hào)是用0和1來(lái)表征的,雖然0和1所表征的數(shù)字信號(hào)也會(huì)受到噪聲的干擾,但只要能夠正確地識(shí)別0和1,并將其再生,則可以完全消除噪聲的影響。另外,迅速發(fā)展的各種數(shù)字糾錯(cuò)編解碼技術(shù),能夠在極為復(fù)雜的噪聲環(huán)境中,甚至信號(hào)完全被噪聲所淹沒(méi)的情況下,正確地識(shí)別和恢復(fù)原有的信號(hào)。這點(diǎn)在模擬系統(tǒng)中是無(wú)法做到的。模擬信號(hào)進(jìn)行壓縮時(shí)付出的代價(jià)是隨著帶寬的變窄,信號(hào)的質(zhì)量會(huì)受到比較大的影響。然而數(shù)字信號(hào)的壓縮可以在對(duì)原信號(hào)質(zhì)量影響很小的前提下,取得很高的壓縮比。這對(duì)數(shù)據(jù)的傳輸和存儲(chǔ),無(wú)疑是很有利的。例如,采用數(shù)字電視技術(shù)以后,可以利用原有的有線電視網(wǎng)絡(luò)傳輸更多的、質(zhì)量更好的電視節(jié)目,并且可以提供諸如互動(dòng)電視等更好的服務(wù)。從信號(hào)與系統(tǒng)的角度講,自適應(yīng)就是使系統(tǒng)的特性隨輸入信號(hào)的改變而改變,從而在某種準(zhǔn)則下,得到最優(yōu)的輸出。例如,IP電話中的回聲會(huì)嚴(yán)重影響服務(wù)質(zhì)量,必須加以消除。但回聲的幅度和延時(shí)量隨時(shí)都在改變,只有使用自適應(yīng)系統(tǒng)才能將其消除。就模擬系統(tǒng)而言,只有改變系統(tǒng)的設(shè)計(jì)和元器件的參數(shù),才能改變系統(tǒng)的特性,因而很難實(shí)現(xiàn)實(shí)時(shí)自適應(yīng)。以DSP處理器為核心的數(shù)字系統(tǒng),已經(jīng)成為實(shí)現(xiàn)各種自適應(yīng)算法的首選。對(duì)于特定的自適應(yīng)算法,它能根據(jù)確定的準(zhǔn)則,實(shí)時(shí)地改變系統(tǒng)的參數(shù),從而實(shí)現(xiàn)實(shí)時(shí)自適應(yīng);對(duì)于不同的自適應(yīng)算法,只需要更換適當(dāng)?shù)能浖纯伞?/p>
2.模擬信號(hào)處理的不可替代性
盡管數(shù)字系統(tǒng)具有如此之多的優(yōu)越性,但仍然不能完全取代模擬系統(tǒng)。
實(shí)際上,自然界的信號(hào)絕大多數(shù)是模擬信號(hào)。如聲音、圖像、溫度、壓力、速度、加速度等信號(hào)都是隨時(shí)間連續(xù)變化的模擬信號(hào)。我們要利用數(shù)字系統(tǒng)對(duì)其進(jìn)行處理,必須首先用模擬系統(tǒng)和模擬數(shù)字混合系統(tǒng)加以處理。例如用模擬濾波器將其改變成帶限信號(hào),用模擬放大器改變其幅度,然后采樣/保持,通過(guò)A/D變換器變換成為數(shù)字信號(hào)后,才能用數(shù)字信號(hào)處理系統(tǒng)加以處理;處理之后,還要通過(guò)D/A變換器變換成為模擬信號(hào),并通過(guò)適當(dāng)?shù)哪M信號(hào)處理,才能加以使用。所以,要想構(gòu)成一個(gè)完整的數(shù)字信號(hào)處理系統(tǒng),大多數(shù)情形下離不開(kāi)模擬系統(tǒng)。1.2.4數(shù)字信號(hào)處理算法的特點(diǎn)
上面我們講到了DSP處理器是專門(mén)為數(shù)字信號(hào)處理算法而優(yōu)化設(shè)計(jì)的,那么DSP算法到底有什么特點(diǎn)呢?
圖1-1中有限沖擊響應(yīng)濾波器(FIR)可以用下式來(lái)表示:
(1-1)
式1-1是一個(gè)一系列乘積的累加,也就是說(shuō)該式使用了乘法和加法,并且做了N重的循環(huán)。
由此可以看出DSP算法是屬于數(shù)學(xué)計(jì)算,這區(qū)別于那些以數(shù)據(jù)操作為主的常規(guī)任務(wù)。數(shù)據(jù)操作的典型運(yùn)用如字處理、數(shù)據(jù)庫(kù)管理、表格、操作系統(tǒng)等,其主要操作有諸如將數(shù)據(jù)B移動(dòng)到數(shù)據(jù)A,檢測(cè)A是否等于B等。而數(shù)學(xué)計(jì)算的典型運(yùn)用,如數(shù)字信號(hào)處理、科學(xué)和工程仿真等,其主要操作是乘法、加法等運(yùn)算。1.2.5實(shí)時(shí)處理的概念
上面我們講了模擬系統(tǒng)從本質(zhì)上來(lái)說(shuō)是實(shí)時(shí)的,那么,什么是實(shí)時(shí)處理呢?可以這樣說(shuō):實(shí)時(shí)的概念是根據(jù)具體的應(yīng)用來(lái)確定的。
對(duì)于一個(gè)處理過(guò)程,如果滿足下式,我們可以認(rèn)為處理是實(shí)時(shí)的。
等待時(shí)間≥0 (1-2)
如圖1-2所示,要使等待時(shí)間≥0,就必須使處理時(shí)間小于采樣時(shí)間,也就是說(shuō)要在規(guī)定的采樣時(shí)間內(nèi)完成與之相應(yīng)的數(shù)據(jù)處理。
圖1-2處理時(shí)間、采樣時(shí)間、等待時(shí)間關(guān)系圖對(duì)于圖1-1中有限沖擊響應(yīng)濾波器(FIR)來(lái)說(shuō),要使其處理是實(shí)時(shí)的,就必須在采樣時(shí)間內(nèi)完成式(1-1)的計(jì)算,這樣的計(jì)算量通常來(lái)說(shuō)都是相當(dāng)大的。
數(shù)字信號(hào)處理器是專門(mén)為完成數(shù)字信號(hào)處理任務(wù)而優(yōu)化設(shè)計(jì)的,因此其實(shí)時(shí)處理數(shù)據(jù)的能力也是獨(dú)一無(wú)二的。1.2.6數(shù)字信號(hào)處理算法實(shí)現(xiàn)的途徑
數(shù)字信號(hào)處理的實(shí)現(xiàn)方法有多種,大體可以分為基于PC和非基于PC的兩種。
基于PC的實(shí)現(xiàn)方法可以說(shuō)是通過(guò)軟件來(lái)實(shí)現(xiàn)的。例如,我們?cè)趥€(gè)人電腦上常用的MP3播放器就是通過(guò)軟件來(lái)實(shí)現(xiàn)MP3格式的音頻文件解壓縮的,而這過(guò)程是通過(guò)在個(gè)人電腦上運(yùn)行的軟件來(lái)實(shí)現(xiàn)的。
非基于PC的實(shí)現(xiàn)方法可以說(shuō)是通過(guò)硬件來(lái)實(shí)現(xiàn)的。例如,F(xiàn)PGA(現(xiàn)場(chǎng)可編程門(mén)陣列)、ASIC(專用集成電路)以及專用的和通用的DSP,都可以用來(lái)實(shí)現(xiàn)DSP算法。用FPGA(現(xiàn)場(chǎng)可編程陣列)實(shí)現(xiàn)DSP的各種功能實(shí)質(zhì)上是采用了一種硬連接邏輯電路,但由于FPGA具有現(xiàn)場(chǎng)可編程能力,允許根據(jù)需要迅速重新組合基礎(chǔ)邏輯來(lái)滿足使用要求,因而更加靈活,而且比通用DSP芯片具有更高的速度。一些大的公司如Xilinx、Altera也正把FPGA產(chǎn)品擴(kuò)展到DSP的應(yīng)用中去。值得一提的是Xilinx在2004年9月成立了DSP部,2005年又加大對(duì)DSP研發(fā)的投入。
ASIC系統(tǒng)是為某種應(yīng)用目的專門(mén)設(shè)計(jì)的系統(tǒng)。通常用于數(shù)字信號(hào)處理的ASIC系統(tǒng)只涉及一種或一種以上自然類型數(shù)據(jù)的處理,例如音頻、視頻、語(yǔ)音的壓縮和解壓、調(diào)制/解調(diào)等。其內(nèi)部由基本DSP運(yùn)算單元構(gòu)建,包括FIR、IIR、FFT、DCT、卷積碼的編解碼器及RS編解碼器等。其可應(yīng)用于計(jì)算復(fù)雜密集、數(shù)據(jù)量、運(yùn)算量都很大的場(chǎng)合,但成本較高。
通用可編程DSP芯片是目前使用最多的數(shù)字信號(hào)處理器件。其特點(diǎn)本書(shū)將予以詳細(xì)討論。
1.3.1DSP處理器的結(jié)構(gòu)特點(diǎn)
DSP處理器是專門(mén)用來(lái)進(jìn)行高速數(shù)字信號(hào)處理的微處理器,其設(shè)計(jì)的著眼點(diǎn)是要求速度快、處理的數(shù)據(jù)量大、效率高。它的主要結(jié)構(gòu)特點(diǎn)如下。1.3DSP處理器的特點(diǎn)
1.采用哈佛(Harvard)結(jié)構(gòu)和改進(jìn)的哈佛結(jié)構(gòu)
以奔騰為代表的通用處理器采用馮·諾依曼(VonNeumen)結(jié)構(gòu),這主要考慮到成本,其結(jié)構(gòu)如圖1-3所示。在馮·諾依曼結(jié)構(gòu)中,程序代碼和數(shù)據(jù)共用一個(gè)公共的存儲(chǔ)空間,指令、數(shù)據(jù)、地址的傳送采用同一條總線,靠指令計(jì)數(shù)來(lái)區(qū)分三者。由于取指和存取數(shù)據(jù)是在同一存取空間通過(guò)同一總線傳輸,因而指令的執(zhí)行只能是順序的,不可能重疊進(jìn)行,所以無(wú)法提高運(yùn)算速度。
圖1-3馮·諾依曼結(jié)構(gòu)
DSP處理器幾乎毫無(wú)例外的采用哈佛結(jié)構(gòu),如圖1-4所示。哈佛結(jié)構(gòu)把程序代碼和數(shù)據(jù)的存儲(chǔ)空間分開(kāi),并有各自的地址和數(shù)據(jù)總線,每個(gè)存儲(chǔ)器獨(dú)立編址,用獨(dú)立的一組程序總線和數(shù)據(jù)總線進(jìn)行訪問(wèn)。這樣,DSP處理器就可以并行地進(jìn)行指令和數(shù)據(jù)的處理,提高了信號(hào)處理的速度。圖1-4哈佛結(jié)構(gòu)為了進(jìn)一步提高信號(hào)處理的效率,在哈佛結(jié)構(gòu)的基礎(chǔ)上加以改進(jìn),使得程序代碼存儲(chǔ)空間與數(shù)據(jù)存儲(chǔ)空間之間也可以進(jìn)行數(shù)據(jù)交換,則稱為改進(jìn)的哈佛結(jié)構(gòu)(ModifiedHarvardArchitecture)。這種結(jié)構(gòu)可以并行進(jìn)行數(shù)據(jù)操作,例如在做數(shù)字濾波時(shí)把系數(shù)放在程序空間,待處理的樣本數(shù)據(jù)放在數(shù)據(jù)空間,處理時(shí)可以同時(shí)提取濾波器系數(shù)和樣本進(jìn)行乘法和累加操作,從而大大提高運(yùn)算速度。改進(jìn)的哈佛結(jié)構(gòu)還可以從程序存儲(chǔ)區(qū)來(lái)初始化數(shù)據(jù)存儲(chǔ)區(qū),或把數(shù)據(jù)存儲(chǔ)區(qū)的內(nèi)容轉(zhuǎn)移到程序存儲(chǔ)區(qū),這樣可以復(fù)用存儲(chǔ)器,降低成本,提高存儲(chǔ)器使用效率。
2.多總線結(jié)構(gòu)
DSP除了將數(shù)據(jù)、地址總線分開(kāi)以外,還具有多條附加總線,如圖1-5所示。
例如TMS320C54X的結(jié)構(gòu)中有一組程序總線,兩組讀數(shù)據(jù)總線和一組寫(xiě)數(shù)據(jù)總線,這樣可以同時(shí)讀取兩組數(shù)據(jù)和存儲(chǔ)一組數(shù)據(jù),即同一時(shí)鐘周期內(nèi)可以執(zhí)行一條3個(gè)操作的指令。這種附加總線可擴(kuò)充地址增加數(shù)據(jù)流量,提高尋址能力。圖1-5多總線結(jié)構(gòu)圖
3.采用流水線操作
計(jì)算機(jī)在執(zhí)行一條指令時(shí),要通過(guò)取指、譯碼、取數(shù)、執(zhí)行等各階段,需要若干個(gè)指令周期才能完成。流水線技術(shù)是將各指令的各個(gè)步驟重疊起來(lái)進(jìn)行,雖然每條指令的執(zhí)行仍然要經(jīng)過(guò)這些步驟,需要同樣的指令周期數(shù),但是將一個(gè)指令段綜合起來(lái)看,其中每一條指令似乎都是在一個(gè)周期內(nèi)完成,可以把指令周期減到最小,增加數(shù)據(jù)吞吐量。圖1-6為流水線技術(shù)示意圖。
圖1-6流水線技術(shù)如圖1-6所示,可進(jìn)一步把一條指令分解為預(yù)取指、取指、解碼、取操作數(shù)地址、取操作數(shù)和執(zhí)行等6個(gè)階段,圖中的字母分別表示:
P——預(yù)取指;F——取指令;D——碼;A——取操作數(shù)地址;R——取操作數(shù);X——執(zhí)行。
從圖1-6中我們可以看出,當(dāng)?shù)谝粭l指令執(zhí)行到取指令的同時(shí),第二條指令在預(yù)取指;當(dāng)?shù)谝粭l指令執(zhí)行到解碼時(shí),第二條指令在取指令,第三條指令在預(yù)取指;以此類推,直到第六條指令預(yù)取指時(shí),第一條指令已經(jīng)在執(zhí)行了。對(duì)于圖中的流水線狀況,當(dāng)?shù)诹鶙l指令開(kāi)始時(shí),我們就稱這個(gè)流水線滿載了。當(dāng)流水線滿載以后,從圖中縱向看,似乎一條指令在一個(gè)周期內(nèi)就完成了。這有些類似我們通常見(jiàn)到的工廠的生產(chǎn)流水線,一條生產(chǎn)線分為很多的工序,零件進(jìn)入生產(chǎn)線依次進(jìn)入各道工序,當(dāng)各道工序都開(kāi)始工作時(shí),成品就從生產(chǎn)線上生產(chǎn)出來(lái)了。
圖1-7直觀地給出了采用流水線技術(shù)之后,執(zhí)行同樣的指令,所需要的指令周期數(shù)較采用前得到了很大的節(jié)約。
圖1-7采用流水線技術(shù)前后的比較但是,這種流水線操作也不是十全十美的,其主要原因是,一項(xiàng)處理很難被分解成若干個(gè)處理規(guī)模一致、在時(shí)間上有最佳配合的流水段,因而需要用寄存器協(xié)調(diào)流水線工作。
流水線操作適用于循環(huán)操作時(shí)間足夠長(zhǎng)或多個(gè)數(shù)據(jù)點(diǎn)反復(fù)執(zhí)行同一指令的情況。這是由于,流水線啟動(dòng)和停止的階段是流水線逐步被填滿和出空的過(guò)程。對(duì)于一次性非重復(fù)計(jì)算,流水線不可能達(dá)到穩(wěn)態(tài),反而用主要時(shí)間做填滿和出空操作,因而是不合適的。我們從DSP算法的特點(diǎn),可以看出其非常適合于流水線操作,因?yàn)槠溆?jì)算大多是相同的乘法或加法運(yùn)算,而且循環(huán)的次數(shù)較多,流水線容易達(dá)到滿載的運(yùn)行狀態(tài)。
4.硬件乘法器和高效的MAC指令
在DSP算法中大量的是乘法累加運(yùn)算。通用微處理一般是通過(guò)一系列的加法來(lái)完成乘法運(yùn)算的,一個(gè)乘法運(yùn)算需要消耗多個(gè)周期,而DSP芯片上有硬件乘法器,使得乘法運(yùn)算能夠做到一個(gè)周期內(nèi)完成,這就大大提高了DSP處理器進(jìn)行DSP運(yùn)算的速度。另外,DSP還具有與硬件乘法器相配合的MAC乘法累加指令。硬件乘法累加器如圖1-8所示,它可以在單周期內(nèi)取兩個(gè)操作數(shù)相乘,并將結(jié)果加載到累加器。有的DSP還具有多組MAC結(jié)構(gòu),可以并行處理。。
圖1-8硬件乘法累加器圖1-8中,在加法器方框(ADD)右邊的A、B、0分別代表有可能的加法器輸入,它們?yōu)槔奂悠鰽、累加器B及0值。從圖1-8中,我們還可以看出,由于DSP采用了哈佛結(jié)構(gòu),它可以將運(yùn)算所需要的采樣值和系數(shù)分別放在數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器之中,這樣可以通過(guò)不同的總線將所需要的數(shù)據(jù)同時(shí)取出。
在這種布局下,DSP可以實(shí)現(xiàn)單周期的MAC指令,從而進(jìn)一步提高了運(yùn)算的速度。我們通常將具有硬件乘法器作為DSP區(qū)分于其他處理器的標(biāo)志。
5.DSP結(jié)構(gòu)上的其他特點(diǎn)
DSP除了具有上述的結(jié)構(gòu)特點(diǎn)外,還有以下特點(diǎn):
(1)
DSP具有獨(dú)立的傳輸總線及其控制器。DSP處理器高速處理速度必須與高速的數(shù)據(jù)訪問(wèn)和傳輸相配合。并且為不影響CPU及其相關(guān)總線的工作,DSP的DMA(直接內(nèi)存存取方式:數(shù)據(jù)在內(nèi)存與I/O設(shè)備間直接進(jìn)行成塊傳輸)單獨(dú)設(shè)置有傳輸總線及其控制器,因此DMA可以獨(dú)立工作。有時(shí)為了提高DSP的實(shí)時(shí)處理能力,把多個(gè)DSP組成DSP處理器陣列,并行工作,此時(shí)DMA可以作為各處理器之間進(jìn)行數(shù)據(jù)傳輸?shù)闹饕ǖ馈?/p>
(2)
DSP具有專用的數(shù)據(jù)地址發(fā)生器(DAG)。在DSP運(yùn)算中,存儲(chǔ)器的訪問(wèn)具有可預(yù)測(cè)性。例如在FIR濾波中,樣本、系數(shù)都是順序訪問(wèn)的,因此在DSP芯片中專門(mén)設(shè)置數(shù)據(jù)地址發(fā)生器。其實(shí)它也是一個(gè)算術(shù)邏輯運(yùn)算單元ALU,具有簡(jiǎn)單的運(yùn)算能力。在通用機(jī)的CPU中,數(shù)據(jù)地址和數(shù)據(jù)處理都由同一ALU完成。例如在8086中,做一次加法需要三個(gè)周期,而計(jì)算一次地址需要5~6周期,這樣會(huì)耗費(fèi)大量的時(shí)間,在DSP芯片中就不需要這樣的額外開(kāi)銷。另外在DSP芯片的數(shù)據(jù)地址產(chǎn)生中還支持間接尋址、循環(huán)尋址、倒位尋址等特殊操作,以適應(yīng)DSP運(yùn)算的各種尋址需求。
(3)
DSP具有豐富的外設(shè)(Peripherals)。DSP處理器往往是脫機(jī)獨(dú)立工作的,因此為與外設(shè)接口方便,往往設(shè)置了豐富的周邊接口電路。一般包含如下片上外設(shè):時(shí)鐘產(chǎn)生器(振蕩器與鎖相環(huán)PLL)、定時(shí)器(Timer)、軟件可編程等待狀態(tài)發(fā)生器(以便使較快的片內(nèi)設(shè)施與較慢的片外電路及存儲(chǔ)器協(xié)調(diào)工作)、通用的I/O口、多通道同步緩沖串口(McBSP)和異步串口、主機(jī)接口(HIP)、JTAG邊界掃描邏輯電路(IEEE標(biāo)準(zhǔn)1149.1)(便于對(duì)DSP處理器做片上在線仿真和多處理器情況下的調(diào)試)。
(4)
DSP具有片內(nèi)存儲(chǔ)器。DSP芯片片內(nèi)一般帶有存放程序的只讀存儲(chǔ)器ROM和存放數(shù)據(jù)的隨機(jī)存儲(chǔ)器RAM,符合DSP運(yùn)算簡(jiǎn)單、核心程序短小的特征,同時(shí)可以提高指令傳輸效率,減小總線接口壓力。這些片存儲(chǔ)器不存在與外部總線競(jìng)爭(zhēng)和訪問(wèn)外部存儲(chǔ)器速度不匹配的問(wèn)題,這樣使DSP處理器具有強(qiáng)大的數(shù)據(jù)處理能力。
(5)
DSP具有與結(jié)構(gòu)相配合的RISC指令集。一般DSP處理器具有高度專門(mén)化、復(fù)雜且不規(guī)則的指令集,這樣單個(gè)指令字可以同時(shí)控制片內(nèi)多個(gè)功能單元操作。DSP處理器指令集在設(shè)計(jì)時(shí)有兩個(gè)特點(diǎn):一是最大限度地使用了處理器的硬件資源,在單個(gè)指令中并行完成若干操作,例如在完成主要算術(shù)運(yùn)算的同時(shí),并行地從存儲(chǔ)器提取一個(gè)或兩個(gè)數(shù)據(jù)以及完成地址指針的更新;其次是指令所使用的存儲(chǔ)空間縮減到最小,為縮短指令字長(zhǎng),往往用狀態(tài)寄存器的模式來(lái)控制處理器的操作特性,例如舍入或飽和的處理,不再將這些信息作為指令的一部分來(lái)處理。綜上所述,DSP處理器實(shí)現(xiàn)高速運(yùn)算的主要途徑可以概括為:硬件乘法器及乘-加單元、高效的存儲(chǔ)器訪問(wèn)、零開(kāi)銷循環(huán)、專門(mén)的適應(yīng)硬件結(jié)構(gòu)的指令集、多執(zhí)行單元、數(shù)據(jù)流的線性I/O口。1.3.2DSP與MCU、GPP的區(qū)別及其優(yōu)勢(shì)
微處理器自誕生以來(lái),就沿著GPP(GeneralPurposeProcessor)即通常所說(shuō)的通用CPU,以微機(jī)中Intel公司的奔騰系列CPU為代表、微控制器(MCU,即通常所說(shuō)的單片機(jī))以及DSP三個(gè)方向發(fā)展。MCU集成了片上外圍器件,適合不同信息源的多種數(shù)據(jù)的處理診斷和運(yùn)算,側(cè)重于控制,速度并不如DSP;GPP不帶外圍器件(例如存儲(chǔ)器陣列),是高度集成的通用結(jié)構(gòu)的處理器,是去除了集成外設(shè)的MCU;DSP運(yùn)算能力強(qiáng),擅長(zhǎng)很多的重復(fù)數(shù)據(jù)運(yùn)算。這三類處理器各有專長(zhǎng),雖然隨著技術(shù)的發(fā)展,這三類處理器之間互相借鑒,并有融合的趨勢(shì),但總的來(lái)說(shuō),它們各自有不同的應(yīng)用領(lǐng)域。
1.與GPP相比DSP具有的優(yōu)勢(shì)
上文講到了DSP算法的實(shí)現(xiàn)方式,其中有基于PC的實(shí)現(xiàn)方式,也就是利用軟件來(lái)實(shí)現(xiàn)?,F(xiàn)在的GPP速度越來(lái)越快,在實(shí)現(xiàn)DSP算法時(shí)可能并不比DSP慢,那么為什么大多數(shù)的DSP算法的實(shí)現(xiàn)是由DSP來(lái)完成的呢?我們從以下幾點(diǎn)來(lái)考慮這個(gè)問(wèn)題。首先,在功耗方面,奔騰系列CPU的功耗多在20~100W,PowerPC的功耗最小也要5~10W,而DSP可以做到1~2W。如TMS320C54X是目前普遍使用的定點(diǎn)DSP芯片,當(dāng)它的速度在100MIPS(MIPS:每秒執(zhí)行的百萬(wàn)指令數(shù),是處理器速度的重要指標(biāo)之一)時(shí)其功耗為60mW,而本書(shū)重點(diǎn)講述的TMS320C55X的功耗更低,一般工作狀態(tài)下平均功耗在20mW左右,最低可至0.33mA/MHz的超低功耗,為節(jié)能型便攜式系統(tǒng)提供了令人難以置信的潛能。其次,采用GPP來(lái)設(shè)計(jì)系統(tǒng)比采用DSP的花費(fèi)更多。就單個(gè)的芯片而言,GPP的價(jià)格一般來(lái)說(shuō)都比DSP要貴的多,現(xiàn)在市場(chǎng)上GPP的價(jià)格在幾百元人民幣到上千元不等,而普通的DSP價(jià)格一般在100元人民幣左右。另外,使用GPP來(lái)開(kāi)發(fā),其開(kāi)發(fā)費(fèi)用高,上市的周期長(zhǎng),而使用DSP開(kāi)發(fā)則與之相反。
最后,DSP的尺寸比GPP要小得多,更適用于便攜產(chǎn)品。我們只要看一下PC機(jī)和數(shù)碼相機(jī)的大小便可以直觀的知道兩者之間的差距了,很難想象我們會(huì)使用一臺(tái)PC機(jī)大小的數(shù)碼相機(jī)。DSP的尺寸有越來(lái)越小的趨勢(shì),并且隨著設(shè)備不斷變小,速度越來(lái)越快,便攜性越來(lái)越高的情況下,此趨勢(shì)會(huì)繼續(xù)發(fā)展。由上可知,如果設(shè)計(jì)的系統(tǒng)或裝置需要低成本、小尺寸、低功耗并且對(duì)信號(hào)處理的實(shí)時(shí)性要求很高時(shí),我們使用DSP來(lái)進(jìn)行開(kāi)發(fā)。如果需要更大的存儲(chǔ)空間、更高級(jí)的操作系統(tǒng)支持的時(shí)候,我們采用GPP來(lái)進(jìn)行開(kāi)發(fā)。
2.MCU與DSP的比較
MCU區(qū)別于DSP的最大特點(diǎn)在于它的通用性,反映在指令集和尋址模式中。與MCU相比,DSP實(shí)時(shí)處理要求必須滿足大數(shù)據(jù)量、復(fù)雜計(jì)算、實(shí)時(shí)性強(qiáng)的各種運(yùn)算。
DSP在運(yùn)算能力上進(jìn)行了擴(kuò)充,它采用專用的硬件乘法器,有足夠的字長(zhǎng),乘法結(jié)果保留全部數(shù)值,用雙字長(zhǎng)乘法存儲(chǔ)器,同時(shí)可以用來(lái)做雙精度運(yùn)算。另外,如上文所述,DSP能自動(dòng)產(chǎn)生數(shù)據(jù)地址;指令時(shí)序的產(chǎn)生不對(duì)其他運(yùn)算單元造成額外開(kāi)銷;一般DSP芯片中都有桶形移位器,可以在一定范圍內(nèi)調(diào)整數(shù)據(jù)輸出寬度,特別是在做浮點(diǎn)和塊浮點(diǎn)運(yùn)算時(shí),免去主處理器作多次移位和旋轉(zhuǎn)操作。
DSP與MCU的結(jié)合是數(shù)字信號(hào)控制器(DSC),它終將取代這兩種芯片。數(shù)字信號(hào)控制器(DSC)是一種集微控制器(MCU)和數(shù)字信號(hào)處理器(DSP)專長(zhǎng)于一身的新型處理器。與MCU一樣,DSC具有快速中斷響應(yīng)、提供面向控制的外設(shè)(如脈寬調(diào)制器和看門(mén)狗定時(shí)器)、用C編程等特性。DSC還集成了諸如單周期乘累加(MAC)單元、桶形移位器(barrelshifter)和大的累加器等功能。1.3.3DSP處理器性能指標(biāo)
一般,對(duì)DSP處理器缺乏一種諸如對(duì)PC機(jī)那樣公正合理的性能評(píng)價(jià)體系,這是由于各DSP廠商推出的產(chǎn)品在結(jié)構(gòu)和數(shù)據(jù)傳輸能力上有很大的差異,DSP產(chǎn)品都是專門(mén)為某種目的而設(shè)計(jì)的,因而正確評(píng)價(jià)只有與特定的應(yīng)用聯(lián)系起來(lái),評(píng)價(jià)結(jié)果才有意義。這里將常用的指標(biāo)做一介紹。
(1)
MIPS(MillionsofInstructionsPerSecond),每秒執(zhí)行百萬(wàn)指令數(shù)。一般DSP為100MIPS,TI公司的5000系列性能最高可達(dá)900MIPS,使用超長(zhǎng)指令字的TMS320B2XX為2400MIPS。
(2)
MOPS(MillionsofOperationsPerSecond),每秒執(zhí)行百萬(wàn)操作數(shù)。這個(gè)指標(biāo)的問(wèn)題是什么是一次操作。通常操作包括CPU操作外,還包括地址計(jì)算、DMA訪問(wèn)數(shù)據(jù)傳輸、I/O操作等。一般說(shuō)MOPS越高意味著乘積-累加和運(yùn)算速度越快。
(3)
MFLOPS(MillionFloatingPointOperationsPerSecond)。這是衡量浮點(diǎn)DSP芯片的重要指標(biāo)。例如TMS320C31在主頻為40MHz時(shí),處理能力為40MFLOPS,TMS320C6701在指令周期為6ns時(shí),單精度運(yùn)算可達(dá)GFLOPS。
(4)
MBPS(MillionBitPerSecond)。它是對(duì)總線和I/O口數(shù)據(jù)吞吐率的度量,也就是某個(gè)總線或I/O的帶寬。例如對(duì)TMS320C6XXX在200MHz時(shí)鐘、32bit總線時(shí),總線數(shù)據(jù)吞吐率為6400MBPS。
(5)
MACS(Multiply-AccumulatesPerSecond)。例如TMS320C6XXX乘加速度達(dá)300~600MMACS。
以上傳統(tǒng)指標(biāo)雖然可以作為設(shè)計(jì)時(shí)可選的參考指標(biāo),但是有很大的局限性。例如它沒(méi)有考慮存儲(chǔ)器的使用和器件的功耗,一旦器件與外部速度較慢的存儲(chǔ)器進(jìn)行數(shù)據(jù)交換時(shí),運(yùn)行速度馬上就會(huì)降低。另一評(píng)價(jià)指標(biāo)是核心算法評(píng)價(jià)指標(biāo)。它是利用構(gòu)成大多數(shù)DSP系統(tǒng)的基本運(yùn)算模塊(例如FIR、IIR、FFT、向量加等典型運(yùn)算)來(lái)進(jìn)行評(píng)價(jià)的。在規(guī)定大小適度、輸入、輸出要求統(tǒng)一,保證功能一致性的條件下,也允許程序員針對(duì)所使用的處理進(jìn)行代碼的優(yōu)化。評(píng)價(jià)指標(biāo)是執(zhí)行時(shí)間、存儲(chǔ)器的使用和能耗等。
DSP處理器還有其他評(píng)估指標(biāo),各類評(píng)估指標(biāo)之間都有其自身的不足,因而正確的選用器件要根據(jù)任務(wù)需要量身定做,不可一味追求某項(xiàng)高指標(biāo),要根據(jù)性價(jià)比合理選用器件。
由于超大規(guī)模集成電路技術(shù)的迅猛發(fā)展,DSP技術(shù)也得到了突飛猛進(jìn)的發(fā)展。成本降低,促使了其需求的上升和應(yīng)用領(lǐng)域的擴(kuò)展。目前,DSP在計(jì)算機(jī)、通信、消費(fèi)類電子產(chǎn)品方面(即所謂3C領(lǐng)域)得到了廣泛的應(yīng)用。DSP在通信領(lǐng)域應(yīng)用占72%,計(jì)算機(jī)占3%,消費(fèi)類、辦公自動(dòng)化各占2%,從趨勢(shì)上看,工業(yè)(特別是變頻電機(jī)控制)中的應(yīng)用,以及消費(fèi)類產(chǎn)品中應(yīng)用的份額會(huì)有所上升。下面就DSP的幾個(gè)與我們?nèi)粘I钕嚓P(guān)的典型應(yīng)用做一簡(jiǎn)單介紹。1.4DSP處理器的應(yīng)用
1.數(shù)字視頻
DSP在數(shù)字視頻領(lǐng)域從基礎(chǔ)設(shè)備到客戶端,以及便攜式設(shè)備中都得到廣泛應(yīng)用。在諸如DVD、數(shù)碼相機(jī)、數(shù)字?jǐn)z像機(jī)、便攜式媒體播放器(PMP)、數(shù)字機(jī)頂盒、流媒體、監(jiān)視IP視頻節(jié)點(diǎn)、基于IP的視頻會(huì)議終端等應(yīng)用上,DSP大有用武之地。特別是TI公司推出的DaVinci技術(shù)使手持、家庭以及車載數(shù)字媒體設(shè)備方面的突破性創(chuàng)新成為可能。DaVinci專門(mén)針對(duì)數(shù)字視頻系統(tǒng)進(jìn)行了優(yōu)化,并集成了基于數(shù)字信號(hào)處理器(DSP)的片上系統(tǒng)(SoC)、多媒體編解碼器、ASP和框架以及開(kāi)發(fā)工具。這些集成組件提供了一套完整的開(kāi)放平臺(tái)解決方案?,F(xiàn)在,開(kāi)發(fā)者可以創(chuàng)建具有豐富特性的獨(dú)特設(shè)備,并針對(duì)特定應(yīng)用進(jìn)行優(yōu)化,從而快速投入市場(chǎng)。
2.電信
電信應(yīng)用要求具有操作各種各樣的數(shù)據(jù)、語(yǔ)音、電話和連接功能的處理能力。使用可編程DSP,開(kāi)發(fā)者可以輕松地?cái)U(kuò)展產(chǎn)品功能和特性集來(lái)匹配設(shè)計(jì)要求。此外,開(kāi)發(fā)者可以自定義、改編以及擴(kuò)充基于DSP的設(shè)計(jì),以滿足特定的要求并集中于終端產(chǎn)品個(gè)性化。DSP的解決方案可以供遠(yuǎn)程數(shù)據(jù)收集、因特網(wǎng)連接、電話協(xié)處理以及語(yǔ)音頻帶處理客戶端電話等使用。其中數(shù)字移動(dòng)電話是DSP最為重要的應(yīng)用領(lǐng)域。由于DSP具有強(qiáng)大的計(jì)算能力,使得移動(dòng)通信的蜂窩電話重新崛起,并創(chuàng)造了一批諸如GSM、CDMA等全數(shù)字蜂窩電話網(wǎng)。由于采用DSP技術(shù),移動(dòng)電話的更新?lián)Q代變得更為容易,只需在統(tǒng)一的硬件平臺(tái)基礎(chǔ)上,通過(guò)軟件的不斷升級(jí)就可以生產(chǎn)出各式各樣的新款手機(jī)。
3.安防
通過(guò)使用DSP技術(shù),可以將只有人類可以理解的模擬視頻輸入轉(zhuǎn)換為計(jì)算機(jī)可以理解的0和1的數(shù)字流。通過(guò)選擇處理空間超過(guò)轉(zhuǎn)換模擬視頻信號(hào)所需的DSP,就有可能創(chuàng)造具備領(lǐng)先功能的可編程智能產(chǎn)品,從而真正使產(chǎn)品具有特色并獲得未來(lái)證明。換句話說(shuō),攝像機(jī)不再局限于記錄事件。通過(guò)DSP技術(shù),它們現(xiàn)在可以評(píng)估事件的重要性和相關(guān)性,而無(wú)需人員干預(yù)。提高效率的方法之一是讓攝像機(jī)評(píng)估事件且僅在事件確實(shí)重要的情況下才觸發(fā)警報(bào):通過(guò)移動(dòng)檢測(cè)機(jī)制,智能攝像機(jī)可以實(shí)時(shí)跟蹤運(yùn)動(dòng);通過(guò)限制關(guān)注范圍,攝像機(jī)可以確定移動(dòng)是發(fā)生在安全門(mén)附近(從而指示一個(gè)事件)還是在街道對(duì)面(因?yàn)椴皇顷P(guān)注點(diǎn),從而也不是一個(gè)事件);攝像機(jī)可以利用對(duì)象識(shí)別來(lái)評(píng)估是重要事件(對(duì)象是一個(gè)人)還是錯(cuò)誤警報(bào)(對(duì)象是一只鳥(niǎo)或狗);通過(guò)面部識(shí)別技術(shù),攝像機(jī)可以驗(yàn)證人員身份。此時(shí),僅當(dāng)具有足夠證據(jù)表明事件是相關(guān)的且可能非常重要時(shí),攝像機(jī)才會(huì)觸發(fā)警報(bào)以告知人員。
4.生物辨識(shí)
生物辨識(shí)一般是指指紋匹配、面部識(shí)別和虹膜掃描等技術(shù)。每種技術(shù)的識(shí)別系統(tǒng)都使用傳感器收集圖像(指紋、面部或虹膜圖像),然后將它們與注冊(cè)用戶的數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行匹配。
識(shí)別準(zhǔn)確度是許多因素的綜合,但其中最重要的是圖像質(zhì)量。如果噪聲和人為因素使關(guān)鍵的詳細(xì)信息(例如用于模型匹配的關(guān)鍵指紋細(xì)節(jié))模糊不清,則嘗試將一個(gè)圖像與用戶數(shù)據(jù)庫(kù)進(jìn)行匹配就變得非常困難。因此,圖像質(zhì)量就非常重要。DSP可以降低圖像的噪聲,進(jìn)行圖像清理并且可以為掃描儀提高一個(gè)具有快速內(nèi)存結(jié)構(gòu)的強(qiáng)大處理器,以實(shí)時(shí)地完成所需要的處理。
5.控制
DSP可以提供較MCU而言更快的執(zhí)行速度,從而達(dá)到更高的控制性能,且DSP片上集成的外設(shè)豐富、便于設(shè)計(jì)、控制精度高,因此越來(lái)越多地應(yīng)用于控制領(lǐng)域,其主要用于磁盤(pán)控制、激光打印機(jī)控制、電機(jī)控制、發(fā)動(dòng)機(jī)控制、機(jī)器人控制等場(chǎng)合。
1.?TI公司
TI(TexasInstruments)公司的DSP市場(chǎng)占有率最高,大概每2個(gè)數(shù)字蜂窩電話中就有1個(gè)采用TI產(chǎn)品,全世界90%的硬盤(pán)和33%的Modem均采用TI的DSP技術(shù)。1997年,TI公司的兩項(xiàng)重大投資項(xiàng)目令其霸主地位更加穩(wěn)固不可動(dòng)搖:一是設(shè)立1億美元的風(fēng)險(xiǎn)基金,支持那些需要啟動(dòng)資金的DSP應(yīng)用企業(yè),為掀起DSP的應(yīng)用高潮打下堅(jiān)實(shí)的基礎(chǔ);1.5具有代表性的DSP芯片生產(chǎn)商二是啟動(dòng)500萬(wàn)美元的全球大學(xué)科研基金,用于支持各高校的DSP教育,TI已在中國(guó)國(guó)內(nèi)幾十所大學(xué)建立了DSP實(shí)驗(yàn)室和技術(shù)中心。
TI公司DSP目前廣泛應(yīng)用的有TMS320C2000系列、TMS320C5000系列和TMS320C6000系列。
TMS320C2000系列主要用于控制系統(tǒng),因?yàn)樗馁Y源非常豐富,在控制系統(tǒng)中需用到的一些外設(shè)該系列均在片內(nèi)集成了。TMS320C5000系列主要用于數(shù)字信號(hào)的算法處理,如FIR、IIR、FFT等。TMS320C5000系列的DSP的速度比TMS320C2000快,TMS320C2407最快只能到40MHz,TMS320C5410可以達(dá)到160MHz。目前,該系列主要用來(lái)做數(shù)字信號(hào)方面的處理以及簡(jiǎn)單的靜態(tài)圖像處理等這樣一些資源需要處于中等的算法。TMS320C6000系列主要是用在實(shí)時(shí)圖像處理方面,更側(cè)重于算法處理。
TMS320C2000系列DSP定位于控制優(yōu)化的DSP,其融合了微控制器(MCU)的控制外設(shè)集成功能和易用性,以及TI領(lǐng)先的DSP技術(shù)處理能力和C編程效率。所有C28X控制器所運(yùn)行的程序是相互兼容的。所有C28X控制器都能提供12位高速模數(shù)轉(zhuǎn)換器和高級(jí)PWM發(fā)生器。TMS320C2000系列DSP主要應(yīng)用于硬盤(pán)控制、采暖控制、通風(fēng)空調(diào)控制、電機(jī)控制、家用電器以及變頻電源控制。TMS320C2000系列DSP的主要代表產(chǎn)品如下:●
TMS320F283XX浮點(diǎn)控制器:業(yè)界首款浮點(diǎn)數(shù)字信號(hào)控制器,工作頻率高達(dá)150MHz,并可提供300MFLOPS的處理速度和512KB的片上閃存。
●
TMS320F282X控制器:這些定點(diǎn)32位控制器可與F283XX浮點(diǎn)控制器100%兼容。F282XX與F283XX具有相同的特性集和引腳至引腳兼容性,而且完全與F283XX系列軟件兼容。
●
TMS320F281X控制器:定點(diǎn)32位控制器,具有高達(dá)256KB的閃存和150MIPS的性能,同樣提供引腳兼容的ROM和RAM特有版本。●
TMS320F280XX控制器:定點(diǎn)32位控制器,采用100引腳封裝,具有高達(dá)256KB的閃存和100MIPS的性能。F280XX系列有12款產(chǎn)品,它們?nèi)慷家_至引腳兼容。
●
TMS320LF240X控制器:較舊的16位控制器,提供40MIPS的性能以及高度集成的閃存、控制和通信外設(shè)。其起價(jià)低于2美元,還提供了引腳兼容的ROM版本。
TMS320C5000系列DSP定位于高效能的DSP。
現(xiàn)在TMS320C5000DSP平臺(tái)已進(jìn)行優(yōu)化,適合于消費(fèi)類數(shù)字產(chǎn)品市場(chǎng)及通信電子產(chǎn)品。TMS320C5000系列是目前TIDSP的主流產(chǎn)品,它涵蓋了從低檔到中高檔的應(yīng)用領(lǐng)域,也是用戶最多的系列。TMS320C5000系列DSP的主要代表產(chǎn)品如下:
●
TMS320C55XDSP:包括TMS320VC5503、TMS320VC5507和TMS320VC5509ADSP,這些都是業(yè)界最低功耗和待機(jī)功耗超低的DSP。它們的高級(jí)電源管理技術(shù)會(huì)自動(dòng)關(guān)閉閑置的外設(shè)、存儲(chǔ)器和核心功能單元,從而延長(zhǎng)了電池壽命。此外,該系列還包括OMAP器件。OMAP器件在低功耗、實(shí)時(shí)信號(hào)處理的基礎(chǔ)上增加了ARM的命令和控制功能。●
TMS320C54XDSP:包括TMS320VC5402DSP。它具有廣泛的性能和外設(shè)選項(xiàng),這些選項(xiàng)適用于數(shù)字蜂窩和個(gè)人通信系統(tǒng)、PDA、數(shù)字無(wú)繩和無(wú)線數(shù)據(jù)通信、語(yǔ)音分組、便攜式因特網(wǎng)音頻以及調(diào)制解調(diào)器。
TMS320C6000系列DSP定位于高性能的DSP。該系列能提供業(yè)界最高性能的定點(diǎn)DSP,非常適合于成像、寬帶基礎(chǔ)設(shè)施和高性能音頻應(yīng)用。
2.其他公司
除TI公司以外,AD公司、Motorola等公司也推出自己的DSP芯片,并且各有特色。
AD公司的DSP包括Blackfin處理器、
SHARC處理器、TigerSHARC處理器、ADSP-21XX處理器。
Blackfin處理器代表了一種新型16/32bit嵌入式處理器,它非常適合會(huì)聚起關(guān)鍵作用的應(yīng)用——多格式音頻、視頻、語(yǔ)音和圖像處理;多模式基帶和分組處理;控制處理和實(shí)時(shí)安全性。正是這種軟件靈活性和可擴(kuò)展性的獨(dú)特結(jié)合為Blackfin處理器贏得了會(huì)聚應(yīng)用領(lǐng)域廣泛的適應(yīng)性。
SHARC處理器占據(jù)浮點(diǎn)DSP市場(chǎng)的主要份額,提供了配有卓越I/O吞吐率的優(yōu)異內(nèi)核和存儲(chǔ)器性能。
TigerSHARC處理器為多處理應(yīng)用提供最高性能密度,提供高于每秒吉字節(jié)浮點(diǎn)操作次數(shù)GFLOPS的高性能。
ADSP-21XX處理器是代碼和引腳兼容的數(shù)字信號(hào)處理器家族,具有高達(dá)160MHz的工作頻率和低至184μA的功耗。ADSP-21XX系列產(chǎn)品適合語(yǔ)音處理和話音頻帶調(diào)制解調(diào)以及實(shí)時(shí)控制應(yīng)用。
Motorola公司16位的DSP56800系列,主要有DSP56F801、56F802、56F803、56F805、56F807以及56F824、56F826、56F827等幾種型號(hào)。最新一代的MotorolaDSP產(chǎn)品采用Star*Core內(nèi)核,性能上有進(jìn)一步改進(jìn),這一代產(chǎn)品以MSC8101、MSC8102為代表,采用SC140內(nèi)核,帶有PowerPC的總線接口,與PowerPC微處理器配合使用,用于高速有線與無(wú)線通信。
Motorola的24位DSP主要有56300系列和56600系列。56300系列包括DSP56301、56303、56305、56306、56307、56309、56311、56321、56364、56366、56367等,其中5636X系列用于音頻信號(hào)處理。
1.結(jié)合你的專業(yè)方向或是你感興趣的應(yīng)用領(lǐng)域,試舉出一個(gè)DSP(數(shù)字信號(hào)處理器)的具體應(yīng)用實(shí)例,并說(shuō)明為什么要采用DSP以及是如何應(yīng)用DSP的。
2.簡(jiǎn)述數(shù)字信號(hào)處理的特點(diǎn)與優(yōu)勢(shì)。
3.簡(jiǎn)述實(shí)時(shí)處理的概念。
習(xí)題與思考題
4.請(qǐng)?jiān)敿?xì)描述馮·諾依曼結(jié)構(gòu)和哈佛結(jié)構(gòu),并比較它們的不同。
5.簡(jiǎn)述DSP處理器的結(jié)構(gòu)特點(diǎn)。
6.簡(jiǎn)述DSP與MCU、GPP的區(qū)別及其優(yōu)勢(shì)。第2章TMS320C55X系列DSP
2.1TMS320C55X概述2.2TMS320C55XCPU的結(jié)構(gòu)2.3TMS320C55XDSP的存儲(chǔ)器和2.4啟動(dòng)加載程序2.5本章小結(jié)習(xí)題與思考題本章介紹TMS320C55X(以下簡(jiǎn)稱為C55X)在TMS320C5000(以下簡(jiǎn)稱為C5000)系列DSP中的地位、C55X的存儲(chǔ)器和I/O空間,C55X的CPU結(jié)構(gòu)、低功耗的強(qiáng)化以及嵌入式仿真器的特性。其中C55X的CPU結(jié)構(gòu)是本章的重點(diǎn)。
2.1.1C55X在C5000系列DSP中的地位
第1章我們講到C5000系列DSP是高效能的DSP,功耗低,適合于消費(fèi)類數(shù)字產(chǎn)品市場(chǎng)以及通信電子產(chǎn)品。其發(fā)展方向是朝更加有效的電源使用以及更多的集成方向發(fā)展,并且有多核、DSP+RISC、功能強(qiáng)化三個(gè)產(chǎn)品系列。2.1TMS320C55X概述
C55XDSP是C5000DSP系列中最新的一代產(chǎn)品,包含TMS320VC5503、TMS320VC5507和TMS320VC5509ADSP。C55X對(duì)C54X有很好的繼承性,與C54X源代碼兼容,從而有效地保護(hù)用戶在軟件上的投資。
C55X繼承了C54X的發(fā)展趨勢(shì),低功耗、低成本,在有限的功率條件下,保持最好的性能。其工作在0.9V下,待機(jī)功耗低至0.12mW,性能高達(dá)600MIPS,并且具有業(yè)界目前最低的待機(jī)功耗,極大地延長(zhǎng)了電池的壽命,對(duì)數(shù)字通信等便攜式應(yīng)用所提出的挑戰(zhàn),提供了有效的解決方案。其軟件也與所有C5000DSP兼容。與120MHz的C54X相比,300MHz的C55X性能大約提高了5倍,而功耗則降為C54X的1/6。C55X的超低功耗,是通過(guò)低功率設(shè)計(jì)以及功率管理技術(shù)的進(jìn)步而達(dá)到的。設(shè)計(jì)者使用了一種非并行層次的節(jié)電配置,以及創(chuàng)新的粒度耦合自動(dòng)功率管理,對(duì)于用戶是透明的。
與C54X相比,C55X的片內(nèi)有兩個(gè)乘法累加器(MAC),并且增加了累加器(ACC)、算術(shù)邏輯單元(ALU)、數(shù)據(jù)寄存器等,配合以并行指令,每個(gè)機(jī)器周期的效率提高了一倍。其指令集是C54X的超集,加入了適應(yīng)擴(kuò)展的新的硬件單元的指令。其指令長(zhǎng)度從8bit到48bit。這種長(zhǎng)度可變的指令可以使每個(gè)函數(shù)的控制代碼量比C54X降低40%。減少代碼量,就意味著減少存儲(chǔ)器的用量,從而降低系統(tǒng)成本。2.1.2TMS320C55XDSP的應(yīng)用
C55X的結(jié)構(gòu)和設(shè)計(jì)是為了達(dá)到四個(gè)相關(guān)的目標(biāo):超低功耗,有效的DSP性能,降低代碼密度,與C54X完全的代碼兼容。
C55X支持四類基本的應(yīng)用:
①在保持或略微提高性能的條件下,大大延長(zhǎng)電池壽命。例如,將數(shù)字蜂窩電話、便攜式聲音播放器、數(shù)碼相機(jī)的電池使用時(shí)間,從小時(shí)延長(zhǎng)到天,從天延長(zhǎng)到周。②在保持或稍微延長(zhǎng)電池壽命的條件下,大大提高性能。例如,剛剛推出使用的3G手機(jī),可以用于因特網(wǎng)的音頻、視頻、數(shù)據(jù)的移動(dòng)產(chǎn)品等,用戶所期待的是具有一定水平的待機(jī)時(shí)間和使用時(shí)間的電池壽命,而不愿意為增加功能而犧牲電池的壽命。
③要求很小的尺寸、超低功耗、中低水平的DSP性能。例如,助聽(tīng)器和醫(yī)療檢測(cè)設(shè)備,要求DSP具有相當(dāng)?shù)哪芰?,但電池的壽命要達(dá)到數(shù)周乃至數(shù)月。④高功效的設(shè)施,要求提高信道密度,但又有嚴(yán)格的板級(jí)功耗和空間的限制。
一般地說(shuō),C55X的目標(biāo)市場(chǎng)是消費(fèi)和通信市場(chǎng),多用于語(yǔ)音編解碼,線路回音和噪聲消除,調(diào)制解調(diào),圖像和聲音的壓縮與解壓,語(yǔ)音的加密與解密,語(yǔ)音的識(shí)別與合成等領(lǐng)域。2.1.3TMS320C55XDSP的主要性能和優(yōu)點(diǎn)
C55X的主要性能和優(yōu)點(diǎn)如下所示:
●一個(gè)32
×
16bit指令緩沖隊(duì)列:緩沖可變長(zhǎng)度指令和實(shí)現(xiàn)塊重復(fù)操作。
●兩個(gè)17bit
×
17bitMAC:在單周期內(nèi)實(shí)現(xiàn)雙MAC操作。
●一個(gè)40bitALU:執(zhí)行高精度算術(shù)和邏輯運(yùn)算。
●一個(gè)40bit桶形移位寄存器:可以把40bit結(jié)果左移31位或右移32位。
●一個(gè)16bitALU:和主ALU并行執(zhí)行簡(jiǎn)單算術(shù)運(yùn)算?!袼膫€(gè)40bit累加器:保持計(jì)算結(jié)果和減少所需存儲(chǔ)器數(shù)量。
●
12條獨(dú)立總線:并行地對(duì)不同操作單元同時(shí)提供處理指令和操作數(shù)。
●用戶配置的IDLE域:改善低活動(dòng)性時(shí)的電源管理。2.1.4對(duì)低功耗能力的加強(qiáng)
C55X是在C54X的基礎(chǔ)上發(fā)展起來(lái)的,后者已經(jīng)是低功耗的DSP。通過(guò)工藝、設(shè)計(jì)、結(jié)構(gòu)等一系列的強(qiáng)化,使C55X的功耗降低到新的水平,不僅降低了功耗,而且提高了性能。
1.提高并行處理的能力
C55X通過(guò)結(jié)構(gòu)上的改進(jìn),提高了并行性并降低了每個(gè)任務(wù)所需要的周期數(shù)。它采用的手段主要包括:
●兩個(gè)乘法累加(MAC)單元;
●兩個(gè)算術(shù)邏輯單元(ALU);
●三組讀總線;
●兩組寫(xiě)總線。
采用這些措施后,C55X可以處理兩個(gè)數(shù)據(jù)流,或者以兩倍的速度來(lái)處理一個(gè)數(shù)據(jù)流,不需要將系數(shù)值讀兩遍。對(duì)于一個(gè)給定的任務(wù),減少存儲(chǔ)器的訪問(wèn),就可以改善功耗和性能。
C55X的指令結(jié)構(gòu)允許在一個(gè)周期里執(zhí)行兩條指令。處理器內(nèi)的兩組寫(xiě)總線,可以在一個(gè)周期里作兩次寫(xiě)或一次寫(xiě)兩個(gè)字,從而降低每個(gè)任務(wù)所需要的周期數(shù)。這也就意味著,更多的時(shí)間是處于節(jié)電模式(IDLE)。
(1)對(duì)于許多任務(wù)來(lái)說(shuō),使用不同的計(jì)算單元,可以降低功耗。C55X的CPU內(nèi)有兩個(gè)ALU,一個(gè)是40bit(C54X的標(biāo)準(zhǔn)配置),一個(gè)是16bit(C55X增加的)。40bit的ALU用于基本的計(jì)算任務(wù)。16bit的ALU可以用于較小的算術(shù)與邏輯任務(wù)。靈活的指令集可以直接將比較簡(jiǎn)單的計(jì)算或邏輯/位操作任務(wù)交給16bit的ALU,從而減小功耗。由于兩個(gè)ALU可以并行工作,從而減少每個(gè)任務(wù)的周期數(shù),來(lái)降低功耗。
(2)將存儲(chǔ)器的訪問(wèn)減到最少。存儲(chǔ)器的訪問(wèn),無(wú)論是片內(nèi)的還是片外的,都是功率消耗的主要部分。將存儲(chǔ)器的訪問(wèn)減到最少,無(wú)疑是降低每個(gè)任務(wù)功耗所必需的。在C55X里,指令的提取是32bit(C54X里是16bit)。此外,可變長(zhǎng)度指令集意味著,每個(gè)32bit指令的提取可以提出一個(gè)以上的長(zhǎng)度可變的指令,按照所需要的信息來(lái)決定指令的長(zhǎng)度,從而改善代碼的密度。這種指令集的設(shè)計(jì)和處理器結(jié)構(gòu)的結(jié)合,就可以保證在達(dá)到最高性能的同時(shí),使功耗降到最小。
C55X靈活的指令Cache(高速緩沖存儲(chǔ)器)也可以對(duì)不同類型的代碼做優(yōu)化配置。改善Cache的訪問(wèn)率,就意味著減少片外的訪問(wèn),從而減少系統(tǒng)的功耗。
(3)外設(shè)和片上存儲(chǔ)器陣列的自動(dòng)低功率機(jī)制。C55X的核處理器會(huì)自動(dòng)地管理片上外設(shè)和存儲(chǔ)器陣列的功耗。這種資源的管理完全是自動(dòng)的,對(duì)用戶透明。而且,這種功耗的降低,并不影響處理器的性能。當(dāng)某個(gè)片上的存儲(chǔ)器陣列沒(méi)有被使用時(shí),它們就自動(dòng)地切換到低功率模式。當(dāng)一個(gè)訪問(wèn)的要求到達(dá)時(shí),該陣列就恢復(fù)到正常的工作狀態(tài),完成存儲(chǔ)器的訪問(wèn),無(wú)須應(yīng)用程序的干預(yù)。如果沒(méi)有進(jìn)一步的訪問(wèn),該陣列又回到低功率狀態(tài)。該處理器對(duì)片上外設(shè)也提供類似的控制。當(dāng)外設(shè)沒(méi)有激活,以及CPU不需要其關(guān)注時(shí),就進(jìn)入低功率狀態(tài)。外設(shè)響應(yīng)處理器的要求,退出低功率狀態(tài),也不需要程序的干預(yù)。這種功率管理也可以在軟件的外設(shè)IDLE(閑置)域控制下進(jìn)行。
(4)可控制的功能IDLE域,提供了極大的省電靈活性。節(jié)電最重要的是,當(dāng)應(yīng)用是處于IDLE或低活動(dòng)狀態(tài)時(shí),達(dá)到最小功耗。C55X通過(guò)用戶可控制的IDLE域,來(lái)改善低活動(dòng)域功率管理的靈活性。這里所謂的域,是指器件里的不同部分,可以由軟件來(lái)選擇,使其使能或禁止。在禁止時(shí),該域進(jìn)入非常低功率的IDLE狀態(tài),但寄存器及存儲(chǔ)器的內(nèi)容仍然保留。當(dāng)該域使能時(shí),返回到正常的工作狀態(tài)。各個(gè)域都可以單獨(dú)地使能或禁止,使應(yīng)用程序可以盡可能有效地管理低活動(dòng)域的功耗狀態(tài)。在C55X系列最初的器件里,可以分開(kāi)配置的IDLE域包括CPU、DMA、外設(shè)、外部存儲(chǔ)器接口(EMIF)、指令Cache以及時(shí)鐘發(fā)生電路。
2.低電壓工藝技術(shù)的發(fā)展
除通過(guò)結(jié)構(gòu)和指令集來(lái)降低功耗外,C55X系列處理器還通過(guò)先進(jìn)的低電壓CMOS技術(shù)來(lái)進(jìn)一步突破降低功耗的壁壘。C55X系列處理器所使用的CMOS技術(shù)支持器件工作在1.5V和0.9V。這些低電壓的處理器仍然可以和其他標(biāo)準(zhǔn)的3.3VCMOS器件直接接口。2.1.5嵌入式仿真特性
1.基本的仿真特性及其強(qiáng)化
和以往的處理器系列相比,C55X強(qiáng)化了仿真和調(diào)試能力,所提供的仿真環(huán)境更加接近實(shí)際的應(yīng)用環(huán)境,而且可以在仿真時(shí)進(jìn)行實(shí)時(shí)的應(yīng)用程序操作。
C55X開(kāi)發(fā)工具的強(qiáng)化仿真特性包括:
●用觀察點(diǎn)/斷點(diǎn)來(lái)做非插入式的實(shí)時(shí)調(diào)試;
●更快的屏幕更新;
●在仿真停頓事件期間,更好地控制程序代碼的執(zhí)行;
●實(shí)時(shí)數(shù)據(jù)交換(RTDX)。
這些強(qiáng)化能力的集成為軟件和系統(tǒng)的開(kāi)發(fā)者提供了不用停止CPU或消耗CPU的資源就能觀察硬件的工作,達(dá)到仿真的目的。這樣的仿真環(huán)境能最大限度地仿真DSP的全部性能。
2.跟蹤能力
C55X片內(nèi)仿真硬件的另一個(gè)強(qiáng)化,是程序計(jì)數(shù)器(PC)的跟蹤能力。這種跟蹤能力可以更好地觀察應(yīng)用程序流。PC跟蹤能力所關(guān)注的是,通過(guò)輸出足夠的信息,用一個(gè)離線程序來(lái)重構(gòu)應(yīng)用程序。要選擇多種能力來(lái)輸出,作為運(yùn)行時(shí)用戶的選項(xiàng),以便控制輸出哪些信息,什么時(shí)候輸出,以及以什么樣的格式輸出。在仿真器里,PC跟蹤硬件所關(guān)注的是:最后32個(gè)PC值的跟蹤,或最后16個(gè)不連續(xù)的PC值的跟蹤。最后32個(gè)PC值的跟蹤,用于觀察最近的程序流的歷史。例如,一個(gè)子程序可能在子程序里的許多不同地方調(diào)用。在子程序里設(shè)置斷點(diǎn),就可以用PC跟蹤能力來(lái)判斷主程序里調(diào)用該子程序的位置。
最后16個(gè)不連續(xù)的PC值的跟蹤,用于觀察程序流的長(zhǎng)期歷史。在高度依賴條件轉(zhuǎn)移和調(diào)用的代碼里,這種功能非常有用。
3.實(shí)時(shí)數(shù)據(jù)交換(RTDX)
RTDX是在目標(biāo)系統(tǒng)和運(yùn)行調(diào)試器的仿真主機(jī)之間交換數(shù)據(jù)。片內(nèi)的實(shí)時(shí)仿真硬件提供一條與調(diào)試控制共享的路徑。目標(biāo)系統(tǒng)與主機(jī)之間的數(shù)據(jù)交換率可達(dá)2MB/s,所開(kāi)辟的新的仿真能力包括:
●仿真到目標(biāo)系統(tǒng)的實(shí)時(shí)輸入;
●在主機(jī)上實(shí)時(shí)地更新目標(biāo)系統(tǒng)的性能曲線。
2.2.1CPU結(jié)構(gòu)概述
C55XDSP是一款采用改良型哈佛結(jié)構(gòu),高度模塊化的數(shù)字信號(hào)處理器,擁有比普通DSP更為豐富的硬件資源,能夠有效提高運(yùn)算能力。其內(nèi)核結(jié)構(gòu)如圖2-1所示,整個(gè)處理器內(nèi)部分為5個(gè)大的功能單元:存儲(chǔ)器緩沖單元(M單元)、指令緩沖單元(I單元)、程序控制單元(P單元)、地址生成單元(A單元)和數(shù)據(jù)計(jì)算單元(D單元),各個(gè)功能單元之間通過(guò)總線連接。2.2TMS320C55XCPU的結(jié)構(gòu)C55XDSP中有1條32位程序數(shù)據(jù)總線(P總線),1條24位程序地址總線(PA總線),5條16位的數(shù)據(jù)總線(B、C、D、E、F總線)和5條24位的數(shù)據(jù)地址總線(BA、CA、DA、EA、FA總線)。這種高度模塊化的多總線結(jié)構(gòu)使得C55XDSP擁有超強(qiáng)的并行處理能力。下面分別介紹總線和各功能單元。
圖2-1TMS320C55X內(nèi)核結(jié)構(gòu)圖2.2.2片內(nèi)的數(shù)據(jù)和地址總線
在圖2-1中所示的總線有:
(1)讀數(shù)據(jù)的數(shù)據(jù)總線(BB、CB、DB)。這3組總線從數(shù)據(jù)空間或I/O空間,傳送16bit的數(shù)據(jù)到CPU的各個(gè)功能單元。BB總線僅從內(nèi)部存儲(chǔ)器傳輸數(shù)據(jù)到D單元(主要是到兩個(gè)MAC單元。有特殊指令時(shí),用BB、CB和DB這3組總線來(lái)同時(shí)讀取3個(gè)操作數(shù)。(注意:BB總線沒(méi)有連接到外部存儲(chǔ)器上。如果一條指令要從BB總線上獲取一個(gè)操作數(shù),則該操作數(shù)必須是內(nèi)存中的數(shù)據(jù)。)CB和DB總線給P單元、A單元和D單元提供數(shù)據(jù)。對(duì)要求每次同時(shí)讀兩個(gè)操作數(shù)的指令,需要利用CB和DB兩組總線;對(duì)每次只讀一個(gè)操作數(shù)的指令,就只用DB總線。
(2)讀數(shù)據(jù)的地址總線(BAB,CAB,DAB)。這3組總線傳送24bit的地址給存儲(chǔ)器接口單元,然后由存儲(chǔ)器接口單元傳送所需要的數(shù)據(jù)給讀數(shù)據(jù)的數(shù)據(jù)總線。A單元產(chǎn)生所有的數(shù)據(jù)空間地址。BAB總線在BB上為從內(nèi)存?zhèn)鞯紺PU的數(shù)據(jù)傳輸?shù)刂?。CAB總線在CB上為傳到CPU的數(shù)據(jù)傳輸?shù)刂贰?/p>
DAB總線只在DB上或同時(shí)在CB和DB上為傳到CPU的數(shù)據(jù)傳輸?shù)刂贰?/p>
(3)讀程序的數(shù)據(jù)總線(PB)。PB傳送32bit的程序代碼到I單元,在I單元對(duì)這些指令進(jìn)行解碼。
(4)讀程序的地址總線(PAB)。PAB傳送由PB送達(dá)CPU的程序代碼的24bit地址。
(5)寫(xiě)數(shù)據(jù)的數(shù)據(jù)總線(EB,F(xiàn)B)。這兩組總線從CPU的功能單元,傳送16bit的數(shù)據(jù)到數(shù)據(jù)空間或I/O空間。EB和FB從P單元、A單元和D單元接收數(shù)據(jù)。對(duì)要求每次同時(shí)寫(xiě)兩個(gè)16bit數(shù)據(jù)到存儲(chǔ)器的指令,需要利用EB和FB兩組總線;對(duì)每次只寫(xiě)一個(gè)數(shù)據(jù)的指令,就只用EB。
(6)寫(xiě)數(shù)據(jù)的地址總線(EAB,F(xiàn)AB)。這兩組總線傳送寫(xiě)入存儲(chǔ)器接口單元的24bit地址。存儲(chǔ)器接口單元收到這個(gè)地址后,再接收由寫(xiě)數(shù)據(jù)的數(shù)據(jù)總線傳來(lái)的數(shù)據(jù)。所有的數(shù)據(jù)空間地址都由A單元產(chǎn)生。EAB總線只在EB上或同時(shí)在EB和FB上為寫(xiě)入到存儲(chǔ)器的數(shù)據(jù)傳輸?shù)刂?。FAB總線在FB上為寫(xiě)入到存儲(chǔ)器的數(shù)據(jù)傳輸?shù)刂贰?/p>
2.2.3存儲(chǔ)器緩沖單元(M單元)
M單元主要管理數(shù)據(jù)區(qū)(包括I/O數(shù)據(jù)區(qū))與中央處理器(CPU)之間的數(shù)據(jù)傳送,使得高速CPU與外部相對(duì)低速的存儲(chǔ)器之間在吞吐量上的瓶頸可以得到一定程度的緩解。
2.2.4指令緩沖單元(I單元)
在每個(gè)CPU周期,I單元接收到4Byte(32bit)程序代碼,寫(xiě)入到它的指令緩沖隊(duì)列(IBQ)中,并解碼該緩沖隊(duì)列中先前收到的l~6Byte程序代碼。然后,把得到的數(shù)據(jù)傳輸?shù)絇單元、A單元和D單元里,以便執(zhí)行。例如,編碼到指令里的任何常數(shù)(為了加載寄存器,提供移位計(jì)數(shù)或識(shí)別比特?cái)?shù)等),都要單獨(dú)存放在I單元,然后傳給適當(dāng)?shù)膯卧?。圖2-2是I單元的基本框圖。下面介紹一下I單元的主要部分。
圖2-2指令緩沖單元(I單元)框圖
1.指令緩沖隊(duì)列
CPU從程序存儲(chǔ)器一次可以提取32bit代碼。讀程序的數(shù)據(jù)線(PB)從存儲(chǔ)器提取32bit的代碼,放入指令緩沖隊(duì)列。該隊(duì)列一次最多可以存放64Byte的代碼。當(dāng)CPU準(zhǔn)備好解碼后,每次可以從隊(duì)列里取6Byte送往指令解碼器。
另外,為了協(xié)助指令的流水操作,指令緩沖隊(duì)列還能完成以下操作:
(1)執(zhí)行隊(duì)列中的一個(gè)代碼塊(局部循環(huán)指令)。
(2)當(dāng)測(cè)試了一個(gè)程序流控制指令(條件分支、條件調(diào)用或條件返回),則可以隨機(jī)提取指令。
2.指令解碼器
在指令流水的解碼階段,指令解碼器從指令緩沖隊(duì)列接收6Byte的程序代碼并解碼。
指令解碼器可以實(shí)現(xiàn):
(1)識(shí)別指令邊界,可以對(duì)8、16、24、32、40、48bit的指令解碼。
(2)決定CPU是否并行執(zhí)行兩條指令。
(3)將解碼后的執(zhí)行命令和立即數(shù)傳送給程序流單元(P單元)、地址數(shù)據(jù)流單元(A單元)以及數(shù)據(jù)計(jì)算單元(D單元),可以使用一些指令,通過(guò)特定的數(shù)據(jù)路徑,直接把立即數(shù)寫(xiě)到存儲(chǔ)器或I/O空間。2.2.5程序控制單元(P單元)
P單元主要是通過(guò)判斷是否滿足條件執(zhí)行指令的條件來(lái)控制程序地址的產(chǎn)生,達(dá)到控制程序流程的目的。程序控制單元中還含有程序控制寄存器、循環(huán)控制寄存器、中斷寄存器和狀態(tài)寄存器等硬件寄存器。通過(guò)循環(huán)控制寄存器的設(shè)置,可以直接控制程序中的循環(huán)次數(shù)等,而不必像在普通DSP中一樣在外部對(duì)循環(huán)條件進(jìn)行判斷,從而可以有效地提高運(yùn)行效率。
圖2-3是P單元的基本框圖。下面介紹P單元的主要部分。
圖2-3程序控制單元(P單元)框圖
1.程序地址的產(chǎn)生和程序控制邏輯
在P單元內(nèi),程序地址產(chǎn)生邏輯產(chǎn)生24bit的地址,以便從程序存儲(chǔ)器里提取指令。P單元通常產(chǎn)生順序地址,但也可以產(chǎn)生非順序的地址,這時(shí)程序地址產(chǎn)生邏輯可從I單元接收立即數(shù),從D單元接收寄存器的值。地址產(chǎn)生后,就通過(guò)讀程序的地址總線(PAB)送往存儲(chǔ)器。程序控制邏輯從I單元接收立即數(shù),測(cè)試從A單元和D單元來(lái)的結(jié)果,并執(zhí)行以下操作:
(1)對(duì)一個(gè)條件指令,測(cè)試其條件的真假,然后將測(cè)試結(jié)果遞交程序地址產(chǎn)生邏輯。
(2)當(dāng)有中斷請(qǐng)求,并已使能時(shí),啟動(dòng)中斷服務(wù)。
(3)控制單循環(huán)語(yǔ)句后面的指令的循環(huán),或塊循環(huán)語(yǔ)句后面的指令塊的循環(huán)??梢郧短兹龑友h(huán),把一個(gè)塊循環(huán)語(yǔ)句嵌套在另一個(gè)塊循環(huán)語(yǔ)句里,再把一條單循環(huán)語(yǔ)句嵌套在以上任意一個(gè)塊循環(huán)里,或者兩個(gè)塊循環(huán)里。所有的循環(huán)操作都可以中斷。
C55X系列DSP可以在作數(shù)據(jù)處理的同時(shí),并行地執(zhí)行程序控制指令。
2.?P單元內(nèi)的寄存器
對(duì)程序流寄存器的訪問(wèn)是有限制的,用戶不能對(duì)PC進(jìn)行讀或?qū)懖僮?,?duì)RETA和CFCT兩個(gè)寄存器的訪問(wèn)只能用以下兩條語(yǔ)句:MOVdbl(Lmem),RETA和MOVRETA,dbl(Lmem)。所有其他的寄存器,都可以存放從I單元來(lái)的立即數(shù),且可以和數(shù)據(jù)存儲(chǔ)器、
I/O空間、A單元的寄存器以及D單元的寄存器雙向通信。P單元包含下列寄存器。
1)程序流寄存器
●
PC 程序計(jì)數(shù)器;
●
RETA 返回地址寄存器;
●
CFCT 控制流關(guān)系寄存器。
2)塊循環(huán)寄存器
●
BRC0,BRC1 塊循環(huán)計(jì)數(shù)器0和1;
●
BRS1,BRC1 存儲(chǔ)寄存器;
●
RSA0,RSA1 塊循環(huán)起始地址寄存器0和l;
●
REA0,REA1 塊循環(huán)結(jié)束地址寄存器0和1。
3)單循環(huán)寄存器
●
RPTC 單循環(huán)計(jì)數(shù)器;
●
CSR 經(jīng)過(guò)計(jì)算的單循環(huán)寄存器。
4)中斷寄存器
●
IFR0,IFR1 中斷標(biāo)志寄存器0和1;
●
IER0,IER1 中斷使能寄存器0和l;
●
DBIER0,DBIERl 調(diào)試中斷使能寄存器0和1。
5)狀態(tài)寄存器
●
ST0_55~ST3_55 狀態(tài)寄存器0、1、2、3。2.2.6地址生成單元(A單元)
A單元的功能是產(chǎn)生讀寫(xiě)數(shù)據(jù)空間的地址。地址生成單元由數(shù)據(jù)地址產(chǎn)生電路(DAGEN)、16位的算術(shù)邏輯單元(ALU)和一組寄存器構(gòu)成。C55XDSP地址生成單元與其他功能模塊分開(kāi),不會(huì)因?yàn)榈刂樊a(chǎn)生的原因使得單條指令需要在多個(gè)時(shí)鐘周期內(nèi)完成,提高了DSP的運(yùn)行效率。A單元中的寄存器包括數(shù)據(jù)頁(yè)寄存器、輔助寄存器、堆棧指針寄存器、循環(huán)緩沖尋址寄存器和臨時(shí)寄存器等。A單元框圖如圖2-4所示。
圖2-4地址數(shù)據(jù)流單元(A單元)框圖下面介紹A單元的主要部分。
1.數(shù)據(jù)地址產(chǎn)生單元(DAGEN)
DAGEN產(chǎn)生讀寫(xiě)數(shù)據(jù)空間的所有地址。它可以接收I單元來(lái)的立即數(shù),以及A單元來(lái)的寄存器值。對(duì)于使用非直接尋址模式的指令,P單元指示DAGEN是用線性尋址還是循環(huán)尋址。
2.?A單元的算術(shù)邏輯單元(A單元ALU)
A單元包含一個(gè)16bit的ALU,接收I單元來(lái)的立即數(shù),與存儲(chǔ)器、I/O空間、A單元的寄存器、D單元的寄存器以及P單元的寄存器作雙向通信。它還可以作以下操作:
(1)加法、減法、比較、布爾邏輯運(yùn)算、帶符號(hào)移位、邏輯移位以及絕對(duì)值運(yùn)算;
(2)對(duì)A單元內(nèi)寄存器的各位以及存儲(chǔ)器的各位,作測(cè)試、設(shè)置、清除以及求補(bǔ)碼;
(3)對(duì)寄存器的值作修改和移位;
(4)對(duì)寄存器的值作循環(huán)移位;
(5)將移位器里的結(jié)果送至A單元的寄存器。
3.?A單元的寄存器
A單元包括并且使用以下的寄存器。
1)數(shù)據(jù)頁(yè)寄存器
●
DPH,DP 數(shù)據(jù)頁(yè)寄存器;
●
PDP 外設(shè)數(shù)據(jù)頁(yè)寄存器。
2)指針寄存器
●
CDPH,CDP 系數(shù)數(shù)據(jù)指針寄存器;
●
SPH,SP,SSP 堆棧指針寄存器;
●
XAR0~XAR7 輔助寄存器。
3)循環(huán)緩沖寄存器
●
BK03,BK47,BKC 循環(huán)緩沖大小寄存器;
●
BSA01,BSA23,BSA45,BSA67,BSAC 循環(huán)緩沖起始地址寄存器。
4)暫時(shí)寄存器
●
T0~T3 暫時(shí)寄存器0、1、2、3。
所有這些寄存器都可以接收I單元來(lái)的立即數(shù),并可以接收從P單元的寄存器、D單元的寄存器以及數(shù)據(jù)存儲(chǔ)器來(lái)的數(shù)據(jù),也為它們提供數(shù)據(jù)。在A單元里,寄存器可以和DAGEN及A單元的ALU作雙向通信。2.2.7數(shù)據(jù)計(jì)算單元(D單元)
D單元是C55XDSP中主要的數(shù)據(jù)執(zhí)行部件,完成大部分?jǐn)?shù)據(jù)的算術(shù)運(yùn)算工作。它由移位器、40bitALU、兩個(gè)17bit的乘法累加器(MAC)和若干寄存器構(gòu)成。數(shù)據(jù)計(jì)算單元的兩個(gè)乘法累加器能夠并行使用,可以有效提高DSP運(yùn)行效率。D單元中的寄存器包括累加器和兩個(gè)用于維特比譯碼的專用指令寄存器。
D單元包括了CPU的基本計(jì)算單元。圖2-5是D單元的基本框圖。下面介紹D單元的主要部分。
圖2-5數(shù)據(jù)計(jì)算單元(D單元)框圖
1.移位器
D單元的移位器接收I單元來(lái)的立即數(shù),與存儲(chǔ)器、I/O空間、A單元的寄存器、D單元的寄存器、P單元的寄存器作雙向通信。此外,它可以將移位后的值提供給D單元的ALU(作進(jìn)一步計(jì)算)及A單元的ALU(作為結(jié)果存放在A單元的寄存器)。該移位器還可以作以下操作:
(1)將40bit的累加器值,左移達(dá)31bit或右移達(dá)32bit,移位計(jì)數(shù)可從暫時(shí)寄存器(T0~T3)讀取,或由指令里的常數(shù)來(lái)指定;
(2)將16bit的寄存器、存儲(chǔ)器以及I/O空間的值左移達(dá)31bit或右移達(dá)32bit,移位計(jì)數(shù)可從暫時(shí)寄存器(T0~T3)讀取
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校校長(zhǎng)聘任合同
- 工程水電承包施工合同
- 帶目錄合同管理制度全文年
- 襯砌拱施工方案
- 公路路基施工合同
- 房屋出售買(mǎi)賣(mài)合同
- 房屋裝修維修合同
- 地下保溫防潮施工方案
- 垃圾清運(yùn)施工方案
- 園林綠化施工方案
- 機(jī)械加工企業(yè)安全生產(chǎn)應(yīng)急預(yù)案(6篇)
- GB/T 23025-2024信息化和工業(yè)化融合管理體系生產(chǎn)設(shè)備運(yùn)行管控信息模型分類與應(yīng)用指南
- 2025年上半年安徽合肥高新區(qū)管委會(huì)招聘工作人員筆試重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 學(xué)校食堂廚師崗位職責(zé)
- 2024年度服務(wù)器采購(gòu)合同3篇
- 職業(yè)生涯規(guī)劃的步驟與方法課件
- 2024解析:第十五章電流和電路-講核心(解析版)
- 米勒黑曼策略銷售培訓(xùn)
- 2024年下半年?yáng)|方電氣長(zhǎng)三角(杭州)創(chuàng)新研究院限公司第二批招聘易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2020-2024年五年高考語(yǔ)文真題分類匯編專題04 古代詩(shī)歌鑒賞(解析版)
- 【重點(diǎn)易錯(cuò)題每日一練小紙條】二年級(jí)數(shù)學(xué)下冊(cè)
評(píng)論
0/150
提交評(píng)論