为什么手机不用x86要用arm架构,来一个专业的解释一下谢谢? 听说微软要搞x86 移动平台(手机) 以下内容摘自https://blog.csdn.net/wangfei8348/article/details/ 这里就不去管细节,简单来谈一下,ARM和X86之间为什么不太具有可比性的问题。要搞清楚这个问题首先要明白什么是架构,之前也有很多人提到了架构不同,但架构是什么意思?它是一个比较抽象的概念,不太容易用几句话就解释清楚。 我们要明白CPU是一个执行部件,它之所以能执行,也是因为人们在里面制作了执行各种功能的硬件电路,然后再用一定的逻辑让它按照一定的顺序工作,这样就能完成人们给它的任务。也就是说,如果把CPU看作一个人,首先它要有正常的工作能力(既执行能力),然后又有足够的逻辑能力(能明白做事的顺序),最后还要听的懂别人的话(既指令集),才能正常工作。而这些集中在一起就构成了所谓的“架构”,它可以理解为一套“工具”、“方法”和“规范”的集合。不同的架构之间,工具可能不同,方法可能不同,规范也可能不同,这也造成了它们之间的不兼容——你给一个意大利泥瓦匠看一份中文写成的烹饪指南,他当然不知道应该干什么了。 如果还看不懂,没关系,我们继续。从CPU发明到现在,有非常多种架构,从我们熟悉的X86,ARM,到不太熟悉的MIPS,IA64,它们之间的差距都非常大。但是如果从最基本的逻辑角度来分类的话,它们可以被分为两大类,即所谓的“复杂指令集”与“精简指令集”系统,也就是经常看到的“CISC”与“RISC”。属于这两种类中的各种架构之间最大的区别,在于它们的设计者考虑问题方式的不同。我们可以继续举个例子,比如说我们要命令一个人吃饭,那么我们应该怎么命令呢?我们可以直接对他下达“吃饭”的命令,也可以命令他“先拿勺子,然后舀起一勺饭,然后张嘴,然后送到嘴里,最后咽下去”。从这里可以看到,对于命令别人做事这样一件事情,不同的人有不同的理解,有人认为,如果我首先给接受命令的人以足够的训练,让他掌握各种复杂技能(即在硬件中实现对应的复杂功能),那么以后就可以用非常简单的命令让他去做很复杂的事情——比如只要说一句“吃饭”,他就会吃饭。但是也有人认为这样会让事情变的太复杂,毕竟接受命令的人要做的事情很复杂,如果你这时候想让他吃菜怎么办?难道继续训练他吃菜的方法?我们为什么不可以把事情分为许多非常基本的步骤,这样只需要接受命令的人懂得很少的基本技能,就可以完成同样的工作,无非是下达命令的人稍微累一点——比如现在我要他吃菜,只需要把刚刚吃饭命令里的“舀起一勺饭”改成“舀起一勺菜”,问题就解决了,多么简单。 这就是“复杂指令集”和“精简指令集”的逻辑区别。可能有人说,明显是精简指令集好啊,但是我们不好去判断它们之间到底谁好谁坏,因为目前他们两种指令集都在蓬勃发展,而且都很成功——X86是复杂指令集(CISC)的代表,而ARM则是精简指令集(RISC)的代表,甚至ARM的名字就直接表明了它的技术:Advanced RISC Machine——高级RISC机。 到了这里你就应该明白为什么RISC和CISC之间不好直接比较性能了,因为它们之间的设计思路差异太大。这样的思路导致了CISC和RISC分道扬镳——前者更加专注于高性能但同时高功耗的实现,而后者则专注于小尺寸低功耗领域。实际上也有很多事情CISC更加合适,而另外一些事情则是RISC更加合适,比如在执行高密度的运算任务的时候CISC就更具备优势,而在执行简单重复劳动的时候RISC就能占到上风,比如假设我们是在举办吃饭大赛,那么CISC只需要不停的喊“吃饭吃饭吃饭”就行了,而RISC则要一遍一遍重复吃饭流程,负责喊话的人如果嘴巴不够快(即内存带宽不够大),那么RISC就很难吃的过CISC。但是如果我们只是要两个人把饭舀出来,那么CISC就麻烦得多,因为CISC里没有这么简单的舀饭动作,而RISC就只需要不停喊“舀饭舀饭舀饭”就OK。 这就是CISC和RISC之间的区别。但是在实际情况中问题要比这复杂许许多多,因为各个阵营的设计者都想要提升自家架构的性能。这里面最普遍的就是所谓的“发射”概念。什么叫发射?发射就是同时可以执行多少指令的意思,例如双发射就意味着CPU可以同时拾取两条指令,三发射则自然就是三条了。现代高级处理器已经很少有单发射的实现,例如Cortex A8和A9都是双发射的RISC,而Cortex A15则是三发射。ATOM是双发射CISC,Core系列甚至做到了四发射——这个方面大家倒是不相上下,但是不要忘了CISC的指令更加复杂,也就意味着指令更加强大,还是吃饭的例子,CISC只需要1个指令,而RISC需要5个,那么在内存带宽相同的情况下,CISC能达到的性能是要超过RISC的(就吃饭而言是5倍),而实际中CISC的Core i处理器内存带宽已经超过了100GB/s,而ARM还在为10GB/s而苦苦奋斗,一个更加吃带宽的架构,带宽却只有别人的十分之一,性能自然会受到非常大的制约。为什么说ARM和X86不好比,这也是很重要的一个原因,因为不同的应用对带宽需求是不同的。一旦遇到带宽瓶颈,哪怕ARM处理器已经达到了很高的运算性能,实际上根本发挥不出来,自然也就会落败了。 说到这儿大家应该也已经明白CISC和RISC的区别和特色了。简而言之,CISC实际上是以增加处理器本身复杂度作为代价,去换取更高的性能,而RISC则是将复杂度交给了编译器,牺牲了程序大小和指令带宽,换取了简单和低功耗的硬件实现。但如果事情就这样发展下去,为了提升性能,CISC的处理器将越来越大,而RISC需要的内存带宽则会突破天际,这都是受到技术限制的。所以进十多年来,关于CISC和RISC的区分已经慢慢的在模糊,例如自P6体系(即Pentium Pro)以来,作为CISC代表的X86架构引入了微码概念,与此对应的,处理器内部也增加了所谓的译码器,负责将传统的CISC指令“拆包”为更加短小的微码(uOPs)。一条CISC指令进来以后,会被译码器拆分为数量不等的微码,然后送入处理器的执行管线——这实际上可以理解为RISC内核+CISC解码器。而RISC也引入了指令集这个就逻辑角度而言非常不精简的东西,来增加运算性能。正常而言,一条X86指令会被拆解为2~4个uOPs,平均来看就是3个,因此同样的指令密度下,目前X86的实际指令执行能力应该大约是ARM的3倍左右。不过不要忘了这是基于“同样指令密度”下的一个假设,实际上X86可以达到的指令密度是十倍甚至百倍于ARM的。 最后一个需要考虑的地方就是指令集。这个东西的引入,是为了加速处理器在某些特定应用上性能而设计的,已经有了几十年的历史了。而实际上在目前的应用环境内,起到决定作用的很多时候是指令集而不是CPU核心。X86架构的强大,很多时候也源于指令集的强大,比如我们知道的ATOM,虽然它的X86核心非常羸弱,但是由于它支持SSE3,在很多时候性能甚至可以超过核心性能远远强大于它的Pentium M,这就是指令集的威力。目前X86指令集已经从MMX,发展到了SSE,AVX,而ARM依然还只有简单而基础的NEON。它们之间不成比例的差距造成了实际应用中成百上千倍的性能落差,例如即便是现今最强大的ARM内核依然还在为软解1080p H.264而奋斗,但一颗普通的中端Core i处理器却可以用接近十倍播放速度的速度去压缩1080p H.264视频。至少在这点上,说PC处理器的性能百倍于ARM是无可辩驳的,而实际中这样的例子比比皆是。这也是为什么我在之前说平均下来ARM只有X86几十分之一的性能的原因。 打了这么多字,其实就是为了说明一点,虽然现在ARM很强大,但它距离X86还是非常遥远,并没有因为这几年的进步而缩短,实际上反而在被更快的拉大。毕竟它们设计的出发点不一样,因此根本不具备多少可比性,X86无法做到ARM的功耗,而ARM也无法做到X86的性能。这也是为什么ATOM一直以来都不成功的原因所在——Intel试图用自己的短处去和别人的长处对抗,结果自然是不太好的,要不是Intel拥有这个星球上最先进的半导体工艺,ATOM根本都不可能出现。而ARM如果尝试去和X86拼性能,那结果自然也好不到哪儿去,原因刚刚也解释过了。不过这也不意味着ARM以后就只能占据低端,毕竟任何架构都有其优点,一旦有应用针对其进行优化,那么就可以扬长避短。X86的繁荣也正是因为整个世界的资源都针对它进行了优化所致。只要能为ARM找到合适的应用与适合的领域,未来ARM也未必不可以进入更高的层次 也不是没试过,可惜Intel太菜啊! 当年Intel雄心勃勃,联合诺基亚搞独立于安卓的操作系统(MeeGO),采用Intel的CPU,发布了x86手机的宏伟规划(初期用Atom)。 甚至亲自做出来一款手机造势。 后面的事,大家都知道了。
以为是12-15年的坟,没想到是18年的坟 手机当然用过x86架构,不仅如此,还用过MIPS架构 手机很重要的是基带。没有基带,CPU性能再强也是白搭。拥有基带技术的几家公司,比如高通、联发科、海思、展迅,他们主要是用ARM架构,所以手机就变成了ARM架构是主流 而且高端产品可以把基带和AP分开,中低端只能集成,不然成本压不下来 Intel想要用X86架构做手机,但是他家的CPU做了那么多年好像也没集成一个靠谱点的基带。末期似乎做过集成3G基带的,但是一个是那个时候大家都已经用4G了,再就是还是太晚了,没多少生态了 ARM在能耗方面的优势其实没那么大 手机芯片如今采用 ARM 架构更多是商业和执行层面的问题. x86 的授权集中于 Intel AMD, 还有一个基本没存在感的 VIA, 如果手机厂商/手机芯片厂商想要造一个 x86 芯片, 别说技术上是否适合, 光就商业授权模式就是一个很麻烦的问题. 而 ARM 的架构授权/指令集授权就要开放的多, 而且明码标价. 其次是执行层面的问题, 12 年开始, Intel 收购英飞凌, Nvidia 收购 Icera, 这两家都想把自家原有的 IP 和通信基带放到 SoC 中, 结果搞了好几年才做到. 但是这个时候发现技术上 x86 SoC 没啥优势, 而且关键是移动处理器不赚钱, 所以 Intel 当初连 dGPU 都看不上, 专注 CPU, 而老黄很快把 Icera 处理了, 转向去搞利润率更高的车机/智能车/AI芯片. 另外 x86 不代表就能微架构能效不够高, 而 ARM 架构做到长续航也不仅仅是靠微架构, 还需要总线优化功耗. 而这一直是 x86 处理器厂家的弱点, 直到 M1 杀到桌面市场, 才让推动 AMD 在 6000 系列优化 IF 的功耗.
回到赚钱的问题, 之所以高通一直混的不错, 不是因为火龙卖得贵, 而是因为高通基带能按照 C 端产品售价的一定比例收专利费. 而且提供了包含自研 GPU、ISP、PMIC 在内的大全套 这项做法等于说是让高通能够看人下菜: 同样的骁龙8, 三星卖给三星折叠屏机型, 相比红米高端机, 能产生更多的利润. 相比之下发哥虽然也有基带, 也有几乎能对等的大全套, 但是毕竟在整体方案表现上略逊于高通, 自然也无法开出如此霸道的专利费条件. 至于 x86 能不能杀回来, 我看基本不可能了, 毕竟 Intel 把英飞凌这部分卖给了苹果, 而 AMD 对这种长投入、利润率不明朗的项目, Lisa Su 也不是傻子, 肯定不会入坑. 苹果基带目前碰到的问题是, 第一表现仍然不如高通, 需要更多的研发和场地测试, 毕竟高通已经扎根多年, 不是轻易能打败的; 其次是专利问题, 苹果手头掌握的专利数量还没有能到和高通掰手腕的程度, 只能靠时间去推动质变, 在互授权谈判中占据相对有利地位. 而如今手机芯片虽然遍地 ARM, 但是 Softbank 手上 ARM 自 NV 收购失败后, IPO 的前景并不乐观, 孙正义这个人似乎想改变 ARM 原有的授权模式, 高通收购 Nuvia 这件事引发的矛盾只是表象之一, 可见 ARM 会加强对生态的主导, 同时利用这种主导攫取更高的利润. 所以说高通想要用 Nuvia 去打败苹果, 反倒是继续被 ARM 拖后腿. 然而 ISA 这个东西并不代表实现, 这也就是为什么苹果能选择在 ARM 上自研架构. 如今 RISC-V 已经迅速的占领了 MCU 领域, 很多新的 IoT SoC 芯片都采用了 RISC-V 的处理器, 这也让 ARM 不得不开放 M0 架构, 但在开源 RV 架构面前已经缺乏吸引力. 因此我相信大概在未来 5-10 年后, RISC-V 有望在消费级市场领域大放异彩, ARM 的店大欺客不得人心, 而 x86 相对封闭的模式, 也无法满足各个行业对更好芯片的需求. 手机soc战争基本就是基带加天线战争,基带手里有技术的其实就intel(但很明显烂),华为,mtk和低通。 天线就mtk和低通,其他人都得交钱。 关键是2/3g时代CDMA是纯低通技术,WCDMA是半低通技术,mtk当年被整的都挺惨的。 除了苹果量太大低通舍不得,其他家低通基本不肯卖基带/天线,要么就是和soc一个价。 那这直接意味着你soc套组实际上毫无竞争力,而且就算oem买低通,intel也不会给你集成不是吗…谁没事研发这玩意。 intel当年CPU还行,GPU说白了atom当时都是powerVR,都还不是自己的技术线,和苹果是实际上一个技术线,兼容性上么,x86的Android一直有厂商维护,兼容性特别差也不至于,而且安卓作为一个新系统其实没那么吃硬件平台——x86平台模拟器/虚拟机大多都能跑,能用肯定是能用的。 但intel基带/天线啥水平想必大家有目共睹…无论是当年的mi3移动版还是后面的几个苹果。 那阵被低通洗掉的厂商又不止intel,ti和Nvidia实际上都被低通整出手机soc市场了,他们都是arm。 这说实话和架构关系没那么大。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/61805.html