为啥arm架构比x86 x64省电?

这个问题可以扩展为:为什么arm架构的芯片都那么省电!

引言最初的ARM架构被设计成即使是一个相对简单的指令译码器,也能以架构允许的最大速度运行。

后来的ARM版本有稍微复杂一点的指令解码逻辑,但是每条指令都是一个或两个单词长。

在x86架构上,指令可以是1字节长,也可以是14字节长。

在设计最初的x86架构时,指令是按顺序执行的,而且每个指令都需要多个周期才能执行。

如果执行一条指令需要三个周期,那么找到下一条指令的起始点也需要三个周期。

另一方面,现在人们很难忍受x86代码运行得那么慢了。

设计能够快速运行x86指令的硬件是有可能的20年前,你可能会认为复杂的指令解码会限制x86的速度,但事实并非如此。

x86架构要求英特尔和其他芯片制造商,包括一些相当复杂的转换和缓存逻辑,以便一段代码第一次运行时,就转换成易于解码的形式。

如果代码再次运行,则可以跳过转换。 可纵然是非常快的芯片,这些逻辑也消耗能量。

相对而言,许多低功耗ARM芯片的前端逻辑要少得多。

x86有这么缓存转换性能,arm比不上;可是,没有了额外技能加身的x86,比arm要逊色的多。

说说功耗在低功耗的应用中,ARM处理器一直是首选,现在仍然是首选。

比较功耗并不是一件简单的事情。 操作系统、RAM大小和类型、闪存和使用的接口等方面需要与处理器的影响分开。

然而,一般的规则是,ARM在关闭处理器和等待唤醒的模式和可能性方面非常强大。 这种空闲模式是指操作系统正在运行,但只等待输入(例如来自鼠标、键盘或应用程序的输入)。

X86处理器的预期功耗大约为1瓦特。 在i.MX6处理器的功耗将是这个数字的一半。

此外,ARM高端部分得益于少数状态/模式,这些 状态/模式 (states/modes)的功耗低至100mW,而不牺牲合理快速唤醒的可能性。

低功耗有许多优点。

手持式和电池供电的产品,将受益于增加电池寿命。 做产品设计则可以使用更小的电池。 由于需要更小的冷却装置,材料清单、BOM成本和产品尺寸可能会进一步减少。

写在最后天下武功,唯快不破!小而快而全的arm架构普及也得益于其自身设计上的权衡。

Happy coding :)

我是@程序员小助手,持续分享编程故事,欢迎关注。

声明:准根文档网所有作品(图片、文字)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系 saizw@outlook.com