ARM全称Advanced RISC Machine,由同名公司开发。顾名思义,ARM是一个基于RISC的构架体系,多用于嵌入式系统以及对功耗敏感的移动场合,它的最大特点是采用精简指令集体系。
精简指令集的设计思路基于一条重要的实验结果,即计算机中80%的操作被20%的指令集执行着。随着编译器功能的日趋强大以及应用的日益广泛,原先针对汇编语言存在的大量CISC中的指令,比如正交寻址或者index等的应用现在已经几近绝迹,砍掉这部分指令显然有助于处理器的减肥。另外,伴随着处理器与内存频率的分道扬镳,处理器内部需要更多的寄存器和缓存来应对延迟差异,精简指令集有助于为这些缓存和寄存器腾出更多的空间。
RISC的影响力是如此之大,以至于基于CISC结构的X86 CPU内核在Pentium Pro之后也实现了RISC化,仅在外部维持CISC结构以保证对传统指令的接受度,并通过专门的译码机构完成指令的翻译。大名鼎鼎的出现在CORE上的PARROT结构,即冷热指令分开的设计理念,也是受RISC影响而产生的。
作为一家研发公司,ARM公司在传统的RISC指令集的基础上扩展了Thumb、Thumb-2、ThumbEE以及NEON等全新指令集,进一步提升了ARM构架的处理能力和效率。于此同时,ARM并没有采取与INTEL类似的近乎于全封闭式的指令集管理体制。ARM构架的授权方式多种多样,任何公司都可以通过小到某项特定技术内核(IP core)大到整个核心的授权来进行对应的开发、生产以及采购。如果某公司希望能够将ARM构架纳入到自己本来已有的构架,ARM公司还能够提供一切必要的技术支持,比如编译器、开发平台以及开发者工具等。
简单地说,ARM的授权形式类似生产合作社,任何公司都可以通过购买授权来获得ARM的使用或者开发权,ARM公司保有对整个构架的权力,新开发的对ARM构架的改进产品原则上归双方同时所有。这是一种比较昂贵但同时开放而且自由度极高的授权模式。