之所以写这个题目,和大家一样,我的汽车时事也是主要来自于公众号。但是我发现关注了这么多公众号,却没有人写过关于ARM的内容。身为一个汽车软件工程师,在我的日常工作中已经明显的感受到了转变,从Classic autosar -> Adaptive autosar;控制器上的主芯片从一个个MCU慢慢变成了ARM MPU。那么我们经常听说啥芯片是ARM架构的,到底是什么呢 ?![]()
ARM(英国公司)
首先ARM是一家英国公司,是全球领先的半导体知识产权(IP)提供商。ARM设计了大量高性价比、耗能低的RISC处理器(精简指令集)、相关技术及软件。换言之,ARM公司本身并不靠自有的设计来制造或出售CPU,而是将处理器架构授权给有兴趣的厂家。![]()
这些ARM合作伙伴有机会围绕这些处理器设计和制造他们的系统,或者将他们的生产外包给其他人,但是无论如何要在商业市场上出售这些设计的实现。许多三星,苹果,华为的智能手机和平板电脑以及高通公司生产的基本上所有设备都利用了ARM的某些知识产权。而我们经常所说的ARM芯片,其实指的是运用ARM架构开发的芯片。近日,全球最大的半导体IP公司Arm公布了2020年第4季的销售状况。根据报告指出,仅在2020年第4季,全球基于Arm IP的芯片出货达到了创纪录的67亿颗,超越了x86、ARC、Power 和MIPS 等其他架构芯片出货的总和。
ARM架构
历史的长河里面,有过许许多多的CPU架构,它们之间的差异性非常大,经过时间、用户的检验,我们平常所接触到CPU架构也就剩X86和ARM两者,按照最核心的不同可以被分为两大类,即“复杂指令集”与“精简指令集”系统,也就是经常看到的“CISC”与“RISC”。
![]()
ARM基于RISC(精简指令集计算),而Intel(x86)基于CISC(复杂指令集计算)。造成他们使用不同该指令集的原因在于,面向的设备、对象、性能要求是不一样。手机SoC普遍都是采用ARM提供的核心作为基础,依据自身需求改变SoC的核心架构,而ARM正是RISC精简指令集的代表人物。CPU巨头Intel、AMD所采用的X86架构已经沿用了数十年,是CISC复杂指令集的典型代表。
![]()
ARM的CPU指令在本质上是原子的,指令数量和微操作之间有着非常紧密的联系。相比之下,CISC提供了更多指令,其中许多指令执行多项操作(例如优化的数学和数据移动)。这样可以带来更好的性能,但是解码这些复杂的指令会消耗更多的功率。![]()
ARM的PC渗透
ARM处理器本身定位于嵌入式平台,应付轻量级、目的单一明确的程序,现在应用在移动设备上正是得心应手。x86定位于桌面和服务器,这些平台上很多应用是计算密集型的,比如多媒体编辑、科研计算、模拟等等。
本来两者相安无事,一个专注于嵌入式而另一个专注于个人PC业务,直到出现了第一个搅局的 —— 苹果M1芯片,以苹果的影响力,毫无疑问这是对x86架构的一次巨大挑战。![]()