打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
​ 为啥arm架构比x86 x64省电?
userphoto

2023.10.30 辽宁

关注

反对  的高赞答。x86的兼容性负担是很重没错,但这并非ARM省电的原因。


如果生产工艺相同,频率相同的两个CPU,功耗的由参与计算的晶体管数量决定。今天的CPU,以Intel的Skylake架构为例,单个核心(不含LLC)晶体管数量大概在150M左右,而x86的几个里程碑产品,晶体管数量分别是:

  • 8086:29K[1]
  • 80386:275K[2]
  • P5:3.1M-4.5M(P55C)[3]

所谓的兼容性负担,也就是早期使用现在几乎不用的指令,基本是P5之前已经出现,而且386之前占大部分,整个CPU才这么点晶体管,这几个指令才用了几个?另外80386以及之前的CPU都是不带FPU的,实现FPU消耗的晶体管更多。今天的CPU,整数指令的执行单元消耗的晶体管,大概占不到2%,具体到这些因为兼容性而保留下来的指令的实现部分,真没有几个。


此外今天CPU的功耗控制粒度非常细,每个指令的实现电路的晶体管,在没有对应指令执行时消耗的功耗完全可以忽略。从这个角度来说,这些老旧指令的实现并不会影响CPU功耗,即便在执行对应指令时,因为都是早期的16位指令和极个别32位指令,功耗比流行的64位整数/浮点指令、128-512位的SIMD指令更低。


正面回答一下题目:

ARM架构不一定比x86省电。


严格来说,ARM和x86都是指令集架构,说白了就是硬件和软件之间的接口定义,本身并没有功耗一说。而即便是具体实现这些指令集的CPU微架构,不同的微架构CPU的功耗,或者相同微架构但使用不同生产工艺生产的CPU,甚至同一个CPU设定了不同的工作频率,功耗都是不同的。一定要说ARM和x86两种指令集对于功耗的影响,也就是x86是变长指令,解码单元的实现需要消耗更多的晶体管而已。但反过来,因为x86是变长指令,指令更紧凑,大量指令吞吐时,FETCH单元的负载要比ARM低一些。


x86和ARM相对比较接近的两个微架构,是Cortex-A77和AMD的Zen2,虽然细节上有很多差异,但都是取指、译码、调度、执行、回写几个大模块,最核心的执行单元部分都是整数、浮点、LS分离,整数部分都是4ALU,浮点都是2个SIMD单元。


同样是台积电7nm工艺,AMD的3990X,64核心满载,频率3.46GHz。Core耗电197W,平均单个核心3.078W;整体耗电279W,平均单个核心4.36W[4]。而2.845GHz的骁龙865,跑单线程的SPECfp2006,功耗是3.06W[5]。按照功耗和频率的立方成正比关系,假设3990X和865一样以2.845GHz运行,3990X单个核心功耗1.711W,整体平均2.423W。这样算下来x86的3990比ARM的865更省电。性能方面,如果直接按照频率和SPEC2006得分计算的话,2.845GHz的865略强于单核睿频最高4.7GHz的同样是Zen2架构的3950X,大概是整数高10%,浮点高5%,但功耗比3990X高25%。


当然,这样计算相当不严谨,因为除了核心外的部分,3990X是四通道DDR4,64个核心共享;而865跑SPEC是单个核心独占LPDDR5。但反过来,3990X的设计还需要考虑核心睿频到4.35GHz时候运行,使用了19级流水线;而865不超过3GHz,只用了13级流水线。


事实上,ARM在移动端因为电池容量无法做到高频,服务器端不少场合更看重Throughput性能也可以用低主频换取更低的功耗来容纳更多的核心;而x86大量的桌面应用更看重响应时间而不得不牺牲功耗来换取高频,所以给大家的印象就是x86更耗电而已。这是生态问题,而不是指令集架构问题。


此外,ARM天才的大小核设计,在处理一些简单任务以及待机时功耗更低,对于使用电池的移动设备来说可以大幅延长续航时间,这才是微软Surface X使用ARM CPU最重要的原因——也因此Intel也在学习模仿,已经流出的消息中LakeField、Alder Lake都是大小核搭配的架构。


参考

  1. ^WiKi:Intel 8086 https://en.wikipedia.org/wiki/Intel_8086
  2. ^WiKi:Intel 80386 https://en.wikipedia.org/wiki/Intel_80386
  3. ^WiKi:P5 (microarchitecture) https://en.wikipedia.org/wiki/P5_(microarchitecture)
  4. ^AnandTech: The 64 Core Threadripper 3990X CPU Review https://www.anandtech.com/show/15483/amd-threadripper-3990x-review/2
  5. ^Anandtech:The Snapdragon 865 Performance Preview https://www.anandtech.com/show/15207/the-snapdragon-865-performance-preview-setting-the-stage-for-flagship-android-2020/2
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
手机CPU与电脑CPU性能究竟相差多少?
解读CPU参数—频率、核心、线程、缓存、架构、制程、功耗、接口
UC头条:真高明! 三星自主CPU架构大白: 高通叹服
探梦方寸间 移动终端CPU、GPU浅析 | 微型计算机官方网站 MCPlive.cn
Arm发布5nm新架构:Cortex-A78和Cortex-X1,功耗暴降50%、性能提升30%
纠正机油对大六CPU的误解 - 诺基亚6220C论坛 - 塞班智能手机论坛-Symbian...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服