電子設(shè)備應(yīng)用越來越多地涉及信號處理。家庭影院,計算機圖形學,醫(yī)學成像和電信都依賴于信號處理技術(shù)。信號處理需要在復(fù)雜但重復(fù)的算法中進行快速數(shù)學運算。并且許多應(yīng)用需要實時計算:即,信號是時間的連續(xù)函數(shù),必須對其進行采樣并轉(zhuǎn)換為數(shù)字,以進行數(shù)值處理。因此,處理器必須執(zhí)行在樣本到達時對樣本執(zhí)行離散計算的算法。
數(shù)字信號處理器(DSP)的架構(gòu)經(jīng)過優(yōu)化,可以處理這些算法。良好的信號處理引擎的特征包括:快速,靈活的算術(shù)計算單元(例如,乘法器,累加器,桶形移位器);無限制的數(shù)據(jù)流入和流出計算單元;計算單元中的擴展精度和動態(tài)范圍(以避免溢出并最小化舍入誤差);雙地址生成器(用于同時處理二元運算的兩個輸入);高效的程序排序(包括有效處理循環(huán)和中斷的能力);
DSP具有與精簡指令集計算機(RISC)相同的一些功能。此外,兩者都圍繞某些核心指令構(gòu)建,使它們能夠以非常高的指令速率運行;并且都避開了內(nèi)部微碼。然而,它們是根本不同的“動物”。 RISC和DSP之間的差異在處理器的
中最為明顯
計算單位
數(shù)據(jù)地址生成器
內(nèi)存架構(gòu)
中斷功能
循環(huán)硬件
< li>條件指令
接口功能
DSP屬于兩個基本類:定點,一個(通常)基于16位架構(gòu)16位整數(shù)數(shù)據(jù)類型和浮點,通常采用32位架構(gòu),基于具有尾數(shù)和指數(shù)的數(shù)據(jù)類型。
計算單位:DSP都包含并行硬件乘法器以支持單周期乘法,它們的乘法器通常在一個周期內(nèi)組合乘法和累加。 DSP具有專用的累加器,其寄存器明顯寬于標稱字大小,以保持精度 - 例如,32位ADSP-2106x SHARC系列中的80位(圖1)。與ADSP-21xx系列一樣,硬件可能支持從累加器溢出中恢復(fù)。此外,DSP都包含全功能的算術(shù)邏輯單元(ALU),與乘法器無關(guān)。
ALU可能具有特殊功能,例如同時產(chǎn)生的能力用于在時域和頻域之間轉(zhuǎn)換信號的快速傅里葉變換(FFT)算法中加速內(nèi)核例程的和和差。高級DSP將在計算單元中包含飽和邏輯,以防止數(shù)據(jù)溢出。它還可以提供零開銷(即,不需要額外的時鐘周期)陷阱來中斷算術(shù)異常的例程。
復(fù)雜的DSP還可以包含單周期桶形移位器(即,能夠在一個時鐘周期內(nèi)向左或向右移位字的字段),具有優(yōu)先級編碼器數(shù)據(jù)縮放,數(shù)據(jù)壓縮/擴展或打包/解包和位操作。它還可以包括專用硬件,以最小化快速劃分,平方根和超越函數(shù)計算所需的時間。在RISC處理器上找不到具有這些專用功能的計算元素。
地址生成:高效的DSP將使其計算單元保持至少兩個獨立數(shù)據(jù)的數(shù)據(jù) - 地址生成器。抽頭延遲線和系數(shù)緩沖器是DSP的特征,但在通用計算中大多是未知的。高效的DSP需要循環(huán)緩沖硬件來支持緩沖區(qū)。循環(huán)緩沖區(qū)指針需要在每個周期更新而不會產(chǎn)生開銷。此外,緩沖區(qū)結(jié)束的比較測試需要無延遲命令來重置緩沖區(qū)末尾的指針。另一方面,RISC處理器需要額外的周期進行每次比較測試。
存儲器架構(gòu):DSP通常支持與通用計算系統(tǒng)不同的系統(tǒng)存儲器架構(gòu)。 DSP采用哈佛架構(gòu),允許持續(xù)單周期訪問來自兩個不同外部存儲器的兩個字數(shù)據(jù)。例如,ADI公司的SHARC DSP具有片上集成的2或4 Mbits雙端口SRAM。這個存儲器是直接尋址的 - 而不是像RISC處理器中那樣的緩存。對于CPU來說,這個片上存儲器看起來像一塊獨特的存儲器,而不僅僅是系統(tǒng)中其他地方的高速存儲器復(fù)制品。原因是DSP通常是嵌入式處理器。它們的片上存儲器通常足以包含任務(wù)所需的完整,重復(fù)的DSP程序。每個存儲器模塊都是雙端口,用于核心處理器和I / O處理器或DMA控制器的單周期獨立訪問(圖2)。雙端口存儲器和獨立的片上總線允許兩個數(shù)據(jù)傳輸來自內(nèi)核,一個來自I / O,所有這些都在一個周期內(nèi)完成。
中斷功能:由于DSP旨在用于實時系統(tǒng),因此高效,復(fù)雜且可預(yù)測的中斷處理對DSP至關(guān)重要。 RISC處理器采用高度流水線架構(gòu),往往具有較慢的中斷響應(yīng)時間和有限的中斷能力。上下文切換應(yīng)該非常快。高級DSP,如新型ADSP-21csp01和ADI公司的ADSP-2106x浮點系列,支持完整的備用寄存器,允許單周期上下文切換支持中斷處理。 (寄存器文件窗口的不同之處在于它的目的是加速參數(shù)傳遞,而不是保存整個上下文。)
除內(nèi)部中斷外,高級DSP還將支持至少四個獨立的外部中斷。中斷延遲將保持幾個周期,并且必須是可預(yù)測的。中斷應(yīng)該是可嵌套的并且可以優(yōu)先排序。此外,應(yīng)該很容易實時啟用和禁用特定中斷。
硬件循環(huán):高效循環(huán)對數(shù)字信號處理至關(guān)重要,因為信號處理算法是重復(fù)的。一個好的DSP將支持具有專用內(nèi)部硬件的零開銷循環(huán)。也就是說,芯片將監(jiān)視循環(huán)條件和終止以與所有其他操作并行決定 - 是否將程序計數(shù)器或分支遞增而沒有循環(huán)時間損失到循環(huán)的頂部。另一方面,RISC處理器必須在每個循環(huán)結(jié)束時進行測試和分支,每個循環(huán)和每個循環(huán)至少花費額外的周期。嵌套循環(huán)在信號處理算法中也很常見; DSP循環(huán)硬件應(yīng)支持至少四級嵌套循環(huán)的深度。 RISC處理器尚未發(fā)展以支持這些基本的信號處理需求。
條件執(zhí)行:數(shù)據(jù)相關(guān)執(zhí)行對于信號處理非常重要。因此,高級DSP(如ADSP-2100系列和ADSP-2106x SHARC浮點系列)支持大多數(shù)基本指令的條件執(zhí)行:在單條指令中,處理器測試條件代碼,如果為真,則在同一循環(huán)中執(zhí)行操作。這可以對計算密集型算法產(chǎn)生巨大影響。英特爾在i860上發(fā)現(xiàn)了這個問題,并添加了一個圖形單元來處理高性能Z緩沖所需的條件存儲操作。
接口:DSP在真實世界的信號上運行來自模數(shù)轉(zhuǎn)換器,他們將結(jié)果發(fā)送到D / A轉(zhuǎn)換器。出于這個原因,DSP通常包含用于這些設(shè)備的廉價接口的串行端口。高級DSP添加硬件以提高操作效率,例如雙緩沖和自動緩沖。由于這些輸入/輸出信號可能來自非線性編解碼器,因此高級DSP可能具有用于零開銷A律和μ律壓縮擴展的專用硬件。此外,串行端口可能具有簡化與T1和CEPT數(shù)據(jù)傳輸線接口的功能。
SHARC串行端口旨在通過靈活的硬件最大化吞吐量,同時調(diào)整到各種信號類型。它們的功能包括:每個串行端口可以自動接收和/或發(fā)送整個數(shù)據(jù)塊,獨立發(fā)送和接收 - 每個都帶有數(shù)據(jù)緩沖寄存器以及移位寄存器,用于TDM的多通道模式。
編程注意事項:有一次,DSP和RISC之間的顯著差異在于它們的編程模型。 DSP本質(zhì)上是性能驅(qū)動的,因此DSP的編程主要是用匯編語言完成的,以便從處理器中獲得最佳性能。這對于定點DSP來說通常仍然如此,但使用ADSP-2100系列直觀的代數(shù)匯編語言則更容易實現(xiàn)(圖3)。在不犧牲性能的情況下,它改善了易用性問題,使許多程序員更喜歡C等高級語言。
另一方面,浮點DSP更多用高級語言有效編程。浮點計算避免使用C中不存在的小數(shù)數(shù)據(jù)類型。此外,體系結(jié)構(gòu)決策可能會影響編譯器效率。例如,ADSP-2106x SHARC系列的大型統(tǒng)一地址空間使編譯器的內(nèi)存分配更加容易。此外,它們大而靈活的寄存器文件提高了效率。
我們的產(chǎn)品戰(zhàn)略的核心是提供工具和DSP內(nèi)核,使我們能夠高效地編程高級別的固定和浮點DSP語言。這是ADSP-21csp背后的驅(qū)動力,ADSP-21csp是一系列新的并發(fā)信號處理器。盡管如此,雖然使用高級語言,DSP程序員必須能夠在語言級別下降(盡量減少痛苦),以提高時間關(guān)鍵程序的性能。
DSP設(shè)計越來越多地按照以下順序進行編程:首先,用高級語言編寫和調(diào)試軟件原型。該原型通常可以產(chǎn)生足夠的性能。然而,更一般地,需要提高性能,因此高級代碼在模擬中被直方圖化以找到需要最多執(zhí)行時間的部分。然后使用匯編語言對關(guān)鍵部分進行手工編碼。迭代直方圖和手動編碼過程,直到滿足性能目標。
雖然DSP和RISC之間的差異很多,但這兩種架構(gòu)往往會聚集在編程領(lǐng)域,這是由時間驅(qū)動的融合 - 推向市場以及DSP在應(yīng)用中的不斷發(fā)展的作用。熟悉快速開發(fā)工作C程序的程序員可以使用它們更快地將產(chǎn)品推向市場。同時,DSP采用更多系統(tǒng)管理功能,例如用戶界面或系統(tǒng)控制,并且需要提供高級語言效率,以便與之前分配這些控制任務(wù)的μC和RISC處理器競爭。
-
dsp
+關(guān)注
關(guān)注
556文章
8155瀏覽量
357136 -
嵌入式
+關(guān)注
關(guān)注
5149文章
19651瀏覽量
317161
發(fā)布評論請先 登錄
什么是嵌入式系統(tǒng)?
嵌入式開發(fā)中DSP與FPGA的關(guān)系是什么
微處理器與DSP器件相結(jié)合的嵌入式系統(tǒng)結(jié)構(gòu)設(shè)計
用嵌入式技術(shù)設(shè)計專用DSP系統(tǒng)研究
DSP嵌入式系統(tǒng)人機接口設(shè)計

嵌入式處理系統(tǒng)

語音信號去噪和編碼系統(tǒng)設(shè)計,DSP嵌入式系統(tǒng)開發(fā)典型案例

集成DSP與微處理器內(nèi)核的嵌入式系統(tǒng)應(yīng)用分析

以嵌入式DSP模塊和FPGA構(gòu)架為基礎(chǔ)的提高無線信號處理性能的子系統(tǒng)設(shè)計

淺析DSP嵌入式系統(tǒng)的應(yīng)用特性
ADSP-2199x系列:用于嵌入式控制和信號處理應(yīng)用的混合信號DSP產(chǎn)品亮點

DSP在高速數(shù)據(jù)處理的嵌入式系統(tǒng)研究與應(yīng)用

DSP在嵌入式系統(tǒng)中的應(yīng)用實例

DSP與MCU在嵌入式系統(tǒng)中的應(yīng)用

評論