新闻 > 科教 > 正文

你的电脑会越来越流畅 因为英特尔终于想通了

用过电脑的差友应该都知道,Windows的兼容性好到让人几乎找不到不兼容的软件。甚至于最新的 Windows11系统,依然能无压力运行27年前的 Office95。

这种极端的兼容性一方面有微软的功劳,另一方面,英特尔的 x86处理器架构实在是。

太稳定了!

即使是今年最新的英特尔 i3、i5、i7,他们仍然高度兼容1987年的 x86开山之作——8086处理器的指令集。

虽然后面为了新的硬件特性增加了不少新的指令集,但老的指令集也坚决不删。

突出的就是个一脉相承,同宗同源。。。

但是看样子,英特尔在坚持了快半个世纪之后,终于决定给它来一刀了。。。

大概是果子的 ARM处理器给了英特尔太大的震撼,前些日子英特尔发布了一份《构想简化的英特尔架构》白皮书。

其中正式宣布了英特尔未来处理器的新架构—— x86S。

和名字暗示的一样,这个新架构依旧和现有的 x86同源。

但是,英特尔砍掉了一大堆旧特性,把它给精简(Simplify)了。

最核心的一点,就是只保留了64位模式,彻底砍掉了16位和32位模式的支持。

要知道,64位处理器如果想要原生支持旧时代的32位程序,代价还是相当大的。

比如说在骁龙8Gen2里,需要兼容32位的 A710核心,能耗上比没有兼容性包袱的 A715核心差了20%。

而现在,英特尔也像苹果、高通一样,为了产品性能,全面拥抱64位设计了。。。

OK,照理来说,这篇稿子说到这儿就该结束了。结果我在看英特尔这个白皮书的时候,发现里面提到:“简化架构依旧可以通过64位模式提供32位程序支持”。

换句话说,我们现在电脑上那堆破烂好用的小工具、QQ、百度网盘,以及各种网络游戏。。。

这些处于“32位重灾区”的程序,就算一辈子不改用64位代码,也能在英特尔之后的 x86S架构上直接运行。

而不是像手机上那样,被苹果和谷歌推着全面转向64位开发。

我擦,英特尔这是开发了什么划时代的魔法???

为了搞明白英特尔到底是做了什么,才做到了苹果都做不到的事,我好好去找了找资料。

然后发现了一个事:

英特尔移除32位模式,确实不等于移除32位程序支持。甚至移除了32位模式,还能让32位程序的运行速度变快。。。

话说到这块儿,我们就得聊一聊英特尔现在是怎么设计处理器的了。

首先,一块最新的英特尔 i9处理器,运行效率可以媲美苹果 M1处理器。

但是大家猜猜,它在运行一个最新开发的64位程序时,第一步执行的操作是什么?

是把自己模拟成一颗1978年的8086处理器,然后以16位模式开始运行程序代码。。。

别问,问就是“兼容性考虑”的一部分。

但是,模拟出来的16位模式是肯定执行不了64位程序。

所以处理器会退出16位模拟——再切换进32位模拟。。。

32位模拟自然也是跑不了的,这时候处理器才会最终回到64位工作模式,再次开始执行。

OK,这次程序终于跑起来了。

是不是很抽象。。。

所以为什么,处理器里会有这么抽象的一个“逐级切换”的过程呢——因为1985年,英特尔设计首颗32位架构处理器80386的时候,就是这么定义“兼容的运行规范”的。

别问,问就是“兼容性考虑”的一部分。

虽然以如今处理器的性能来说,“逐级模拟”的性能损耗也不是那么大。

但由于操作系统的调度方式,它每秒都要发生几十上百次!

积少成多,这得多浪费啊。。。

就这样英特尔还能把 i9的运行效率做到苹果 M1的水平,对不起英子,以前是我误会你了。

我向你道歉!!!

咳咳,好了我们言归正传:

而这次的 x86S最重要的一点变化,就是砍掉了这个“逐级模拟”模式,起手直接进入64位模式干活。

这不简单多了!

而且没有了16位和32位模拟,不仅是代码执行流程得到了精简,处理器设计也能得到简化。

要知道,这些功能实现的根本,是光刻机在芯片上刻出来了相应的电路。

把这些爷爷辈电路砍掉之后,腾出来的地方自然可以给更新、更宝贵的功能模块使用。

OK,英特尔做了什么我们搞明白了,可是另一个问题还是没解决:

为什么处理器里都没有32位模式了,未来的 x86S也还是能无伤运行32位程序?

这件事,功劳其实在微软。

早在 WinXP64位版发布的时候,微软的程序员们就在系统里内置好了“32位 Windows子系统”,能够以近乎无损且无感的方式转译32位程序到64位系统中执行。

换句话说,现在我们电脑里的32位程序,其实也没用到处理器的32位模式。

它们一直都是被 Windows系统自己转译执行的。。。

emmmm,显得英特尔之前的兼容操作更蠢了。

假如你是个一直使用最新 Windows系统的普通用户,那么英特尔接下来要推广的 x86S对你是百利无一害的。

等新的 x86S处理器发布之后,冲就完事了。

现在大家应该能看出来,作为一个沿用了小半个世纪的架构,每一颗英特尔 x86处理器都是一个小小的“屎山堆”。

上面提到的16-32-64的兼容模式,是对处理器性能比较有影响的一个设计,但它其实还只是 x86这坨屎山的一个侧面。

事实上,英特尔这次为了列举 x86里有多少“过时特性”,花掉了十多页 pdf。。。

x86S将删除和修改的特性列表

所以为什么英特尔憋到现在才开始决定对 x86架构动刀子,以前没有人站出来过吗?

其实是有过的,早在1994年的时候,32位的 x86处理器就已经暴露出问题了。

最主要的隐患是,它的内存寻址最大只支持到4GB,再大就不支持了。

这对当时的个人电脑来说问题不大,但是对于企业和网站的服务器来说,这相当于把性能上限给锁死了。

那一次,英特尔给出的答案是推出全新的“安腾”架构——不仅支持超大的内存,而且设计比 x86架构精巧的多。

雄心勃勃的英特尔想让大家通过“安腾”处理器重新认识电脑。

安腾电脑的贴纸

结果因为完全不兼容以前的 x86程序,任何一个程序要想运行在安腾处理器上,都要重写。

而且据开发过安腾程序的小伙伴说,开发安腾架构的程序,要比开发 x86架构的程序复杂的多。

于是全世界的程序员们一起,给英特尔结结实实上了一课——压根没人想给他搞开发。。。

估计就是因为这次险些把公司玩死的经历,才让英特尔把保证兼容这件事给写进了祖训里。

但是现在,时代又不一样了。

最近两年,苹果靠着 M系列芯片疯狂吃走市场,传统 x86电脑的市占率如山体滑坡。。。

在服务器上,同样是 x86节节败退,ARM步步紧逼。

假如大家看过行业新闻会发现,现在华为、阿里发布的新款服务器,几乎都是一水的 ARM处理器。

兼容性固然可以换来 x86程序员们的肯定,但假如整个 x86市场都要被干穿了,兼容不兼容的。。。

还是先放一边儿吧。

现在的市场风向,已经足够激起英特尔的危机感了。

而 x86S,就是英特尔应对这次危机的答卷。

并且与上一次大刀阔斧,“重新做人”的安腾相比,x86S这次的调整就像一场精妙的手术。

对普通用户来说,原有的软件都能正常使用,就和苹果从英特尔转向 ARM时一样——那处理器的变化和我们有什么关系呢?

我对 x86S能产生怎样的效果,还是比较乐观的。

毕竟前两年就有一个现成的例子:高通和联发科放弃32位支持之后,安卓手机芯片的性能瞬间飙升了一截,首次和早早放弃32位的苹果 A系列芯片站到了同一水平线上。

同样的,对于 x86这位拖着半个世纪包袱的老将,放下过去的重担,想来只会让它跑的更快。

责任编辑: 夏雨荷  来源:差评 转载请注明作者、出处並保持完整。

本文网址:https://www.aboluowang.com/2023/0627/1919551.html