随着苹果在北京时间6月23日2020WWDC开发者大会上宣布将在全新Mac产品中全面引入自研ARM架构芯片而非继续使用英特尔芯片消息后,arm架构与x86架构引起一些相关用户的兴趣。
今天我们介绍下arm架构和x86架构的区别和各自的一些优势,以及了解下苹果为什么要放弃x86架构引入arm架构芯片。
首先在根本上了解一下arm架构和x86架构的区别,即所谓的“复杂指令集”和“精简指令集”系统,x86架构使用的是复杂指令集(CISC);而 arm架构使用的是精简指令集(RISC),区别在于考虑问题的方式不同。
借用一个网上例子,比如说我们要命令一个人吃饭,那么我们应该怎么命令呢?我们可以直接对他下达“吃饭”的命令,也可以命令他“先拿勺子,然后舀起一勺饭,然后张嘴,然后送到嘴里,最后咽下去”。
从以上例子可以看到,对于命令别人做事这样一件事情,不同的人有不同的理解,有人认为,如果我首先给接受命令的人以足够的训练,让他掌握各种复杂技能(即在硬件中实现对应的复杂功能),那么以后就可以用非常简单的命令让他去做很复杂的事情——比如只要说一句“吃饭”,他就会吃饭。但是也有人认为这样会让事情变的太复杂,毕竟接受命令的人要做的事情很复杂,如果你这时候想让他吃菜怎么办?难道继续训练他吃菜的方法?我们为什么不可以把事情分为许多非常基本的步骤,这样只需要接受命令的人懂得很少的基本技能,就可以完成同样的工作,无非是下达命令的人稍微累一点——比如现在我要他吃菜,只需要把刚刚吃饭命令里的“舀起一勺饭”改成“舀起一勺菜”,问题就解决了,多么简单。这就是“复杂指令集”和“精简指令集”的逻辑区别。
两者的差异也使得在应用领域中有着相对明显的区分:
x86架构更加专注于高性能但同时高功耗的实现,而arm架构则专注于低功耗领域。
Mac产品之前采用的x86架构CPU的功耗通常在几十到一百多,甚至是200的功耗。相对于笔记本需要的续航,静音,散热等需求,显得有点背道而驰,而arm架构的CPU功能可以做到个位数,更加符合笔记本的需求,同时可以打通iOS和iPadOS的情况下,在一部分常规需求的客户就更可能会更偏向Mac的选择。
近十多年来,关于CISC和RISC的区分已经慢慢的在模糊,例如自P6体系(即Pentium Pro)以来,作为CISC代表的X86架构引入了微码概念,与此对应的,处理器内部也增加了所谓的译码器,负责将传统的CISC指令“拆包”为更加短小的微码(uOPs)。一条CISC指令进来以后,会被译码器拆分为数量不等的微码,然后送入处理器的执行管线——这实际上可以理解为RISC内核+CISC解码器。而RISC也引入了指令集这个就逻辑角度而言非常不精简的东西,来增加运算性能。
以上就是两种架构的区别和各自的优点。相信读过上边的文章,大家已经对两种架构有了更深的认识和理解。Vecloud提供专业的IDC服务,资源覆盖国内和东南亚、欧美等国家和地区。欢迎咨询。