- TMS320LF240x芯片原理、設(shè)計及應(yīng)用
- 劉京中 唐俊英編著
- 2485字
- 2019-01-10 14:19:32
1.2 DSP芯片
1.2.1 DSP芯片的特點
DSP芯片(也稱為數(shù)字信號處理器芯片)是一種具有特殊結(jié)構(gòu)的微處理器,它可以快速地實現(xiàn)各種數(shù)字信號處理算法。根據(jù)數(shù)字信號處理的要求,DSP芯片一般具有如下主要特點:
① 在一個指令周期內(nèi)可完成一次乘法和一次加法;
② 程序和數(shù)據(jù)空間分開,可以同時訪問指令和數(shù)據(jù);
③ 片內(nèi)具有快速RAM,通常可通過獨立的數(shù)據(jù)總線同時訪問兩塊芯片;
④ 具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的硬件支持;
⑤ 快速的中斷處理和硬件I/O支持;
⑥ 具有在單周期內(nèi)操作的多個硬件地址產(chǎn)生器;
⑦ 可以并行執(zhí)行多個操作;
⑧ 支持流水線操作,使取指、譯碼和執(zhí)行等操作可以并行執(zhí)行;
⑨ 為適應(yīng)一般系統(tǒng)的開發(fā),片內(nèi)具有一定容量的閃存(Flash Memory,F(xiàn)LASH),可使得系統(tǒng)的體積更小。
1.2.2 DSP芯片的基本結(jié)構(gòu)
DSP芯片一般包括以下基本結(jié)構(gòu):
① 哈佛結(jié)構(gòu)。哈佛結(jié)構(gòu)的主要特點是將程序和數(shù)據(jù)分別存儲在不同的存儲空間中,即程序存儲器和數(shù)據(jù)存儲器是兩個相互獨立的存儲器,每個存儲器獨立編程,獨立訪問。與兩個存儲器相對應(yīng)的是系統(tǒng)中設(shè)置了程序總線和數(shù)據(jù)總線,從而使數(shù)據(jù)的吞吐率提高了一倍。由于程序和數(shù)據(jù)存儲在兩個分開的空間中,因此取指和執(zhí)行能完全重疊進行。
② 流水線操作。流水線與哈佛結(jié)構(gòu)相關(guān)。DSP芯片廣泛采用流水線,以減少指令執(zhí)行的時間,從而增強了處理器的處理能力。處理器可以并行處理2~4條指令,每條指令處于流水線的不同階段。圖1-2所示為一個三級流水線操作的例子。

圖1-2 三級流水線操作示意圖
③ 專用的硬件乘法器。通用微處理器中的乘法指令往往需要多個指令周期,如MCS-51的乘法指令需要4個周期。相比而言,由于DSP芯片具有專用的硬件乘法器,使得乘法可在一個指令周期內(nèi)完成,還可以與加法并行進行,即完成一個乘法和加法只需一個指令周期。可見,高速的乘法指令和并行操作大大提高了DSP處理器的性能。
④ 特殊的DSP指令。DSP芯片采用了一些特殊指令,這些特殊指令進一步提高了DSP芯片的處理能力。如DMOV、LTD指令等,均可完成一些特殊功能。
1.2.3 DSP芯片的分類
DSP芯片可以按照下列3種方式進行分類:
① 按基礎(chǔ)特性分類。這是根據(jù)DSP芯片的工作時鐘和指令類型來分類的。如果在某時鐘頻率范圍內(nèi)的任何時鐘頻率上,DSP芯片都能正常工作,除計算速度有變化外,沒有性能的下降,這類DSP芯片一般稱為靜態(tài)DSP芯片。例如,日本OKI電氣公司的DSP芯片、TI公司的TMS320C2xx系列芯片屬于這一類。如果有兩種或兩種以上的DSP芯片,它們的指令集和相應(yīng)的機器代碼及管腳結(jié)構(gòu)相互兼容,則這類DSP芯片稱為一致性DSP芯片。例如,美國TI公司的TMS320C54x就屬于這一類。
② 按數(shù)據(jù)格式分類。這是根據(jù)DSP芯片工作的數(shù)據(jù)格式來分類的。數(shù)據(jù)以定點格式工作的DSP芯片稱為定點DSP芯片,如TI公司的TMS320C1x/C2x、TMS320C2xx/C5x、TMS320C54x/C62xx系列,AD公司的ADSP21xx系列,AT&T公司的DSPl6/16A,Motorola公司的MC56000等。以浮點格式工作的稱為浮點DSP芯片,如TI公司的TMS320C3x/ C4x/C8x,AD公司的ADSP21xxx系列,AT&T公司的DSP32/32C,Motorola公司的MC96002等。不同浮點DSP芯片所采用的浮點格式不完全一樣,有的DSP芯片采用自定義的浮點格式,如TMS320C3x,而有的DSP芯片則采用IEEE的標準浮點格式,如Motorola公司的MC96002、Fujitsu公司的MB86232和Zoran公司的ZR35325等。
③ 按用途分類。按照DSP的用途來分,可分為通用型DSP芯片和專用型DSP芯片。通用型DSP芯片適合普通的DSP應(yīng)用,如TI公司的一系列DSP芯片屬于通用型DSP芯片。專用DSP芯片是為特定的DSP運算而設(shè)計的,更適合特殊的運算,如數(shù)字濾波、卷積和FFT。如Motorola公司的DSP56200、Zoran公司的ZR34881、Inmos公司的IMSAl00等就屬于專用型的DSP芯片。
1.2.4 DSP芯片的選擇
設(shè)計DSP應(yīng)用系統(tǒng)時,選擇DSP芯片是非常重要的一個環(huán)節(jié),DSP芯片的選擇應(yīng)根據(jù)實際的應(yīng)用系統(tǒng)需要而確定,應(yīng)用場合和應(yīng)用目的不同,對DSP芯片的選擇也是不同的。一般來說,選擇DSP芯片時應(yīng)考慮如下因素。
1.運算量
運算量是確定DSP處理能力的基礎(chǔ)。若運算量小則可選用處理能力不是很強的DSP芯片,這樣可以降低系統(tǒng)的成本。若運算量大則必須選用處理能力很強的DSP芯片,否則可能達不到處理要求,若使用一片芯片的處理能力還達不到要求,則可選用多片芯片并行處理。
2.運算速度
運算速度是DSP芯片的一個最重要的性能指標,也是選擇DSP芯片時所需要考慮的一個主要因素。DSP芯片的運算速度可以用以下幾種性能指標來衡量:
① 指令周期,即執(zhí)行一條指令所需的時間,通常以ns(納秒)為單位,如TMS320LF2407A在主頻為40 MHz時的指令周期為25 ns。
② MAC時間,即一次乘法加上一次加法的時間,如TMS320LF2407A的MAC時間就是12.5 ns。
③ FFT執(zhí)行時間,即運行一個N點FFT程序所需的時間。由于FFT運算在數(shù)字信號處理中很有代表性,因此FFT運算時間常作為衡量DSP芯片運算能力的一個指標。
④ MIPS,即每秒執(zhí)行的百萬條指令操作,如TMS320LF2407A的處理能力為40 MIPS。
⑤ MOPS,即每秒執(zhí)行的百萬次操作,如TMS320C40的運算能力為275 MOPS。
⑥ MFLOPS,即每秒執(zhí)行的百萬次浮點操作,如TMS320C31在主頻為40 MHz時的處理能力為40 MFLOPS。
⑦ BOPS,即每秒執(zhí)行的十億次操作,如TMS320C80的處理能力為2 BOPS。
3.價格
價格也是選擇DSP芯片所需考慮的一個重要因素。如果選用的芯片價格昂貴,即使性能再高,其應(yīng)用范圍肯定會受到一定的限制,尤其是民用產(chǎn)品。因此應(yīng)根據(jù)實際系統(tǒng)的應(yīng)用情況,確定一個價格適中的DSP芯片。
4.硬件資源
不同的DSP芯片所提供的硬件資源是不相同的,如片內(nèi)RAM/ROM的數(shù)量、外部可擴展的程序和數(shù)據(jù)空間、總線接口、I/O接口等。即使是同一系列的DSP芯片(如TI的TMS320C24x系列),系列中不同DSP芯片也具有不同的內(nèi)部硬件資源,可以適應(yīng)不同的需要。
5.運算精度
一般的定點DSP芯片的字長為16位,如TMS320系列。但有的公司的定點芯片為24位,如Motorola公司的MC56001等。浮點芯片的字長一般為32位。
6.開發(fā)工具
在DSP系統(tǒng)的開發(fā)過程中,開發(fā)工具是必不可少的。如果沒有開發(fā)工具的支持,要想開發(fā)一個復雜的DSP系統(tǒng)幾乎是不可能的。如果有功能強大的開發(fā)工具的支持,則開發(fā)的時間就會大大縮短。
7.功耗
在DSP的某些應(yīng)用場合,功耗也是一個需要特別注意的問題。如便攜式電子設(shè)備、野外應(yīng)用的電子設(shè)備等對功耗有特殊的要求。目前,3.3 V供電的低功耗高速DSP芯片已大量使用。
8.其他
選擇DSP芯片還應(yīng)考慮到封裝的形式、質(zhì)量標準、供貨情況、生命周期等。例如有的DSP芯片采用DIP、PGA、PLCC、PQFP、BGA等多種封裝形式,有些DSP系統(tǒng)的要求是工業(yè)級或軍用級標準。如果所設(shè)計的DSP系統(tǒng)是需要批量生產(chǎn)并可能有幾年甚至十幾年的生命周期,那么需要考慮所選DSP芯片的供貨是否也有同樣甚至更長的生命周期等。
- Spring Boot開發(fā)與測試實戰(zhàn)
- 兩周自制腳本語言
- Interactive Data Visualization with Python
- Cassandra Data Modeling and Analysis
- Python程序設(shè)計案例教程
- 可解釋機器學習:模型、方法與實踐
- RISC-V體系結(jié)構(gòu)編程與實踐(第2版)
- WordPress 4.0 Site Blueprints(Second Edition)
- Learning Continuous Integration with TeamCity
- Android移動開發(fā)案例教程:基于Android Studio開發(fā)環(huán)境
- 零基礎(chǔ)學Scratch 3.0編程
- XML程序設(shè)計(第二版)
- Visual C#(學習筆記)
- Java Web入門很輕松(微課超值版)
- Raspberry Pi開發(fā)實戰(zhàn)