简单了解一下arm架构和x86架构

作者:噢易云    发布时间:2020-07-13 16:37
随着苹果在北京时间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也引入了指令集这个就逻辑角度而言非常不精简的东西,来增加运算性能。
本文地址:
相关热门新闻

业务
合作