數字信號處理器
編輯數字信號處理器(DSP)是一種專門的微處理器芯片,其架構的業務需要優化的數字信號處理。數字信號處理器在MOS集成電路芯片上制造。它們廣泛用于音頻信號處理、電信、數字圖像處理、雷達、聲納和語音識別系統以及常見的消費類電子設備中,例如手機、磁盤驅動器和高清電視(HDTV)產品。
數字信號處理器的目標通常是測量,過濾或壓縮連續的真實世界模擬信號。大多數通用微處理器也可以成功執行數字信號處理算法,但可能無法實時實時地跟上這種處理。此外,專用DSP通常具有更好的電源效率,因此由于功耗限制,它們更適合于便攜式設備(如手機)。數字信號處理器通常使用特殊的存儲器體系結構,這些體系結構能夠同時獲取多個數據或指令。數字信號處理器通常還采用離散余弦變換來實現數據壓縮技術。 (DCT)特別是DSP中廣泛使用的壓縮技術。
概述
數字信號處理算法通常需要對一系列數據樣本快速且重復地執行大量數xxx算。信號(可能來自音頻或視頻傳感器)不斷從模擬轉換為數字,進行數字處理,然后再轉換回模擬形式。許多數字信號處理器應用都有對延遲的限制;也就是說,要使系統正常工作,DSP操作必須在某個固定時間內完成,并且延遲(或批處理)處理不可行。
大多數通用微處理器和操作系統都可以成功執行數字信號處理器算法,但由于功率效率方面的限制,因此不適合在便攜式設備(如移動電話和PDA)中使用。然而,專用數字信號處理器將傾向于提供一種成本更低的解決方案,具有更好的性能,更低的等待時間,并且不需要專門的冷卻或大電池。
這種性能的提高導致在商業通信衛星中引入了數字信號處理,其中需要數百甚至數千個模擬濾波器、開關、變頻器等來接收和處理上行鏈路信號,并為下行鏈路做好準備,并且可以替換為專用DSP會對衛星的重量、功耗、結構的復雜性/成本、操作的可靠性和靈活性產生重大好處。例如,運營商SES于2018年發射的SES-12和SES-14衛星都是由空客防務和太空公司制造的,使用DSP的容量為25%。
數字信號處理器的體系結構專門針對數字信號處理進行了優化。由于信號處理很少是系統的xxx任務,因此大多數還支持作為應用處理器或微控制器的某些功能。下面概述了一些用于優化DSP算法的有用功能。
數字信號處理器的構建
編輯軟件架構
按照通用處理器的標準,數字信號處理器指令集通常是高度不規則的;因此,數字信號處理器指令集通常是不規則的。傳統的指令集由允許它們執行更多操作的更通用的指令組成,而針對數字信號處理進行了優化的指令集包含用于DSP計算中經常發生的常見數xxx算的指令。傳統指令集和數字信號處理器優化指令集都能夠計算任意運算,但是在數字信號處理器優化指令集中,可能需要多個ARM或x86指令進行計算的運算可能只需要一條指令。
軟件體系結構的一個含義是,通常將手動優化的匯編代碼?例程(匯編程序)打包到庫中以供重用,而不是依賴于高級編譯器技術來處理基本算法。即使使用了現代的編譯器優化,手動優化的匯編代碼也更加有效,并且手寫DSP涉及的許多常見算法都是為了充分利用體系結構優化。
指令集
- 乘法累加(MAC,包括融合的乘法加法、FMA)操作
- 廣泛用于各種矩陣運算
- 卷積濾波
- 點積
- 多項式評估
- 基本的DSP算法在很大程度上取決于乘法累加性能
- FIR濾波器
- 快速傅立葉變換(FFT)
- 廣泛用于各種矩陣運算
- 相關的ISA和說明:
- SIMD
- 威力
- 超標量架構
- 用于環形緩沖區中模尋址和FFT交叉引用的位反轉尋址模式的專用指令
- DSP有時使用時間平穩編碼來簡化硬件并提高編碼效率。
- 多個算術單元可能需要內存架構來支持每個指令周期數次訪問-通常支持同時從2條單獨的數據總線和下一條指令(從指令高速緩存或第3個程序存儲器)讀取2個數據值。
- 特殊的循環控件,例如在非常緊密的循環中執行幾個指令字的體系結構支持,而沒有用于指令提取或退出測試的開銷-例如零開銷循環和硬件循環緩沖區。
數據說明
- 飽和算法,其中產生溢出的操作將以寄存器可以容納的xxx值(或最小值)累積,而不是回繞(xxx值+1不會像許多通用CPU那樣溢出至最小值,而是停留在xxx)。有時可以使用各種粘性位操作模式。
- 定點算術通常用于加速算術處理
- 單周期操作可增加流水線優勢
程序流程
硬件架構
在工程中,硬件體系結構是指對系統物理組件及其相互關系的標識。該描述通常稱為硬件設計模型,它使硬件設計人員可以了解其組件如何適合系統架構,并為軟件組件設計人員提供軟件開發和集成所需的重要信息。硬件架構的明確定義使各種傳統工程學科(例如,電氣和機械工程)可以更有效地協同工作,以開發和制造新的機器、設備和組件。
硬件也是計算機工程行業中用來將(電子計算機)硬件與運行于其上的軟件明確地區分開的表達。但是,自動化和軟件工程學科中的硬件不必只是某種形式的計算機。現代汽車運行的軟件比阿波羅飛船要多得多。同樣,如果不運行在飛機上嵌入和分發的數千萬條計算機指令,并且駐留在標準計算機硬件和專用硬件組件(例如IC有線邏輯門、模擬和混合設備以及其他數字組件)中,現代飛機就無法運行。有效建模單獨的物理組件如何組合以形成復雜系統的需求對于包括計算機。
內存架構
數字信號處理器通常針對流數據進行了優化,并使用能夠同時獲取多個數據或指令的特殊內存架構,例如哈佛架構或改良的馮·諾依曼架構,它們使用單??獨的程序和數據存儲器(有時甚至可以并發訪問)多條數據總線。
DSP有時可以依靠支持代碼來了解緩存層次結構和相關的延遲。這是一個權衡,可以實現更好的性能。另外,廣泛使用了DMA。
尋址和虛擬內存
DSP經常使用多任務操作系統,但不支持虛擬內存或內存保護。使用虛擬內存的操作系統需要更多時間在進程之間進行上下文切換,從而增加了延遲。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/115701/