一.mcu
微控制單元(Microcontroller Unit;MCU) ,又稱單片微型計算機(Single Chip Microcomputer )或者單片機,是把中央處理器(Central Process Unit;CPU)的頻率與規格做適當縮減,并將內存(memory)、計數器(Timer)、USB、A/D轉換、UART、PLC、DMA等周邊接口,甚至LCD驅動電路都整合在單一芯片上,形成芯片級的計算機,為不同的應用場合做不同組合控制。諸如手機、PC外圍、遙控器,至汽車電子、工業上的步進馬達、機器手臂的控制等,都可見到MCU的身影。
MCU的主要作用是通過控制和管理設備來提高電子產品的性能和功能。它們能夠執行各種任務,如數據存儲、信號處理、圖形處理、網絡連接等,并且還可以通過集成其他硬件和軟件組件來實現更復雜的功能,例如語音識別、人臉識別等。
MCU是一種專門用于在電子設備中控制和管理操作的微型計算機芯片。它們通常被嵌入到各種各樣的設備中,如智能手機、數字相機、汽車電子系統、家庭電器等等,以實現各種功能。
此外,MCU還可以幫助設計者實現更低成本和更小尺寸的設備。它們的體積和功耗往往比傳統的計算機芯片要小得多,這使得它們非常適合于嵌入到緊湊型設備中。因此,MCU在現代電子產品中扮演著重要的角色,為用戶提供了更多的功能和便利。
MCU還有以下作用:
1.提高設備的可靠性:由于它們是專門為特定應用程序設計的,因此MCU可以提供更高的可靠性和穩定性。這使得它們在工業自動化、醫療設備等關鍵應用領域中得到廣泛應用。
2.降低功耗:MCU通常使用低功耗技術來延長電池壽命,并且它們可以根據不同的負載和需求調整自己的功耗,從而實現更好的能源利用效率。
3.改善用戶體驗:通過集成各種傳感器和外設設備,MCU可以大大改善用戶的體驗。例如,在智能家居系統中,通過MCU控制燈光、溫度、安全等參數,可以提高用戶對家庭環境的控制和舒適感。
4.提高設備的安全性:MCU具有許多安全保護機制,可以防止未經授權的訪問和攻擊。這使得它們在網絡安全、金融等敏感領域中得到廣泛應用。
總之,MCU在現代電子技術中扮演著不可或缺的角色。它們通過控制和管理各種設備,為用戶提供更多的功能和便利,并且幫助設計者實現更低成本和更小尺寸的設備。
二.ARM
ARM,全名為Advanced RISC Machine(高級精簡指令集計算機),是一種精簡指令集(RISC)架構的處理器設計。ARM架構最初由英國的ARM Holdings公司開發,現在已經成為一種廣泛應用于各種計算設備的處理器架構。
1. 精簡指令集(RISC):ARM架構采用精簡指令集設計,這意味著它的指令集相對較小且更簡單,執行效率更高。這有助于提高處理器的性能和降低功耗。
2. 多種版本:ARM架構有多個版本,包括ARMv6、ARMv7和ARMv8等。每個版本都引入了新的特性和改進,以適應不同的應用需求,從嵌入式系統到高性能計算。
3. 可擴展性:ARM架構是高度可擴展的,從簡單的嵌入式系統到復雜的服務器級處理器都有相應的設計。這種可擴展性使得ARM處理器適用于各種不同的設備和場景。
4. 廣泛應用:ARM處理器廣泛應用于移動設備、嵌入式系統、物聯網(IoT)設備、消費電子、汽車電子、服務器和超級計算機等各種領域。
5. 許可模式:ARM不生產自己的芯片,而是通過許可的方式將其架構授權給其他公司。這意味著許多公司可以設計和制造符合ARM標準的處理器核心,從而促使了ARM生態系統的發展。
在嵌入式系統中,ARM處理器通常被用作主處理器單元,例如在嵌入式系統-on-chip(SoC)中。ARM Cortex-M系列是專門設計用于低功耗、實時嵌入式系統的一系列處理器。在高性能計算領域,ARM Cortex-A系列處理器被廣泛應用于移動設備和服務器。
三.DSP
數字信號處理器(digital signal processor, 簡寫 DSP)是一種專用于(通常為實時的)數字信號處理的微處理器。
DSP-Grafikchip
數字信號處理器的特點
分開的程序存儲器和數據存儲器(哈佛結構)。
用于單指令流多數據流(SIMD)作業的特殊指令集。
可進行并行處理,但不支援多任務。
用于宿主環境時可作為直接存儲器訪問(DMA )設備運作.
從模數轉換器(ADC)獲得數據,最終輸出的是由數模轉換器(DAC)轉換為模擬信號的數據。
數字信號的處理
數字信號的處理可由通用微處理器完成。可能的優化為:
數據運算指令
使用飽和算法,在這種方式中,會產生溢出的運算將累積至寄存器可容納的最大(或最小)值,而不是按環繞方式(環繞方式是很多通用CPU采取的方式。在環繞方式中,寄存器的數值到達最大值后再加一則會繞回到最小值;而使用飽和算法時則不會發生這種環繞,運算結果仍將保持為最大值)。有些情況下可使用不同的粘滯位運算模式。
使用乘積累加(MAC)運算,這會提高各種矩陣運算的效率(例如卷積運算、點積運算、乃至矩陣多項式的求值運算;參看Horner scheme和積和熔加運算)。由于在許多DSP中都必然地使用了單周期的MAC部件,因此也自然沿襲了下面所述的許多性質(尤其是哈佛結構和指令流水線(Instruction Streamline))。
在使用同余尋址方式操作循環緩沖器、以及在使用逆位序尋址模式處理快速傅立葉變換交叉參照時,都可使用專門的指令實現。
程序流程
使用深層流水線技術,這種情況下,因錯誤的預測產生的跳轉會造成更大的(效率)成本。
使用通過動態表或硬編碼的零開銷循環實現的分支預測。為減少執行高頻度的內層循環時跳轉造成的(效率)影響,有些處理器提供了這個特性。該技術包括兩種類型的操作:單指令的重復操作和多指令的循環操作。
預取指令使用指令流水線方式。
流水線作業方式可減少總體的處理時間,增加系統的產出效率。
流水線可以分為若干層級。
歷史
1978年,Intel 發布了一種“模擬信號處理器”——2920處理器。它包含一組帶有一個內部信號處理器的片上ADC/DAC,但由于它不含硬件乘法器,因此在市場上銷售并不成功. 1979年,AMI 發布了 S2811處理器,它被設計成微處理器的周邊裝置,必須由主處理器初始化后才能工作。 S2811 在市場上也不成功.
1979年,貝爾實驗室發表了第一款單芯片 DSP,即 Mac 4 型微處理器。繼而于1980年的IEEE國際固態電路會議上出現了第一批獨立、完整的DSP,它們是NEC的μPD7720處理器和AT&T的DSP1處理器。這兩種處理器都是在公共交換電話網(PSTN)的遠程通信研究中受到了啟發而產生的。
還有一種早期的DSP,Altamira DX-1,它使用一組帶有延遲轉移和轉移預測機制的四整數組流水線。
事實證明,1983年得克薩斯儀器公司生產的的第一款DSP,TMS32010,是一個更大的成功,時至今日德州儀器已成為通用DSP市場的龍頭,并提供有HPI(Host-Post Interface),由外部CPU直接訪問。另一款成功的設計是摩托羅拉的56000。
通用CPU中有些技術是受到帶有擴展模塊的DSP的影響而出現的,例如Intel的IA-32架構指令集(ISA)中的MMX擴展。
大部分DSP使用的是定點算法,這是因為在信號處理的一般實際應用中不需要使用浮點運算比定點運算多提供的那部分額外的精度范圍,而使用定點算法犧牲了不需要的精度,卻大大提高了速度。另一方面,浮點DSP則常用在科學計算和某些需要高精度的應用中。
DSP芯片通常采用專用集成電路設計,然而亦可使用現場可編程門陣列(FPGA)芯片來實現DSP的功能,FPGA的I/O帶寬比DSP帶寬大十多倍。
四.FPGA
FPGA芯片是基于可編程器件(PAL、GAL、CPLD)發展而來的,是半定制化、可編程的集成電路。FPGA主要有三大特點:
可編程靈活性高
無論是CPU、GPU、DSP、Memory還是各類ASIC芯片,在芯片被制造完成之后,其芯片的功能就已被固定,用戶無法對其硬件功能進行任何修改。而FPGA芯片在制造完成后,其功能并未固定,用戶可以根據自己的實際需要,將自己設計的電路通過FPGA芯片公司提供的專用EDA軟件對FPGA芯片進行功能配置,從而將空白的FPGA芯片轉化為具有特定功能的集成電路芯片。
每顆FPGA芯片均可以進行多次不同功能配置,從而實現不同的功能,具有高度靈活性。
開發周期短
在邏輯芯片里面,如ASIC制造流程包括邏輯實現、布線處理和流片等多個步驟;而FPGA無需布線、掩膜和定制流片等,芯片開發大大簡化。一般邏輯芯片,如ASIC、DSP、SOC等,開發周期需要14—24個月,甚至更長,而FPGA則只需要6—12個月,比其他芯片開發周期減少55%的時間。
并行計算效率高
FPGA屬于并行計算,也即一次可執行多個指令算法。而傳統的ASIC、DSP、CPU都是串行計算,一次只能處理一個指令集。因此在部分特殊任務中,FPGA的并行計算效率比串行計算效率更高。
CPU、GPU、ASIC和FPGA是四種計算機處理器類型,不同處理器有著獨特的優勢。
CPU的邏輯運算單元(ALU)較少,控制器(control)占比較大;GPU的邏輯運算單元(ALU)小而多,控制器功能簡單,緩存(cache)也較少。架構的不同使得CPU擅長進行邏輯控制、串行計算,而GPU擅長高強度的并行計算。GPU單個運算單元處理能力弱于CPU的ALU,但是數量眾多的運算單元可以同時工作,當面對高強度并行計算時,其性能要優于CPU。現如今GPU除了圖像處理外,也越來越多地運用到別的計算中。
可以說,CPU更像是一個有多種功能的優秀領導者。它的優點在于調度、管理、協調能力強,計算能力則位于其次。而GPU相當于一個接受CPU調度的“擁有大量計算能力”的員工。
ASIC即專用集成電路,指應特定用戶要求和特定電子系統的需要而設計、制造的集成電路。ASIC的特點是面向特定用戶的需求,ASIC在批量生產時與通用集成電路相比具有體積更小、功耗更低、可靠性提高、性能提高、保密性增強、成本降低等優點。
基于ASIC開發人工智能芯片更像是電路設計,需要反復優化,需要經歷較長的流片周期,故開發周期較長。
量產后ASIC人工智能芯片成本及價格較低。雖然相較于FPGA,ASIC人工智能芯片需要經歷較長的開發周期,并且需要價格昂貴的流片投入,但是這些前期開發投入在量產后會被攤薄,所以量產后,ASIC人工智能芯片的成本和價格會低于FPGA人工智能芯片。
受益于與眾不同的架構,FPGA的可編程屬性使其相比其他處理器,在算力、成本、功耗之間更能取得平衡。
綜合應用及關系
MCU(Microcontroller Unit)、ARM、DSP(Digital Signal Processor)、FPGA(Field-Programmable Gate Array)在嵌入式系統中的使用取決于其特性和優勢,以下是它們常見的應用場景:
1. MCU(Microcontroller Unit)
場景:適用于控制導向的應用,其中需要執行簡單的控制任務,例如傳感器數據的采集、執行簡單的邏輯控制等。
例子:家用電器、嵌入式傳感器、小型嵌入式系統。
1. ARM:
場景:廣泛應用于各種應用領域,從低功耗嵌入式系統到高性能服務器。
ARM Cortex-M系列:用于低功耗、實時嵌入式系統,如物聯網設備。
ARM Cortex-A系列:用于高性能計算,例如移動設備、嵌入式計算平臺、服務器。
2. DSP(Digital Signal Processor)
場景:適用于需要高度并行和實時數字信號處理的應用,例如音頻處理、圖像處理、通信系統等。
例子:音頻處理器、通信設備、圖像處理器、雷達系統。
3. FPGA(Field-Programmable Gate Array)
場景:適用于需要靈活性、可編程性和高度并行性的應用,可以通過重新編程來實現不同的硬件功能。
加速器:在需要高性能計算的應用中,例如科學計算、深度學習加速等。
通信:用于協議處理、數據包過濾等網絡設備。
快速原型設計:用于快速驗證和原型設計,加速產品開發。
綜合使用場景,有時這些技術也會在同一系統中協同工作,以充分利用各自的優勢。例如,一個系統可能使用ARM作為主處理器,搭配MCU來執行實時控制任務,使用DSP來處理數字信號,而FPGA則用于加速特定的硬件任務或提供靈活性。選擇合適的技術取決于系統的需求,包括性能、功耗、成本和靈活性等因素。