苹果新CPU如何兼容并超越Intel? -ErrataRob

20-11-28 banq

Apple取代Intel处理器的确非常有效。一些其他持怀疑态度的技术人员将其称为“黑魔法”。它可以很好地运行Intel代码。

根本原因是Arm和Intel架构已经融合。是的,指令集是不同的,但是基本的体系结构问题已经非常相似。

最大的障碍是“内存排序”,即两个CPU彼此看到内存修改的顺序。这是影响微软在基于Arm的“ Surface”笔记本电脑上模拟x86的最大问题。

苹果只是将Intel的内存顺序添加到了他们的CPU中。当运行那些编译成x86的代码时,它们会切换CPU的模式以符合Intel的内存顺序。

解决了基础架构问题后,运行x86代码仅意味着将这些指令转换为Arm等效指令。这非常有效,并且导致代码通常以相同的速度运行。但是,有时这种转换也会导致代码稍慢,但是基准测试显示x86始终至少是速度的70%。

当您为新CPU架构重新编译代码时,它通常会中断。但是正如我在上面说的那样:Arm和Intel架构已经融合到足够多的程度,从而使代码被破坏的可能性大大降低,从而使重新编译更加容易。

 

苹果做出了令人惊讶的决策:他们使用特殊的JavaScript特定指令,双倍大小的L1缓存以及其他我不知道的技巧对JavaScript进行了优化。

因此,当您浏览网页时,他们的新笔记本电脑看起来更快,用电池续航时间更长,这是因为JavaScript,即使其他基准测试显示它的速度与Intel / AMD大致相同。

较旧的MacBook Air具有双核CPU,运行频率为3.8 GHz,但在低功耗模式下为1.2 GHz。快速模式和慢速模式之间的切换是节省移动电源的方式。但是最终效率低下。英特尔CPU设计为以5 GHz运行。将时钟降频到1 GHz可以节省功率。

苹果公司的策略是使用两种处理器:一种设计为在3 GHz以上运行速度快,另一种设计为在2 GHz以下运行速度慢。苹果将​​其称为“性能”和“效率”处理器。每个人都进行了优化,以实现自己的最佳目标。

当需要节省电量时,他们关闭“性能”处理器并在其“效率”处理器上运行代码。他们拥有4倍性能处理器(是旧Mac的两倍)和4倍效率处理器。

所有8个都可以激活。当做一些可以使用8个处理器的事情(例如编译代码)时,它的运行速度很快。8个处理器与旧笔记本中的2个处理器有所不同。

这个故事的很大一部分是,英特尔在摩尔定律方面落后了约3年。Apple Silicon使用TMSC的最新5nm技术,而Intel使用较老的10nm / 7nm一代。英特尔的许多产品线都使用甚至更老的14nm / 10nm一代。

 

这都不是真正的“黑魔法”。这一切都是可以理解的。只是所有各种事情都被很好地执行了,从而导致综合结果提升,这是一个巨大的飞跃。

 

另一个“魔术”技巧是他们的“ Swift”编程语言如何在Android中使用“引用计数”而不是“垃圾收集”。他们在CPU中做了一些事情,使引用计数的速度提高了一倍。

即使翻译x86代码,计数开销(已经比垃圾回收效率更高)的所有引用都减少了一半。这又是另一个怪异的性能增强措施。。

 

1
猜你喜欢