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) 用户量大,但精度、可靠性要求不高,便宜。
工业用——(电信设备) 用户量小,但精度、可靠性要求更高一些,比较贵。
军用——用户极少,但精度、可靠性要求极高,非常贵。