▍一、區別
兩則的分流造成的主要原因是數字信號處理的簡便性,考慮一個數字信號處理的實例,比如有限沖擊響應濾波器(FIR)。用數學語言來說,FIR濾波器是做一系列的點積。取一個輸入量和一個序數向量,在系數和輸入樣本的滑動窗口間作乘法,然后將所有的乘積加起來,形成一個輸出樣本。
類似的運算在數字信號處理過程中大量的重復發生,使得為此設計的器件必須提供專門的支持,促進了DSP器件與通用處理器(GPP)的分流:
1. 對密集乘法的支持
2. 存儲器結構
此外,DSP處理器幾乎都不具備數據的高速緩存。這是因為DSP的典型數據是數據流。也就是說,DSP處理器對每個數據樣本做計算后,就丟棄,幾乎不再重復使用。
3. 零開銷循環
DSP算法的一個共同的特點,即大多數處理時間都花在執行較小的循環上,也就容易理解,為什么大多數的DSP都有專門的硬件,用于零開銷循環。所謂的零開銷循環是指處理器在執行循環時,不用花時間去檢查循環計數器的值,條件轉移到循環大額頂部,將循環計數器減1.
與此相反,GPP的循環使用軟件來實現。某些高性能的GPP使用轉移預報硬件,幾乎達到與硬件支持零開銷循環同樣地效果。
▍二、聯系
按照傳統方式,嵌入式應用中的數字信號處理器(dsp)相對于主微控制器起到從屬的作用。在這些應用中,MCU用作系統控制器,而大量的數據處理留給DSP。例如,在音頻或視頻處理器應用中有可能需要人機界面管理,或則是整個系統的控制。
為完成這些任務,有幾種系統設計方案選擇
第一種方案是將DSP和MCU芯片組合在印制電路板上。這種方案成本高并且占用面積大,但是可適當地調整每個芯片的尺寸以最大限度的滿足系統需要。
第二種方案是將DSP功能合并到一個MCU中。這種方案只適合于直接的信號處理應用。MCU的時鐘頻率和計算體系結構根本上不太適合大量的數字處理。有些MCU試圖通過增加一個乘法和累加器(MAC)(dsp的一個特點)來補償上述不足。但是這種方案任然缺乏高級應用所需要的基本的“由上至下”的體系結構設計。
第三種方案是一種將dsp和mcu組合在單個封裝內的多芯片模塊(mcm).這種方案的局限性是,設計工程師必須按“50/50”的時間比例分配給控制和DSP功能;例如,一旦DSP超出時間,MCU不能完成計算任務。像第一種方案選擇一樣,當DSP和MCU內核獨立存在的時候,需要兩套開發工具。 已經出現第四種方案它是將MCU的功能合并到一個DSP中。這類方案的一個例子是美國模擬器件公司(Anolog Device Inc.,簡稱ADI)的Blackfin 處理器系列。這些新型處理器具有統一的經過優化的體系結構,不僅適于數據計算,而且也適于有關的控制任務。通過平衡執行控制任務與復雜計算的要求,這種方案可以根據系統實時處理的需要,完成100%的控制或者100%的計算任務。完成所有這一切任務不需要在DSP模式和MCU模式之間的模式轉換。
DSP MCU
首先讓我們回顧一下DSP和MCU的典型功能。DSP主要是在一單個時鐘周期內盡可能完成多個MAC(乘法和累加)操作。為了這一點,指令的操作代碼通常是可變的超長的指令字(VLIW)。DSP也適于工作在緊密、高效的環路中。另外,為了達到性能指標通常需要編寫優化的匯編代碼。由于DSP的算法程序一般裝在小容量、短等待時間的內置存儲器中,所以代碼密度通常不是大問題。像DSP主要用于完成計算一樣,MCU主要用于完成控制功能。同樣地,典型的MCU應用包括許多條件操作,在程序流程中頻繁地跳轉。通常使用C或者C++語言編寫程序。代碼密度極為重要,并且根據編譯代碼的長度來評估算法。存儲器系統是基于高速緩存從而允許該系統設計工程師用較長等待時間從較大的存儲器中調用較大程序。利用基于高速緩存系統,程序員不需要考慮如何以及何時將指令輸入到內核去執行。
統一的DSP和MCU兼備兩者的優點。它的指令集由16 bit,32 bit和64 bit操作碼組成,但是由于最常用的指令采用16 bit編碼,所以編譯代碼密度大小與那些流行的MCU相同。另外,它包括一個存儲器保護功能以及指令高速緩存和數據高速緩存,作為整個存儲器管理單元(MMU)的一部分。此外,容易提供一套完整的C/C++開發工具,提供可選匯編語言或者全部匯編語言適合算法優化的編程。
系統控制的一個重要方面是任務管理。實時操作系統(RTOS)逐漸地用于控制復雜系統中多種正在進行的和同時發生的任務。通過提供對任務調度與管理的支持,RTOS簡化了編程模式,這通常是由MCU控制的,由于普通的DSP不具備支持RTOS需要的所有功能以便有效地控制。
然而,統一的DSP和MCU促進了RTOS幾個重要功能的發展。第一個是限制訪問功能以保護或者保留存儲單元。第二個是配備單獨的堆棧和幀指針以減少操作系統(OS)請求以及中斷和異常處理所需的等待時間。第三個是具備單獨的用戶操作模式和管理員操作模式。過去,DSP按照等效于管理員操作模式工作,從而允許在任何時間完全訪問所有的系統資源。然而MCU提供類似的在用戶操作模式,它允許在OS的頂層運行應用軟件。現在,在一個統一的體系結構下提供兩種操作模式,因為增強的DSP系統能夠限制用戶應用軟件僅通過OS訪問系統資源。
MCU的一個優點是包含使用靈活和種類齊全的外圍設備。作為通用的嵌入式控制器,它們通常具備可編程輸入輸出(I/O)標志、定時器、串行接口和日益增加越來越復雜的標準接口。MCU外圍設備的主要作用是嵌入式控制,而不是大量計算。例如,一個實時時鐘信號可以喚醒一只溫度傳感器用以采集環境溫度并且將一個延遲的信息通過I/O引腳反饋到MCU。然后,一個定時器的脈沖寬度調制(PWM)輸出相應地能夠增加或者減小風扇電機的轉速。像MCU一樣,統一的DSP和MCU具備一套系統控制外圍設備(例如,實時時鐘、多功能定時器、監視定時器、雙向標志位引腳)。然而,它還包括一些高速接口(例如,PCI、異步或者同步存儲器控制器、USB、并行視頻接口)以便通過這些接口,與許多DMA通道配合快速搬移數據,從而有助于有效利用高速DSP內核的信號處理能力。
功耗控制一直是嵌入式控制器的一項功能。但是,當系統要求DSP具有優良的性能時,對其電源的選擇就不太理想。如果將獨立的MCU和DSP芯片應用于電源敏感的場合,通常必須為每個芯片提供一個單獨的開關穩壓器,因為這兩個器件的內核電壓經常不一致。這會導致降低電源變換效率和增加設計器件的引腳數目,最終增加布線的復雜程度和解決方案的成本。此外,當MCU和DSP的內核集成到一個芯片上時,電源解決方案本質上不是最佳的,因為它必須滿足2個完全獨立并具有不同負載特性處理器的需求。將這種情況與統一的DSP和MCU相比較,它包含一個集成動態電源管理(DPM)控制器。由于它是只有一個處理器的體系結構,所以該控制器能夠完全適合給定應用的需求。
它提供幾種固有的電源模式以支持多種系統性能等級。另外,對于未使用的時鐘和L2存儲器可選擇性地禁止。該PLL的頻率可在一個寬范圍(通常1倍~31倍)進行調節,以滿足在DSP和MCU內部多層次的處理需求。最后能夠調節電壓(外部或者通過一個集成的開關控制器)以提供指數式的節省功耗。由于系統成本、開發容易、器件采購和升級能力的原因,設計工程師正趨向采用一種單芯片解決方案用于嵌入式信號處理解決方案。這種單芯片解決方案必須能夠同樣好地完成DSP和MCU的功能,所以有必要提出一種統一的處理器體系結構。面對MCU的挑戰,比較簡單的解決方案是將MCU的功能合并到一個高性能的DSP內核,而不是與此相反。當今一個統一的DSP和MCU平臺(由BlackfinDSP系列產品說明)已經投放市場,它將在MCU和DSP目前應用領域提供許多應用。
-
dsp
+關注
關注
552文章
7962瀏覽量
348280 -
mcu
+關注
關注
146文章
16998瀏覽量
350321 -
RTOS
+關注
關注
21文章
809瀏覽量
119437
原文標題:從架構到 RTOS 詳解 DSP 和 MCU 的區別和聯系
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論