科普,什么是ARM?和x86有何区别
发布时间:2023-07-04 15:16:42 作者:木头人dye 浏览量:25
ARM这个词,关注科技领域的小伙伴们一定很常见吧,很多人只知道苹果,华为,高通等芯片都是基于ARM,但ARM到底是什么?估计很多人不知道,今天简单的科普一下,如有遗漏或表述不准确的地方,欢迎大家指正补充。
ARM(Advanced RISC Machines) 公司成立于英国剑桥,是专门从事基于RISC 技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,授权许可由合作公司生产各具特色的芯片,全世界超过95%的智能手机和平板电脑都采用ARM架构,如今ARM已经被英伟达收购(注:感谢条友@醉卧床头望星辰指正,收购应该是失败了)。
目前主流的CPU架构为X86(The X86 architecture)和ARM。X86架构的CPU主要用于PC以及服务器行业,ARM架构的CPU则主要用于移动端,两者之间有什么区别呢?首先得看一下CPU是如何工作的。
CPU 是手机,电脑,服务器等设备的“大脑”,它根据指令执行工作,不同架构的CPU有不同的指令,众多指令的集合就叫做指令集。程序员们通过高级语言(c++,java等)编写功能实现的逻辑,编译器将高级语言编译成机器语言(也就是机器能够看得懂的指令),这样CPU就可以根据程序员的逻辑进行工作了。举个简单例子,普通人没办法和狗直接沟通,指令集相当于训犬师,把人的想法传达给狗,狗根据训犬师的指令执行相应的动作。
指令集越复杂,处理能力越强大,性能越高,功耗越大。PC服务器等应用场景,需要强大得到性能,而且并不在乎功耗,所以x86架构就应运而生,全面的指令集,复杂的电路设计,极高的效率,用强而有力来形容这个架构一点都不为过。反之,对于移动端,功耗是相当重要的一点,用x86架构就不太合适了,毕竟谁也不想用一个像板砖一样厚重续航仅仅三分钟的手机吧,那样的的话,移动就变成移不动了。ARM架构是精简指令集,指令数量有限,主要是一些常用的指令,对于一些复杂的功能,通常是用多个指令组合的方式实现,所以效率相对于x86架构要低很多,但功耗得到了很好的控制,成本也大幅度下降。同样举个例子,有一条任务:让狗将卧室的拖鞋叼出来,训犬师A是基于x86,他直接将这一条命令传达给狗,狗高效的完成了任务。训犬师B基于ARM,他给狗下达了5条指令,1,直行往前五十步停下来 2,将身边的东西叼在嘴里 3,转身 4,直行五十步停下来 5,把嘴里的东西放下来。从例子中可以看出,A的狗很聪明,大脑很发达,可以执行复杂的任务,效率高,消耗的能量也大,价格贵。B的狗头脑简单,只能执行一些简单的任务,效率低,消耗能量小,价格也便宜。
所谓存在即合理,两种架构都有自己应用的场景,并且在各自场景中发挥着不可替代的作用。
目前,开源架构RISC-V正趋向于流行,华为阿里等大厂都在提前布局,RISC-V可以说是现在巨人的肩膀上,指令集比ARM更简单,如果有人对这个有兴趣,后面专门再讲吧。
目前x86架构的CPU主要是Intel的酷睿和AMD的RYZEN,基于ARM架构的Soc有苹果A系列,高通骁龙,华为海思麒麟,三星猎户座等。注意我的表述:x86叫CPU,ARM叫SOC,两者有何区别呢,时候不早了,下期再讲吧。
关注我,定期分享一些科技小知识
收藏