微软的Surface系列的确让人惊艳,它的出现吹皱了一潭死水般的X86笔记本市场,变革带来了前进的力量,它的影响是巨大的,推动了笔记本和变形本的进化和发展。它本身整个产品线也非常成功。但是仅仅有一个例外,那就是Surface RT。它ARM + Windows的组合让人浮想联翩,曾经被赋予了打破Wintel联盟的希望。但是糟糕的性能和应用的匮乏让它处境尴尬,并最终被微软放弃。
微软并没有气馁,在2017年宣布Win10全面支持ARM。针对应用匮乏的问题,仿照当年苹果迁移到X86的做法,微软也宣布使用仿真的办法来支持现有的原生X86应用程序。久旱逢甘霖,ARM世界一下子可以运行现有的上亿种X86应用,包括很多生产力工具,这也是ARM生态所欠缺的。
经验告诉我们如果一个系统要仿真另一个系统,一定会有部分性能损失。我曾经参与制作一个X86到ARM仿真器,据估算,性能大概下降到只有原来的X86 CPU性能的1/5。当年Intel为了在X86上运行android JNI ARM原生的应用程序,对应用的JNI部分也进行仿真和Binary Translation,一般用户感觉不出来的前提是当时X86比ARM快很多。
微软的仿真系统构成如下:
x86仿真层所有的系统DLL等等都被编译成原生ARM的,只有右上部分的X86 app/dll会在运行当时被一个dynamic binary translator翻译成ARM指令。而这个巨大的性能损失就此产生。
如果从原生ARM性能对比结果这个方面来看ARM和X86的性能差距,我们可以看出ARM旗舰也仅仅可以和低端赛扬性能相当,比X86高端CPU还有很长的路途需要追赶。
网友评论