99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發(fā)新帖

我問一個不太好意思的問題,DSP是什么啊?

我問一個不太好意思的問題,DSP是什么啊?
全部回復(6)
正序查看
倒序查看
ghost
LV.7
2
2006-03-23 21:09
Digital Signal Processing 數(shù)字信號處理

作為一個案例研究,我們來考慮數(shù)字領域里最通常的功能:濾波.簡單地說,濾波就是對信號進行處理,以改善其特性.例如,濾波可以從信號里清除噪聲或靜電干擾,從而改善其信噪比.為什么要用微處理器,而不是模擬器件來對信號做濾波呢?我們來看看其優(yōu)越性:
模擬濾波器(或者更一般地說,模擬電路)的性能要取決于溫度等環(huán)境因素.而數(shù)字濾波器則基本上不受環(huán)境的影響.
數(shù)字濾波易于在非常小的寬容度內(nèi)進行復制,因為其性能并不取決于性能已偏離正常值的器件的組合.
一個模擬濾波器一旦制造出來,其特性(例如通帶頻率范圍)是不容易改變的.使用微處理器來實現(xiàn)數(shù)字濾波器,就可以通過對其重新編程來改變?yōu)V波的特性.

信號處理方式的比較

比較因素 模擬方式 數(shù)字方式
修改設計的靈活性 修改硬件設計,或調(diào)整硬件參數(shù) 改變軟件設置
精度 元器件精度 A/D的位數(shù)和計算機字長,算法
可靠性和可重復性 受環(huán)境溫度、濕度、噪聲、 不受這些因素的影響
電磁場等的干擾和影響大
大規(guī)模集成 盡管已有一些模擬集成電路, 但品種較少、集成度不高、價格較高DSP器件體積小、功能強、功耗小、一致性好、使用方便、性能/價格比高
實時性 除開電路引入的延時外,處理是實時的 由計算機的處理速度決定
高頻信號的處理 可以處理包括微波毫米波乃至光波信號 按照奈準則的要求,受S/H、A/D和 處理速度的限制

Digital Signal Processor 數(shù)字信號處理器

微處理器(Microprocessor)的分類
通用處理器(GPP)
采用馮.諾依曼結(jié)構,程序和數(shù)據(jù)的存儲空間合二而一
8-bit Apple(6502),NEC PC-8000(Z80)
8086/286/386/486/Pentium/Pentium II/ Pentium III
PowerPc 64-bit CPU(SUN Sparc,DEC Alpha, HP)
CISC 復雜指令計算機, RISC 精簡指令計算機
采取各種方法提高計算速度,提高時鐘頻率,高速總線,多級Cashe,協(xié)處理器等
Single Chip Computer/ Micro Controller Unit(MCU)
除開通用CPU所具有的ALU和CU,還有存儲器(RAM/ROM)寄存器,時鐘,計數(shù)器,定時器,串/并口,有的還有A/D,D/A
INTEL MCS/48/51/96(98)
MOTOROLA HCS05/011
DSP
采用哈佛結(jié)構,程序和數(shù)據(jù)分開存儲
采用一系列措施保證數(shù)字信號的處理速度,如對FFT的專門優(yōu)化
MCU與DSP的簡單比較
MCU DSP
低檔 高檔 低檔 高檔
指令周期(ns) 600 40 50 5
乘加時間(ns) 1900 80 50 5
US$/MIPS 1.5 0.5 0.15 0.1

DSP處理器與通用處理器的比較
考慮一個數(shù)字信號處理的實例,比如有限沖擊響應濾波器(FIR).用數(shù)學語言來說,FIR濾波器是做一系列的點積.取一個輸入量和一個序數(shù)向量,在系數(shù)和輸入樣本的滑動窗口間作乘法,然后將所有的乘積加起來,形成一個輸出樣本.

類似的運算在數(shù)字信號處理過程中大量地重復發(fā)生,使得為此設計的器件必須提供專門的支持,促成了了DSP器件與通用處理器(GPP)的分流:

1 對密集的乘法運算的支持

GPP不是設計來做密集乘法任務的,即使是一些現(xiàn)代的GPP,也要求多個指令周期來做一次乘法.而DSP處理器使用專門的硬件來實現(xiàn)單周期乘法.DSP處理器還增加了累加器寄存器來處理多個乘積的和.累加器寄存器通常比其他寄存器寬,增加稱為結(jié)果bits的額外bits來避免溢出.
同時,為了充分體現(xiàn)專門的乘法-累加硬件的好處,幾乎所有的DSP的指令集都包含有顯式的MAC指令.

2 存儲器結(jié)構

傳統(tǒng)上,GPP使用馮.諾依曼存儲器結(jié)構.這種結(jié)構中,只有一個存儲器空間通過一組總線(一個地址總線和一個數(shù)據(jù)總線)連接到處理器核.通常,做一次乘法會發(fā)生4次存儲器訪問,用掉至少四個指令周期.

大多數(shù)DSP采用了哈佛結(jié)構,將存儲器空間劃分成兩個,分別存儲程序和數(shù)據(jù).它們有兩組總線連接到處理器核,允許同時對它們進行訪問.這種安排將處理器存貯器的帶寬加倍,更重要的是同時為處理器核提供數(shù)據(jù)與指令.在這種布局下,DSP得以實現(xiàn)單周期的MAC指令.

還有一個問題,即現(xiàn)在典型的高性能GPP實際上已包含兩個片內(nèi)高速緩存,一個是數(shù)據(jù),一個是指令,它們直接連接到處理器核,以加快運行時的訪問速度.從物理上說,這種片內(nèi)的雙存儲器和總線的結(jié)構幾乎與哈佛結(jié)構的一樣了.然而從邏輯上說,兩者還是有重要的區(qū)別.

GPP使用控制邏輯來決定哪些數(shù)據(jù)和指令字存儲在片內(nèi)的高速緩存里,其程序員并不加以指定(也可能根本不知道).與此相反,DSP使用多個片內(nèi)存儲器和多組總線來保證每個指令周期內(nèi)存儲器的多次訪問.在使用DSP時,程序員要明確地控制哪些數(shù)據(jù)和指令要存儲在片內(nèi)存儲器中.程序員在寫程序時,必須保證處理器能夠有效地使用其雙總線.

此外,DSP處理器幾乎都不具備數(shù)據(jù)高速緩存.這是因為DSP的典型數(shù)據(jù)是數(shù)據(jù)流.也就是說,DSP處理器對每個數(shù)據(jù)樣本做計算后,就丟棄了,幾乎不再重復使用.

3 零開銷循環(huán)

如果了解到DSP算法的一個共同的特點,即大多數(shù)的處理時間是花在執(zhí)行較小的循環(huán)上,也就容易理解,為什么大多數(shù)的DSP都有專門的硬件,用于零開銷循環(huán).所謂零開銷循環(huán)是指處理器在執(zhí)行循環(huán)時,不用花時間去檢查循環(huán)計數(shù)器的值、條件轉(zhuǎn)移到循環(huán)的頂部、將循環(huán)計數(shù)器減1.

與此相反,GPP的循環(huán)使用軟件來實現(xiàn).某些高性能的GPP使用轉(zhuǎn)移預報硬件,幾乎達到與硬件支持的零開銷循環(huán)同樣的效果.

4 定點計算

大多數(shù)DSP使用定點計算,而不是使用浮點.雖然DSP的應用必須十分注意數(shù)字的精確,用浮點來做應該容易的多,但是對DSP來說,廉價也是非常重要的.定點機器比起相應的浮點機器來要便宜(而且更快).為了不使用浮點機器而又保證數(shù)字的準確,DSP處理器在指令集和硬件方面都支持飽和計算、舍入和移位.

5 專門的尋址方式

DSP處理器往往都支持專門的尋址模式,它們對通常的信號處理操作和算法是很有用的.例如,模塊(循環(huán))尋址(對實現(xiàn)數(shù)字濾波器延時線很有用)、位倒序?qū)ぶ?對FFT很有用).這些非常專門的尋址模式在GPP中是不常使用的,只有用軟件來實現(xiàn).

6 執(zhí)行時間的預測

大多數(shù)的DSP應用(如蜂窩電話和調(diào)制解調(diào)器)都是嚴格的實時應用,所有的處理必須在指定的時間內(nèi)完成.這就要求程序員準確地確定每個樣本需要多少處理時間,或者,至少要知道,在最壞的情況下,需要多少時間.

如果打算用低成本的GPP去完成實時信號處理的任務,執(zhí)行時間的預測大概不會成為什么問題,應為低成本GPP具有相對直接的結(jié)構,比較容易預測執(zhí)行時間.然而,大多數(shù)實時DSP應用所要求的處理能力是低成本GPP所不能提供的.

這時候,DSP對高性能GPP的優(yōu)勢在于,即便是使用了高速緩存的DSP,哪些指令會放進去也是由程序員(而不是處理器)來決定的,因此很容易判斷指令是從高速緩存還是從存儲器中讀取.DSP一般不使用動態(tài)特性,如轉(zhuǎn)移預測和推理執(zhí)行等.因此,由一段給定的代碼來預測所要求的執(zhí)行時間是完全直截了當?shù)?從而使程序員得以確定芯片的性能限制.

7 定點DSP指令集

定點DSP指令集是按兩個目標來設計的:

使處理器能夠在每個指令周期內(nèi)完成多個操作,從而提高每個指令周期的計算效率.
將存貯DSP程序的存儲器空間減到最小(由于存儲器對整個系統(tǒng)的成本影響甚大,該問題在對成本敏感的DSP應用中尤為重要).
為了實現(xiàn)這些目標,DSP處理器的指令集通常都允許程序員在一個指令內(nèi)說明若干個并行的操作.例如,在一條指令包含了MAC操作,即同時的一個或兩個數(shù)據(jù)移動.在典型的例子里,一條指令就包含了計算FIR濾波器的一節(jié)所需要的所有操作.這種高效率付出的代價是,其指令集既不直觀,也不容易使用(與GPP的指令集相比).

GPP的程序通常并不在意處理器的指令集是否容易使用,因為他們一般使用象C或C++等高級語言.而對于DSP的程序員來說,不幸的是主要的DSP應用程序都是用匯編語言寫的(至少部分是匯編語言優(yōu)化的).這里有兩個理由:首先,大多數(shù)廣泛使用的高級語言,例如C,并不適合于描述典型的DSP算法.其次,DSP結(jié)構的復雜性,如多存儲器空間、多總線、不規(guī)則的指令集、高度專門化的硬件等,使得難于為其編寫高效率的編譯器.

即便用編譯器將C源代碼編譯成為DSP的匯編代碼,優(yōu)化的任務仍然很重.典型的DSP應用都具有大量計算的要求,并有嚴格的開銷限制,使得程序的優(yōu)化必不可少(至少是對程序的最關鍵部分).因此,考慮選用DSP的一個關鍵因素是,是否存在足夠的能夠較好地適應DSP處理器指令集的程序員.

8 開發(fā)工具的要求

因為DSP應用要求高度優(yōu)化的代碼,大多數(shù)DSP廠商都提供一些開發(fā)工具,以幫助程序員完成其優(yōu)化工作.例如,大多數(shù)廠商都提供處理器的仿真工具,以準確地仿真每個指令周期內(nèi)處理器的活動.無論對于確保實時操作還是代碼的優(yōu)化,這些都是很有用的工具.

GPP廠商通常并不提供這樣的工具,主要是因為GPP程序員通常并不需要詳細到這一層的信息.GPP缺乏精確到指令周期的仿真工具,是DSP應用開發(fā)者所面臨的的大問題:由于幾乎不可能預測高性能GPP對于給定任務所需要的周期數(shù),從而無法說明如何去改善代碼的性能.

DSP硬件結(jié)構的特點和軟件的特點
硬件結(jié)構的特點

1 Harvard結(jié)構


程序與數(shù)據(jù)存儲空間分開,各有獨立的地址總線和數(shù)據(jù)總線,取指和讀數(shù)可以同時進行,從而提高速度,目前的水平已達到90億次浮點運算/秒(9000MFLOPS)

2 采用流水作業(yè)(pipline)

3 獨立的硬件乘法器

乘法指令在單周期內(nèi)完成,優(yōu)化卷積、數(shù)字濾波、FFT、相關、矩陣運算等算法中的大量重復乘法

4 循環(huán)尋址(Circular addressing),位倒序(bit-reversed)等特殊指令

使FFT、卷積等運算中的尋址、排序及計算速度大大提高.1024點FFT的時間已小于1μs

5 獨立的DMA總線和控制器

有一組或多組獨立的DMA總線,與CPU的程序、數(shù)據(jù)總線并行工作,在不影響CPU工作的條件下,DMA速度已達800Mbyte/s以上

6 多處理器接口

使多個處理器可以很方便的并行或串行工作以提高處理速度

7 JTAG(Joint Test Action Group)標準測試接口(IEEE 1149標準接口)

便于對DSP作片上的在線仿真和多DSP條件下的調(diào)試



軟件的特點
1 立即數(shù)尋址

2 直接尋址

TI公司的TMS320系列芯片將數(shù)據(jù)存儲器分為512頁,每頁128字.設置一個數(shù)據(jù)頁指針DP(Data Pointer),用9-bit指向一個數(shù)據(jù)頁,再加上一個7-bit的頁內(nèi)偏移地址,形成16-bit的數(shù)據(jù)地址.這樣有利于大大加快尋址速度.

3 間接尋址

8個輔助寄存器(AR0--AR7),由一個輔助寄存器指針(ARP 3-bit)來指定一個輔助寄存器算術單元(ARAU)作16-bit無符號數(shù)運算,決定一個新的地址,裝入輔助寄存器中的一個

AR0--AR7的內(nèi)容相當靈活,可以裝入立即數(shù),加上立即數(shù),減去立即數(shù);也可以從數(shù)據(jù)存儲器裝入地址;還可以作以下的變址尋址:

將該AR的內(nèi)容加1或減1,再尋址(循環(huán)常用)
將該AR的內(nèi)容加上或減去AR0的內(nèi)容,再尋址
將該AR的內(nèi)容逆向進位加上或減去AR0的內(nèi)容,再尋址

由于采用反向進位,得以實現(xiàn)位倒序?qū)ぶ?

原序 原地址 位倒序后地址 位倒序
0 000 000 0
1 001 100 4
2 010 010 2
3 011 110 6
4 100 001 1
5 101 101 5
6 110 011 3
7 111 111 7
例:MAC X0,Y0,A X:(R0)+,X0 Y:(R4)+N4,Y0
這條指令命令DSP56300:

將寄存器X0和Y0中的數(shù)相乘
結(jié)果加到Acc A中
將寄存器R0所指的X存儲器地址中的值裝入寄存器X0
將寄存器R4所指的Y存儲器地址中的值裝入寄存器Y0 R0的值加1
寄存器N4的值加給R4


可以看到,運算后的次序符合FFT的蝶形運算的要求

采用循環(huán)尋址實現(xiàn)零開銷的循環(huán),大大增進了如卷積、相關、矩陣運算、FIR等算法的實現(xiàn)速度

4 獨特的乘法指令

DSP開發(fā)工具
1 代碼生成工具

C 優(yōu)化編譯器

匯編語言工具
匯編器(Assembler)
連接器(Linker)
歸檔器(Archiver)
交叉引用列表器(Cross-Reference Lister)
2 系統(tǒng)集成及調(diào)試環(huán)境與工具(以TI為例)

調(diào)試器接口(C/Assembly source debugger)

為嵌入式系統(tǒng)的開發(fā)提供了豐富的功能與靈活性.該調(diào)試器是下面要討論的軟仿真器、評估模塊、在線仿真器等的標準接口.

該調(diào)試器可以運行在PC或SPARC等平臺上,對用C 或匯編語言寫的程序提供完全的控制.其代碼分析功能通過快速確認最費時的程序段,提示應該將開發(fā)時間集中在什么地方

軟仿真器(Simulator)
TMS320軟件仿真器是一個軟件程序,使用主機的處理器和存儲器來仿真TMS320 DSP的微處理器和微計算機模式,從而進行軟件開發(fā)和非實時的程序驗證.在PC機上,典型的仿真速度為每秒幾百條指令

DSP入門套件(DSK,DSP Starter Kit)
為初學者設計和生產(chǎn)的DSK是一種用以評價DSP平臺的廉價的開發(fā)工具.在PC機的DOS或Windows下,用戶可以使用DSK來作DSP的實驗,進行諸如控制系統(tǒng)、語音處理等應用;也可以用來編寫和運行實時源代碼,并對其作評估;還可以用來調(diào)試用戶自己的系統(tǒng)

銀杏開發(fā)、實驗系統(tǒng)(DES,Dsp Expirement System)
銀杏DES含有TMS320C542-40及相關接口,還特別內(nèi)置了信號源,附帶虛擬示波器和頻譜儀軟件.采用這套系統(tǒng)使用戶對外設的依賴降到最低,僅僅需要一張卡和一套軟件就可以進行DSP的開發(fā)或?qū)嶒?

標準評估模塊(EVM)
TMS320的評估模塊(EVM)是廉價的開發(fā)板,用于器件評估、標準程序檢查、以及有限的系統(tǒng)調(diào)試.EVM是一個PC插件,包括目標處理器、一個小容量的存儲器、和有限的外設.EVM可以用來實時運行代碼,并與外部系統(tǒng)接口

TMS320硬件仿真器(Emulators)

擴展開發(fā)系統(tǒng)(XDS,extended development system)是功能強大的全速仿真器,用以作系統(tǒng)級的集成與調(diào)試.

掃描式仿真(Scan-Based Emulator)是一種獨特的、非插入式的系統(tǒng)仿真、集成、調(diào)試方法.使用這種方法,程序可以從片內(nèi)或片外的目標存儲器實時執(zhí)行,在任何時鐘速度下都不會引入額外的等待狀態(tài)

3 實時操作系統(tǒng)

對于簡單的DSP任務,用前面介紹的開發(fā)工具已能滿足開發(fā)任務的需要,往往不需要操作系統(tǒng)就可以進行.但當DSP的任務增加和任務的復雜性提高,例如對實時性要求很高的多DSP并行操作的多任務系統(tǒng),可能就需要某種操作系統(tǒng)來管理系統(tǒng)的資源,安排多任務的執(zhí)行和任務間的信息交換等

DSP的操作系統(tǒng)SPOX
SPOX是專為DSP系統(tǒng)設計和軟件開發(fā)而設計的實時多任務操作系統(tǒng).它提供一組由C語言調(diào)用的功能,與所開發(fā)的硬件平臺無關,從而將DSP的實時應用部分從許多低層的硬件細節(jié)中隔離出來.它作為DSP實時應用開發(fā)的一個集成環(huán)境,完成從新的算法概念出發(fā),直到把應用軟件裝入產(chǎn)品硬件的整個開發(fā)任務




DSP芯片介紹
1 什么是DSP芯片
DSP芯片,也稱數(shù)字信號處理器,是一種具有特殊結(jié)構的微處理器.DSP芯片的內(nèi)部采用程序和數(shù)據(jù)分開的哈佛結(jié)構,具有專門的硬件乘法器,廣泛采用流水線操作,提供特殊的DSP 指令,可以用來快速地實現(xiàn)各種數(shù)字信號處理算法.根據(jù)數(shù)字信號處理的要求,DSP芯片一般具有如下的一些主要特點:


(1) 在一個指令周期內(nèi)可完成一次乘法和一次加法.

(2) 程序和數(shù)據(jù)空間分開,可以同時訪問指令和數(shù)據(jù).

(3) 片內(nèi)具有快速RAM,通常可通過獨立的數(shù)據(jù)總線在兩塊中同時訪問.

(4) 具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的硬件支持.

(5) 快速的中斷處理和硬件I/O支持.

(6) 具有在單周期內(nèi)操作的多個硬件地址產(chǎn)生器.

(7) 可以并行執(zhí)行多個操作.

(8) 支持流水線操作,使取指、譯碼和執(zhí)行等操作可以重疊執(zhí)行.

與通用微處理器相比,DSP芯片的其他通用功能相對較弱些.

2 DSP芯片的發(fā)展

世界上第一個單片DSP芯片是1978年AMI公司宣布的S2811,1979年美國Iintel公司發(fā)布的商用可編程期間2920是DSP芯片的一個主要里程碑.這兩種芯片內(nèi)部都沒有現(xiàn)代DSP芯片所必須的單周期芯片. 1980年.日本NEC公司推出的μPD7720是第一個具有乘法器的商用DSP 芯片.第一個采用CMOS工藝生產(chǎn)浮點DSP芯片的是日本的Hitachi 公司,它于1982年推出了浮點DSP芯片.1983年,日本的Fujitsu公司推出的MB8764,其指令周期為120ns ,且具有雙內(nèi)部總線,從而處理的吞吐量發(fā)生了一個大的飛躍.而第一個高性能的浮點DSP芯片應是AT&T公司于1984年推出的DSP32.

在這么多的DSP芯片種類中,最成功的是美國德克薩斯儀器公司(Texas Instruments,簡稱TI)的一系列產(chǎn)品.TI公司災982年成功推出啟迪一代DSP芯片TMS32010及其系列產(chǎn)品TMS32011、TMS32C10/C14/C15/C16/C17等,之后相繼推出了第二代DSP芯片TMS32020、TMS320C25/C26/C28,第三代DSP芯片TMS32C30/C31/C32,第四代DSP芯片TMS32C40/C44,第五代DSP芯片TMS32C50/C51/C52/C53以及集多個DSP于一體的高性能DSP芯片TMS32C80/C82等.

自1980年以來,DSP芯片得到了突飛猛進的發(fā)展,DSP芯片的應用越來越廣泛.從運算速度來看,MAC(一次乘法和一次加法)時間已經(jīng)從80年代初的400ns(如TMS32010)降低到40ns(如TMS32C40),處理能力提高了10多倍.DSP芯片內(nèi)部關鍵的乘法器部件從1980年的占模區(qū)的40左右下降到5以下,片內(nèi)RAM增加一個數(shù)量級以上.從制造工藝來看,1980年采用4μ的N溝道MOS工藝,而現(xiàn)在則普遍采用亞微米CMOS工藝.DSP芯片的引腳數(shù)量從1980年的最多64個增加到現(xiàn)在的200個以上,引腳數(shù)量的增加,意味著結(jié)構靈活性的增加.此外,DSP芯片的發(fā)展,是DSP系統(tǒng)的成本、體積、重量和功耗都有很大程度的下降.

3 DSP芯片的分類

DSP的芯片可以按照以下的三種方式進行分類.

1. 按基礎特性分

這是根據(jù)DSP芯片的工作時鐘和指令類型來分類的.如果DSP芯片在某時鐘頻率范圍內(nèi)的任何頻率上能正常工作,除計算速度有變化外,沒有性能的下降,這類DSP芯片一般稱之為靜態(tài)DSP芯片.

如果有兩種或兩種以上的DSP芯片,它們的指令集和相應的機器代碼機管腳結(jié)構相互兼容,則這類DSP芯片稱之為一致性的DSP芯片.

2. 按數(shù)據(jù)格式分

這是根據(jù)DSP芯片工作的數(shù)據(jù)格式來分類的.數(shù)據(jù)以定點格式工作的DSP芯片稱之為定點DSP芯片.以浮點格式工作的稱為DSP芯片.不同的浮點DSP芯片所采用的浮點格式不完全一樣,有的DSP芯片采用自定義的浮點格式,有的DSP芯片則采用IEEE的標準浮點格式.

3. 按用途分

按照DSP芯片的用途來分,可分為通用型DSP芯片和專用型的DSP芯片.通用型DSP芯片適合普通的DSP應用,如TI公司的一系列DSP芯片.專用型DSP芯片市為特定的DSP運算而設計,更適合特殊的運算,如數(shù)字濾波,卷積和FFT等.

4 DSP芯片的選擇

設計DSP應用系統(tǒng),選擇DSP芯片時非常重要的一個環(huán)節(jié).只有選定了DSP芯片才能進一步設計外圍電路集系統(tǒng)的其它電路.總的來說,DSP芯片的選擇應根據(jù)實際的應用系統(tǒng)需要而確定.一般來說,選擇DSP芯片時考慮如下諸多因素.

1. DSP芯片的運算速度.運算速度是DSP芯片的一個最重要的性能指標,也是選擇DSP芯片時所需要考慮的一個主要因素.DSP芯片的運算速度可以用以下幾種性能指標來衡量:

(1) 指令周期.就是執(zhí)行一條指令所需要的時間,通常以ns為單位.

(2) MAC時間.即一次乘法加上一次加法的時間.

(3) FFT執(zhí)行時間.即運行一個N點FFT程序所需的時間.

(4) MIPS.即每秒執(zhí)行百萬條指令.

(5) MOPS.即每秒執(zhí)行百萬次操作.

(6) MFLOPS.即每秒執(zhí)行百萬次浮點操作.

(7) BOPS.即每秒執(zhí)行十億次操作.

2. DSP芯片的價格.根據(jù)一個價格實際的應用情況,確定一個價格適中的DSP芯片.

3. DSP芯片的硬件資源.

4. DSP芯片的運算速度.

5. DSP芯片的開發(fā)工具.

6. DSP 芯片的功耗.

7. 其它的因素,如封裝的形式、質(zhì)量標準、生命周期等.

DSP應用系統(tǒng)的運算量是確定選用處理能力多大的DSP芯片的基礎.那么如何確定DSP系統(tǒng)的運算量以選擇DSP芯片呢?

1. 按樣點處理

按樣點處理就是DSP算法對每一個輸入樣點循環(huán)一次.例如;一個采用LMS算法的256抽頭德的自適應FIR濾波器,假定每個抽頭的計算需要3個MAC周期,則256抽頭計算需要256*3=768個MAC周期.如果采樣頻率為8KHz,即樣點之間的間隔為125μs的時間,DSP芯片的MAC周期為200μs,則768個周期需要153.6μs的時間,顯然無法實時處理,需要選用速度更快的芯片.

2. 按幀處理

有些數(shù)字信號處理算法不是每個輸入樣點循環(huán)一次,而是每隔一定的時間間隔(通常稱為幀)循環(huán)一次.所以選擇DSP芯片應該比較一幀內(nèi)DSP芯片的處理能力和DSP算法的運算量.假設DSP芯片的指令周期為P(ns),一幀的時間為⊿τ(ns),則該DSP芯片在一幀內(nèi)所提供的最大運算量為⊿τ/ P 條指令.

5 DSP芯片的基本結(jié)構

DSP芯片的基本結(jié)構包括:

(1)哈佛結(jié)構;

(2)流水線操作;

(3)專用的硬件乘法器;

(4)特殊的DSP指令;

(5)快速的指令周期.

哈佛結(jié)構

哈佛結(jié)構的主要特點是將程序和數(shù)據(jù)存儲在不同的存儲空間中,即程序存儲器和數(shù)據(jù)存儲器是兩個相互獨立的存儲器,每個存儲器獨立編址,獨立訪問.與兩個存儲器相對應的是系統(tǒng)中設置了程序總線和數(shù)據(jù)總線,從而使數(shù)據(jù)的吞吐率提高了一倍.由于程序和存儲器在兩個分開的空間中,因此取指和執(zhí)行能完全重疊.

流水線與哈佛結(jié)構相關,DSP芯片廣泛采用流水線以減少指令執(zhí)行的時間,從而增強了處理器的處理能力.處理器可以并行處理二到四條指令,每條指令處于流水線的不同階段.入圖示出一個三級流水線操作的例子.

CLLOUT1

取指 N N-1 N-2

譯碼 N-1 N N-2

執(zhí)行 N-2 N-1 N

圖4-1 三級流水線操作

專用的硬件乘法器

乘法速度越快,DSP處理器的性能越高.由于具有專用的應用乘法器,乘法可在一個指令周期內(nèi)完成.

特殊的DSP指令DSP芯片是采用特殊的指令.

快速的指令周期哈佛結(jié)構、流水線操作、專用的硬件乘法器、特殊的DSP指令再加上集成電路的優(yōu)化設計可使DSP芯片的指令周期在200ns以下.

6 DSP系統(tǒng)的特點

數(shù)字信號處理系統(tǒng)是以數(shù)字信號處理為基礎,因此具有數(shù)字處理的全部特點:

(1) 接口方便.DSP系統(tǒng)與其它以現(xiàn)代數(shù)字技術為基礎的系統(tǒng)或設備都是相互兼容,這樣的系統(tǒng)接口以實現(xiàn)某種功能要比模擬系統(tǒng)與這些系統(tǒng)接口要容易的多.

(2) 編程方便.DSP系統(tǒng)種的可編程DSP芯片可使設計人員在開發(fā)過程中靈活方便地對軟件進行修改和升級.

(3) 穩(wěn)定性好.DSP系統(tǒng)以數(shù)字處理為基礎,受環(huán)境溫度以及噪聲的影響較小,可靠性高.

(4) 精度高.16位數(shù)字系統(tǒng)可以達到的精度.

(5) 可重復性好.模擬系統(tǒng)的性能受元器件參數(shù)性能變化比較大,而數(shù)字系統(tǒng)基本上不受影響,因此數(shù)字系統(tǒng)便于測試,調(diào)試和大規(guī)模生產(chǎn).

(6) 集成方便.DSP系統(tǒng)中的數(shù)字部件有高度的規(guī)范性,便于大規(guī)模集成.

7 DSP芯片的應用

自從DSP芯片誕生以來,DSP芯片得到了飛速的發(fā)展.DSP芯片高速發(fā)展,一方面得益于集成電路的發(fā)展,另一方面也得益于巨大的市場.在短短的十多年時間,DSP芯片已經(jīng)在信號處理、通信、雷達等許多領域得到廣泛的應用.目前,DSP芯片的價格也越來越低,性能價格比日益提高,具有巨大的應用潛力.DSP芯片的應用主要有:

(1) 信號處理--如,數(shù)字濾波、自適應濾波、快速傅里葉變換、相關運算、頻譜分析、卷積等.

(2) 通信--如,調(diào)制解調(diào)器、自適應均衡、數(shù)據(jù)加密、數(shù)據(jù)壓縮、回坡抵消、多路復用、傳真、擴頻通信、糾錯編碼、波形產(chǎn)生等.

(3) 語音--如語音編碼、語音合成、語音識別、語音增強、說話人辨認、說話人確認、語音郵件、語音儲存等.

(4) 圖像/圖形--如二維和三維圖形處理、圖像壓縮與傳輸、圖像增強、動畫、機器人視覺等.

(5) 軍事--如保密通信、雷達處理、聲納處理、導航等.

(6) 儀器儀表--如頻譜分析、函數(shù)發(fā)生、鎖相環(huán)、地震處理等.

(7) 自動控制--如引擎控制、深空、自動駕駛、機器人控制、磁盤控制.

(8) 醫(yī)療--如助聽、超聲設備、診斷工具、病人監(jiān)護等.

(9) 家用電器--如高保真音響、音樂合成、音調(diào)控制、玩具與游戲、數(shù)字電話/電視等

DSP芯片開發(fā)和產(chǎn)品應用
一、DSP程序開發(fā)

為了使DSP有效運行、必須要用能充分考慮DSP內(nèi)部并行性的匯編語言進行編制DSP程序.前面提到,美國TI公司的DSP推銷員說DSP編程容易,實際上他是指DSP的匯編語言相對于計算機的匯編語言而言,比較容易一些,因為沒有像計算機匯編語言那樣復雜.但是,對于習慣用高級語言編
0
回復
liuk2005
LV.1
3
2006-03-24 00:01
@ghost
DigitalSignalProcessing數(shù)字信號處理作為一個案例研究,我們來考慮數(shù)字領域里最通常的功能:濾波.簡單地說,濾波就是對信號進行處理,以改善其特性.例如,濾波可以從信號里清除噪聲或靜電干擾,從而改善其信噪比.為什么要用微處理器,而不是模擬器件來對信號做濾波呢?我們來看看其優(yōu)越性:模擬濾波器(或者更一般地說,模擬電路)的性能要取決于溫度等環(huán)境因素.而數(shù)字濾波器則基本上不受環(huán)境的影響.數(shù)字濾波易于在非常小的寬容度內(nèi)進行復制,因為其性能并不取決于性能已偏離正常值的器件的組合.一個模擬濾波器一旦制造出來,其特性(例如通帶頻率范圍)是不容易改變的.使用微處理器來實現(xiàn)數(shù)字濾波器,就可以通過對其重新編程來改變?yōu)V波的特性.信號處理方式的比較比較因素模擬方式數(shù)字方式修改設計的靈活性修改硬件設計,或調(diào)整硬件參數(shù)改變軟件設置精度元器件精度A/D的位數(shù)和計算機字長,算法可靠性和可重復性受環(huán)境溫度、濕度、噪聲、不受這些因素的影響電磁場等的干擾和影響大大規(guī)模集成盡管已有一些模擬集成電路,但品種較少、集成度不高、價格較高DSP器件體積小、功能強、功耗小、一致性好、使用方便、性能/價格比高實時性除開電路引入的延時外,處理是實時的由計算機的處理速度決定高頻信號的處理可以處理包括微波毫米波乃至光波信號按照奈準則的要求,受S/H、A/D和處理速度的限制DigitalSignalProcessor數(shù)字信號處理器微處理器(Microprocessor)的分類通用處理器(GPP)采用馮.諾依曼結(jié)構,程序和數(shù)據(jù)的存儲空間合二而一8-bitApple(6502),NECPC-8000(Z80)8086/286/386/486/Pentium/PentiumII/PentiumIIIPowerPc64-bitCPU(SUNSparc,DECAlpha,HP)CISC復雜指令計算機,RISC精簡指令計算機采取各種方法提高計算速度,提高時鐘頻率,高速總線,多級Cashe,協(xié)處理器等SingleChipComputer/MicroControllerUnit(MCU)除開通用CPU所具有的ALU和CU,還有存儲器(RAM/ROM)寄存器,時鐘,計數(shù)器,定時器,串/并口,有的還有A/D,D/AINTELMCS/48/51/96(98)MOTOROLAHCS05/011DSP采用哈佛結(jié)構,程序和數(shù)據(jù)分開存儲采用一系列措施保證數(shù)字信號的處理速度,如對FFT的專門優(yōu)化MCU與DSP的簡單比較MCUDSP低檔高檔低檔高檔指令周期(ns)60040505乘加時間(ns)190080505US$/MIPS1.50.50.150.1DSP處理器與通用處理器的比較考慮一個數(shù)字信號處理的實例,比如有限沖擊響應濾波器(FIR).用數(shù)學語言來說,FIR濾波器是做一系列的點積.取一個輸入量和一個序數(shù)向量,在系數(shù)和輸入樣本的滑動窗口間作乘法,然后將所有的乘積加起來,形成一個輸出樣本.類似的運算在數(shù)字信號處理過程中大量地重復發(fā)生,使得為此設計的器件必須提供專門的支持,促成了了DSP器件與通用處理器(GPP)的分流:1對密集的乘法運算的支持GPP不是設計來做密集乘法任務的,即使是一些現(xiàn)代的GPP,也要求多個指令周期來做一次乘法.而DSP處理器使用專門的硬件來實現(xiàn)單周期乘法.DSP處理器還增加了累加器寄存器來處理多個乘積的和.累加器寄存器通常比其他寄存器寬,增加稱為結(jié)果bits的額外bits來避免溢出.同時,為了充分體現(xiàn)專門的乘法-累加硬件的好處,幾乎所有的DSP的指令集都包含有顯式的MAC指令.2存儲器結(jié)構傳統(tǒng)上,GPP使用馮.諾依曼存儲器結(jié)構.這種結(jié)構中,只有一個存儲器空間通過一組總線(一個地址總線和一個數(shù)據(jù)總線)連接到處理器核.通常,做一次乘法會發(fā)生4次存儲器訪問,用掉至少四個指令周期.大多數(shù)DSP采用了哈佛結(jié)構,將存儲器空間劃分成兩個,分別存儲程序和數(shù)據(jù).它們有兩組總線連接到處理器核,允許同時對它們進行訪問.這種安排將處理器存貯器的帶寬加倍,更重要的是同時為處理器核提供數(shù)據(jù)與指令.在這種布局下,DSP得以實現(xiàn)單周期的MAC指令.還有一個問題,即現(xiàn)在典型的高性能GPP實際上已包含兩個片內(nèi)高速緩存,一個是數(shù)據(jù),一個是指令,它們直接連接到處理器核,以加快運行時的訪問速度.從物理上說,這種片內(nèi)的雙存儲器和總線的結(jié)構幾乎與哈佛結(jié)構的一樣了.然而從邏輯上說,兩者還是有重要的區(qū)別.GPP使用控制邏輯來決定哪些數(shù)據(jù)和指令字存儲在片內(nèi)的高速緩存里,其程序員并不加以指定(也可能根本不知道).與此相反,DSP使用多個片內(nèi)存儲器和多組總線來保證每個指令周期內(nèi)存儲器的多次訪問.在使用DSP時,程序員要明確地控制哪些數(shù)據(jù)和指令要存儲在片內(nèi)存儲器中.程序員在寫程序時,必須保證處理器能夠有效地使用其雙總線.此外,DSP處理器幾乎都不具備數(shù)據(jù)高速緩存.這是因為DSP的典型數(shù)據(jù)是數(shù)據(jù)流.也就是說,DSP處理器對每個數(shù)據(jù)樣本做計算后,就丟棄了,幾乎不再重復使用.3零開銷循環(huán)如果了解到DSP算法的一個共同的特點,即大多數(shù)的處理時間是花在執(zhí)行較小的循環(huán)上,也就容易理解,為什么大多數(shù)的DSP都有專門的硬件,用于零開銷循環(huán).所謂零開銷循環(huán)是指處理器在執(zhí)行循環(huán)時,不用花時間去檢查循環(huán)計數(shù)器的值、條件轉(zhuǎn)移到循環(huán)的頂部、將循環(huán)計數(shù)器減1.與此相反,GPP的循環(huán)使用軟件來實現(xiàn).某些高性能的GPP使用轉(zhuǎn)移預報硬件,幾乎達到與硬件支持的零開銷循環(huán)同樣的效果.4定點計算大多數(shù)DSP使用定點計算,而不是使用浮點.雖然DSP的應用必須十分注意數(shù)字的精確,用浮點來做應該容易的多,但是對DSP來說,廉價也是非常重要的.定點機器比起相應的浮點機器來要便宜(而且更快).為了不使用浮點機器而又保證數(shù)字的準確,DSP處理器在指令集和硬件方面都支持飽和計算、舍入和移位.5專門的尋址方式DSP處理器往往都支持專門的尋址模式,它們對通常的信號處理操作和算法是很有用的.例如,模塊(循環(huán))尋址(對實現(xiàn)數(shù)字濾波器延時線很有用)、位倒序?qū)ぶ?對FFT很有用).這些非常專門的尋址模式在GPP中是不常使用的,只有用軟件來實現(xiàn).6執(zhí)行時間的預測大多數(shù)的DSP應用(如蜂窩電話和調(diào)制解調(diào)器)都是嚴格的實時應用,所有的處理必須在指定的時間內(nèi)完成.這就要求程序員準確地確定每個樣本需要多少處理時間,或者,至少要知道,在最壞的情況下,需要多少時間.如果打算用低成本的GPP去完成實時信號處理的任務,執(zhí)行時間的預測大概不會成為什么問題,應為低成本GPP具有相對直接的結(jié)構,比較容易預測執(zhí)行時間.然而,大多數(shù)實時DSP應用所要求的處理能力是低成本GPP所不能提供的.這時候,DSP對高性能GPP的優(yōu)勢在于,即便是使用了高速緩存的DSP,哪些指令會放進去也是由程序員(而不是處理器)來決定的,因此很容易判斷指令是從高速緩存還是從存儲器中讀取.DSP一般不使用動態(tài)特性,如轉(zhuǎn)移預測和推理執(zhí)行等.因此,由一段給定的代碼來預測所要求的執(zhí)行時間是完全直截了當?shù)?從而使程序員得以確定芯片的性能限制.7定點DSP指令集定點DSP指令集是按兩個目標來設計的:使處理器能夠在每個指令周期內(nèi)完成多個操作,從而提高每個指令周期的計算效率.將存貯DSP程序的存儲器空間減到最小(由于存儲器對整個系統(tǒng)的成本影響甚大,該問題在對成本敏感的DSP應用中尤為重要).為了實現(xiàn)這些目標,DSP處理器的指令集通常都允許程序員在一個指令內(nèi)說明若干個并行的操作.例如,在一條指令包含了MAC操作,即同時的一個或兩個數(shù)據(jù)移動.在典型的例子里,一條指令就包含了計算FIR濾波器的一節(jié)所需要的所有操作.這種高效率付出的代價是,其指令集既不直觀,也不容易使用(與GPP的指令集相比).GPP的程序通常并不在意處理器的指令集是否容易使用,因為他們一般使用象C或C++等高級語言.而對于DSP的程序員來說,不幸的是主要的DSP應用程序都是用匯編語言寫的(至少部分是匯編語言優(yōu)化的).這里有兩個理由:首先,大多數(shù)廣泛使用的高級語言,例如C,并不適合于描述典型的DSP算法.其次,DSP結(jié)構的復雜性,如多存儲器空間、多總線、不規(guī)則的指令集、高度專門化的硬件等,使得難于為其編寫高效率的編譯器.即便用編譯器將C源代碼編譯成為DSP的匯編代碼,優(yōu)化的任務仍然很重.典型的DSP應用都具有大量計算的要求,并有嚴格的開銷限制,使得程序的優(yōu)化必不可少(至少是對程序的最關鍵部分).因此,考慮選用DSP的一個關鍵因素是,是否存在足夠的能夠較好地適應DSP處理器指令集的程序員.8開發(fā)工具的要求因為DSP應用要求高度優(yōu)化的代碼,大多數(shù)DSP廠商都提供一些開發(fā)工具,以幫助程序員完成其優(yōu)化工作.例如,大多數(shù)廠商都提供處理器的仿真工具,以準確地仿真每個指令周期內(nèi)處理器的活動.無論對于確保實時操作還是代碼的優(yōu)化,這些都是很有用的工具.GPP廠商通常并不提供這樣的工具,主要是因為GPP程序員通常并不需要詳細到這一層的信息.GPP缺乏精確到指令周期的仿真工具,是DSP應用開發(fā)者所面臨的的大問題:由于幾乎不可能預測高性能GPP對于給定任務所需要的周期數(shù),從而無法說明如何去改善代碼的性能.DSP硬件結(jié)構的特點和軟件的特點硬件結(jié)構的特點1Harvard結(jié)構程序與數(shù)據(jù)存儲空間分開,各有獨立的地址總線和數(shù)據(jù)總線,取指和讀數(shù)可以同時進行,從而提高速度,目前的水平已達到90億次浮點運算/秒(9000MFLOPS)2采用流水作業(yè)(pipline)3獨立的硬件乘法器乘法指令在單周期內(nèi)完成,優(yōu)化卷積、數(shù)字濾波、FFT、相關、矩陣運算等算法中的大量重復乘法4循環(huán)尋址(Circularaddressing),位倒序(bit-reversed)等特殊指令使FFT、卷積等運算中的尋址、排序及計算速度大大提高.1024點FFT的時間已小于1μs5獨立的DMA總線和控制器有一組或多組獨立的DMA總線,與CPU的程序、數(shù)據(jù)總線并行工作,在不影響CPU工作的條件下,DMA速度已達800Mbyte/s以上6多處理器接口使多個處理器可以很方便的并行或串行工作以提高處理速度7JTAG(JointTestActionGroup)標準測試接口(IEEE1149標準接口)便于對DSP作片上的在線仿真和多DSP條件下的調(diào)試軟件的特點1立即數(shù)尋址2直接尋址TI公司的TMS320系列芯片將數(shù)據(jù)存儲器分為512頁,每頁128字.設置一個數(shù)據(jù)頁指針DP(DataPointer),用9-bit指向一個數(shù)據(jù)頁,再加上一個7-bit的頁內(nèi)偏移地址,形成16-bit的數(shù)據(jù)地址.這樣有利于大大加快尋址速度.3間接尋址8個輔助寄存器(AR0--AR7),由一個輔助寄存器指針(ARP3-bit)來指定一個輔助寄存器算術單元(ARAU)作16-bit無符號數(shù)運算,決定一個新的地址,裝入輔助寄存器中的一個AR0--AR7的內(nèi)容相當靈活,可以裝入立即數(shù),加上立即數(shù),減去立即數(shù);也可以從數(shù)據(jù)存儲器裝入地址;還可以作以下的變址尋址:將該AR的內(nèi)容加1或減1,再尋址(循環(huán)常用)將該AR的內(nèi)容加上或減去AR0的內(nèi)容,再尋址將該AR的內(nèi)容逆向進位加上或減去AR0的內(nèi)容,再尋址由于采用反向進位,得以實現(xiàn)位倒序?qū)ぶ吩蛟刂肺坏剐蚝蟮刂肺坏剐?000000010011004201001023011110641000011510110156110011371111117例:MACX0,Y0,AX:(R0)+,X0Y:(R4)+N4,Y0這條指令命令DSP56300:將寄存器X0和Y0中的數(shù)相乘結(jié)果加到AccA中將寄存器R0所指的X存儲器地址中的值裝入寄存器X0將寄存器R4所指的Y存儲器地址中的值裝入寄存器Y0R0的值加1寄存器N4的值加給R4可以看到,運算后的次序符合FFT的蝶形運算的要求采用循環(huán)尋址實現(xiàn)零開銷的循環(huán),大大增進了如卷積、相關、矩陣運算、FIR等算法的實現(xiàn)速度4獨特的乘法指令DSP開發(fā)工具1代碼生成工具C優(yōu)化編譯器匯編語言工具匯編器(Assembler)連接器(Linker)歸檔器(Archiver)交叉引用列表器(Cross-ReferenceLister)2系統(tǒng)集成及調(diào)試環(huán)境與工具(以TI為例)調(diào)試器接口(C/Assemblysourcedebugger)為嵌入式系統(tǒng)的開發(fā)提供了豐富的功能與靈活性.該調(diào)試器是下面要討論的軟仿真器、評估模塊、在線仿真器等的標準接口.該調(diào)試器可以運行在PC或SPARC等平臺上,對用C或匯編語言寫的程序提供完全的控制.其代碼分析功能通過快速確認最費時的程序段,提示應該將開發(fā)時間集中在什么地方軟仿真器(Simulator)TMS320軟件仿真器是一個軟件程序,使用主機的處理器和存儲器來仿真TMS320DSP的微處理器和微計算機模式,從而進行軟件開發(fā)和非實時的程序驗證.在PC機上,典型的仿真速度為每秒幾百條指令DSP入門套件(DSK,DSPStarterKit)為初學者設計和生產(chǎn)的DSK是一種用以評價DSP平臺的廉價的開發(fā)工具.在PC機的DOS或Windows下,用戶可以使用DSK來作DSP的實驗,進行諸如控制系統(tǒng)、語音處理等應用;也可以用來編寫和運行實時源代碼,并對其作評估;還可以用來調(diào)試用戶自己的系統(tǒng)銀杏開發(fā)、實驗系統(tǒng)(DES,DspExpirementSystem)銀杏DES含有TMS320C542-40及相關接口,還特別內(nèi)置了信號源,附帶虛擬示波器和頻譜儀軟件.采用這套系統(tǒng)使用戶對外設的依賴降到最低,僅僅需要一張卡和一套軟件就可以進行DSP的開發(fā)或?qū)嶒?標準評估模塊(EVM)TMS320的評估模塊(EVM)是廉價的開發(fā)板,用于器件評估、標準程序檢查、以及有限的系統(tǒng)調(diào)試.EVM是一個PC插件,包括目標處理器、一個小容量的存儲器、和有限的外設.EVM可以用來實時運行代碼,并與外部系統(tǒng)接口TMS320硬件仿真器(Emulators)擴展開發(fā)系統(tǒng)(XDS,extendeddevelopmentsystem)是功能強大的全速仿真器,用以作系統(tǒng)級的集成與調(diào)試.掃描式仿真(Scan-BasedEmulator)是一種獨特的、非插入式的系統(tǒng)仿真、集成、調(diào)試方法.使用這種方法,程序可以從片內(nèi)或片外的目標存儲器實時執(zhí)行,在任何時鐘速度下都不會引入額外的等待狀態(tài)3實時操作系統(tǒng)對于簡單的DSP任務,用前面介紹的開發(fā)工具已能滿足開發(fā)任務的需要,往往不需要操作系統(tǒng)就可以進行.但當DSP的任務增加和任務的復雜性提高,例如對實時性要求很高的多DSP并行操作的多任務系統(tǒng),可能就需要某種操作系統(tǒng)來管理系統(tǒng)的資源,安排多任務的執(zhí)行和任務間的信息交換等DSP的操作系統(tǒng)SPOXSPOX是專為DSP系統(tǒng)設計和軟件開發(fā)而設計的實時多任務操作系統(tǒng).它提供一組由C語言調(diào)用的功能,與所開發(fā)的硬件平臺無關,從而將DSP的實時應用部分從許多低層的硬件細節(jié)中隔離出來.它作為DSP實時應用開發(fā)的一個集成環(huán)境,完成從新的算法概念出發(fā),直到把應用軟件裝入產(chǎn)品硬件的整個開發(fā)任務DSP芯片介紹1什么是DSP芯片DSP芯片,也稱數(shù)字信號處理器,是一種具有特殊結(jié)構的微處理器.DSP芯片的內(nèi)部采用程序和數(shù)據(jù)分開的哈佛結(jié)構,具有專門的硬件乘法器,廣泛采用流水線操作,提供特殊的DSP指令,可以用來快速地實現(xiàn)各種數(shù)字信號處理算法.根據(jù)數(shù)字信號處理的要求,DSP芯片一般具有如下的一些主要特點:(1)在一個指令周期內(nèi)可完成一次乘法和一次加法.(2)程序和數(shù)據(jù)空間分開,可以同時訪問指令和數(shù)據(jù).(3)片內(nèi)具有快速RAM,通常可通過獨立的數(shù)據(jù)總線在兩塊中同時訪問.(4)具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的硬件支持.(5)快速的中斷處理和硬件I/O支持.(6)具有在單周期內(nèi)操作的多個硬件地址產(chǎn)生器.(7)可以并行執(zhí)行多個操作.(8)支持流水線操作,使取指、譯碼和執(zhí)行等操作可以重疊執(zhí)行.與通用微處理器相比,DSP芯片的其他通用功能相對較弱些.2DSP芯片的發(fā)展世界上第一個單片DSP芯片是1978年AMI公司宣布的S2811,1979年美國Iintel公司發(fā)布的商用可編程期間2920是DSP芯片的一個主要里程碑.這兩種芯片內(nèi)部都沒有現(xiàn)代DSP芯片所必須的單周期芯片.1980年.日本NEC公司推出的μPD7720是第一個具有乘法器的商用DSP芯片.第一個采用CMOS工藝生產(chǎn)浮點DSP芯片的是日本的Hitachi公司,它于1982年推出了浮點DSP芯片.1983年,日本的Fujitsu公司推出的MB8764,其指令周期為120ns,且具有雙內(nèi)部總線,從而處理的吞吐量發(fā)生了一個大的飛躍.而第一個高性能的浮點DSP芯片應是AT&T公司于1984年推出的DSP32.在這么多的DSP芯片種類中,最成功的是美國德克薩斯儀器公司(TexasInstruments,簡稱TI)的一系列產(chǎn)品.TI公司災982年成功推出啟迪一代DSP芯片TMS32010及其系列產(chǎn)品TMS32011、TMS32C10/C14/C15/C16/C17等,之后相繼推出了第二代DSP芯片TMS32020、TMS320C25/C26/C28,第三代DSP芯片TMS32C30/C31/C32,第四代DSP芯片TMS32C40/C44,第五代DSP芯片TMS32C50/C51/C52/C53以及集多個DSP于一體的高性能DSP芯片TMS32C80/C82等.自1980年以來,DSP芯片得到了突飛猛進的發(fā)展,DSP芯片的應用越來越廣泛.從運算速度來看,MAC(一次乘法和一次加法)時間已經(jīng)從80年代初的400ns(如TMS32010)降低到40ns(如TMS32C40),處理能力提高了10多倍.DSP芯片內(nèi)部關鍵的乘法器部件從1980年的占模區(qū)的40左右下降到5以下,片內(nèi)RAM增加一個數(shù)量級以上.從制造工藝來看,1980年采用4μ的N溝道MOS工藝,而現(xiàn)在則普遍采用亞微米CMOS工藝.DSP芯片的引腳數(shù)量從1980年的最多64個增加到現(xiàn)在的200個以上,引腳數(shù)量的增加,意味著結(jié)構靈活性的增加.此外,DSP芯片的發(fā)展,是DSP系統(tǒng)的成本、體積、重量和功耗都有很大程度的下降.3DSP芯片的分類DSP的芯片可以按照以下的三種方式進行分類.1.按基礎特性分這是根據(jù)DSP芯片的工作時鐘和指令類型來分類的.如果DSP芯片在某時鐘頻率范圍內(nèi)的任何頻率上能正常工作,除計算速度有變化外,沒有性能的下降,這類DSP芯片一般稱之為靜態(tài)DSP芯片.如果有兩種或兩種以上的DSP芯片,它們的指令集和相應的機器代碼機管腳結(jié)構相互兼容,則這類DSP芯片稱之為一致性的DSP芯片.2.按數(shù)據(jù)格式分這是根據(jù)DSP芯片工作的數(shù)據(jù)格式來分類的.數(shù)據(jù)以定點格式工作的DSP芯片稱之為定點DSP芯片.以浮點格式工作的稱為DSP芯片.不同的浮點DSP芯片所采用的浮點格式不完全一樣,有的DSP芯片采用自定義的浮點格式,有的DSP芯片則采用IEEE的標準浮點格式.3.按用途分按照DSP芯片的用途來分,可分為通用型DSP芯片和專用型的DSP芯片.通用型DSP芯片適合普通的DSP應用,如TI公司的一系列DSP芯片.專用型DSP芯片市為特定的DSP運算而設計,更適合特殊的運算,如數(shù)字濾波,卷積和FFT等.4DSP芯片的選擇設計DSP應用系統(tǒng),選擇DSP芯片時非常重要的一個環(huán)節(jié).只有選定了DSP芯片才能進一步設計外圍電路集系統(tǒng)的其它電路.總的來說,DSP芯片的選擇應根據(jù)實際的應用系統(tǒng)需要而確定.一般來說,選擇DSP芯片時考慮如下諸多因素.1.DSP芯片的運算速度.運算速度是DSP芯片的一個最重要的性能指標,也是選擇DSP芯片時所需要考慮的一個主要因素.DSP芯片的運算速度可以用以下幾種性能指標來衡量:(1)指令周期.就是執(zhí)行一條指令所需要的時間,通常以ns為單位.(2)MAC時間.即一次乘法加上一次加法的時間.(3)FFT執(zhí)行時間.即運行一個N點FFT程序所需的時間.(4)MIPS.即每秒執(zhí)行百萬條指令.(5)MOPS.即每秒執(zhí)行百萬次操作.(6)MFLOPS.即每秒執(zhí)行百萬次浮點操作.(7)BOPS.即每秒執(zhí)行十億次操作.2.DSP芯片的價格.根據(jù)一個價格實際的應用情況,確定一個價格適中的DSP芯片.3.DSP芯片的硬件資源.4.DSP芯片的運算速度.5.DSP芯片的開發(fā)工具.6.DSP芯片的功耗.7.其它的因素,如封裝的形式、質(zhì)量標準、生命周期等.DSP應用系統(tǒng)的運算量是確定選用處理能力多大的DSP芯片的基礎.那么如何確定DSP系統(tǒng)的運算量以選擇DSP芯片呢?1.按樣點處理按樣點處理就是DSP算法對每一個輸入樣點循環(huán)一次.例如;一個采用LMS算法的256抽頭德的自適應FIR濾波器,假定每個抽頭的計算需要3個MAC周期,則256抽頭計算需要256*3=768個MAC周期.如果采樣頻率為8KHz,即樣點之間的間隔為125μs的時間,DSP芯片的MAC周期為200μs,則768個周期需要153.6μs的時間,顯然無法實時處理,需要選用速度更快的芯片.2.按幀處理有些數(shù)字信號處理算法不是每個輸入樣點循環(huán)一次,而是每隔一定的時間間隔(通常稱為幀)循環(huán)一次.所以選擇DSP芯片應該比較一幀內(nèi)DSP芯片的處理能力和DSP算法的運算量.假設DSP芯片的指令周期為P(ns),一幀的時間為⊿τ(ns),則該DSP芯片在一幀內(nèi)所提供的最大運算量為⊿τ/P條指令.5DSP芯片的基本結(jié)構DSP芯片的基本結(jié)構包括:(1)哈佛結(jié)構;(2)流水線操作;(3)專用的硬件乘法器;(4)特殊的DSP指令;(5)快速的指令周期.哈佛結(jié)構哈佛結(jié)構的主要特點是將程序和數(shù)據(jù)存儲在不同的存儲空間中,即程序存儲器和數(shù)據(jù)存儲器是兩個相互獨立的存儲器,每個存儲器獨立編址,獨立訪問.與兩個存儲器相對應的是系統(tǒng)中設置了程序總線和數(shù)據(jù)總線,從而使數(shù)據(jù)的吞吐率提高了一倍.由于程序和存儲器在兩個分開的空間中,因此取指和執(zhí)行能完全重疊.流水線與哈佛結(jié)構相關,DSP芯片廣泛采用流水線以減少指令執(zhí)行的時間,從而增強了處理器的處理能力.處理器可以并行處理二到四條指令,每條指令處于流水線的不同階段.入圖示出一個三級流水線操作的例子.CLLOUT1取指NN-1N-2譯碼N-1NN-2執(zhí)行N-2N-1N圖4-1三級流水線操作專用的硬件乘法器乘法速度越快,DSP處理器的性能越高.由于具有專用的應用乘法器,乘法可在一個指令周期內(nèi)完成.特殊的DSP指令DSP芯片是采用特殊的指令.快速的指令周期哈佛結(jié)構、流水線操作、專用的硬件乘法器、特殊的DSP指令再加上集成電路的優(yōu)化設計可使DSP芯片的指令周期在200ns以下.6DSP系統(tǒng)的特點數(shù)字信號處理系統(tǒng)是以數(shù)字信號處理為基礎,因此具有數(shù)字處理的全部特點:(1)接口方便.DSP系統(tǒng)與其它以現(xiàn)代數(shù)字技術為基礎的系統(tǒng)或設備都是相互兼容,這樣的系統(tǒng)接口以實現(xiàn)某種功能要比模擬系統(tǒng)與這些系統(tǒng)接口要容易的多.(2)編程方便.DSP系統(tǒng)種的可編程DSP芯片可使設計人員在開發(fā)過程中靈活方便地對軟件進行修改和升級.(3)穩(wěn)定性好.DSP系統(tǒng)以數(shù)字處理為基礎,受環(huán)境溫度以及噪聲的影響較小,可靠性高.(4)精度高.16位數(shù)字系統(tǒng)可以達到的精度.(5)可重復性好.模擬系統(tǒng)的性能受元器件參數(shù)性能變化比較大,而數(shù)字系統(tǒng)基本上不受影響,因此數(shù)字系統(tǒng)便于測試,調(diào)試和大規(guī)模生產(chǎn).(6)集成方便.DSP系統(tǒng)中的數(shù)字部件有高度的規(guī)范性,便于大規(guī)模集成.7DSP芯片的應用自從DSP芯片誕生以來,DSP芯片得到了飛速的發(fā)展.DSP芯片高速發(fā)展,一方面得益于集成電路的發(fā)展,另一方面也得益于巨大的市場.在短短的十多年時間,DSP芯片已經(jīng)在信號處理、通信、雷達等許多領域得到廣泛的應用.目前,DSP芯片的價格也越來越低,性能價格比日益提高,具有巨大的應用潛力.DSP芯片的應用主要有:(1)信號處理--如,數(shù)字濾波、自適應濾波、快速傅里葉變換、相關運算、頻譜分析、卷積等.(2)通信--如,調(diào)制解調(diào)器、自適應均衡、數(shù)據(jù)加密、數(shù)據(jù)壓縮、回坡抵消、多路復用、傳真、擴頻通信、糾錯編碼、波形產(chǎn)生等.(3)語音--如語音編碼、語音合成、語音識別、語音增強、說話人辨認、說話人確認、語音郵件、語音儲存等.(4)圖像/圖形--如二維和三維圖形處理、圖像壓縮與傳輸、圖像增強、動畫、機器人視覺等.(5)軍事--如保密通信、雷達處理、聲納處理、導航等.(6)儀器儀表--如頻譜分析、函數(shù)發(fā)生、鎖相環(huán)、地震處理等.(7)自動控制--如引擎控制、深空、自動駕駛、機器人控制、磁盤控制.(8)醫(yī)療--如助聽、超聲設備、診斷工具、病人監(jiān)護等.(9)家用電器--如高保真音響、音樂合成、音調(diào)控制、玩具與游戲、數(shù)字電話/電視等DSP芯片開發(fā)和產(chǎn)品應用一、DSP程序開發(fā)為了使DSP有效運行、必須要用能充分考慮DSP內(nèi)部并行性的匯編語言進行編制DSP程序.前面提到,美國TI公司的DSP推銷員說DSP編程容易,實際上他是指DSP的匯編語言相對于計算機的匯編語言而言,比較容易一些,因為沒有像計算機匯編語言那樣復雜.但是,對于習慣用高級語言編
樓上強人矣
0
回復
zhmmhz
LV.3
4
2006-04-01 18:52
鼓勵一下.
0
回復
fd109
LV.1
5
2006-04-02 13:50
@ghost
DigitalSignalProcessing數(shù)字信號處理作為一個案例研究,我們來考慮數(shù)字領域里最通常的功能:濾波.簡單地說,濾波就是對信號進行處理,以改善其特性.例如,濾波可以從信號里清除噪聲或靜電干擾,從而改善其信噪比.為什么要用微處理器,而不是模擬器件來對信號做濾波呢?我們來看看其優(yōu)越性:模擬濾波器(或者更一般地說,模擬電路)的性能要取決于溫度等環(huán)境因素.而數(shù)字濾波器則基本上不受環(huán)境的影響.數(shù)字濾波易于在非常小的寬容度內(nèi)進行復制,因為其性能并不取決于性能已偏離正常值的器件的組合.一個模擬濾波器一旦制造出來,其特性(例如通帶頻率范圍)是不容易改變的.使用微處理器來實現(xiàn)數(shù)字濾波器,就可以通過對其重新編程來改變?yōu)V波的特性.信號處理方式的比較比較因素模擬方式數(shù)字方式修改設計的靈活性修改硬件設計,或調(diào)整硬件參數(shù)改變軟件設置精度元器件精度A/D的位數(shù)和計算機字長,算法可靠性和可重復性受環(huán)境溫度、濕度、噪聲、不受這些因素的影響電磁場等的干擾和影響大大規(guī)模集成盡管已有一些模擬集成電路,但品種較少、集成度不高、價格較高DSP器件體積小、功能強、功耗小、一致性好、使用方便、性能/價格比高實時性除開電路引入的延時外,處理是實時的由計算機的處理速度決定高頻信號的處理可以處理包括微波毫米波乃至光波信號按照奈準則的要求,受S/H、A/D和處理速度的限制DigitalSignalProcessor數(shù)字信號處理器微處理器(Microprocessor)的分類通用處理器(GPP)采用馮.諾依曼結(jié)構,程序和數(shù)據(jù)的存儲空間合二而一8-bitApple(6502),NECPC-8000(Z80)8086/286/386/486/Pentium/PentiumII/PentiumIIIPowerPc64-bitCPU(SUNSparc,DECAlpha,HP)CISC復雜指令計算機,RISC精簡指令計算機采取各種方法提高計算速度,提高時鐘頻率,高速總線,多級Cashe,協(xié)處理器等SingleChipComputer/MicroControllerUnit(MCU)除開通用CPU所具有的ALU和CU,還有存儲器(RAM/ROM)寄存器,時鐘,計數(shù)器,定時器,串/并口,有的還有A/D,D/AINTELMCS/48/51/96(98)MOTOROLAHCS05/011DSP采用哈佛結(jié)構,程序和數(shù)據(jù)分開存儲采用一系列措施保證數(shù)字信號的處理速度,如對FFT的專門優(yōu)化MCU與DSP的簡單比較MCUDSP低檔高檔低檔高檔指令周期(ns)60040505乘加時間(ns)190080505US$/MIPS1.50.50.150.1DSP處理器與通用處理器的比較考慮一個數(shù)字信號處理的實例,比如有限沖擊響應濾波器(FIR).用數(shù)學語言來說,FIR濾波器是做一系列的點積.取一個輸入量和一個序數(shù)向量,在系數(shù)和輸入樣本的滑動窗口間作乘法,然后將所有的乘積加起來,形成一個輸出樣本.類似的運算在數(shù)字信號處理過程中大量地重復發(fā)生,使得為此設計的器件必須提供專門的支持,促成了了DSP器件與通用處理器(GPP)的分流:1對密集的乘法運算的支持GPP不是設計來做密集乘法任務的,即使是一些現(xiàn)代的GPP,也要求多個指令周期來做一次乘法.而DSP處理器使用專門的硬件來實現(xiàn)單周期乘法.DSP處理器還增加了累加器寄存器來處理多個乘積的和.累加器寄存器通常比其他寄存器寬,增加稱為結(jié)果bits的額外bits來避免溢出.同時,為了充分體現(xiàn)專門的乘法-累加硬件的好處,幾乎所有的DSP的指令集都包含有顯式的MAC指令.2存儲器結(jié)構傳統(tǒng)上,GPP使用馮.諾依曼存儲器結(jié)構.這種結(jié)構中,只有一個存儲器空間通過一組總線(一個地址總線和一個數(shù)據(jù)總線)連接到處理器核.通常,做一次乘法會發(fā)生4次存儲器訪問,用掉至少四個指令周期.大多數(shù)DSP采用了哈佛結(jié)構,將存儲器空間劃分成兩個,分別存儲程序和數(shù)據(jù).它們有兩組總線連接到處理器核,允許同時對它們進行訪問.這種安排將處理器存貯器的帶寬加倍,更重要的是同時為處理器核提供數(shù)據(jù)與指令.在這種布局下,DSP得以實現(xiàn)單周期的MAC指令.還有一個問題,即現(xiàn)在典型的高性能GPP實際上已包含兩個片內(nèi)高速緩存,一個是數(shù)據(jù),一個是指令,它們直接連接到處理器核,以加快運行時的訪問速度.從物理上說,這種片內(nèi)的雙存儲器和總線的結(jié)構幾乎與哈佛結(jié)構的一樣了.然而從邏輯上說,兩者還是有重要的區(qū)別.GPP使用控制邏輯來決定哪些數(shù)據(jù)和指令字存儲在片內(nèi)的高速緩存里,其程序員并不加以指定(也可能根本不知道).與此相反,DSP使用多個片內(nèi)存儲器和多組總線來保證每個指令周期內(nèi)存儲器的多次訪問.在使用DSP時,程序員要明確地控制哪些數(shù)據(jù)和指令要存儲在片內(nèi)存儲器中.程序員在寫程序時,必須保證處理器能夠有效地使用其雙總線.此外,DSP處理器幾乎都不具備數(shù)據(jù)高速緩存.這是因為DSP的典型數(shù)據(jù)是數(shù)據(jù)流.也就是說,DSP處理器對每個數(shù)據(jù)樣本做計算后,就丟棄了,幾乎不再重復使用.3零開銷循環(huán)如果了解到DSP算法的一個共同的特點,即大多數(shù)的處理時間是花在執(zhí)行較小的循環(huán)上,也就容易理解,為什么大多數(shù)的DSP都有專門的硬件,用于零開銷循環(huán).所謂零開銷循環(huán)是指處理器在執(zhí)行循環(huán)時,不用花時間去檢查循環(huán)計數(shù)器的值、條件轉(zhuǎn)移到循環(huán)的頂部、將循環(huán)計數(shù)器減1.與此相反,GPP的循環(huán)使用軟件來實現(xiàn).某些高性能的GPP使用轉(zhuǎn)移預報硬件,幾乎達到與硬件支持的零開銷循環(huán)同樣的效果.4定點計算大多數(shù)DSP使用定點計算,而不是使用浮點.雖然DSP的應用必須十分注意數(shù)字的精確,用浮點來做應該容易的多,但是對DSP來說,廉價也是非常重要的.定點機器比起相應的浮點機器來要便宜(而且更快).為了不使用浮點機器而又保證數(shù)字的準確,DSP處理器在指令集和硬件方面都支持飽和計算、舍入和移位.5專門的尋址方式DSP處理器往往都支持專門的尋址模式,它們對通常的信號處理操作和算法是很有用的.例如,模塊(循環(huán))尋址(對實現(xiàn)數(shù)字濾波器延時線很有用)、位倒序?qū)ぶ?對FFT很有用).這些非常專門的尋址模式在GPP中是不常使用的,只有用軟件來實現(xiàn).6執(zhí)行時間的預測大多數(shù)的DSP應用(如蜂窩電話和調(diào)制解調(diào)器)都是嚴格的實時應用,所有的處理必須在指定的時間內(nèi)完成.這就要求程序員準確地確定每個樣本需要多少處理時間,或者,至少要知道,在最壞的情況下,需要多少時間.如果打算用低成本的GPP去完成實時信號處理的任務,執(zhí)行時間的預測大概不會成為什么問題,應為低成本GPP具有相對直接的結(jié)構,比較容易預測執(zhí)行時間.然而,大多數(shù)實時DSP應用所要求的處理能力是低成本GPP所不能提供的.這時候,DSP對高性能GPP的優(yōu)勢在于,即便是使用了高速緩存的DSP,哪些指令會放進去也是由程序員(而不是處理器)來決定的,因此很容易判斷指令是從高速緩存還是從存儲器中讀取.DSP一般不使用動態(tài)特性,如轉(zhuǎn)移預測和推理執(zhí)行等.因此,由一段給定的代碼來預測所要求的執(zhí)行時間是完全直截了當?shù)?從而使程序員得以確定芯片的性能限制.7定點DSP指令集定點DSP指令集是按兩個目標來設計的:使處理器能夠在每個指令周期內(nèi)完成多個操作,從而提高每個指令周期的計算效率.將存貯DSP程序的存儲器空間減到最小(由于存儲器對整個系統(tǒng)的成本影響甚大,該問題在對成本敏感的DSP應用中尤為重要).為了實現(xiàn)這些目標,DSP處理器的指令集通常都允許程序員在一個指令內(nèi)說明若干個并行的操作.例如,在一條指令包含了MAC操作,即同時的一個或兩個數(shù)據(jù)移動.在典型的例子里,一條指令就包含了計算FIR濾波器的一節(jié)所需要的所有操作.這種高效率付出的代價是,其指令集既不直觀,也不容易使用(與GPP的指令集相比).GPP的程序通常并不在意處理器的指令集是否容易使用,因為他們一般使用象C或C++等高級語言.而對于DSP的程序員來說,不幸的是主要的DSP應用程序都是用匯編語言寫的(至少部分是匯編語言優(yōu)化的).這里有兩個理由:首先,大多數(shù)廣泛使用的高級語言,例如C,并不適合于描述典型的DSP算法.其次,DSP結(jié)構的復雜性,如多存儲器空間、多總線、不規(guī)則的指令集、高度專門化的硬件等,使得難于為其編寫高效率的編譯器.即便用編譯器將C源代碼編譯成為DSP的匯編代碼,優(yōu)化的任務仍然很重.典型的DSP應用都具有大量計算的要求,并有嚴格的開銷限制,使得程序的優(yōu)化必不可少(至少是對程序的最關鍵部分).因此,考慮選用DSP的一個關鍵因素是,是否存在足夠的能夠較好地適應DSP處理器指令集的程序員.8開發(fā)工具的要求因為DSP應用要求高度優(yōu)化的代碼,大多數(shù)DSP廠商都提供一些開發(fā)工具,以幫助程序員完成其優(yōu)化工作.例如,大多數(shù)廠商都提供處理器的仿真工具,以準確地仿真每個指令周期內(nèi)處理器的活動.無論對于確保實時操作還是代碼的優(yōu)化,這些都是很有用的工具.GPP廠商通常并不提供這樣的工具,主要是因為GPP程序員通常并不需要詳細到這一層的信息.GPP缺乏精確到指令周期的仿真工具,是DSP應用開發(fā)者所面臨的的大問題:由于幾乎不可能預測高性能GPP對于給定任務所需要的周期數(shù),從而無法說明如何去改善代碼的性能.DSP硬件結(jié)構的特點和軟件的特點硬件結(jié)構的特點1Harvard結(jié)構程序與數(shù)據(jù)存儲空間分開,各有獨立的地址總線和數(shù)據(jù)總線,取指和讀數(shù)可以同時進行,從而提高速度,目前的水平已達到90億次浮點運算/秒(9000MFLOPS)2采用流水作業(yè)(pipline)3獨立的硬件乘法器乘法指令在單周期內(nèi)完成,優(yōu)化卷積、數(shù)字濾波、FFT、相關、矩陣運算等算法中的大量重復乘法4循環(huán)尋址(Circularaddressing),位倒序(bit-reversed)等特殊指令使FFT、卷積等運算中的尋址、排序及計算速度大大提高.1024點FFT的時間已小于1μs5獨立的DMA總線和控制器有一組或多組獨立的DMA總線,與CPU的程序、數(shù)據(jù)總線并行工作,在不影響CPU工作的條件下,DMA速度已達800Mbyte/s以上6多處理器接口使多個處理器可以很方便的并行或串行工作以提高處理速度7JTAG(JointTestActionGroup)標準測試接口(IEEE1149標準接口)便于對DSP作片上的在線仿真和多DSP條件下的調(diào)試軟件的特點1立即數(shù)尋址2直接尋址TI公司的TMS320系列芯片將數(shù)據(jù)存儲器分為512頁,每頁128字.設置一個數(shù)據(jù)頁指針DP(DataPointer),用9-bit指向一個數(shù)據(jù)頁,再加上一個7-bit的頁內(nèi)偏移地址,形成16-bit的數(shù)據(jù)地址.這樣有利于大大加快尋址速度.3間接尋址8個輔助寄存器(AR0--AR7),由一個輔助寄存器指針(ARP3-bit)來指定一個輔助寄存器算術單元(ARAU)作16-bit無符號數(shù)運算,決定一個新的地址,裝入輔助寄存器中的一個AR0--AR7的內(nèi)容相當靈活,可以裝入立即數(shù),加上立即數(shù),減去立即數(shù);也可以從數(shù)據(jù)存儲器裝入地址;還可以作以下的變址尋址:將該AR的內(nèi)容加1或減1,再尋址(循環(huán)常用)將該AR的內(nèi)容加上或減去AR0的內(nèi)容,再尋址將該AR的內(nèi)容逆向進位加上或減去AR0的內(nèi)容,再尋址由于采用反向進位,得以實現(xiàn)位倒序?qū)ぶ吩蛟刂肺坏剐蚝蟮刂肺坏剐?000000010011004201001023011110641000011510110156110011371111117例:MACX0,Y0,AX:(R0)+,X0Y:(R4)+N4,Y0這條指令命令DSP56300:將寄存器X0和Y0中的數(shù)相乘結(jié)果加到AccA中將寄存器R0所指的X存儲器地址中的值裝入寄存器X0將寄存器R4所指的Y存儲器地址中的值裝入寄存器Y0R0的值加1寄存器N4的值加給R4可以看到,運算后的次序符合FFT的蝶形運算的要求采用循環(huán)尋址實現(xiàn)零開銷的循環(huán),大大增進了如卷積、相關、矩陣運算、FIR等算法的實現(xiàn)速度4獨特的乘法指令DSP開發(fā)工具1代碼生成工具C優(yōu)化編譯器匯編語言工具匯編器(Assembler)連接器(Linker)歸檔器(Archiver)交叉引用列表器(Cross-ReferenceLister)2系統(tǒng)集成及調(diào)試環(huán)境與工具(以TI為例)調(diào)試器接口(C/Assemblysourcedebugger)為嵌入式系統(tǒng)的開發(fā)提供了豐富的功能與靈活性.該調(diào)試器是下面要討論的軟仿真器、評估模塊、在線仿真器等的標準接口.該調(diào)試器可以運行在PC或SPARC等平臺上,對用C或匯編語言寫的程序提供完全的控制.其代碼分析功能通過快速確認最費時的程序段,提示應該將開發(fā)時間集中在什么地方軟仿真器(Simulator)TMS320軟件仿真器是一個軟件程序,使用主機的處理器和存儲器來仿真TMS320DSP的微處理器和微計算機模式,從而進行軟件開發(fā)和非實時的程序驗證.在PC機上,典型的仿真速度為每秒幾百條指令DSP入門套件(DSK,DSPStarterKit)為初學者設計和生產(chǎn)的DSK是一種用以評價DSP平臺的廉價的開發(fā)工具.在PC機的DOS或Windows下,用戶可以使用DSK來作DSP的實驗,進行諸如控制系統(tǒng)、語音處理等應用;也可以用來編寫和運行實時源代碼,并對其作評估;還可以用來調(diào)試用戶自己的系統(tǒng)銀杏開發(fā)、實驗系統(tǒng)(DES,DspExpirementSystem)銀杏DES含有TMS320C542-40及相關接口,還特別內(nèi)置了信號源,附帶虛擬示波器和頻譜儀軟件.采用這套系統(tǒng)使用戶對外設的依賴降到最低,僅僅需要一張卡和一套軟件就可以進行DSP的開發(fā)或?qū)嶒?標準評估模塊(EVM)TMS320的評估模塊(EVM)是廉價的開發(fā)板,用于器件評估、標準程序檢查、以及有限的系統(tǒng)調(diào)試.EVM是一個PC插件,包括目標處理器、一個小容量的存儲器、和有限的外設.EVM可以用來實時運行代碼,并與外部系統(tǒng)接口TMS320硬件仿真器(Emulators)擴展開發(fā)系統(tǒng)(XDS,extendeddevelopmentsystem)是功能強大的全速仿真器,用以作系統(tǒng)級的集成與調(diào)試.掃描式仿真(Scan-BasedEmulator)是一種獨特的、非插入式的系統(tǒng)仿真、集成、調(diào)試方法.使用這種方法,程序可以從片內(nèi)或片外的目標存儲器實時執(zhí)行,在任何時鐘速度下都不會引入額外的等待狀態(tài)3實時操作系統(tǒng)對于簡單的DSP任務,用前面介紹的開發(fā)工具已能滿足開發(fā)任務的需要,往往不需要操作系統(tǒng)就可以進行.但當DSP的任務增加和任務的復雜性提高,例如對實時性要求很高的多DSP并行操作的多任務系統(tǒng),可能就需要某種操作系統(tǒng)來管理系統(tǒng)的資源,安排多任務的執(zhí)行和任務間的信息交換等DSP的操作系統(tǒng)SPOXSPOX是專為DSP系統(tǒng)設計和軟件開發(fā)而設計的實時多任務操作系統(tǒng).它提供一組由C語言調(diào)用的功能,與所開發(fā)的硬件平臺無關,從而將DSP的實時應用部分從許多低層的硬件細節(jié)中隔離出來.它作為DSP實時應用開發(fā)的一個集成環(huán)境,完成從新的算法概念出發(fā),直到把應用軟件裝入產(chǎn)品硬件的整個開發(fā)任務DSP芯片介紹1什么是DSP芯片DSP芯片,也稱數(shù)字信號處理器,是一種具有特殊結(jié)構的微處理器.DSP芯片的內(nèi)部采用程序和數(shù)據(jù)分開的哈佛結(jié)構,具有專門的硬件乘法器,廣泛采用流水線操作,提供特殊的DSP指令,可以用來快速地實現(xiàn)各種數(shù)字信號處理算法.根據(jù)數(shù)字信號處理的要求,DSP芯片一般具有如下的一些主要特點:(1)在一個指令周期內(nèi)可完成一次乘法和一次加法.(2)程序和數(shù)據(jù)空間分開,可以同時訪問指令和數(shù)據(jù).(3)片內(nèi)具有快速RAM,通常可通過獨立的數(shù)據(jù)總線在兩塊中同時訪問.(4)具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的硬件支持.(5)快速的中斷處理和硬件I/O支持.(6)具有在單周期內(nèi)操作的多個硬件地址產(chǎn)生器.(7)可以并行執(zhí)行多個操作.(8)支持流水線操作,使取指、譯碼和執(zhí)行等操作可以重疊執(zhí)行.與通用微處理器相比,DSP芯片的其他通用功能相對較弱些.2DSP芯片的發(fā)展世界上第一個單片DSP芯片是1978年AMI公司宣布的S2811,1979年美國Iintel公司發(fā)布的商用可編程期間2920是DSP芯片的一個主要里程碑.這兩種芯片內(nèi)部都沒有現(xiàn)代DSP芯片所必須的單周期芯片.1980年.日本NEC公司推出的μPD7720是第一個具有乘法器的商用DSP芯片.第一個采用CMOS工藝生產(chǎn)浮點DSP芯片的是日本的Hitachi公司,它于1982年推出了浮點DSP芯片.1983年,日本的Fujitsu公司推出的MB8764,其指令周期為120ns,且具有雙內(nèi)部總線,從而處理的吞吐量發(fā)生了一個大的飛躍.而第一個高性能的浮點DSP芯片應是AT&T公司于1984年推出的DSP32.在這么多的DSP芯片種類中,最成功的是美國德克薩斯儀器公司(TexasInstruments,簡稱TI)的一系列產(chǎn)品.TI公司災982年成功推出啟迪一代DSP芯片TMS32010及其系列產(chǎn)品TMS32011、TMS32C10/C14/C15/C16/C17等,之后相繼推出了第二代DSP芯片TMS32020、TMS320C25/C26/C28,第三代DSP芯片TMS32C30/C31/C32,第四代DSP芯片TMS32C40/C44,第五代DSP芯片TMS32C50/C51/C52/C53以及集多個DSP于一體的高性能DSP芯片TMS32C80/C82等.自1980年以來,DSP芯片得到了突飛猛進的發(fā)展,DSP芯片的應用越來越廣泛.從運算速度來看,MAC(一次乘法和一次加法)時間已經(jīng)從80年代初的400ns(如TMS32010)降低到40ns(如TMS32C40),處理能力提高了10多倍.DSP芯片內(nèi)部關鍵的乘法器部件從1980年的占模區(qū)的40左右下降到5以下,片內(nèi)RAM增加一個數(shù)量級以上.從制造工藝來看,1980年采用4μ的N溝道MOS工藝,而現(xiàn)在則普遍采用亞微米CMOS工藝.DSP芯片的引腳數(shù)量從1980年的最多64個增加到現(xiàn)在的200個以上,引腳數(shù)量的增加,意味著結(jié)構靈活性的增加.此外,DSP芯片的發(fā)展,是DSP系統(tǒng)的成本、體積、重量和功耗都有很大程度的下降.3DSP芯片的分類DSP的芯片可以按照以下的三種方式進行分類.1.按基礎特性分這是根據(jù)DSP芯片的工作時鐘和指令類型來分類的.如果DSP芯片在某時鐘頻率范圍內(nèi)的任何頻率上能正常工作,除計算速度有變化外,沒有性能的下降,這類DSP芯片一般稱之為靜態(tài)DSP芯片.如果有兩種或兩種以上的DSP芯片,它們的指令集和相應的機器代碼機管腳結(jié)構相互兼容,則這類DSP芯片稱之為一致性的DSP芯片.2.按數(shù)據(jù)格式分這是根據(jù)DSP芯片工作的數(shù)據(jù)格式來分類的.數(shù)據(jù)以定點格式工作的DSP芯片稱之為定點DSP芯片.以浮點格式工作的稱為DSP芯片.不同的浮點DSP芯片所采用的浮點格式不完全一樣,有的DSP芯片采用自定義的浮點格式,有的DSP芯片則采用IEEE的標準浮點格式.3.按用途分按照DSP芯片的用途來分,可分為通用型DSP芯片和專用型的DSP芯片.通用型DSP芯片適合普通的DSP應用,如TI公司的一系列DSP芯片.專用型DSP芯片市為特定的DSP運算而設計,更適合特殊的運算,如數(shù)字濾波,卷積和FFT等.4DSP芯片的選擇設計DSP應用系統(tǒng),選擇DSP芯片時非常重要的一個環(huán)節(jié).只有選定了DSP芯片才能進一步設計外圍電路集系統(tǒng)的其它電路.總的來說,DSP芯片的選擇應根據(jù)實際的應用系統(tǒng)需要而確定.一般來說,選擇DSP芯片時考慮如下諸多因素.1.DSP芯片的運算速度.運算速度是DSP芯片的一個最重要的性能指標,也是選擇DSP芯片時所需要考慮的一個主要因素.DSP芯片的運算速度可以用以下幾種性能指標來衡量:(1)指令周期.就是執(zhí)行一條指令所需要的時間,通常以ns為單位.(2)MAC時間.即一次乘法加上一次加法的時間.(3)FFT執(zhí)行時間.即運行一個N點FFT程序所需的時間.(4)MIPS.即每秒執(zhí)行百萬條指令.(5)MOPS.即每秒執(zhí)行百萬次操作.(6)MFLOPS.即每秒執(zhí)行百萬次浮點操作.(7)BOPS.即每秒執(zhí)行十億次操作.2.DSP芯片的價格.根據(jù)一個價格實際的應用情況,確定一個價格適中的DSP芯片.3.DSP芯片的硬件資源.4.DSP芯片的運算速度.5.DSP芯片的開發(fā)工具.6.DSP芯片的功耗.7.其它的因素,如封裝的形式、質(zhì)量標準、生命周期等.DSP應用系統(tǒng)的運算量是確定選用處理能力多大的DSP芯片的基礎.那么如何確定DSP系統(tǒng)的運算量以選擇DSP芯片呢?1.按樣點處理按樣點處理就是DSP算法對每一個輸入樣點循環(huán)一次.例如;一個采用LMS算法的256抽頭德的自適應FIR濾波器,假定每個抽頭的計算需要3個MAC周期,則256抽頭計算需要256*3=768個MAC周期.如果采樣頻率為8KHz,即樣點之間的間隔為125μs的時間,DSP芯片的MAC周期為200μs,則768個周期需要153.6μs的時間,顯然無法實時處理,需要選用速度更快的芯片.2.按幀處理有些數(shù)字信號處理算法不是每個輸入樣點循環(huán)一次,而是每隔一定的時間間隔(通常稱為幀)循環(huán)一次.所以選擇DSP芯片應該比較一幀內(nèi)DSP芯片的處理能力和DSP算法的運算量.假設DSP芯片的指令周期為P(ns),一幀的時間為⊿τ(ns),則該DSP芯片在一幀內(nèi)所提供的最大運算量為⊿τ/P條指令.5DSP芯片的基本結(jié)構DSP芯片的基本結(jié)構包括:(1)哈佛結(jié)構;(2)流水線操作;(3)專用的硬件乘法器;(4)特殊的DSP指令;(5)快速的指令周期.哈佛結(jié)構哈佛結(jié)構的主要特點是將程序和數(shù)據(jù)存儲在不同的存儲空間中,即程序存儲器和數(shù)據(jù)存儲器是兩個相互獨立的存儲器,每個存儲器獨立編址,獨立訪問.與兩個存儲器相對應的是系統(tǒng)中設置了程序總線和數(shù)據(jù)總線,從而使數(shù)據(jù)的吞吐率提高了一倍.由于程序和存儲器在兩個分開的空間中,因此取指和執(zhí)行能完全重疊.流水線與哈佛結(jié)構相關,DSP芯片廣泛采用流水線以減少指令執(zhí)行的時間,從而增強了處理器的處理能力.處理器可以并行處理二到四條指令,每條指令處于流水線的不同階段.入圖示出一個三級流水線操作的例子.CLLOUT1取指NN-1N-2譯碼N-1NN-2執(zhí)行N-2N-1N圖4-1三級流水線操作專用的硬件乘法器乘法速度越快,DSP處理器的性能越高.由于具有專用的應用乘法器,乘法可在一個指令周期內(nèi)完成.特殊的DSP指令DSP芯片是采用特殊的指令.快速的指令周期哈佛結(jié)構、流水線操作、專用的硬件乘法器、特殊的DSP指令再加上集成電路的優(yōu)化設計可使DSP芯片的指令周期在200ns以下.6DSP系統(tǒng)的特點數(shù)字信號處理系統(tǒng)是以數(shù)字信號處理為基礎,因此具有數(shù)字處理的全部特點:(1)接口方便.DSP系統(tǒng)與其它以現(xiàn)代數(shù)字技術為基礎的系統(tǒng)或設備都是相互兼容,這樣的系統(tǒng)接口以實現(xiàn)某種功能要比模擬系統(tǒng)與這些系統(tǒng)接口要容易的多.(2)編程方便.DSP系統(tǒng)種的可編程DSP芯片可使設計人員在開發(fā)過程中靈活方便地對軟件進行修改和升級.(3)穩(wěn)定性好.DSP系統(tǒng)以數(shù)字處理為基礎,受環(huán)境溫度以及噪聲的影響較小,可靠性高.(4)精度高.16位數(shù)字系統(tǒng)可以達到的精度.(5)可重復性好.模擬系統(tǒng)的性能受元器件參數(shù)性能變化比較大,而數(shù)字系統(tǒng)基本上不受影響,因此數(shù)字系統(tǒng)便于測試,調(diào)試和大規(guī)模生產(chǎn).(6)集成方便.DSP系統(tǒng)中的數(shù)字部件有高度的規(guī)范性,便于大規(guī)模集成.7DSP芯片的應用自從DSP芯片誕生以來,DSP芯片得到了飛速的發(fā)展.DSP芯片高速發(fā)展,一方面得益于集成電路的發(fā)展,另一方面也得益于巨大的市場.在短短的十多年時間,DSP芯片已經(jīng)在信號處理、通信、雷達等許多領域得到廣泛的應用.目前,DSP芯片的價格也越來越低,性能價格比日益提高,具有巨大的應用潛力.DSP芯片的應用主要有:(1)信號處理--如,數(shù)字濾波、自適應濾波、快速傅里葉變換、相關運算、頻譜分析、卷積等.(2)通信--如,調(diào)制解調(diào)器、自適應均衡、數(shù)據(jù)加密、數(shù)據(jù)壓縮、回坡抵消、多路復用、傳真、擴頻通信、糾錯編碼、波形產(chǎn)生等.(3)語音--如語音編碼、語音合成、語音識別、語音增強、說話人辨認、說話人確認、語音郵件、語音儲存等.(4)圖像/圖形--如二維和三維圖形處理、圖像壓縮與傳輸、圖像增強、動畫、機器人視覺等.(5)軍事--如保密通信、雷達處理、聲納處理、導航等.(6)儀器儀表--如頻譜分析、函數(shù)發(fā)生、鎖相環(huán)、地震處理等.(7)自動控制--如引擎控制、深空、自動駕駛、機器人控制、磁盤控制.(8)醫(yī)療--如助聽、超聲設備、診斷工具、病人監(jiān)護等.(9)家用電器--如高保真音響、音樂合成、音調(diào)控制、玩具與游戲、數(shù)字電話/電視等DSP芯片開發(fā)和產(chǎn)品應用一、DSP程序開發(fā)為了使DSP有效運行、必須要用能充分考慮DSP內(nèi)部并行性的匯編語言進行編制DSP程序.前面提到,美國TI公司的DSP推銷員說DSP編程容易,實際上他是指DSP的匯編語言相對于計算機的匯編語言而言,比較容易一些,因為沒有像計算機匯編語言那樣復雜.但是,對于習慣用高級語言編
謝謝!
0
回復
boy0608
LV.8
6
2008-05-15 08:55
@ghost
DigitalSignalProcessing數(shù)字信號處理作為一個案例研究,我們來考慮數(shù)字領域里最通常的功能:濾波.簡單地說,濾波就是對信號進行處理,以改善其特性.例如,濾波可以從信號里清除噪聲或靜電干擾,從而改善其信噪比.為什么要用微處理器,而不是模擬器件來對信號做濾波呢?我們來看看其優(yōu)越性:模擬濾波器(或者更一般地說,模擬電路)的性能要取決于溫度等環(huán)境因素.而數(shù)字濾波器則基本上不受環(huán)境的影響.數(shù)字濾波易于在非常小的寬容度內(nèi)進行復制,因為其性能并不取決于性能已偏離正常值的器件的組合.一個模擬濾波器一旦制造出來,其特性(例如通帶頻率范圍)是不容易改變的.使用微處理器來實現(xiàn)數(shù)字濾波器,就可以通過對其重新編程來改變?yōu)V波的特性.信號處理方式的比較比較因素模擬方式數(shù)字方式修改設計的靈活性修改硬件設計,或調(diào)整硬件參數(shù)改變軟件設置精度元器件精度A/D的位數(shù)和計算機字長,算法可靠性和可重復性受環(huán)境溫度、濕度、噪聲、不受這些因素的影響電磁場等的干擾和影響大大規(guī)模集成盡管已有一些模擬集成電路,但品種較少、集成度不高、價格較高DSP器件體積小、功能強、功耗小、一致性好、使用方便、性能/價格比高實時性除開電路引入的延時外,處理是實時的由計算機的處理速度決定高頻信號的處理可以處理包括微波毫米波乃至光波信號按照奈準則的要求,受S/H、A/D和處理速度的限制DigitalSignalProcessor數(shù)字信號處理器微處理器(Microprocessor)的分類通用處理器(GPP)采用馮.諾依曼結(jié)構,程序和數(shù)據(jù)的存儲空間合二而一8-bitApple(6502),NECPC-8000(Z80)8086/286/386/486/Pentium/PentiumII/PentiumIIIPowerPc64-bitCPU(SUNSparc,DECAlpha,HP)CISC復雜指令計算機,RISC精簡指令計算機采取各種方法提高計算速度,提高時鐘頻率,高速總線,多級Cashe,協(xié)處理器等SingleChipComputer/MicroControllerUnit(MCU)除開通用CPU所具有的ALU和CU,還有存儲器(RAM/ROM)寄存器,時鐘,計數(shù)器,定時器,串/并口,有的還有A/D,D/AINTELMCS/48/51/96(98)MOTOROLAHCS05/011DSP采用哈佛結(jié)構,程序和數(shù)據(jù)分開存儲采用一系列措施保證數(shù)字信號的處理速度,如對FFT的專門優(yōu)化MCU與DSP的簡單比較MCUDSP低檔高檔低檔高檔指令周期(ns)60040505乘加時間(ns)190080505US$/MIPS1.50.50.150.1DSP處理器與通用處理器的比較考慮一個數(shù)字信號處理的實例,比如有限沖擊響應濾波器(FIR).用數(shù)學語言來說,FIR濾波器是做一系列的點積.取一個輸入量和一個序數(shù)向量,在系數(shù)和輸入樣本的滑動窗口間作乘法,然后將所有的乘積加起來,形成一個輸出樣本.類似的運算在數(shù)字信號處理過程中大量地重復發(fā)生,使得為此設計的器件必須提供專門的支持,促成了了DSP器件與通用處理器(GPP)的分流:1對密集的乘法運算的支持GPP不是設計來做密集乘法任務的,即使是一些現(xiàn)代的GPP,也要求多個指令周期來做一次乘法.而DSP處理器使用專門的硬件來實現(xiàn)單周期乘法.DSP處理器還增加了累加器寄存器來處理多個乘積的和.累加器寄存器通常比其他寄存器寬,增加稱為結(jié)果bits的額外bits來避免溢出.同時,為了充分體現(xiàn)專門的乘法-累加硬件的好處,幾乎所有的DSP的指令集都包含有顯式的MAC指令.2存儲器結(jié)構傳統(tǒng)上,GPP使用馮.諾依曼存儲器結(jié)構.這種結(jié)構中,只有一個存儲器空間通過一組總線(一個地址總線和一個數(shù)據(jù)總線)連接到處理器核.通常,做一次乘法會發(fā)生4次存儲器訪問,用掉至少四個指令周期.大多數(shù)DSP采用了哈佛結(jié)構,將存儲器空間劃分成兩個,分別存儲程序和數(shù)據(jù).它們有兩組總線連接到處理器核,允許同時對它們進行訪問.這種安排將處理器存貯器的帶寬加倍,更重要的是同時為處理器核提供數(shù)據(jù)與指令.在這種布局下,DSP得以實現(xiàn)單周期的MAC指令.還有一個問題,即現(xiàn)在典型的高性能GPP實際上已包含兩個片內(nèi)高速緩存,一個是數(shù)據(jù),一個是指令,它們直接連接到處理器核,以加快運行時的訪問速度.從物理上說,這種片內(nèi)的雙存儲器和總線的結(jié)構幾乎與哈佛結(jié)構的一樣了.然而從邏輯上說,兩者還是有重要的區(qū)別.GPP使用控制邏輯來決定哪些數(shù)據(jù)和指令字存儲在片內(nèi)的高速緩存里,其程序員并不加以指定(也可能根本不知道).與此相反,DSP使用多個片內(nèi)存儲器和多組總線來保證每個指令周期內(nèi)存儲器的多次訪問.在使用DSP時,程序員要明確地控制哪些數(shù)據(jù)和指令要存儲在片內(nèi)存儲器中.程序員在寫程序時,必須保證處理器能夠有效地使用其雙總線.此外,DSP處理器幾乎都不具備數(shù)據(jù)高速緩存.這是因為DSP的典型數(shù)據(jù)是數(shù)據(jù)流.也就是說,DSP處理器對每個數(shù)據(jù)樣本做計算后,就丟棄了,幾乎不再重復使用.3零開銷循環(huán)如果了解到DSP算法的一個共同的特點,即大多數(shù)的處理時間是花在執(zhí)行較小的循環(huán)上,也就容易理解,為什么大多數(shù)的DSP都有專門的硬件,用于零開銷循環(huán).所謂零開銷循環(huán)是指處理器在執(zhí)行循環(huán)時,不用花時間去檢查循環(huán)計數(shù)器的值、條件轉(zhuǎn)移到循環(huán)的頂部、將循環(huán)計數(shù)器減1.與此相反,GPP的循環(huán)使用軟件來實現(xiàn).某些高性能的GPP使用轉(zhuǎn)移預報硬件,幾乎達到與硬件支持的零開銷循環(huán)同樣的效果.4定點計算大多數(shù)DSP使用定點計算,而不是使用浮點.雖然DSP的應用必須十分注意數(shù)字的精確,用浮點來做應該容易的多,但是對DSP來說,廉價也是非常重要的.定點機器比起相應的浮點機器來要便宜(而且更快).為了不使用浮點機器而又保證數(shù)字的準確,DSP處理器在指令集和硬件方面都支持飽和計算、舍入和移位.5專門的尋址方式DSP處理器往往都支持專門的尋址模式,它們對通常的信號處理操作和算法是很有用的.例如,模塊(循環(huán))尋址(對實現(xiàn)數(shù)字濾波器延時線很有用)、位倒序?qū)ぶ?對FFT很有用).這些非常專門的尋址模式在GPP中是不常使用的,只有用軟件來實現(xiàn).6執(zhí)行時間的預測大多數(shù)的DSP應用(如蜂窩電話和調(diào)制解調(diào)器)都是嚴格的實時應用,所有的處理必須在指定的時間內(nèi)完成.這就要求程序員準確地確定每個樣本需要多少處理時間,或者,至少要知道,在最壞的情況下,需要多少時間.如果打算用低成本的GPP去完成實時信號處理的任務,執(zhí)行時間的預測大概不會成為什么問題,應為低成本GPP具有相對直接的結(jié)構,比較容易預測執(zhí)行時間.然而,大多數(shù)實時DSP應用所要求的處理能力是低成本GPP所不能提供的.這時候,DSP對高性能GPP的優(yōu)勢在于,即便是使用了高速緩存的DSP,哪些指令會放進去也是由程序員(而不是處理器)來決定的,因此很容易判斷指令是從高速緩存還是從存儲器中讀取.DSP一般不使用動態(tài)特性,如轉(zhuǎn)移預測和推理執(zhí)行等.因此,由一段給定的代碼來預測所要求的執(zhí)行時間是完全直截了當?shù)?從而使程序員得以確定芯片的性能限制.7定點DSP指令集定點DSP指令集是按兩個目標來設計的:使處理器能夠在每個指令周期內(nèi)完成多個操作,從而提高每個指令周期的計算效率.將存貯DSP程序的存儲器空間減到最小(由于存儲器對整個系統(tǒng)的成本影響甚大,該問題在對成本敏感的DSP應用中尤為重要).為了實現(xiàn)這些目標,DSP處理器的指令集通常都允許程序員在一個指令內(nèi)說明若干個并行的操作.例如,在一條指令包含了MAC操作,即同時的一個或兩個數(shù)據(jù)移動.在典型的例子里,一條指令就包含了計算FIR濾波器的一節(jié)所需要的所有操作.這種高效率付出的代價是,其指令集既不直觀,也不容易使用(與GPP的指令集相比).GPP的程序通常并不在意處理器的指令集是否容易使用,因為他們一般使用象C或C++等高級語言.而對于DSP的程序員來說,不幸的是主要的DSP應用程序都是用匯編語言寫的(至少部分是匯編語言優(yōu)化的).這里有兩個理由:首先,大多數(shù)廣泛使用的高級語言,例如C,并不適合于描述典型的DSP算法.其次,DSP結(jié)構的復雜性,如多存儲器空間、多總線、不規(guī)則的指令集、高度專門化的硬件等,使得難于為其編寫高效率的編譯器.即便用編譯器將C源代碼編譯成為DSP的匯編代碼,優(yōu)化的任務仍然很重.典型的DSP應用都具有大量計算的要求,并有嚴格的開銷限制,使得程序的優(yōu)化必不可少(至少是對程序的最關鍵部分).因此,考慮選用DSP的一個關鍵因素是,是否存在足夠的能夠較好地適應DSP處理器指令集的程序員.8開發(fā)工具的要求因為DSP應用要求高度優(yōu)化的代碼,大多數(shù)DSP廠商都提供一些開發(fā)工具,以幫助程序員完成其優(yōu)化工作.例如,大多數(shù)廠商都提供處理器的仿真工具,以準確地仿真每個指令周期內(nèi)處理器的活動.無論對于確保實時操作還是代碼的優(yōu)化,這些都是很有用的工具.GPP廠商通常并不提供這樣的工具,主要是因為GPP程序員通常并不需要詳細到這一層的信息.GPP缺乏精確到指令周期的仿真工具,是DSP應用開發(fā)者所面臨的的大問題:由于幾乎不可能預測高性能GPP對于給定任務所需要的周期數(shù),從而無法說明如何去改善代碼的性能.DSP硬件結(jié)構的特點和軟件的特點硬件結(jié)構的特點1Harvard結(jié)構程序與數(shù)據(jù)存儲空間分開,各有獨立的地址總線和數(shù)據(jù)總線,取指和讀數(shù)可以同時進行,從而提高速度,目前的水平已達到90億次浮點運算/秒(9000MFLOPS)2采用流水作業(yè)(pipline)3獨立的硬件乘法器乘法指令在單周期內(nèi)完成,優(yōu)化卷積、數(shù)字濾波、FFT、相關、矩陣運算等算法中的大量重復乘法4循環(huán)尋址(Circularaddressing),位倒序(bit-reversed)等特殊指令使FFT、卷積等運算中的尋址、排序及計算速度大大提高.1024點FFT的時間已小于1μs5獨立的DMA總線和控制器有一組或多組獨立的DMA總線,與CPU的程序、數(shù)據(jù)總線并行工作,在不影響CPU工作的條件下,DMA速度已達800Mbyte/s以上6多處理器接口使多個處理器可以很方便的并行或串行工作以提高處理速度7JTAG(JointTestActionGroup)標準測試接口(IEEE1149標準接口)便于對DSP作片上的在線仿真和多DSP條件下的調(diào)試軟件的特點1立即數(shù)尋址2直接尋址TI公司的TMS320系列芯片將數(shù)據(jù)存儲器分為512頁,每頁128字.設置一個數(shù)據(jù)頁指針DP(DataPointer),用9-bit指向一個數(shù)據(jù)頁,再加上一個7-bit的頁內(nèi)偏移地址,形成16-bit的數(shù)據(jù)地址.這樣有利于大大加快尋址速度.3間接尋址8個輔助寄存器(AR0--AR7),由一個輔助寄存器指針(ARP3-bit)來指定一個輔助寄存器算術單元(ARAU)作16-bit無符號數(shù)運算,決定一個新的地址,裝入輔助寄存器中的一個AR0--AR7的內(nèi)容相當靈活,可以裝入立即數(shù),加上立即數(shù),減去立即數(shù);也可以從數(shù)據(jù)存儲器裝入地址;還可以作以下的變址尋址:將該AR的內(nèi)容加1或減1,再尋址(循環(huán)常用)將該AR的內(nèi)容加上或減去AR0的內(nèi)容,再尋址將該AR的內(nèi)容逆向進位加上或減去AR0的內(nèi)容,再尋址由于采用反向進位,得以實現(xiàn)位倒序?qū)ぶ吩蛟刂肺坏剐蚝蟮刂肺坏剐?000000010011004201001023011110641000011510110156110011371111117例:MACX0,Y0,AX:(R0)+,X0Y:(R4)+N4,Y0這條指令命令DSP56300:將寄存器X0和Y0中的數(shù)相乘結(jié)果加到AccA中將寄存器R0所指的X存儲器地址中的值裝入寄存器X0將寄存器R4所指的Y存儲器地址中的值裝入寄存器Y0R0的值加1寄存器N4的值加給R4可以看到,運算后的次序符合FFT的蝶形運算的要求采用循環(huán)尋址實現(xiàn)零開銷的循環(huán),大大增進了如卷積、相關、矩陣運算、FIR等算法的實現(xiàn)速度4獨特的乘法指令DSP開發(fā)工具1代碼生成工具C優(yōu)化編譯器匯編語言工具匯編器(Assembler)連接器(Linker)歸檔器(Archiver)交叉引用列表器(Cross-ReferenceLister)2系統(tǒng)集成及調(diào)試環(huán)境與工具(以TI為例)調(diào)試器接口(C/Assemblysourcedebugger)為嵌入式系統(tǒng)的開發(fā)提供了豐富的功能與靈活性.該調(diào)試器是下面要討論的軟仿真器、評估模塊、在線仿真器等的標準接口.該調(diào)試器可以運行在PC或SPARC等平臺上,對用C或匯編語言寫的程序提供完全的控制.其代碼分析功能通過快速確認最費時的程序段,提示應該將開發(fā)時間集中在什么地方軟仿真器(Simulator)TMS320軟件仿真器是一個軟件程序,使用主機的處理器和存儲器來仿真TMS320DSP的微處理器和微計算機模式,從而進行軟件開發(fā)和非實時的程序驗證.在PC機上,典型的仿真速度為每秒幾百條指令DSP入門套件(DSK,DSPStarterKit)為初學者設計和生產(chǎn)的DSK是一種用以評價DSP平臺的廉價的開發(fā)工具.在PC機的DOS或Windows下,用戶可以使用DSK來作DSP的實驗,進行諸如控制系統(tǒng)、語音處理等應用;也可以用來編寫和運行實時源代碼,并對其作評估;還可以用來調(diào)試用戶自己的系統(tǒng)銀杏開發(fā)、實驗系統(tǒng)(DES,DspExpirementSystem)銀杏DES含有TMS320C542-40及相關接口,還特別內(nèi)置了信號源,附帶虛擬示波器和頻譜儀軟件.采用這套系統(tǒng)使用戶對外設的依賴降到最低,僅僅需要一張卡和一套軟件就可以進行DSP的開發(fā)或?qū)嶒?標準評估模塊(EVM)TMS320的評估模塊(EVM)是廉價的開發(fā)板,用于器件評估、標準程序檢查、以及有限的系統(tǒng)調(diào)試.EVM是一個PC插件,包括目標處理器、一個小容量的存儲器、和有限的外設.EVM可以用來實時運行代碼,并與外部系統(tǒng)接口TMS320硬件仿真器(Emulators)擴展開發(fā)系統(tǒng)(XDS,extendeddevelopmentsystem)是功能強大的全速仿真器,用以作系統(tǒng)級的集成與調(diào)試.掃描式仿真(Scan-BasedEmulator)是一種獨特的、非插入式的系統(tǒng)仿真、集成、調(diào)試方法.使用這種方法,程序可以從片內(nèi)或片外的目標存儲器實時執(zhí)行,在任何時鐘速度下都不會引入額外的等待狀態(tài)3實時操作系統(tǒng)對于簡單的DSP任務,用前面介紹的開發(fā)工具已能滿足開發(fā)任務的需要,往往不需要操作系統(tǒng)就可以進行.但當DSP的任務增加和任務的復雜性提高,例如對實時性要求很高的多DSP并行操作的多任務系統(tǒng),可能就需要某種操作系統(tǒng)來管理系統(tǒng)的資源,安排多任務的執(zhí)行和任務間的信息交換等DSP的操作系統(tǒng)SPOXSPOX是專為DSP系統(tǒng)設計和軟件開發(fā)而設計的實時多任務操作系統(tǒng).它提供一組由C語言調(diào)用的功能,與所開發(fā)的硬件平臺無關,從而將DSP的實時應用部分從許多低層的硬件細節(jié)中隔離出來.它作為DSP實時應用開發(fā)的一個集成環(huán)境,完成從新的算法概念出發(fā),直到把應用軟件裝入產(chǎn)品硬件的整個開發(fā)任務DSP芯片介紹1什么是DSP芯片DSP芯片,也稱數(shù)字信號處理器,是一種具有特殊結(jié)構的微處理器.DSP芯片的內(nèi)部采用程序和數(shù)據(jù)分開的哈佛結(jié)構,具有專門的硬件乘法器,廣泛采用流水線操作,提供特殊的DSP指令,可以用來快速地實現(xiàn)各種數(shù)字信號處理算法.根據(jù)數(shù)字信號處理的要求,DSP芯片一般具有如下的一些主要特點:(1)在一個指令周期內(nèi)可完成一次乘法和一次加法.(2)程序和數(shù)據(jù)空間分開,可以同時訪問指令和數(shù)據(jù).(3)片內(nèi)具有快速RAM,通常可通過獨立的數(shù)據(jù)總線在兩塊中同時訪問.(4)具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的硬件支持.(5)快速的中斷處理和硬件I/O支持.(6)具有在單周期內(nèi)操作的多個硬件地址產(chǎn)生器.(7)可以并行執(zhí)行多個操作.(8)支持流水線操作,使取指、譯碼和執(zhí)行等操作可以重疊執(zhí)行.與通用微處理器相比,DSP芯片的其他通用功能相對較弱些.2DSP芯片的發(fā)展世界上第一個單片DSP芯片是1978年AMI公司宣布的S2811,1979年美國Iintel公司發(fā)布的商用可編程期間2920是DSP芯片的一個主要里程碑.這兩種芯片內(nèi)部都沒有現(xiàn)代DSP芯片所必須的單周期芯片.1980年.日本NEC公司推出的μPD7720是第一個具有乘法器的商用DSP芯片.第一個采用CMOS工藝生產(chǎn)浮點DSP芯片的是日本的Hitachi公司,它于1982年推出了浮點DSP芯片.1983年,日本的Fujitsu公司推出的MB8764,其指令周期為120ns,且具有雙內(nèi)部總線,從而處理的吞吐量發(fā)生了一個大的飛躍.而第一個高性能的浮點DSP芯片應是AT&T公司于1984年推出的DSP32.在這么多的DSP芯片種類中,最成功的是美國德克薩斯儀器公司(TexasInstruments,簡稱TI)的一系列產(chǎn)品.TI公司災982年成功推出啟迪一代DSP芯片TMS32010及其系列產(chǎn)品TMS32011、TMS32C10/C14/C15/C16/C17等,之后相繼推出了第二代DSP芯片TMS32020、TMS320C25/C26/C28,第三代DSP芯片TMS32C30/C31/C32,第四代DSP芯片TMS32C40/C44,第五代DSP芯片TMS32C50/C51/C52/C53以及集多個DSP于一體的高性能DSP芯片TMS32C80/C82等.自1980年以來,DSP芯片得到了突飛猛進的發(fā)展,DSP芯片的應用越來越廣泛.從運算速度來看,MAC(一次乘法和一次加法)時間已經(jīng)從80年代初的400ns(如TMS32010)降低到40ns(如TMS32C40),處理能力提高了10多倍.DSP芯片內(nèi)部關鍵的乘法器部件從1980年的占模區(qū)的40左右下降到5以下,片內(nèi)RAM增加一個數(shù)量級以上.從制造工藝來看,1980年采用4μ的N溝道MOS工藝,而現(xiàn)在則普遍采用亞微米CMOS工藝.DSP芯片的引腳數(shù)量從1980年的最多64個增加到現(xiàn)在的200個以上,引腳數(shù)量的增加,意味著結(jié)構靈活性的增加.此外,DSP芯片的發(fā)展,是DSP系統(tǒng)的成本、體積、重量和功耗都有很大程度的下降.3DSP芯片的分類DSP的芯片可以按照以下的三種方式進行分類.1.按基礎特性分這是根據(jù)DSP芯片的工作時鐘和指令類型來分類的.如果DSP芯片在某時鐘頻率范圍內(nèi)的任何頻率上能正常工作,除計算速度有變化外,沒有性能的下降,這類DSP芯片一般稱之為靜態(tài)DSP芯片.如果有兩種或兩種以上的DSP芯片,它們的指令集和相應的機器代碼機管腳結(jié)構相互兼容,則這類DSP芯片稱之為一致性的DSP芯片.2.按數(shù)據(jù)格式分這是根據(jù)DSP芯片工作的數(shù)據(jù)格式來分類的.數(shù)據(jù)以定點格式工作的DSP芯片稱之為定點DSP芯片.以浮點格式工作的稱為DSP芯片.不同的浮點DSP芯片所采用的浮點格式不完全一樣,有的DSP芯片采用自定義的浮點格式,有的DSP芯片則采用IEEE的標準浮點格式.3.按用途分按照DSP芯片的用途來分,可分為通用型DSP芯片和專用型的DSP芯片.通用型DSP芯片適合普通的DSP應用,如TI公司的一系列DSP芯片.專用型DSP芯片市為特定的DSP運算而設計,更適合特殊的運算,如數(shù)字濾波,卷積和FFT等.4DSP芯片的選擇設計DSP應用系統(tǒng),選擇DSP芯片時非常重要的一個環(huán)節(jié).只有選定了DSP芯片才能進一步設計外圍電路集系統(tǒng)的其它電路.總的來說,DSP芯片的選擇應根據(jù)實際的應用系統(tǒng)需要而確定.一般來說,選擇DSP芯片時考慮如下諸多因素.1.DSP芯片的運算速度.運算速度是DSP芯片的一個最重要的性能指標,也是選擇DSP芯片時所需要考慮的一個主要因素.DSP芯片的運算速度可以用以下幾種性能指標來衡量:(1)指令周期.就是執(zhí)行一條指令所需要的時間,通常以ns為單位.(2)MAC時間.即一次乘法加上一次加法的時間.(3)FFT執(zhí)行時間.即運行一個N點FFT程序所需的時間.(4)MIPS.即每秒執(zhí)行百萬條指令.(5)MOPS.即每秒執(zhí)行百萬次操作.(6)MFLOPS.即每秒執(zhí)行百萬次浮點操作.(7)BOPS.即每秒執(zhí)行十億次操作.2.DSP芯片的價格.根據(jù)一個價格實際的應用情況,確定一個價格適中的DSP芯片.3.DSP芯片的硬件資源.4.DSP芯片的運算速度.5.DSP芯片的開發(fā)工具.6.DSP芯片的功耗.7.其它的因素,如封裝的形式、質(zhì)量標準、生命周期等.DSP應用系統(tǒng)的運算量是確定選用處理能力多大的DSP芯片的基礎.那么如何確定DSP系統(tǒng)的運算量以選擇DSP芯片呢?1.按樣點處理按樣點處理就是DSP算法對每一個輸入樣點循環(huán)一次.例如;一個采用LMS算法的256抽頭德的自適應FIR濾波器,假定每個抽頭的計算需要3個MAC周期,則256抽頭計算需要256*3=768個MAC周期.如果采樣頻率為8KHz,即樣點之間的間隔為125μs的時間,DSP芯片的MAC周期為200μs,則768個周期需要153.6μs的時間,顯然無法實時處理,需要選用速度更快的芯片.2.按幀處理有些數(shù)字信號處理算法不是每個輸入樣點循環(huán)一次,而是每隔一定的時間間隔(通常稱為幀)循環(huán)一次.所以選擇DSP芯片應該比較一幀內(nèi)DSP芯片的處理能力和DSP算法的運算量.假設DSP芯片的指令周期為P(ns),一幀的時間為⊿τ(ns),則該DSP芯片在一幀內(nèi)所提供的最大運算量為⊿τ/P條指令.5DSP芯片的基本結(jié)構DSP芯片的基本結(jié)構包括:(1)哈佛結(jié)構;(2)流水線操作;(3)專用的硬件乘法器;(4)特殊的DSP指令;(5)快速的指令周期.哈佛結(jié)構哈佛結(jié)構的主要特點是將程序和數(shù)據(jù)存儲在不同的存儲空間中,即程序存儲器和數(shù)據(jù)存儲器是兩個相互獨立的存儲器,每個存儲器獨立編址,獨立訪問.與兩個存儲器相對應的是系統(tǒng)中設置了程序總線和數(shù)據(jù)總線,從而使數(shù)據(jù)的吞吐率提高了一倍.由于程序和存儲器在兩個分開的空間中,因此取指和執(zhí)行能完全重疊.流水線與哈佛結(jié)構相關,DSP芯片廣泛采用流水線以減少指令執(zhí)行的時間,從而增強了處理器的處理能力.處理器可以并行處理二到四條指令,每條指令處于流水線的不同階段.入圖示出一個三級流水線操作的例子.CLLOUT1取指NN-1N-2譯碼N-1NN-2執(zhí)行N-2N-1N圖4-1三級流水線操作專用的硬件乘法器乘法速度越快,DSP處理器的性能越高.由于具有專用的應用乘法器,乘法可在一個指令周期內(nèi)完成.特殊的DSP指令DSP芯片是采用特殊的指令.快速的指令周期哈佛結(jié)構、流水線操作、專用的硬件乘法器、特殊的DSP指令再加上集成電路的優(yōu)化設計可使DSP芯片的指令周期在200ns以下.6DSP系統(tǒng)的特點數(shù)字信號處理系統(tǒng)是以數(shù)字信號處理為基礎,因此具有數(shù)字處理的全部特點:(1)接口方便.DSP系統(tǒng)與其它以現(xiàn)代數(shù)字技術為基礎的系統(tǒng)或設備都是相互兼容,這樣的系統(tǒng)接口以實現(xiàn)某種功能要比模擬系統(tǒng)與這些系統(tǒng)接口要容易的多.(2)編程方便.DSP系統(tǒng)種的可編程DSP芯片可使設計人員在開發(fā)過程中靈活方便地對軟件進行修改和升級.(3)穩(wěn)定性好.DSP系統(tǒng)以數(shù)字處理為基礎,受環(huán)境溫度以及噪聲的影響較小,可靠性高.(4)精度高.16位數(shù)字系統(tǒng)可以達到的精度.(5)可重復性好.模擬系統(tǒng)的性能受元器件參數(shù)性能變化比較大,而數(shù)字系統(tǒng)基本上不受影響,因此數(shù)字系統(tǒng)便于測試,調(diào)試和大規(guī)模生產(chǎn).(6)集成方便.DSP系統(tǒng)中的數(shù)字部件有高度的規(guī)范性,便于大規(guī)模集成.7DSP芯片的應用自從DSP芯片誕生以來,DSP芯片得到了飛速的發(fā)展.DSP芯片高速發(fā)展,一方面得益于集成電路的發(fā)展,另一方面也得益于巨大的市場.在短短的十多年時間,DSP芯片已經(jīng)在信號處理、通信、雷達等許多領域得到廣泛的應用.目前,DSP芯片的價格也越來越低,性能價格比日益提高,具有巨大的應用潛力.DSP芯片的應用主要有:(1)信號處理--如,數(shù)字濾波、自適應濾波、快速傅里葉變換、相關運算、頻譜分析、卷積等.(2)通信--如,調(diào)制解調(diào)器、自適應均衡、數(shù)據(jù)加密、數(shù)據(jù)壓縮、回坡抵消、多路復用、傳真、擴頻通信、糾錯編碼、波形產(chǎn)生等.(3)語音--如語音編碼、語音合成、語音識別、語音增強、說話人辨認、說話人確認、語音郵件、語音儲存等.(4)圖像/圖形--如二維和三維圖形處理、圖像壓縮與傳輸、圖像增強、動畫、機器人視覺等.(5)軍事--如保密通信、雷達處理、聲納處理、導航等.(6)儀器儀表--如頻譜分析、函數(shù)發(fā)生、鎖相環(huán)、地震處理等.(7)自動控制--如引擎控制、深空、自動駕駛、機器人控制、磁盤控制.(8)醫(yī)療--如助聽、超聲設備、診斷工具、病人監(jiān)護等.(9)家用電器--如高保真音響、音樂合成、音調(diào)控制、玩具與游戲、數(shù)字電話/電視等DSP芯片開發(fā)和產(chǎn)品應用一、DSP程序開發(fā)為了使DSP有效運行、必須要用能充分考慮DSP內(nèi)部并行性的匯編語言進行編制DSP程序.前面提到,美國TI公司的DSP推銷員說DSP編程容易,實際上他是指DSP的匯編語言相對于計算機的匯編語言而言,比較容易一些,因為沒有像計算機匯編語言那樣復雜.但是,對于習慣用高級語言編
超級強人!!!!!!
0
回復
2008-05-16 11:18
@zhmmhz
鼓勵一下.
我有大量學習資料是以前自己學習工控時買的現(xiàn)在用不到了,全是視頻老師現(xiàn)場講課愿逢送大家有需要者請盡快13116568786.主要嵌入式系統(tǒng)講座,PLC和DSP視頻教程,觸摸屏學習等相應軟件,數(shù)控機床技術,單片機視頻,C語言,計算機接口,集成電路設計,數(shù)字信號處理,數(shù)字電路設計基礎,模擬電路設計,人工智能,射頻模擬接口,電路分析基礎,單片機應用,EDA,電路分析,計算機硬件,模擬電路入門,網(wǎng)寬設計,看懂各類電路圖紙,無線電全集,電視機手機維修視頻講座,電工電子傳感器等應用資料,以上學習資料全為多媒體電腦視頻光盤.每門課均在40節(jié)課左右程.本人經(jīng)濟有限因需求者太多有需要者需自己付刻錄光盤費和快遞費50元即可. 好東西大家共同分享共創(chuàng)工控族的和諧社會.
0
回復
發(fā)
主站蜘蛛池模板: 国产91在线观看 | 亚洲综合另类小说色区 | 亚洲成成熟女人专区 | 2020最新国产精品 | 色综合精品视频 | 日本永久免费a∨在线视频 91精品国产综合久久小仙女图片 | 国产在线精品无码不卡手机免费 | 免费AV大片在线观看入口 | 亚洲成人1区2区 | 国产免费一区二区在线a片视频 | 国产成人午夜片在线观看高清观看 | 黄色免费在线观看网站 | 乱中年女人伦av三区 | xxxx交换夫妇com1| 欧美综合一区 | 亚洲精品免费av | 久久国产精品大桥未久av | 亚洲自拍偷拍综合网 | 玩丰满高大邻居人妻无码 | 亚洲第一无码xxxxxx | 国产麻豆 | 肉岳疯狂69式激情的高潮 | 国产精品专区第一区 | 亚洲狠狠婷婷久久久四季av | 精品国产一区二区三区久久狼5月 | 深夜看国产毛片在线视频香蕉 | 一本久久知道综合久久 | 国产AV无码精品国产精品 | 久久久人精午夜精国 | 亚洲AV无码一区二区三区观看 | 欧美xxxxxx片免费播放软件 | 又硬又粗又大一区二区三区视频 | 欧美破处在线视频 | 热99精品视频 | 少妇69xx| 国内精品免费一区二区2001 | 国产aⅴ夜夜欢一区二区三区 | 国语对白乱子 | 国产精品自在线拍亚洲另类 | 国内精品久久久久影院免费 | 狠狠色狠狠色综合久久 |