ARM、DSP、FPGA的特點(diǎn)和區(qū)別
arm(advanced risc machines)是微處理器行業(yè)的一家知名企業(yè),設(shè)計(jì)了大量高性能、廉價、耗能低的risc處理器、相關(guān)技術(shù)及軟 件。arm架構(gòu)是面向低預(yù)算市場設(shè)計(jì)的第一款risc微處理器,基本是32位單片機(jī)的行業(yè)標(biāo)準(zhǔn),它提供一系列內(nèi)核、體系擴(kuò)展、微處理器和系統(tǒng)芯片方案,四 個功能模塊可供生產(chǎn)廠商根據(jù)不同用戶的要求來配置生產(chǎn)。由于所有產(chǎn)品均采用一個通用的軟件體系,所以相同的軟件可在所有產(chǎn)品中運(yùn)行。目前arm在手持設(shè)備 市場占有90以上的份額,可以有效地縮短應(yīng)用程序開發(fā)與測試的時間,也降低了研發(fā)費(fèi)用。 dsp(digital singnal processor)是一種獨(dú)特的微處理器,有自己的完整指令系統(tǒng),是以數(shù)字信號來處理大量信息的器件。一個數(shù) 字信號處理器在一塊不大的芯片內(nèi)包括有控制單元、運(yùn)算單元、各種寄存器以及一定數(shù)量的存儲單元等等,在其外圍還可以連接若干存儲器,并可以與一定數(shù)量的外 部設(shè)備互相通信,有軟、硬件的全面功能,本身就是一個微型計(jì)算機(jī)。dsp采用的是哈佛設(shè)計(jì),即數(shù)據(jù)總線和地址總線分開,使程序和數(shù)據(jù)分別存儲在兩個分開的 空間,允許取指令和執(zhí)行指令完 全重疊。也就是說在執(zhí)行上一條指令的同時就可取出下一條指令,并進(jìn)行譯碼,這大大的提高了微處理器的速度 。另外還允許在程 序空間和數(shù)據(jù)空間之間進(jìn)行傳輸,因?yàn)樵黾恿似骷撵`活性。其工作原理是接收模擬信號,轉(zhuǎn)換為0或1的數(shù)字信號,再對數(shù)字信號進(jìn)行修改、刪除、強(qiáng)化,并在其 他系統(tǒng)芯片中把數(shù)字?jǐn)?shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實(shí)時運(yùn)行速度可達(dá)每秒數(shù)以千萬條復(fù)雜指令程序,遠(yuǎn)遠(yuǎn)超過通用微處理器, 是數(shù)字化電子世界中日益重要的電腦芯片。它的強(qiáng)大數(shù)據(jù)處理能力和高運(yùn)行速度,是最值得稱道的兩大特色。由于它運(yùn)算能力很強(qiáng),速度很快,體積很小,而且采用 軟件編程具有高度的靈活性,因此為從事各種復(fù)雜的應(yīng)用提供了一條有效途徑。根據(jù)數(shù)字信號處理的要求,dsp芯片一般具有如下主要特點(diǎn): (1)在一個指令周期內(nèi)可完成一次乘法和一次加法; (2)程序和數(shù)據(jù)空間分開,可以同時訪問指令和數(shù)據(jù); (3)片內(nèi)具有快速ram,通常可通過獨(dú)立的數(shù)據(jù)總線在兩塊中同時訪問; (4)具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的硬件支持; (5)快速的中斷處理和硬件i/o支持; (6)具有在單周期內(nèi)操作的多個硬件地址產(chǎn)生器; (7)可以并行執(zhí)行多個操作; (8)支持流水線操作,使取指、譯碼和執(zhí)行等操作可以重疊執(zhí)行?! ‘?dāng)然,與通用微處理器相比,dsp芯片的其他通用功能相對較弱些。 fpga是英文field programmable gate array(現(xiàn)場可編程門陣列)的縮寫,它是在pal、gal、pld等可編程器件的基 礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物,是專用集成電路(asic)中集成度最高的一種。fpga采用了邏輯單元陣列l(wèi)ca(logic cell array)這樣一個 新概念,內(nèi)部包括可配置邏輯模塊clb(configurable logic block)、輸出輸入模塊iob (input output block)和內(nèi)部連線(interconnect)三個部分。用戶可對fpga內(nèi)部的邏輯模塊和i/o模塊重新配置,以實(shí) 現(xiàn)用戶的邏輯。它還具有靜態(tài)可重復(fù)編程和動態(tài)在系統(tǒng)重構(gòu)的特性,使得硬件的功能可以像軟件一樣通過編程來修改。作為專用集成電路(asic)領(lǐng)域中的一種 半定制電路,fpga既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)??梢院敛豢鋸埖闹v,fpga能完成任何數(shù)字器件的功能,上至高 性能cpu,下至簡單的74電路,都可以用fpga來實(shí)現(xiàn)。fpga如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入法,或是硬件描述語言自由 的設(shè)計(jì)一個數(shù)字系統(tǒng)。通過軟件仿真,我們可以事先驗(yàn)證設(shè)計(jì)的正確性?! ≡趐cb完成以后,還可以利用fpga的在線修改能力,隨時修改設(shè)計(jì)而不必改動硬件電 路。使用fpga來開發(fā)數(shù)字電路,可以大大縮短設(shè)計(jì)時間,減少pcb面積,提高系統(tǒng)的可靠性。fpga是由存放在片內(nèi)ram中的程序來設(shè)置其工作狀態(tài)的, 因此工作時需要對片內(nèi)的ram進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電時,fpga芯片將eprom中數(shù)據(jù)讀入片內(nèi)編程ram 中,配置完成后,fpga進(jìn)入工作狀態(tài)。掉電后,fpga恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,fpga能夠反復(fù)使用。fpga的編程無須專用的fpga 編程器,只須用通用的eprom、prom編程器即可。當(dāng)需要修改fpga功能時,只需換一片eprom即可。這樣,同一片fpga,不同的編程數(shù)據(jù),可 以產(chǎn)生不同的電路功能。因此,fpga的使用非常靈活。可以說,fpga芯片是小批量。
系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。目前fpga的品種很 多,有xilinx的xc系列、ti公司的tpc系列、altera公司的fiex系列等。 區(qū)別是什么呢?arm具有比較強(qiáng)的事務(wù)管理功能,可以用來跑界面以及應(yīng)用程序等,其優(yōu)勢主要體現(xiàn)在控制方面,而dsp主要是用來計(jì)算的,比如進(jìn)行加密解 密、調(diào)制解調(diào)等,優(yōu)勢是強(qiáng)大的數(shù)據(jù)