FPGA會取代DSP嗎?
DSP這幾年有點背,逐漸遠離主流話題,所以有人就有了這樣的問題:DSP會被FPGA取代嗎?小編總結了各個網友的回答:
網友一:獨立的DSP不會被FPGA替代,但是會被增強了信號處理功能的ARM處理器替代。現在基本已經是這個趨勢,DSP變成ARM的一個協處理器。FPGA會擠壓掉DSP的一部分高速信號處理的市場。
網友二:在高端領域基本都用FPGA了。通訊、雷達、視覺、航空都是如此。DSP由于性能和靈活性比FPGA差太多,只能往低端領域滲透。說個不中聽的話DSP就是貴一點、快一點的單片機,大部分DSP還沒目前手機上的多核arm快,你自己實際(注意是實際不是理論)寫個算法一測便知。另外DSP的優化也很浪費時間,有這個功夫還不如用gpu了,比DSP不知道快多少倍。性能能和FPGA能拼的只有gpu。但是目前的嵌入式gpu內存帶寬和輸出延遲嚴重拖后腿,功耗發熱巨高,所以目前FPGA才是嵌入式高端領域的王者。
網友三:DSP只是一種技術,硬件上的DSP,可以說是一種稱謂。傳統意義上的DSP遲早是要退出江湖的。因為通用架構目前基本已經滿足設計需求了。
看來也沒什么確切的答案。
FPAG的結構特點
片內有大量的邏輯門和觸發器,多為查找表結構,實現工藝多為SRAM。規模大,集成度高,處理速度快,執行效率高。能完成復雜的時序邏輯設計,且編程靈活,方便,簡單,可多次重復編程。許多FPAG可無限重復編程。利用重新配置可減少硬件的開銷。缺點是:掉電后一般會丟失原有邏輯配置;時序難規劃;不能處理多事件;不適合條件操作。
FPGA的優勢
1)通信高速接口設計。FPGA可以用來做高速信號處理,一般如果AD采樣率高,數據速率高,這時就需要FPGA對數據進行處理,
比如對數據進行抽取濾波,降低數據速率,使信號容易處理,傳輸,存儲。
2)數字信號處理。包括圖像處理,雷達信號處理,醫學信號處理等。優勢是實時性好,用面積換速度,比CPU快的多。
3)更大的并行度。這個主要是通過并發和流水兩種技術實現。并發是指重復分配計算資源,使得多個模塊之間可以同時獨立進行計算。
FPGA的并發可以在不同邏輯功能之間進行,而不局限于同時執行相同的功能。流水是通過將任務分段,段與段之間同時執行。其實這一點和CPU相似,只是CPU是指令間的流水而FPGA是任務間流水或者我們可以說是線程間流水。
利用硬件并行的優勢,FPGA打破了順序執行的模式,在每個時鐘周期內完成更多的處理任務,超越了數字信號處理器(DSP)的運算能力。
DSP的基本結構和特征
編程DSP芯片是一種具有特殊結構的微處理器,為了達到快速進行數字信號處理的目的,DSP芯片一般都采用特殊的軟硬件結構:
(1)哈佛結構
DSP采用了哈佛結構,將存儲器空間劃分成兩個,分別存儲程序和數據。它們有兩組總線連接到處理器核,允許同時對它們進行訪問,每個存儲器獨立編址,獨立訪問。這種安排將處理器的數據吞吐率加倍,更重要的是同時為處理器核提供數據與指令。在這種布局下,DSP得以實現單周期的MAC指令。
在哈佛結構中,由于程序和數據存儲器在兩個分開的空間中,因此取指和執行能完全重疊運行。
(2)流水線
與哈佛結構相關,DSP芯片廣泛采用2-6級流水線以減少指令執行時間,從而增強了處理器的處理能力。這可使指令執行能完全重疊,每個指令周期內,不同的指令都處于激活狀態。
(3)獨立的硬件乘法器
在實現多媒體功能及數字信號處理的系統中,算法的實現和數字濾波都是計算密集型的應用。在這些場合,乘法運算是數字處理的重要組部分,是各種算法實現的基本元素之一。乘法的執行速度越快,DSP處理器的性能越高。相比與一般的處理器需要30-40個指令周期,DSP芯片的特征就是有一個專用的硬件乘法器,乘法可以在一個周期內完成。
(4)特殊的DSP指令
DSP的另一特征是采用特殊的指令,專為數字信號處理中的一些常用算法優化。這些特殊指令為一些典型的數字處理提供加速,可以大幅提高處理器的執行效率。使一些高速系統的實時數據處理成為可能。
有一組或多組獨立的DMA總線,與CPU的程序、數據總線并行工作。在不影響CPU工作的條件下,DMA的速度已經達到800MB/S以上。這在需要大數據量進行交換的場合可以減小CPU的開銷,提高數據的吞吐率。提高系統的并行執行能力。
(6)多處理器接口
使多個處理器可以很方便的并行或串行工作以提高處理速度。
(7)JTAG(JointTestActionGroup)標準測試接口(IEEE1149標準接口)。
便于對DSP作片上的在線仿真和多DSP條件下的調試。
(8)快速的指令周期
哈佛結構,流水線操作,專用的硬件乘法器,特殊的DSP指令再加上集成電路的優化設計,可是DSP芯片的指令周期在10ns以下。快速的指令周期可以使DSP芯片能夠實時實現許多DSP應用。
FPGA與DSP區別介紹
總的來說,FPGA與DSP的區別主要是對處理數據速率的區別:
DSP適用于系統較低取樣速率、低數據率、多條件操作、處理復雜的多算法任務、使用C語言編程、系統使用浮點。適合于較低采樣速率下多條件進程、特別是復雜的多算法任務。
FPAG適用于系統高速取樣速率、高數據率、框圖方式編程、處理任務固定或重復、使用定點。) 、適合于高速采樣頻率下,特別是任務比較固定或重復的情況以及試制樣機、系統開發的場合。
現在常用的軟件無線電平臺就是利用FPGA+DSP+ARM的結構,FPGA主要對高速數據進行預處理,降低數據的速率,然后將數據送給DSP,去實現復雜的算法,ARM主要用來做顯示控制。
-
dsp
+關注
關注
551文章
7823瀏覽量
346805 -
FPGA
+關注
關注
1620文章
21507瀏覽量
598836
發布評論請先 登錄
相關推薦
評論