配套課件-DSP處理器原理與應用_第1頁
配套課件-DSP處理器原理與應用_第2頁
配套課件-DSP處理器原理與應用_第3頁
配套課件-DSP處理器原理與應用_第4頁
配套課件-DSP處理器原理與應用_第5頁
已閱讀5頁,還剩1202頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章DSP概?述1.1引言1.2什么是DSP1.3DSP處理器的特點1.4DSP處理器的應用1.5具有代表性的DSP芯片生產商習題與思考題

現代社會,數字電視、數碼相機、數字電話、數字視頻、數字音頻等產品已經得到了廣泛的應用。與傳統的模擬產品比較,這些數字產品能夠提供更完美的效果。這在很大程度上是由于這些產品使用了數字信號處理技術的緣故。目前,數字信號處理任務大多數都是由DSP來完成的,DSP技術已成為人們日益關注的并得到迅速發展的前沿技術。1.1引言

DSP是數字信號處理(DigitalSignalProcessing)的縮寫,也是數字信號處理器(DigitalSignalProcessor)的縮寫。我們所說的DSP技術,通常指的是利用通用的或專用的DSP處理器來完成數字信號處理的方法和技術。1.2什么是DSP1.2.1數字信號處理

數字信號處理是一種通過使用數學方法來提取信息,處理現實信號的信號處理技術。這些被處理的信號由數字序列表示。

1807年傅里葉分析誕生,并在隨后產生了兩種傅里葉分析方法,即連續的和離散的傅里葉分析,但是由于其計算量太大,很難在實際使用中發揮作用。直到1965年,IBM公司的Cooley和Tukey提出DFT(離散傅里葉變換)的高效快速算法(FourierTransform,FFT),才使數字信號處理方法的使用有了突破性的進展。自FFT產生以來,數字信號處理(DSP)已有40多年的歷史,在這期間,伴隨著計算機和信息技術的飛速發展,數字信號處理技術日臻完善,進而形成一門獨立的學科系統。

如今,在數字信號處理的各個應用領域,如語音與圖像處理、信息的壓縮與編碼、信號的調制與調解、信道的辨識與均衡、各種智能控制與移動通信等都延伸出各自的理論與技術,可以說凡是用計算機來處理各類信號的場合都引用了數字信號處理的基本理論、概念和技術。

經典的數字信號處理方法有時域的信號濾波(如IIR、FIR)和頻域的頻譜分析(如FFT)。1.2.2數字信號處理器

數字信號處理器(DigitalSignalProcessors,DSP)是指具有專門為完成通用數字信號處理任務而優化設計的系統體系結構、軟件和硬件資源的單片、可編程的處理器。

經典的數字信號處理,如IIR、FIR和FFT的核心是乘加運算。數字信號處理器是專門為完成數字信號處理任務而優化設計的,其設計的宗旨是為了更快地完成數字信號處理任務,因此其特點是更適合于乘加運算。另外,數字信號處理器是可編程的,非常利于程序修改以及產品升級。1.2.3數字信號處理的特點與優勢

1.數字信號處理的優點

1)設計靈活性

圖1-1為一個典型的FIR濾波器,同樣的濾波效果可以由傳統的模擬濾波器完成,但是如果需要改變設計時,模擬系統必須重新進行系統設計,至少需要改變系統中的某些器件或參數,然后再重新裝配和調試,這個過程是非常費時和費力的。而如果使用以DSP處理器為核心的數字系統,則是在一個硬件平臺通過用各種軟件來執行各種各樣的數字信號處理任務。改變設計時,只需要改變相應的軟件或軟件中的參數,而不需要改變硬件平臺本身,具有極大的靈活性,是傳統的模擬系統無法比擬的。例如,數字濾波器可以通過重新編程來完成低通、高通、帶通和帶阻等不同的濾波任務,不需要改變硬件;而模擬濾波器則必須改變其設計并重新調試,才能達到目的。近年來得到迅速發展和應用的軟件無線電技術,是在一個以高性能DSP處理器為核心的硬件平臺上,用不同的軟件來實現對不同工作模式的電臺間通信;對于模擬電臺而言,只有工作模式完全相同的電臺之間才能進行通信。

以DSP處理器為核心的數字系統的靈活性是模擬系統很難達到的,有的甚至是模擬系統不可能實現的。

圖1-1有限沖擊響應濾波器(FIR)結構圖

2)精度高

一般來說,數字系統精度要比模擬系統高。模擬系統由于受元器件精度的制約,精度始終很難提高,雖然現在有了高精度的電阻等元器件,但其直接影響了系統的成本,而且其精度也不能讓人滿意。而數字系統的精度是由系統所采用的A/D轉換器的位數、處理器字長以及所采用的算法等因素決定的。相對而言,可以獲得更高的精度。

3)可靠性和可重復性好

數字系統的可靠性和可重復性也是模擬系統所不能達到的。模擬系統受環境溫度、濕度、噪聲、電磁場等的干擾和影響大。當環境的溫度、濕度、振動以及在外界電磁場干擾等條件改變時,模擬系統的性能就會發生改變,而且可能是大的改變。另外,隨時間的改變,模擬系統的特性也會發生改變。數字系統的輸入、輸出是由軟件來確定的,因此,不存在隨時間而改變的問題。相對模擬系統而言,數字系統的穩定性要好得多,即受時間和環境的影響要小得多。兩個同樣設計的模擬系統,采用同樣的元器件,在相同的輸入信號和環境下,由于元器件參數的離散性,所得到的輸出往往會有細小的差別。另外,同一個模擬系統在不同的時間和環境下,相同的輸入也往往得不到相同的輸出結果。而數字系統一旦其設計完畢以后,精度也就確定了,并且其精度不會隨著時間和環境的變化而變化。

4)便于大規模集成

隨著科學與技術的發展,近年出現了大量的模擬集成電路和模擬/數字混合集成電路,但從可選擇的種類、集成度、功能與性能、性價比等諸方面而言,還是不能與超大規模數字集成電路相比。DSP處理器就是基于超大規模數字集成電路技術和計算機技術而發展起來的、適合于作數字信號處理的高速高位微處理器。它們體積小、功能強、功耗小、一致性好、使用方便、性價比高。

5)數字系統的其他優勢

數字系統除具有上述優勢以外,還在抗干擾性能、數據壓縮、實現自適應算法等方面有不俗的表現。

數字系統的抗干擾功能強大。在數字系統中,信號是用0和1來表征的,雖然0和1所表征的數字信號也會受到噪聲的干擾,但只要能夠正確地識別0和1,并將其再生,則可以完全消除噪聲的影響。另外,迅速發展的各種數字糾錯編解碼技術,能夠在極為復雜的噪聲環境中,甚至信號完全被噪聲所淹沒的情況下,正確地識別和恢復原有的信號。這點在模擬系統中是無法做到的。模擬信號進行壓縮時付出的代價是隨著帶寬的變窄,信號的質量會受到比較大的影響。然而數字信號的壓縮可以在對原信號質量影響很小的前提下,取得很高的壓縮比。這對數據的傳輸和存儲,無疑是很有利的。例如,采用數字電視技術以后,可以利用原有的有線電視網絡傳輸更多的、質量更好的電視節目,并且可以提供諸如互動電視等更好的服務。從信號與系統的角度講,自適應就是使系統的特性隨輸入信號的改變而改變,從而在某種準則下,得到最優的輸出。例如,IP電話中的回聲會嚴重影響服務質量,必須加以消除。但回聲的幅度和延時量隨時都在改變,只有使用自適應系統才能將其消除。就模擬系統而言,只有改變系統的設計和元器件的參數,才能改變系統的特性,因而很難實現實時自適應。以DSP處理器為核心的數字系統,已經成為實現各種自適應算法的首選。對于特定的自適應算法,它能根據確定的準則,實時地改變系統的參數,從而實現實時自適應;對于不同的自適應算法,只需要更換適當的軟件即可。

2.模擬信號處理的不可替代性

盡管數字系統具有如此之多的優越性,但仍然不能完全取代模擬系統。

實際上,自然界的信號絕大多數是模擬信號。如聲音、圖像、溫度、壓力、速度、加速度等信號都是隨時間連續變化的模擬信號。我們要利用數字系統對其進行處理,必須首先用模擬系統和模擬數字混合系統加以處理。例如用模擬濾波器將其改變成帶限信號,用模擬放大器改變其幅度,然后采樣/保持,通過A/D變換器變換成為數字信號后,才能用數字信號處理系統加以處理;處理之后,還要通過D/A變換器變換成為模擬信號,并通過適當的模擬信號處理,才能加以使用。所以,要想構成一個完整的數字信號處理系統,大多數情形下離不開模擬系統。1.2.4數字信號處理算法的特點

上面我們講到了DSP處理器是專門為數字信號處理算法而優化設計的,那么DSP算法到底有什么特點呢?

圖1-1中有限沖擊響應濾波器(FIR)可以用下式來表示:

(1-1)

式1-1是一個一系列乘積的累加,也就是說該式使用了乘法和加法,并且做了N重的循環。

由此可以看出DSP算法是屬于數學計算,這區別于那些以數據操作為主的常規任務。數據操作的典型運用如字處理、數據庫管理、表格、操作系統等,其主要操作有諸如將數據B移動到數據A,檢測A是否等于B等。而數學計算的典型運用,如數字信號處理、科學和工程仿真等,其主要操作是乘法、加法等運算。1.2.5實時處理的概念

上面我們講了模擬系統從本質上來說是實時的,那么,什么是實時處理呢?可以這樣說:實時的概念是根據具體的應用來確定的。

對于一個處理過程,如果滿足下式,我們可以認為處理是實時的。

等待時間≥0 (1-2)

如圖1-2所示,要使等待時間≥0,就必須使處理時間小于采樣時間,也就是說要在規定的采樣時間內完成與之相應的數據處理。

圖1-2處理時間、采樣時間、等待時間關系圖對于圖1-1中有限沖擊響應濾波器(FIR)來說,要使其處理是實時的,就必須在采樣時間內完成式(1-1)的計算,這樣的計算量通常來說都是相當大的。

數字信號處理器是專門為完成數字信號處理任務而優化設計的,因此其實時處理數據的能力也是獨一無二的。1.2.6數字信號處理算法實現的途徑

數字信號處理的實現方法有多種,大體可以分為基于PC和非基于PC的兩種。

基于PC的實現方法可以說是通過軟件來實現的。例如,我們在個人電腦上常用的MP3播放器就是通過軟件來實現MP3格式的音頻文件解壓縮的,而這過程是通過在個人電腦上運行的軟件來實現的。

非基于PC的實現方法可以說是通過硬件來實現的。例如,FPGA(現場可編程門陣列)、ASIC(專用集成電路)以及專用的和通用的DSP,都可以用來實現DSP算法。用FPGA(現場可編程陣列)實現DSP的各種功能實質上是采用了一種硬連接邏輯電路,但由于FPGA具有現場可編程能力,允許根據需要迅速重新組合基礎邏輯來滿足使用要求,因而更加靈活,而且比通用DSP芯片具有更高的速度。一些大的公司如Xilinx、Altera也正把FPGA產品擴展到DSP的應用中去。值得一提的是Xilinx在2004年9月成立了DSP部,2005年又加大對DSP研發的投入。

ASIC系統是為某種應用目的專門設計的系統。通常用于數字信號處理的ASIC系統只涉及一種或一種以上自然類型數據的處理,例如音頻、視頻、語音的壓縮和解壓、調制/解調等。其內部由基本DSP運算單元構建,包括FIR、IIR、FFT、DCT、卷積碼的編解碼器及RS編解碼器等。其可應用于計算復雜密集、數據量、運算量都很大的場合,但成本較高。

通用可編程DSP芯片是目前使用最多的數字信號處理器件。其特點本書將予以詳細討論。

1.3.1DSP處理器的結構特點

DSP處理器是專門用來進行高速數字信號處理的微處理器,其設計的著眼點是要求速度快、處理的數據量大、效率高。它的主要結構特點如下。1.3DSP處理器的特點

1.采用哈佛(Harvard)結構和改進的哈佛結構

以奔騰為代表的通用處理器采用馮·諾依曼(VonNeumen)結構,這主要考慮到成本,其結構如圖1-3所示。在馮·諾依曼結構中,程序代碼和數據共用一個公共的存儲空間,指令、數據、地址的傳送采用同一條總線,靠指令計數來區分三者。由于取指和存取數據是在同一存取空間通過同一總線傳輸,因而指令的執行只能是順序的,不可能重疊進行,所以無法提高運算速度。

圖1-3馮·諾依曼結構

DSP處理器幾乎毫無例外的采用哈佛結構,如圖1-4所示。哈佛結構把程序代碼和數據的存儲空間分開,并有各自的地址和數據總線,每個存儲器獨立編址,用獨立的一組程序總線和數據總線進行訪問。這樣,DSP處理器就可以并行地進行指令和數據的處理,提高了信號處理的速度。圖1-4哈佛結構為了進一步提高信號處理的效率,在哈佛結構的基礎上加以改進,使得程序代碼存儲空間與數據存儲空間之間也可以進行數據交換,則稱為改進的哈佛結構(ModifiedHarvardArchitecture)。這種結構可以并行進行數據操作,例如在做數字濾波時把系數放在程序空間,待處理的樣本數據放在數據空間,處理時可以同時提取濾波器系數和樣本進行乘法和累加操作,從而大大提高運算速度。改進的哈佛結構還可以從程序存儲區來初始化數據存儲區,或把數據存儲區的內容轉移到程序存儲區,這樣可以復用存儲器,降低成本,提高存儲器使用效率。

2.多總線結構

DSP除了將數據、地址總線分開以外,還具有多條附加總線,如圖1-5所示。

例如TMS320C54X的結構中有一組程序總線,兩組讀數據總線和一組寫數據總線,這樣可以同時讀取兩組數據和存儲一組數據,即同一時鐘周期內可以執行一條3個操作的指令。這種附加總線可擴充地址增加數據流量,提高尋址能力。圖1-5多總線結構圖

3.采用流水線操作

計算機在執行一條指令時,要通過取指、譯碼、取數、執行等各階段,需要若干個指令周期才能完成。流水線技術是將各指令的各個步驟重疊起來進行,雖然每條指令的執行仍然要經過這些步驟,需要同樣的指令周期數,但是將一個指令段綜合起來看,其中每一條指令似乎都是在一個周期內完成,可以把指令周期減到最小,增加數據吞吐量。圖1-6為流水線技術示意圖。

圖1-6流水線技術如圖1-6所示,可進一步把一條指令分解為預取指、取指、解碼、取操作數地址、取操作數和執行等6個階段,圖中的字母分別表示:

P——預取指;F——取指令;D——碼;A——取操作數地址;R——取操作數;X——執行。

從圖1-6中我們可以看出,當第一條指令執行到取指令的同時,第二條指令在預取指;當第一條指令執行到解碼時,第二條指令在取指令,第三條指令在預取指;以此類推,直到第六條指令預取指時,第一條指令已經在執行了。對于圖中的流水線狀況,當第六條指令開始時,我們就稱這個流水線滿載了。當流水線滿載以后,從圖中縱向看,似乎一條指令在一個周期內就完成了。這有些類似我們通常見到的工廠的生產流水線,一條生產線分為很多的工序,零件進入生產線依次進入各道工序,當各道工序都開始工作時,成品就從生產線上生產出來了。

圖1-7直觀地給出了采用流水線技術之后,執行同樣的指令,所需要的指令周期數較采用前得到了很大的節約。

圖1-7采用流水線技術前后的比較但是,這種流水線操作也不是十全十美的,其主要原因是,一項處理很難被分解成若干個處理規模一致、在時間上有最佳配合的流水段,因而需要用寄存器協調流水線工作。

流水線操作適用于循環操作時間足夠長或多個數據點反復執行同一指令的情況。這是由于,流水線啟動和停止的階段是流水線逐步被填滿和出空的過程。對于一次性非重復計算,流水線不可能達到穩態,反而用主要時間做填滿和出空操作,因而是不合適的。我們從DSP算法的特點,可以看出其非常適合于流水線操作,因為其計算大多是相同的乘法或加法運算,而且循環的次數較多,流水線容易達到滿載的運行狀態。

4.硬件乘法器和高效的MAC指令

在DSP算法中大量的是乘法累加運算。通用微處理一般是通過一系列的加法來完成乘法運算的,一個乘法運算需要消耗多個周期,而DSP芯片上有硬件乘法器,使得乘法運算能夠做到一個周期內完成,這就大大提高了DSP處理器進行DSP運算的速度。另外,DSP還具有與硬件乘法器相配合的MAC乘法累加指令。硬件乘法累加器如圖1-8所示,它可以在單周期內取兩個操作數相乘,并將結果加載到累加器。有的DSP還具有多組MAC結構,可以并行處理。。

圖1-8硬件乘法累加器圖1-8中,在加法器方框(ADD)右邊的A、B、0分別代表有可能的加法器輸入,它們為累加器A、累加器B及0值。從圖1-8中,我們還可以看出,由于DSP采用了哈佛結構,它可以將運算所需要的采樣值和系數分別放在數據存儲器和程序存儲器之中,這樣可以通過不同的總線將所需要的數據同時取出。

在這種布局下,DSP可以實現單周期的MAC指令,從而進一步提高了運算的速度。我們通常將具有硬件乘法器作為DSP區分于其他處理器的標志。

5.DSP結構上的其他特點

DSP除了具有上述的結構特點外,還有以下特點:

(1)

DSP具有獨立的傳輸總線及其控制器。DSP處理器高速處理速度必須與高速的數據訪問和傳輸相配合。并且為不影響CPU及其相關總線的工作,DSP的DMA(直接內存存取方式:數據在內存與I/O設備間直接進行成塊傳輸)單獨設置有傳輸總線及其控制器,因此DMA可以獨立工作。有時為了提高DSP的實時處理能力,把多個DSP組成DSP處理器陣列,并行工作,此時DMA可以作為各處理器之間進行數據傳輸的主要通道。

(2)

DSP具有專用的數據地址發生器(DAG)。在DSP運算中,存儲器的訪問具有可預測性。例如在FIR濾波中,樣本、系數都是順序訪問的,因此在DSP芯片中專門設置數據地址發生器。其實它也是一個算術邏輯運算單元ALU,具有簡單的運算能力。在通用機的CPU中,數據地址和數據處理都由同一ALU完成。例如在8086中,做一次加法需要三個周期,而計算一次地址需要5~6周期,這樣會耗費大量的時間,在DSP芯片中就不需要這樣的額外開銷。另外在DSP芯片的數據地址產生中還支持間接尋址、循環尋址、倒位尋址等特殊操作,以適應DSP運算的各種尋址需求。

(3)

DSP具有豐富的外設(Peripherals)。DSP處理器往往是脫機獨立工作的,因此為與外設接口方便,往往設置了豐富的周邊接口電路。一般包含如下片上外設:時鐘產生器(振蕩器與鎖相環PLL)、定時器(Timer)、軟件可編程等待狀態發生器(以便使較快的片內設施與較慢的片外電路及存儲器協調工作)、通用的I/O口、多通道同步緩沖串口(McBSP)和異步串口、主機接口(HIP)、JTAG邊界掃描邏輯電路(IEEE標準1149.1)(便于對DSP處理器做片上在線仿真和多處理器情況下的調試)。

(4)

DSP具有片內存儲器。DSP芯片片內一般帶有存放程序的只讀存儲器ROM和存放數據的隨機存儲器RAM,符合DSP運算簡單、核心程序短小的特征,同時可以提高指令傳輸效率,減小總線接口壓力。這些片存儲器不存在與外部總線競爭和訪問外部存儲器速度不匹配的問題,這樣使DSP處理器具有強大的數據處理能力。

(5)

DSP具有與結構相配合的RISC指令集。一般DSP處理器具有高度專門化、復雜且不規則的指令集,這樣單個指令字可以同時控制片內多個功能單元操作。DSP處理器指令集在設計時有兩個特點:一是最大限度地使用了處理器的硬件資源,在單個指令中并行完成若干操作,例如在完成主要算術運算的同時,并行地從存儲器提取一個或兩個數據以及完成地址指針的更新;其次是指令所使用的存儲空間縮減到最小,為縮短指令字長,往往用狀態寄存器的模式來控制處理器的操作特性,例如舍入或飽和的處理,不再將這些信息作為指令的一部分來處理。綜上所述,DSP處理器實現高速運算的主要途徑可以概括為:硬件乘法器及乘-加單元、高效的存儲器訪問、零開銷循環、專門的適應硬件結構的指令集、多執行單元、數據流的線性I/O口。1.3.2DSP與MCU、GPP的區別及其優勢

微處理器自誕生以來,就沿著GPP(GeneralPurposeProcessor)即通常所說的通用CPU,以微機中Intel公司的奔騰系列CPU為代表、微控制器(MCU,即通常所說的單片機)以及DSP三個方向發展。MCU集成了片上外圍器件,適合不同信息源的多種數據的處理診斷和運算,側重于控制,速度并不如DSP;GPP不帶外圍器件(例如存儲器陣列),是高度集成的通用結構的處理器,是去除了集成外設的MCU;DSP運算能力強,擅長很多的重復數據運算。這三類處理器各有專長,雖然隨著技術的發展,這三類處理器之間互相借鑒,并有融合的趨勢,但總的來說,它們各自有不同的應用領域。

1.與GPP相比DSP具有的優勢

上文講到了DSP算法的實現方式,其中有基于PC的實現方式,也就是利用軟件來實現。現在的GPP速度越來越快,在實現DSP算法時可能并不比DSP慢,那么為什么大多數的DSP算法的實現是由DSP來完成的呢?我們從以下幾點來考慮這個問題。首先,在功耗方面,奔騰系列CPU的功耗多在20~100W,PowerPC的功耗最小也要5~10W,而DSP可以做到1~2W。如TMS320C54X是目前普遍使用的定點DSP芯片,當它的速度在100MIPS(MIPS:每秒執行的百萬指令數,是處理器速度的重要指標之一)時其功耗為60mW,而本書重點講述的TMS320C55X的功耗更低,一般工作狀態下平均功耗在20mW左右,最低可至0.33mA/MHz的超低功耗,為節能型便攜式系統提供了令人難以置信的潛能。其次,采用GPP來設計系統比采用DSP的花費更多。就單個的芯片而言,GPP的價格一般來說都比DSP要貴的多,現在市場上GPP的價格在幾百元人民幣到上千元不等,而普通的DSP價格一般在100元人民幣左右。另外,使用GPP來開發,其開發費用高,上市的周期長,而使用DSP開發則與之相反。

最后,DSP的尺寸比GPP要小得多,更適用于便攜產品。我們只要看一下PC機和數碼相機的大小便可以直觀的知道兩者之間的差距了,很難想象我們會使用一臺PC機大小的數碼相機。DSP的尺寸有越來越小的趨勢,并且隨著設備不斷變小,速度越來越快,便攜性越來越高的情況下,此趨勢會繼續發展。由上可知,如果設計的系統或裝置需要低成本、小尺寸、低功耗并且對信號處理的實時性要求很高時,我們使用DSP來進行開發。如果需要更大的存儲空間、更高級的操作系統支持的時候,我們采用GPP來進行開發。

2.MCU與DSP的比較

MCU區別于DSP的最大特點在于它的通用性,反映在指令集和尋址模式中。與MCU相比,DSP實時處理要求必須滿足大數據量、復雜計算、實時性強的各種運算。

DSP在運算能力上進行了擴充,它采用專用的硬件乘法器,有足夠的字長,乘法結果保留全部數值,用雙字長乘法存儲器,同時可以用來做雙精度運算。另外,如上文所述,DSP能自動產生數據地址;指令時序的產生不對其他運算單元造成額外開銷;一般DSP芯片中都有桶形移位器,可以在一定范圍內調整數據輸出寬度,特別是在做浮點和塊浮點運算時,免去主處理器作多次移位和旋轉操作。

DSP與MCU的結合是數字信號控制器(DSC),它終將取代這兩種芯片。數字信號控制器(DSC)是一種集微控制器(MCU)和數字信號處理器(DSP)專長于一身的新型處理器。與MCU一樣,DSC具有快速中斷響應、提供面向控制的外設(如脈寬調制器和看門狗定時器)、用C編程等特性。DSC還集成了諸如單周期乘累加(MAC)單元、桶形移位器(barrelshifter)和大的累加器等功能。1.3.3DSP處理器性能指標

一般,對DSP處理器缺乏一種諸如對PC機那樣公正合理的性能評價體系,這是由于各DSP廠商推出的產品在結構和數據傳輸能力上有很大的差異,DSP產品都是專門為某種目的而設計的,因而正確評價只有與特定的應用聯系起來,評價結果才有意義。這里將常用的指標做一介紹。

(1)

MIPS(MillionsofInstructionsPerSecond),每秒執行百萬指令數。一般DSP為100MIPS,TI公司的5000系列性能最高可達900MIPS,使用超長指令字的TMS320B2XX為2400MIPS。

(2)

MOPS(MillionsofOperationsPerSecond),每秒執行百萬操作數。這個指標的問題是什么是一次操作。通常操作包括CPU操作外,還包括地址計算、DMA訪問數據傳輸、I/O操作等。一般說MOPS越高意味著乘積-累加和運算速度越快。

(3)

MFLOPS(MillionFloatingPointOperationsPerSecond)。這是衡量浮點DSP芯片的重要指標。例如TMS320C31在主頻為40MHz時,處理能力為40MFLOPS,TMS320C6701在指令周期為6ns時,單精度運算可達GFLOPS。

(4)

MBPS(MillionBitPerSecond)。它是對總線和I/O口數據吞吐率的度量,也就是某個總線或I/O的帶寬。例如對TMS320C6XXX在200MHz時鐘、32bit總線時,總線數據吞吐率為6400MBPS。

(5)

MACS(Multiply-AccumulatesPerSecond)。例如TMS320C6XXX乘加速度達300~600MMACS。

以上傳統指標雖然可以作為設計時可選的參考指標,但是有很大的局限性。例如它沒有考慮存儲器的使用和器件的功耗,一旦器件與外部速度較慢的存儲器進行數據交換時,運行速度馬上就會降低。另一評價指標是核心算法評價指標。它是利用構成大多數DSP系統的基本運算模塊(例如FIR、IIR、FFT、向量加等典型運算)來進行評價的。在規定大小適度、輸入、輸出要求統一,保證功能一致性的條件下,也允許程序員針對所使用的處理進行代碼的優化。評價指標是執行時間、存儲器的使用和能耗等。

DSP處理器還有其他評估指標,各類評估指標之間都有其自身的不足,因而正確的選用器件要根據任務需要量身定做,不可一味追求某項高指標,要根據性價比合理選用器件。

由于超大規模集成電路技術的迅猛發展,DSP技術也得到了突飛猛進的發展。成本降低,促使了其需求的上升和應用領域的擴展。目前,DSP在計算機、通信、消費類電子產品方面(即所謂3C領域)得到了廣泛的應用。DSP在通信領域應用占72%,計算機占3%,消費類、辦公自動化各占2%,從趨勢上看,工業(特別是變頻電機控制)中的應用,以及消費類產品中應用的份額會有所上升。下面就DSP的幾個與我們日常生活相關的典型應用做一簡單介紹。1.4DSP處理器的應用

1.數字視頻

DSP在數字視頻領域從基礎設備到客戶端,以及便攜式設備中都得到廣泛應用。在諸如DVD、數碼相機、數字攝像機、便攜式媒體播放器(PMP)、數字機頂盒、流媒體、監視IP視頻節點、基于IP的視頻會議終端等應用上,DSP大有用武之地。特別是TI公司推出的DaVinci技術使手持、家庭以及車載數字媒體設備方面的突破性創新成為可能。DaVinci專門針對數字視頻系統進行了優化,并集成了基于數字信號處理器(DSP)的片上系統(SoC)、多媒體編解碼器、ASP和框架以及開發工具。這些集成組件提供了一套完整的開放平臺解決方案。現在,開發者可以創建具有豐富特性的獨特設備,并針對特定應用進行優化,從而快速投入市場。

2.電信

電信應用要求具有操作各種各樣的數據、語音、電話和連接功能的處理能力。使用可編程DSP,開發者可以輕松地擴展產品功能和特性集來匹配設計要求。此外,開發者可以自定義、改編以及擴充基于DSP的設計,以滿足特定的要求并集中于終端產品個性化。DSP的解決方案可以供遠程數據收集、因特網連接、電話協處理以及語音頻帶處理客戶端電話等使用。其中數字移動電話是DSP最為重要的應用領域。由于DSP具有強大的計算能力,使得移動通信的蜂窩電話重新崛起,并創造了一批諸如GSM、CDMA等全數字蜂窩電話網。由于采用DSP技術,移動電話的更新換代變得更為容易,只需在統一的硬件平臺基礎上,通過軟件的不斷升級就可以生產出各式各樣的新款手機。

3.安防

通過使用DSP技術,可以將只有人類可以理解的模擬視頻輸入轉換為計算機可以理解的0和1的數字流。通過選擇處理空間超過轉換模擬視頻信號所需的DSP,就有可能創造具備領先功能的可編程智能產品,從而真正使產品具有特色并獲得未來證明。換句話說,攝像機不再局限于記錄事件。通過DSP技術,它們現在可以評估事件的重要性和相關性,而無需人員干預。提高效率的方法之一是讓攝像機評估事件且僅在事件確實重要的情況下才觸發警報:通過移動檢測機制,智能攝像機可以實時跟蹤運動;通過限制關注范圍,攝像機可以確定移動是發生在安全門附近(從而指示一個事件)還是在街道對面(因為不是關注點,從而也不是一個事件);攝像機可以利用對象識別來評估是重要事件(對象是一個人)還是錯誤警報(對象是一只鳥或狗);通過面部識別技術,攝像機可以驗證人員身份。此時,僅當具有足夠證據表明事件是相關的且可能非常重要時,攝像機才會觸發警報以告知人員。

4.生物辨識

生物辨識一般是指指紋匹配、面部識別和虹膜掃描等技術。每種技術的識別系統都使用傳感器收集圖像(指紋、面部或虹膜圖像),然后將它們與注冊用戶的數據庫中的數據進行匹配。

識別準確度是許多因素的綜合,但其中最重要的是圖像質量。如果噪聲和人為因素使關鍵的詳細信息(例如用于模型匹配的關鍵指紋細節)模糊不清,則嘗試將一個圖像與用戶數據庫進行匹配就變得非常困難。因此,圖像質量就非常重要。DSP可以降低圖像的噪聲,進行圖像清理并且可以為掃描儀提高一個具有快速內存結構的強大處理器,以實時地完成所需要的處理。

5.控制

DSP可以提供較MCU而言更快的執行速度,從而達到更高的控制性能,且DSP片上集成的外設豐富、便于設計、控制精度高,因此越來越多地應用于控制領域,其主要用于磁盤控制、激光打印機控制、電機控制、發動機控制、機器人控制等場合。

1.?TI公司

TI(TexasInstruments)公司的DSP市場占有率最高,大概每2個數字蜂窩電話中就有1個采用TI產品,全世界90%的硬盤和33%的Modem均采用TI的DSP技術。1997年,TI公司的兩項重大投資項目令其霸主地位更加穩固不可動搖:一是設立1億美元的風險基金,支持那些需要啟動資金的DSP應用企業,為掀起DSP的應用高潮打下堅實的基礎;1.5具有代表性的DSP芯片生產商二是啟動500萬美元的全球大學科研基金,用于支持各高校的DSP教育,TI已在中國國內幾十所大學建立了DSP實驗室和技術中心。

TI公司DSP目前廣泛應用的有TMS320C2000系列、TMS320C5000系列和TMS320C6000系列。

TMS320C2000系列主要用于控制系統,因為它的資源非常豐富,在控制系統中需用到的一些外設該系列均在片內集成了。TMS320C5000系列主要用于數字信號的算法處理,如FIR、IIR、FFT等。TMS320C5000系列的DSP的速度比TMS320C2000快,TMS320C2407最快只能到40MHz,TMS320C5410可以達到160MHz。目前,該系列主要用來做數字信號方面的處理以及簡單的靜態圖像處理等這樣一些資源需要處于中等的算法。TMS320C6000系列主要是用在實時圖像處理方面,更側重于算法處理。

TMS320C2000系列DSP定位于控制優化的DSP,其融合了微控制器(MCU)的控制外設集成功能和易用性,以及TI領先的DSP技術處理能力和C編程效率。所有C28X控制器所運行的程序是相互兼容的。所有C28X控制器都能提供12位高速模數轉換器和高級PWM發生器。TMS320C2000系列DSP主要應用于硬盤控制、采暖控制、通風空調控制、電機控制、家用電器以及變頻電源控制。TMS320C2000系列DSP的主要代表產品如下:●

TMS320F283XX浮點控制器:業界首款浮點數字信號控制器,工作頻率高達150MHz,并可提供300MFLOPS的處理速度和512KB的片上閃存。

TMS320F282X控制器:這些定點32位控制器可與F283XX浮點控制器100%兼容。F282XX與F283XX具有相同的特性集和引腳至引腳兼容性,而且完全與F283XX系列軟件兼容。

TMS320F281X控制器:定點32位控制器,具有高達256KB的閃存和150MIPS的性能,同樣提供引腳兼容的ROM和RAM特有版本。●

TMS320F280XX控制器:定點32位控制器,采用100引腳封裝,具有高達256KB的閃存和100MIPS的性能。F280XX系列有12款產品,它們全部都引腳至引腳兼容。

TMS320LF240X控制器:較舊的16位控制器,提供40MIPS的性能以及高度集成的閃存、控制和通信外設。其起價低于2美元,還提供了引腳兼容的ROM版本。

TMS320C5000系列DSP定位于高效能的DSP。

現在TMS320C5000DSP平臺已進行優化,適合于消費類數字產品市場及通信電子產品。TMS320C5000系列是目前TIDSP的主流產品,它涵蓋了從低檔到中高檔的應用領域,也是用戶最多的系列。TMS320C5000系列DSP的主要代表產品如下:

TMS320C55XDSP:包括TMS320VC5503、TMS320VC5507和TMS320VC5509ADSP,這些都是業界最低功耗和待機功耗超低的DSP。它們的高級電源管理技術會自動關閉閑置的外設、存儲器和核心功能單元,從而延長了電池壽命。此外,該系列還包括OMAP器件。OMAP器件在低功耗、實時信號處理的基礎上增加了ARM的命令和控制功能。●

TMS320C54XDSP:包括TMS320VC5402DSP。它具有廣泛的性能和外設選項,這些選項適用于數字蜂窩和個人通信系統、PDA、數字無繩和無線數據通信、語音分組、便攜式因特網音頻以及調制解調器。

TMS320C6000系列DSP定位于高性能的DSP。該系列能提供業界最高性能的定點DSP,非常適合于成像、寬帶基礎設施和高性能音頻應用。

2.其他公司

除TI公司以外,AD公司、Motorola等公司也推出自己的DSP芯片,并且各有特色。

AD公司的DSP包括Blackfin處理器、

SHARC處理器、TigerSHARC處理器、ADSP-21XX處理器。

Blackfin處理器代表了一種新型16/32bit嵌入式處理器,它非常適合會聚起關鍵作用的應用——多格式音頻、視頻、語音和圖像處理;多模式基帶和分組處理;控制處理和實時安全性。正是這種軟件靈活性和可擴展性的獨特結合為Blackfin處理器贏得了會聚應用領域廣泛的適應性。

SHARC處理器占據浮點DSP市場的主要份額,提供了配有卓越I/O吞吐率的優異內核和存儲器性能。

TigerSHARC處理器為多處理應用提供最高性能密度,提供高于每秒吉字節浮點操作次數GFLOPS的高性能。

ADSP-21XX處理器是代碼和引腳兼容的數字信號處理器家族,具有高達160MHz的工作頻率和低至184μA的功耗。ADSP-21XX系列產品適合語音處理和話音頻帶調制解調以及實時控制應用。

Motorola公司16位的DSP56800系列,主要有DSP56F801、56F802、56F803、56F805、56F807以及56F824、56F826、56F827等幾種型號。最新一代的MotorolaDSP產品采用Star*Core內核,性能上有進一步改進,這一代產品以MSC8101、MSC8102為代表,采用SC140內核,帶有PowerPC的總線接口,與PowerPC微處理器配合使用,用于高速有線與無線通信。

Motorola的24位DSP主要有56300系列和56600系列。56300系列包括DSP56301、56303、56305、56306、56307、56309、56311、56321、56364、56366、56367等,其中5636X系列用于音頻信號處理。

1.結合你的專業方向或是你感興趣的應用領域,試舉出一個DSP(數字信號處理器)的具體應用實例,并說明為什么要采用DSP以及是如何應用DSP的。

2.簡述數字信號處理的特點與優勢。

3.簡述實時處理的概念。

習題與思考題

4.請詳細描述馮·諾依曼結構和哈佛結構,并比較它們的不同。

5.簡述DSP處理器的結構特點。

6.簡述DSP與MCU、GPP的區別及其優勢。第2章TMS320C55X系列DSP

2.1TMS320C55X概述2.2TMS320C55XCPU的結構2.3TMS320C55XDSP的存儲器和2.4啟動加載程序2.5本章小結習題與思考題本章介紹TMS320C55X(以下簡稱為C55X)在TMS320C5000(以下簡稱為C5000)系列DSP中的地位、C55X的存儲器和I/O空間,C55X的CPU結構、低功耗的強化以及嵌入式仿真器的特性。其中C55X的CPU結構是本章的重點。

2.1.1C55X在C5000系列DSP中的地位

第1章我們講到C5000系列DSP是高效能的DSP,功耗低,適合于消費類數字產品市場以及通信電子產品。其發展方向是朝更加有效的電源使用以及更多的集成方向發展,并且有多核、DSP+RISC、功能強化三個產品系列。2.1TMS320C55X概述

C55XDSP是C5000DSP系列中最新的一代產品,包含TMS320VC5503、TMS320VC5507和TMS320VC5509ADSP。C55X對C54X有很好的繼承性,與C54X源代碼兼容,從而有效地保護用戶在軟件上的投資。

C55X繼承了C54X的發展趨勢,低功耗、低成本,在有限的功率條件下,保持最好的性能。其工作在0.9V下,待機功耗低至0.12mW,性能高達600MIPS,并且具有業界目前最低的待機功耗,極大地延長了電池的壽命,對數字通信等便攜式應用所提出的挑戰,提供了有效的解決方案。其軟件也與所有C5000DSP兼容。與120MHz的C54X相比,300MHz的C55X性能大約提高了5倍,而功耗則降為C54X的1/6。C55X的超低功耗,是通過低功率設計以及功率管理技術的進步而達到的。設計者使用了一種非并行層次的節電配置,以及創新的粒度耦合自動功率管理,對于用戶是透明的。

與C54X相比,C55X的片內有兩個乘法累加器(MAC),并且增加了累加器(ACC)、算術邏輯單元(ALU)、數據寄存器等,配合以并行指令,每個機器周期的效率提高了一倍。其指令集是C54X的超集,加入了適應擴展的新的硬件單元的指令。其指令長度從8bit到48bit。這種長度可變的指令可以使每個函數的控制代碼量比C54X降低40%。減少代碼量,就意味著減少存儲器的用量,從而降低系統成本。2.1.2TMS320C55XDSP的應用

C55X的結構和設計是為了達到四個相關的目標:超低功耗,有效的DSP性能,降低代碼密度,與C54X完全的代碼兼容。

C55X支持四類基本的應用:

①在保持或略微提高性能的條件下,大大延長電池壽命。例如,將數字蜂窩電話、便攜式聲音播放器、數碼相機的電池使用時間,從小時延長到天,從天延長到周。②在保持或稍微延長電池壽命的條件下,大大提高性能。例如,剛剛推出使用的3G手機,可以用于因特網的音頻、視頻、數據的移動產品等,用戶所期待的是具有一定水平的待機時間和使用時間的電池壽命,而不愿意為增加功能而犧牲電池的壽命。

③要求很小的尺寸、超低功耗、中低水平的DSP性能。例如,助聽器和醫療檢測設備,要求DSP具有相當的能力,但電池的壽命要達到數周乃至數月。④高功效的設施,要求提高信道密度,但又有嚴格的板級功耗和空間的限制。

一般地說,C55X的目標市場是消費和通信市場,多用于語音編解碼,線路回音和噪聲消除,調制解調,圖像和聲音的壓縮與解壓,語音的加密與解密,語音的識別與合成等領域。2.1.3TMS320C55XDSP的主要性能和優點

C55X的主要性能和優點如下所示:

●一個32

×

16bit指令緩沖隊列:緩沖可變長度指令和實現塊重復操作。

●兩個17bit

×

17bitMAC:在單周期內實現雙MAC操作。

●一個40bitALU:執行高精度算術和邏輯運算。

●一個40bit桶形移位寄存器:可以把40bit結果左移31位或右移32位。

●一個16bitALU:和主ALU并行執行簡單算術運算。●四個40bit累加器:保持計算結果和減少所需存儲器數量。

12條獨立總線:并行地對不同操作單元同時提供處理指令和操作數。

●用戶配置的IDLE域:改善低活動性時的電源管理。2.1.4對低功耗能力的加強

C55X是在C54X的基礎上發展起來的,后者已經是低功耗的DSP。通過工藝、設計、結構等一系列的強化,使C55X的功耗降低到新的水平,不僅降低了功耗,而且提高了性能。

1.提高并行處理的能力

C55X通過結構上的改進,提高了并行性并降低了每個任務所需要的周期數。它采用的手段主要包括:

●兩個乘法累加(MAC)單元;

●兩個算術邏輯單元(ALU);

●三組讀總線;

●兩組寫總線。

采用這些措施后,C55X可以處理兩個數據流,或者以兩倍的速度來處理一個數據流,不需要將系數值讀兩遍。對于一個給定的任務,減少存儲器的訪問,就可以改善功耗和性能。

C55X的指令結構允許在一個周期里執行兩條指令。處理器內的兩組寫總線,可以在一個周期里作兩次寫或一次寫兩個字,從而降低每個任務所需要的周期數。這也就意味著,更多的時間是處于節電模式(IDLE)。

(1)對于許多任務來說,使用不同的計算單元,可以降低功耗。C55X的CPU內有兩個ALU,一個是40bit(C54X的標準配置),一個是16bit(C55X增加的)。40bit的ALU用于基本的計算任務。16bit的ALU可以用于較小的算術與邏輯任務。靈活的指令集可以直接將比較簡單的計算或邏輯/位操作任務交給16bit的ALU,從而減小功耗。由于兩個ALU可以并行工作,從而減少每個任務的周期數,來降低功耗。

(2)將存儲器的訪問減到最少。存儲器的訪問,無論是片內的還是片外的,都是功率消耗的主要部分。將存儲器的訪問減到最少,無疑是降低每個任務功耗所必需的。在C55X里,指令的提取是32bit(C54X里是16bit)。此外,可變長度指令集意味著,每個32bit指令的提取可以提出一個以上的長度可變的指令,按照所需要的信息來決定指令的長度,從而改善代碼的密度。這種指令集的設計和處理器結構的結合,就可以保證在達到最高性能的同時,使功耗降到最小。

C55X靈活的指令Cache(高速緩沖存儲器)也可以對不同類型的代碼做優化配置。改善Cache的訪問率,就意味著減少片外的訪問,從而減少系統的功耗。

(3)外設和片上存儲器陣列的自動低功率機制。C55X的核處理器會自動地管理片上外設和存儲器陣列的功耗。這種資源的管理完全是自動的,對用戶透明。而且,這種功耗的降低,并不影響處理器的性能。當某個片上的存儲器陣列沒有被使用時,它們就自動地切換到低功率模式。當一個訪問的要求到達時,該陣列就恢復到正常的工作狀態,完成存儲器的訪問,無須應用程序的干預。如果沒有進一步的訪問,該陣列又回到低功率狀態。該處理器對片上外設也提供類似的控制。當外設沒有激活,以及CPU不需要其關注時,就進入低功率狀態。外設響應處理器的要求,退出低功率狀態,也不需要程序的干預。這種功率管理也可以在軟件的外設IDLE(閑置)域控制下進行。

(4)可控制的功能IDLE域,提供了極大的省電靈活性。節電最重要的是,當應用是處于IDLE或低活動狀態時,達到最小功耗。C55X通過用戶可控制的IDLE域,來改善低活動域功率管理的靈活性。這里所謂的域,是指器件里的不同部分,可以由軟件來選擇,使其使能或禁止。在禁止時,該域進入非常低功率的IDLE狀態,但寄存器及存儲器的內容仍然保留。當該域使能時,返回到正常的工作狀態。各個域都可以單獨地使能或禁止,使應用程序可以盡可能有效地管理低活動域的功耗狀態。在C55X系列最初的器件里,可以分開配置的IDLE域包括CPU、DMA、外設、外部存儲器接口(EMIF)、指令Cache以及時鐘發生電路。

2.低電壓工藝技術的發展

除通過結構和指令集來降低功耗外,C55X系列處理器還通過先進的低電壓CMOS技術來進一步突破降低功耗的壁壘。C55X系列處理器所使用的CMOS技術支持器件工作在1.5V和0.9V。這些低電壓的處理器仍然可以和其他標準的3.3VCMOS器件直接接口。2.1.5嵌入式仿真特性

1.基本的仿真特性及其強化

和以往的處理器系列相比,C55X強化了仿真和調試能力,所提供的仿真環境更加接近實際的應用環境,而且可以在仿真時進行實時的應用程序操作。

C55X開發工具的強化仿真特性包括:

●用觀察點/斷點來做非插入式的實時調試;

●更快的屏幕更新;

●在仿真停頓事件期間,更好地控制程序代碼的執行;

●實時數據交換(RTDX)。

這些強化能力的集成為軟件和系統的開發者提供了不用停止CPU或消耗CPU的資源就能觀察硬件的工作,達到仿真的目的。這樣的仿真環境能最大限度地仿真DSP的全部性能。

2.跟蹤能力

C55X片內仿真硬件的另一個強化,是程序計數器(PC)的跟蹤能力。這種跟蹤能力可以更好地觀察應用程序流。PC跟蹤能力所關注的是,通過輸出足夠的信息,用一個離線程序來重構應用程序。要選擇多種能力來輸出,作為運行時用戶的選項,以便控制輸出哪些信息,什么時候輸出,以及以什么樣的格式輸出。在仿真器里,PC跟蹤硬件所關注的是:最后32個PC值的跟蹤,或最后16個不連續的PC值的跟蹤。最后32個PC值的跟蹤,用于觀察最近的程序流的歷史。例如,一個子程序可能在子程序里的許多不同地方調用。在子程序里設置斷點,就可以用PC跟蹤能力來判斷主程序里調用該子程序的位置。

最后16個不連續的PC值的跟蹤,用于觀察程序流的長期歷史。在高度依賴條件轉移和調用的代碼里,這種功能非常有用。

3.實時數據交換(RTDX)

RTDX是在目標系統和運行調試器的仿真主機之間交換數據。片內的實時仿真硬件提供一條與調試控制共享的路徑。目標系統與主機之間的數據交換率可達2MB/s,所開辟的新的仿真能力包括:

●仿真到目標系統的實時輸入;

●在主機上實時地更新目標系統的性能曲線。

2.2.1CPU結構概述

C55XDSP是一款采用改良型哈佛結構,高度模塊化的數字信號處理器,擁有比普通DSP更為豐富的硬件資源,能夠有效提高運算能力。其內核結構如圖2-1所示,整個處理器內部分為5個大的功能單元:存儲器緩沖單元(M單元)、指令緩沖單元(I單元)、程序控制單元(P單元)、地址生成單元(A單元)和數據計算單元(D單元),各個功能單元之間通過總線連接。2.2TMS320C55XCPU的結構C55XDSP中有1條32位程序數據總線(P總線),1條24位程序地址總線(PA總線),5條16位的數據總線(B、C、D、E、F總線)和5條24位的數據地址總線(BA、CA、DA、EA、FA總線)。這種高度模塊化的多總線結構使得C55XDSP擁有超強的并行處理能力。下面分別介紹總線和各功能單元。

圖2-1TMS320C55X內核結構圖2.2.2片內的數據和地址總線

在圖2-1中所示的總線有:

(1)讀數據的數據總線(BB、CB、DB)。這3組總線從數據空間或I/O空間,傳送16bit的數據到CPU的各個功能單元。BB總線僅從內部存儲器傳輸數據到D單元(主要是到兩個MAC單元。有特殊指令時,用BB、CB和DB這3組總線來同時讀取3個操作數。(注意:BB總線沒有連接到外部存儲器上。如果一條指令要從BB總線上獲取一個操作數,則該操作數必須是內存中的數據。)CB和DB總線給P單元、A單元和D單元提供數據。對要求每次同時讀兩個操作數的指令,需要利用CB和DB兩組總線;對每次只讀一個操作數的指令,就只用DB總線。

(2)讀數據的地址總線(BAB,CAB,DAB)。這3組總線傳送24bit的地址給存儲器接口單元,然后由存儲器接口單元傳送所需要的數據給讀數據的數據總線。A單元產生所有的數據空間地址。BAB總線在BB上為從內存傳到CPU的數據傳輸地址。CAB總線在CB上為傳到CPU的數據傳輸地址。

DAB總線只在DB上或同時在CB和DB上為傳到CPU的數據傳輸地址。

(3)讀程序的數據總線(PB)。PB傳送32bit的程序代碼到I單元,在I單元對這些指令進行解碼。

(4)讀程序的地址總線(PAB)。PAB傳送由PB送達CPU的程序代碼的24bit地址。

(5)寫數據的數據總線(EB,FB)。這兩組總線從CPU的功能單元,傳送16bit的數據到數據空間或I/O空間。EB和FB從P單元、A單元和D單元接收數據。對要求每次同時寫兩個16bit數據到存儲器的指令,需要利用EB和FB兩組總線;對每次只寫一個數據的指令,就只用EB。

(6)寫數據的地址總線(EAB,FAB)。這兩組總線傳送寫入存儲器接口單元的24bit地址。存儲器接口單元收到這個地址后,再接收由寫數據的數據總線傳來的數據。所有的數據空間地址都由A單元產生。EAB總線只在EB上或同時在EB和FB上為寫入到存儲器的數據傳輸地址。FAB總線在FB上為寫入到存儲器的數據傳輸地址。

2.2.3存儲器緩沖單元(M單元)

M單元主要管理數據區(包括I/O數據區)與中央處理器(CPU)之間的數據傳送,使得高速CPU與外部相對低速的存儲器之間在吞吐量上的瓶頸可以得到一定程度的緩解。

2.2.4指令緩沖單元(I單元)

在每個CPU周期,I單元接收到4Byte(32bit)程序代碼,寫入到它的指令緩沖隊列(IBQ)中,并解碼該緩沖隊列中先前收到的l~6Byte程序代碼。然后,把得到的數據傳輸到P單元、A單元和D單元里,以便執行。例如,編碼到指令里的任何常數(為了加載寄存器,提供移位計數或識別比特數等),都要單獨存放在I單元,然后傳給適當的單元。圖2-2是I單元的基本框圖。下面介紹一下I單元的主要部分。

圖2-2指令緩沖單元(I單元)框圖

1.指令緩沖隊列

CPU從程序存儲器一次可以提取32bit代碼。讀程序的數據線(PB)從存儲器提取32bit的代碼,放入指令緩沖隊列。該隊列一次最多可以存放64Byte的代碼。當CPU準備好解碼后,每次可以從隊列里取6Byte送往指令解碼器。

另外,為了協助指令的流水操作,指令緩沖隊列還能完成以下操作:

(1)執行隊列中的一個代碼塊(局部循環指令)。

(2)當測試了一個程序流控制指令(條件分支、條件調用或條件返回),則可以隨機提取指令。

2.指令解碼器

在指令流水的解碼階段,指令解碼器從指令緩沖隊列接收6Byte的程序代碼并解碼。

指令解碼器可以實現:

(1)識別指令邊界,可以對8、16、24、32、40、48bit的指令解碼。

(2)決定CPU是否并行執行兩條指令。

(3)將解碼后的執行命令和立即數傳送給程序流單元(P單元)、地址數據流單元(A單元)以及數據計算單元(D單元),可以使用一些指令,通過特定的數據路徑,直接把立即數寫到存儲器或I/O空間。2.2.5程序控制單元(P單元)

P單元主要是通過判斷是否滿足條件執行指令的條件來控制程序地址的產生,達到控制程序流程的目的。程序控制單元中還含有程序控制寄存器、循環控制寄存器、中斷寄存器和狀態寄存器等硬件寄存器。通過循環控制寄存器的設置,可以直接控制程序中的循環次數等,而不必像在普通DSP中一樣在外部對循環條件進行判斷,從而可以有效地提高運行效率。

圖2-3是P單元的基本框圖。下面介紹P單元的主要部分。

圖2-3程序控制單元(P單元)框圖

1.程序地址的產生和程序控制邏輯

在P單元內,程序地址產生邏輯產生24bit的地址,以便從程序存儲器里提取指令。P單元通常產生順序地址,但也可以產生非順序的地址,這時程序地址產生邏輯可從I單元接收立即數,從D單元接收寄存器的值。地址產生后,就通過讀程序的地址總線(PAB)送往存儲器。程序控制邏輯從I單元接收立即數,測試從A單元和D單元來的結果,并執行以下操作:

(1)對一個條件指令,測試其條件的真假,然后將測試結果遞交程序地址產生邏輯。

(2)當有中斷請求,并已使能時,啟動中斷服務。

(3)控制單循環語句后面的指令的循環,或塊循環語句后面的指令塊的循環。可以嵌套三層循環,把一個塊循環語句嵌套在另一個塊循環語句里,再把一條單循環語句嵌套在以上任意一個塊循環里,或者兩個塊循環里。所有的循環操作都可以中斷。

C55X系列DSP可以在作數據處理的同時,并行地執行程序控制指令。

2.?P單元內的寄存器

對程序流寄存器的訪問是有限制的,用戶不能對PC進行讀或寫操作,對RETA和CFCT兩個寄存器的訪問只能用以下兩條語句:MOVdbl(Lmem),RETA和MOVRETA,dbl(Lmem)。所有其他的寄存器,都可以存放從I單元來的立即數,且可以和數據存儲器、

I/O空間、A單元的寄存器以及D單元的寄存器雙向通信。P單元包含下列寄存器。

1)程序流寄存器

PC 程序計數器;

RETA 返回地址寄存器;

CFCT 控制流關系寄存器。

2)塊循環寄存器

BRC0,BRC1 塊循環計數器0和1;

BRS1,BRC1 存儲寄存器;

RSA0,RSA1 塊循環起始地址寄存器0和l;

REA0,REA1 塊循環結束地址寄存器0和1。

3)單循環寄存器

RPTC 單循環計數器;

CSR 經過計算的單循環寄存器。

4)中斷寄存器

IFR0,IFR1 中斷標志寄存器0和1;

IER0,IER1 中斷使能寄存器0和l;

DBIER0,DBIERl 調試中斷使能寄存器0和1。

5)狀態寄存器

ST0_55~ST3_55 狀態寄存器0、1、2、3。2.2.6地址生成單元(A單元)

A單元的功能是產生讀寫數據空間的地址。地址生成單元由數據地址產生電路(DAGEN)、16位的算術邏輯單元(ALU)和一組寄存器構成。C55XDSP地址生成單元與其他功能模塊分開,不會因為地址產生的原因使得單條指令需要在多個時鐘周期內完成,提高了DSP的運行效率。A單元中的寄存器包括數據頁寄存器、輔助寄存器、堆棧指針寄存器、循環緩沖尋址寄存器和臨時寄存器等。A單元框圖如圖2-4所示。

圖2-4地址數據流單元(A單元)框圖下面介紹A單元的主要部分。

1.數據地址產生單元(DAGEN)

DAGEN產生讀寫數據空間的所有地址。它可以接收I單元來的立即數,以及A單元來的寄存器值。對于使用非直接尋址模式的指令,P單元指示DAGEN是用線性尋址還是循環尋址。

2.?A單元的算術邏輯單元(A單元ALU)

A單元包含一個16bit的ALU,接收I單元來的立即數,與存儲器、I/O空間、A單元的寄存器、D單元的寄存器以及P單元的寄存器作雙向通信。它還可以作以下操作:

(1)加法、減法、比較、布爾邏輯運算、帶符號移位、邏輯移位以及絕對值運算;

(2)對A單元內寄存器的各位以及存儲器的各位,作測試、設置、清除以及求補碼;

(3)對寄存器的值作修改和移位;

(4)對寄存器的值作循環移位;

(5)將移位器里的結果送至A單元的寄存器。

3.?A單元的寄存器

A單元包括并且使用以下的寄存器。

1)數據頁寄存器

DPH,DP 數據頁寄存器;

PDP 外設數據頁寄存器。

2)指針寄存器

CDPH,CDP 系數數據指針寄存器;

SPH,SP,SSP 堆棧指針寄存器;

XAR0~XAR7 輔助寄存器。

3)循環緩沖寄存器

BK03,BK47,BKC 循環緩沖大小寄存器;

BSA01,BSA23,BSA45,BSA67,BSAC 循環緩沖起始地址寄存器。

4)暫時寄存器

T0~T3 暫時寄存器0、1、2、3。

所有這些寄存器都可以接收I單元來的立即數,并可以接收從P單元的寄存器、D單元的寄存器以及數據存儲器來的數據,也為它們提供數據。在A單元里,寄存器可以和DAGEN及A單元的ALU作雙向通信。2.2.7數據計算單元(D單元)

D單元是C55XDSP中主要的數據執行部件,完成大部分數據的算術運算工作。它由移位器、40bitALU、兩個17bit的乘法累加器(MAC)和若干寄存器構成。數據計算單元的兩個乘法累加器能夠并行使用,可以有效提高DSP運行效率。D單元中的寄存器包括累加器和兩個用于維特比譯碼的專用指令寄存器。

D單元包括了CPU的基本計算單元。圖2-5是D單元的基本框圖。下面介紹D單元的主要部分。

圖2-5數據計算單元(D單元)框圖

1.移位器

D單元的移位器接收I單元來的立即數,與存儲器、I/O空間、A單元的寄存器、D單元的寄存器、P單元的寄存器作雙向通信。此外,它可以將移位后的值提供給D單元的ALU(作進一步計算)及A單元的ALU(作為結果存放在A單元的寄存器)。該移位器還可以作以下操作:

(1)將40bit的累加器值,左移達31bit或右移達32bit,移位計數可從暫時寄存器(T0~T3)讀取,或由指令里的常數來指定;

(2)將16bit的寄存器、存儲器以及I/O空間的值左移達31bit或右移達32bit,移位計數可從暫時寄存器(T0~T3)讀取

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論