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