美文网首页
X86架构与ARM架构的区别3

X86架构与ARM架构的区别3

作者: 南枳北桔 | 来源:发表于2017-12-04 23:03 被阅读0次

说到这儿大家应该也已经明白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也未必不可以进入更高的层次。

相关文章

  • CPU和GPU

    CPU两大架构x86架构和ARM架构x86架构无法做到ARM架构的低功耗,ARM架构做不到x86架构的高性能。x8...

  • X86架构与ARM架构的区别3

    说到这儿大家应该也已经明白CISC和RISC的区别和特色了。简而言之,CISC实际上是以增加处理器本身复杂度作为代...

  • X86架构与ARM架构的区别

    这就是“复杂指令集”和“精简指令集”的逻辑区别。可能有人说,明显是精简指令集好啊,但是我们不好去判断它们之间到底谁...

  • m1芯片运行模拟器报错

    ARCHS[@]: unbound variable 图示是删除arm架构,如果是m1芯片,那就要删除x86架构 ...

  • Arm-gcc

    ubuntu是X86架构的gcc编译出的可执行文件只能在X86架构使用,开发板使用的是arm架构所以不能使用X86...

  • 工作|ARM64架构环境安装RPM包常见问题汇总

    一 ARM架构安装RPM包思路 服务器市场X86架构系统一家独大,很多功能包的RPM包在官网几乎只有X86架构的,...

  • CPU虚拟化技术-VT(virtual technology)

    CPU虚拟化技术,即单CPU模拟多CPU技术,电脑CPU是X86架构的,手机处理器是ARM架构的,架构决定...

  • 2021-08-08-💻 cpu体系结构

    1.按照架构区分,现在主流的CPU 分为ARM,X86两种。 架构指令集功耗主要应用领域ARM精简高服务器,台式电...

  • 树莓派centos7配置yum镜像源http://mirrors

    一番搜索, 发现树莓派的架构是arm架构,大部分yum镜像源是 x86, x64的架构,所以不兼容, 也是导致 ...

  • M1芯片pod install 报错

    最近公司换了mac studio,设备升级,但是x86的架构换成arm架构,会遇到一些问题。pod install...

网友评论

      本文标题:X86架构与ARM架构的区别3

      本文链接:https://www.haomeiwen.com/subject/eygfixtx.html