以文本方式查看主題 - 曙海教育集團論壇 (http://www.hufushizhe.com/bbs/index.asp) -- ARM技術討論專區 (http://www.hufushizhe.com/bbs/list.asp?boardid=14) ---- ARM、DSP、FPGA的技術特點和區別 (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=14&id=1441) |
-- 作者:wangxinxin -- 發布時間:2010-11-18 8:56:19 -- ARM、DSP、FPGA的技術特點和區別 嵌入式開發領域,ARM是一款非常受歡迎的微處理器,其市場覆蓋率極高,DSP和FPGA則是作為嵌入式 開發的協處理器,協助微處理器更好的實現產品功能。那三者的技術特點以及區別是什么呢?下文就此 問題略做了總結。 ARM(Advanced RISC Machines)是微處理器行業的一家知名企業,設計了大量高性能、廉價、耗能 低的RISC處理器、相關技術及軟件。 ARM架構是面向低預算市場設計的第一款RISC微處理器,基本是32位單片機的行業標準,它提供一系 列內核、體系擴展、微處理器和系統芯片方案,四個功 能模塊可供生產廠商根據不同用戶的要求來配置 生產。由于所有產品均采用一個通用的軟件體系,所以相同的軟件可在所有產品中運行。目前ARM在手持 設備市場 占有90以上的份額,可以有效地縮短應用程序開發與測試的時間,也降低了研發費用。 DSP(digital singnal processor)是一種獨特的微處理器,有自己的完整指令系統,是以數字信號來 處理大量信息的器件。一個數字信號處理器在一塊不大的芯片內包括有控制單元、運算單元、各種寄存 器以及一定數量的存儲單元等等,在其外圍還可以連接若干存儲器, 并可以與一定數量的外部設備互相 通信,有軟、硬件的全面功能,本身就是一個微型計算機。DSP采用的是哈佛設計,即數據總線和地址總 線分開,使程序和數據 分別存儲在兩個分開的空間,允許取指令和執行指令完全重疊。也就是說在執行 上一條指令的同時就可取出下一條指令,并進行譯碼,這大大的提高了微處理器的速 度 。另外還允許 在程序空間和數據空間之間進行傳輸,因為增加了器件的靈活性。其工作原理是接收模擬信號,轉換為0 或1的數字信號,再對數字信號進行修改、刪 除、強化,并在其他系統芯片中把數字數據解譯回模擬數 據或實際環境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數以千萬條復雜指令程序,遠 遠超 過通用微處理器,是數字化電子世界中日益重要的電腦芯片。它的強大數據處理能力和高運行速度 ,是最值得稱道的兩大特色。由于它運算能力很強,速度很快,體 積很小,而且采用軟件編程具有高度 的靈活性,因此為從事各種復雜的應用提供了一條有效途徑。根據數字信號處理的要求,DSP芯片一般具 有如下主要特點: (1)在一個指令周期內可完成一次乘法和一次加法; (2)程序和數據空間分開,可以同時訪問指令和數據; (3)片內具有快速RAM,通常可通過獨立的數據總線在兩塊中同時訪問; (4)具有低開銷或無開銷循環及跳轉的硬件支持; (5)快速的中斷處理和硬件I/O支持; (6)具有在單周期內操作的多個硬件地址產生器; (7)可以并行執行多個操作; (8)支持流水線操作,使取指、譯碼和執行等操作可以重疊執行。 當然,與通用微處理器相比,DSP芯片的其他通用功能相對較弱些。 FPGA是英文Field Programmable Gate Array(現場可編程門陣列)的縮寫,它是在PAL、GAL、PLD 等可編程器件的基礎上進一步發展的產物,是專用集成電路(ASIC)中集成度最高的 一種。FPGA采用了 邏輯單元陣列LCA(Logic Cell Array)這樣一個新概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分。用 戶可對FPGA內部的邏輯模塊和I/O模塊重新配置,以實現用戶的邏輯。它還具有靜態可 重復編程和動態 在系統重構的特性,使得硬件的功能可以像軟件一樣通過編程來修改。作為專用集成電路(ASIC)領域 中的一種半定制電路,FPGA既解決了 定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。 可以毫不夸張的講,FPGA能完成任何數字器件的功能,上至高性能CPU,下至簡單的74電 路,都可以用 FPGA來實現。FPGA如同一張白紙或是一堆積木,工程師可以通過傳統的原理圖輸入法,或是硬件描述語 言自由的設計一個數字系統。通過軟件 仿真,我們可以事先驗證設計的正確性。在PCB完成以后,還可 以利用FPGA的在線修改能力,隨時修改設計而不必改動硬件電路。使用FPGA來開發數字電 路,可以大大 縮短設計時間,減少PCB面積,提高系統的可靠性。FPGA是由存放在片內RAM中的程序來設置其工作狀態 的,因此工作時需要對片內的RAM 進行編程。用戶可以根據不同的配置模式,采用不同的編程方式。加 電時,FPGA芯片將EPROM中數據讀入片內編程RAM中,配置完成后,FPGA進入工 作狀態。掉電后,FPGA恢 復成白片,內部邏輯關系消失,因此,FPGA能夠反復使用。FPGA的編程無須專用的FPGA編程器,只須用 通用的 EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片FPGA, 不同的編程數據,可以產生不同的電路功 能。因此,FPGA的使用非常靈活。可以說,FPGA芯片是小批量 系統提高系統集成度、可靠性的最佳選擇之一。目前FPGA的品種很多,有XILINX的 XC系列、TI公司的 TPC系列、ALTERA公司的FIEX系列等。 ARM作為嵌入式開發最常用的處理器,是嵌入式工程師必須掌握的一門知識。ARM體系架構在嵌入式 學院<嵌入式工程師職業培訓班>的二期課程中將會結合嵌入式linux應用開發、嵌入式linux系統移植進 行詳細介紹,另外華清遠見的短期培訓業務中也分別有針對ARM、DSP、FPGA的培訓課程。 區別是什么?:ARM具有比較強的事務管理功能,可以用來跑界面以及應用程序等,其優勢主要體現在 控制方面,而DSP主要是用來計算的,比如進行加密解 密、調制解調等,優勢是強大的數據處理能力和 較高的運行速度。FPGA可以用VHDL或verilogHDL來編程,靈活性強,由于能夠進行編程、除錯、 再編程 和重復操作,因此可以充分地進行設計開發和驗證。當電路有少量改動時,更能顯示出FPGA的優勢,其 現場編程能力可以延長產品在市場上的壽命,而這 種能力可以用來進行系統升級或除錯。 |