? ? ? ?ARM:ARM是Advanced RISC Machine的縮寫,意為高級精簡指令集計算機。
? ? ? ? 英國ARM公司,2016年被軟銀創始人孫正義斥資320億美元收購了。現在是軟銀旗下的芯片設計公司,總部位于英國劍橋,專注于設計芯片,賣芯片生產授權,由其他公司設計SoC芯片。比如,Philips, Intel, samsung, NXP, Atmel, HuaWei等。
RISC和CISC
? ? ? ?RISC(精簡指令集計算機)和CISC(復雜指令集計算機)是當前CPU的兩種架構。它們的區別在于不同的CPU設計理念和方法。
? ? ? ?早期的CPU全部是CISC架構,它的設計目的是要用最少的機器語言指令來完成所需的計算任務。比如對于乘法運算,在CISC架構的CPU上,您可能需要這樣一條指令:MUL ADDRA, ADDRB就可以將ADDRA和ADDRB中的數相乘并將結果儲存在ADDRA中。將ADDRA, ADDRB中的數據讀入寄存器,相乘和將結果寫回內存的操作全部依賴于CPU中設計的邏輯來實現。這種架構會增加CPU結構的復雜性和對CPU工藝的要求,但對于編譯器的開發十分有利。比如上面的例子,C程序中的a*=b就可以直接編譯為一條乘法指令。今天只有Intel及其兼容CPU還在使用CISC架構。
? ? ? ?RISC架構要求軟件來指定各個操作步驟。上面的例子如果要在RISC架構上實現,將ADDRA, ADDRB中的數據讀入寄存器,相乘和將結果寫回內存的操作都必須由軟件來實現,比如:MOV A, ADDRA; MOV B, ADDRB; MUL A, B; STR ADDRA, A。這種架構可以降低CPU的復雜性以及允許在同樣的工藝水平下生產出功能更強大的CPU,但對于編譯器的設計有更高的要求。
ARM家族:
ARM7, ARM 9, ARM11
Cortex A系列 功能強大: 用在手機,PAD,等民用設備上
Cortex M系列 功能單一: 一般用在成本低,要求不高,控制領域
Cortex R系列 功耗低,實時性強(對外界事件的響應更快)
?
?
選擇芯片指標:
1 是否支持操作系統(Cortex A系列支持linux系統,Android)
? ?(Cortex M系列支持實時系統uCosII、vXworks、iTron)
? ? (Cortex R系列支持實時系統uCosII、vXworks、iTron)
2 是否需要芯片自帶flash、Ram
? ? ?Cortex M系列 一般都自帶 flash Ram
? ? ? Cortex A系列 一般都不會自帶 flash Ram, 需要外擴
3 速度(工作頻率)
? ? ? ?Cortex M系列 (50Mhz-300Mhz)
? ? ? ? Cortex A系列 (1Ghz- 2Ghz)
單片機使用場合
民用——(家電系列、手機、PDA) 用戶量大,但精度、可靠性要求不高,便宜。
工業用——(電信設備) 用戶量小,但精度、可靠性要求更高一些,比較貴。
軍用——用戶極少,但精度、可靠性要求極高,非常貴。