你的电脑会越来越流畅,因为英特尔终于想通了。
本帖最后由 yangyang.zhang 于 2023-6-26 16:26 编辑来源:差评
用过电脑的差友应该都知道,Windows 的兼容性好到让人几乎找不到不兼容的软件。
甚至于最新的 Windows 11 系统,依然能无压力运行 27 年前的 Office 95。
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIeDu6vKCYYPSm3CfE9yNRPLGXyNVMSkYeZVr1tFTDrztmSIpcMmpVZDQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIeDu6vKCYYPSm3CfE9yNRPLGXyNVMSkYeZVr1tFTDrztmSIpcMmpVZDQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
这种极端的兼容性一方面有微软的功劳,另一方面,英特尔的 x86 处理器架构实在是。。。太稳定了!
即使是今年最新的英特尔 i3、i5、i7,他们仍然高度兼容 1987 年的 x86 开山之作 —— 8086 处理器的指令集。
虽然后面为了新的硬件特性增加了不少新的指令集,但老的指令集也坚决不删。
突出的就是个一脉相承,同宗同源。。。
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIea1z7FEXluib9ns5jicWgNGEto8GBj9EZX4BaONWTt1Euy3UkeibRFo8KA/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
但是看样子,英特尔在坚持了快半个世纪之后,终于决定给它来一刀了。。。
大概是果子的 ARM 处理器给了英特尔太大的震撼,前些日子英特尔发布了一份《构想简化的英特尔架构》白皮书。
其中正式宣布了英特尔未来处理器的新架构 —— x86S。
https://mmbiz.qpic.cn/mmbiz_jpg/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIekbbJPjL7Jyc4p9iag9ETib4IEiaE6iaqlcIDAUZficJLNsJ3Bf0clabVGfA/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1
和名字暗示的一样,这个新架构依旧和现有的 x86 同源。
但是,英特尔砍掉了一大堆旧特性,把它给精简(Simplify)了。
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvvksX327emCvTmj2E9HaAvx5FJ5YDialpc8AnibY8YXwjqATv2nWZKjEktoZV22KOs0FpG3RLibJVEbA/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1最核心的一点,就是只保留了 64 位模式,彻底砍掉了 16 位和 32 位模式的支持。
要知道,64 位处理器如果想要原生支持旧时代的 32 位程序,代价还是相当大的。
比如说在骁龙 8Gen2 里,需要兼容 32 位的 A710 核心,能耗上比没有兼容性包袱的 A715 核心差了 20%。
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIevqFK8uibnPib3QIYt8mpdApZ6JbUezTiaibMLYsh4WNiapWNtQ00fEq2bLQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
而现在,英特尔也像苹果、高通一样,为了产品性能,全面拥抱 64 位设计了。。。
OK,照理来说,这篇稿子说到这儿就该结束了。结果我在看英特尔这个白皮书的时候,发现里面提到:“简化架构依旧可以通过 64 位模式提供 32 位程序支持”。
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIeAbGt1EJUpc2IiapRatFIV6h55MkKRgUHmKgCicpIDNQ04ibYlL0NNracw/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
换句话说,我们现在电脑上那堆 破烂 好用的小工具、QQ、百度网盘,以及各种网络游戏。。。
这些处于 “32 位重灾区” 的程序,就算一辈子不改用 64 位代码,也能在英特尔之后的 x86S 架构上直接运行。
而不是像手机上那样,被苹果和谷歌推着全面转向 64 位开发。
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIeibmsZ1Tr05aOGFic5YTicXaZg7YjkWyEFMEsKW946bwa9m3ARbvoiajKLw/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
我擦,英特尔这是开发了什么划时代的魔法???
为了搞明白英特尔到底是做了什么,才做到了苹果都做不到的事,我好好去找了找资料。
然后发现了一个事:
Image英特尔移除 32 位模式,确实不等于移除 32 位程序支持。甚至移除了 32 位模式,还能让 32 位程序的运行速度变快。。。
话说到这块儿,我们就得聊一聊英特尔现在是怎么设计处理器的了。
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIecMAVBvMFADVRmukclHb1yzcRBogwxzML4YllwVRIvEBeYucVNg2dlQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
首先,一块最新的英特尔 i9 处理器,运行效率可以媲美苹果 M1 处理器。
但是大家猜猜,它在运行一个最新开发的 64 位程序时,第一步执行的操作是什么?
Image是把自己模拟成一颗 1978 年的 8086 处理器,然后以 16 位模式开始运行程序代码。。。
别问,问就是 “兼容性考虑” 的一部分。
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIeiazpQhFsJu9uzEViavg8IPjiaXF42ia8KOCiaC7lFbqF11ZX2Ehlaq2Jz2A/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
但是,模拟出来的 16 位模式是肯定执行不了 64 位程序。
所以处理器会退出 16 位模拟 —— 再切换进 32 位模拟。。。
32 位模拟自然也是跑不了的,这时候处理器才会最终回到 64 位工作模式,再次开始执行。
ImageOK,这次程序终于跑起来了。
是不是很抽象。。。
所以为什么,处理器里会有这么抽象的一个 “逐级切换” 的过程呢 —— 因为 1985 年,英特尔设计首颗 32 位架构处理器 80386 的时候,就是这么定义 “兼容的运行规范” 的。
别问,问就是 “兼容性考虑” 的一部分。
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIeXiaTGnsJ9WiaNrrlBTFMYNFe3n9icFiaZdsib4kia64SbYoWWOOy4xJMqficQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
虽然以如今处理器的性能来说,“逐级模拟” 的性能损耗也不是那么大。
但由于操作系统的调度方式,它每秒都要发生几十上百次!
积少成多,这得多浪费啊。。。
Image就这样英特尔还能把 i9 的运行效率做到苹果 M1 的水平,对不起英子,以前是我误会你了。
我向你道歉!!!
咳咳,好了我们言归正传:
而这次的 x86S 最重要的一点变化,就是砍掉了这个 “逐级模拟” 模式,起手直接进入 64 位模式干活。
这不简单多了!
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIeadKfaLbzKpkJb6cQkRuQ72KLeR41XRMNEeO0ia6gQzM2xbWYLqslnJQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
而且没有了 16 位和 32 位模拟,不仅是代码执行流程得到了精简,处理器设计也能得到简化。
要知道,这些功能实现的根本,是光刻机在芯片上刻出来了相应的电路。
Image把这些爷爷辈电路砍掉之后,腾出来的地方自然可以给更新、更宝贵的功能模块使用。
OK,英特尔做了什么我们搞明白了,可是另一个问题还是没解决:
为什么处理器里都没有 32 位模式了,未来的 x86S 也还是能无伤运行 32 位程序?
这件事,功劳其实在微软。
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIeBGb2nBele4MUU5FrXHruCImPc7Ohm5X0e5XWXXforBNjQMHDvicM4icQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
早在 WinXP 64 位版发布的时候,微软的程序员们就在系统里内置好了 “32 位 Windows 子系统”,能够以近乎无损且无感的方式转译 32 位程序到 64 位系统中执行。
换句话说,现在我们电脑里的 32 位程序,其实也没用到处理器的 32 位模式。
Image它们一直都是被 Windows 系统自己转译执行的。。。
emmmm,显得英特尔之前的兼容操作更蠢了。
假如你是个一直使用最新 Windows 系统的普通用户,那么英特尔接下来要推广的 x86S 对你是百利无一害的。
等新的 x86S 处理器发布之后,冲就完事了 。
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIeubIvmdxxniaKBDJZIAUyphOibDntTj1PPQtOPVeKHMjEAzKIcicz7icuMQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
现在大家应该能看出来,作为一个沿用了小半个世纪的架构,每一颗英特尔 x86 处理器都是一个小小的 “屎山堆”。
上面提到的 16-32-64 的兼容模式,是对处理器性能比较有影响的一个设计,但它其实还只是 x86 这坨屎山的一个侧面。
事实上,英特尔这次为了列举 x86 里有多少 “ 过时特性 ”,花掉了十多页 pdf。。。
x86S 将删除和修改的特性列表
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIeWkbXgVUDKkh9g4moNKPzMvkU0Y0l8HSIHaFMVzPXXVoxicPZNQkVKrw/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
所以为什么英特尔憋到现在才开始决定对 x86 架构动刀子,以前没有人站出来过吗?
其实是有过的,早在 1994 年的时候,32 位的 x86 处理器就已经暴露出问题了。
Image最主要的隐患是,它的内存寻址最大只支持到 4GB,再大就不支持了。
这对当时的个人电脑来说问题不大,但是对于企业和网站的服务器来说,这相当于把性能上限给锁死了。
那一次,英特尔给出的答案是推出全新的“安腾”架构 —— 不仅支持超大的内存,而且设计比 x86 架构精巧的多。
雄心勃勃的英特尔想让大家通过“安腾”处理器重新认识电脑。
安腾电脑的贴纸
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIehVlZvRLspUrd2mqXS9HmYa7GZncgevuBNSsSTISDYEzmNxeFsJGaRA/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
结果因为完全不兼容以前的 x86 程序,任何一个程序要想运行在安腾处理器上,都要重写。
而且据开发过安腾程序的小伙伴说,开发安腾架构的程序,要比开发 x86 架构的程序复杂的多。
于是全世界的程序员们一起,给英特尔结结实实上了一课 —— 压根没人想给他搞开发。。。
Image估计就是因为这次险些把公司玩死的经历,才让英特尔把保证兼容这件事给写进了祖训里。
但是现在,时代又不一样了。
最近两年,苹果靠着 M 系列芯片疯狂吃走市场,传统 x86 电脑的市占率如山体滑坡。。。
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIeicmIvbH6cZaxhkiaa8k9vodytglAPvywd7gpqnUQEne2EF2asWyzJGlQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
在服务器上,同样是 x86 节节败退,ARM 步步紧逼。
假如大家看过行业新闻会发现,现在华为、阿里发布的新款服务器,几乎都是一水的 ARM 处理器。
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIe1vLsIgvNarbYXBkS9DFd5qM97Ea1Qh5USwoWoa1zXnEPdicJ10icVH6w/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
兼容性固然可以换来 x86 程序员们的肯定,但假如整个 x86 市场都要被干穿了,兼容不兼容的。。。
还是先放一边儿吧。
现在的市场风向,已经足够激起英特尔的危机感了。
而 x86S,就是英特尔应对这次危机的答卷。
https://mmbiz.qpic.cn/mmbiz_png/yZPTcMGWibvsT2lFLRcEbq3dysrQzKyIeYHZkIjUGClVnpL7vHepN35QPACib17nIniauE1icbLDtlaCjht36R4CpA/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1
并且与上一次大刀阔斧,“重新做人”的安腾相比,x86S 这次的调整就像一场精妙的手术。
Image对普通用户来说,原有的软件都能正常使用,就和苹果从英特尔转向 ARM 时一样 —— 那处理器的变化和我们有什么关系呢?
我对 x86S 能产生怎样的效果,还是比较乐观的。
毕竟前两年就有一个现成的例子:高通和联发科放弃 32 位支持之后,安卓手机芯片的性能瞬间飙升了一截,首次和早早放弃 32 位的苹果 A 系列芯片站到了同一水平线上。
同样的,对于 x86 这位拖着半个世纪包袱的老将,放下过去的重担,想来只会让它跑的更快。 图都挂了……微信公众号的文章转载起来很麻烦,onenote剪辑都会丢失排版。不知有没有大佬有合适的方案? 这文章的第一行后2个字
充分体现了我对全文的看法 啊pei,满嘴的牙膏 看了开头,竟一时有些分辨不出,这哥们到底是在反串还是在发春 AKIの楓 发表于 2023-6-26 17:26
啊pei,满嘴的牙膏
是牙膏么?我咋觉得吐出来的是画的饼呢? 好像苹果是最喜欢强推新款架构的,直接要求某些API必须新系统 WIN11感觉越用越慢,EDGE浏览器用久了也是慢,重装系统后能好一段时间,有没有彻底的解决方法,用EDGE看腾讯视频的电视剧,有时拖动会卡顿,如果一直打开EDGE浏览器不关闭,想看电视剧打开腾讯视频会播放卡顿或是画面卡起,声音在播放,关闭EDGE浏览器后再打开会好,这是什么原因? 公众号文章发到讨论区是否更合适一些? 旧闻了……这都一个多月前的事儿了 这次到底是个“安腾”还是“奔腾M”呢?让我们拭目以待[偷笑] 没明白,既然xp时代微软已经把这个问题解决了,那intel和amd为什么不在那时就开始设计精简架构的纯64位cpu? 8086处理器的指令集, 恰好是AMD做的!当时8086处理器制造是IBM给INTEL下单的,因为无法按时独立完成这个订单,IBM也同时让AMD完成了最初的8086的X86指令集。X86 是IBM推行的兼容机标准,任何厂家都可以加入其中,才让PC市场迅速壮大普及。前期发展类似安卓系统。而后来X64框架和指令集也是AMD做的! [傻笑]确定不是因为被AMD打残了? 本帖最后由 Endymions 于 2023-6-26 20:18 编辑
蒋PJ 发表于 2023-6-26 19:41
8086处理器的指令集, 恰好是AMD做的!当时8086处理器制造是IBM给INTEL下单的,因为无法按时独立完成这个 ...
你这是啥来源呀
1972年,英特尔推出了8008,英特尔第一款8位微处理器
第一个 x86 设计,8086 项目于 1976 年 5 月开始,最初的目的是作为雄心勃勃但延迟的iAPX 432项目的临时替代品。这是为了吸引其他制造商(摩托罗拉、Zilog和国家半导体)延迟较少的 16 位和32 位处理器的注意力,虽然 8086 是 16 位微处理器,但它使用与 Intel 8 位微处理器(8008、8080 和 8085)相同的微体系结构
Morse worked for Bell Laboratories, IBM's Watson Research Center, Intel, and General Electric Corporate Research and Development. He was a principal architect of Intel 8086 microprocessor chip, designed by Intel between early 1976 and June 8, 1978.
此时的AMD还在逆向intel呢
到 1975 年,AMD 凭借Am9080进入微处理器市场, Am9080 是英特尔 8080的反向工程克隆
1982年2月,AMD与Intel签订合同,成为8086和8088处理器的授权第二来源制造商。IBM希望在其IBM PC中使用 Intel 8088 ,但其当时的政策是其芯片至少需要两个来源。AMD后来在同样的安排下生产了Am286 。1984年,Intel内部决定不再与AMD合作提供产品信息,以巩固其市场优势,并推迟并最终拒绝透露Intel 80386的技术细节。1987 年,AMD 就该问题提起仲裁,英特尔的反应是完全取消 1982 年的技术交换协议 事实是,之前INTE的路线就是X86是CISC处理器在民用PC市场,安腾是AI64位是RISC精简指令定位与专业服务器市场。服务器基本都是64位RISC处理器,因为服务器当时都是8G-512G内存.且PCI PCIE 等设备接口都是64位的, X86是无法支持的64位设备的,也不支持超过4G以上内存。INTEL决定2者绝对不可以兼容。但是AMD 做出了X86-64处理器框架就是X64的AMD64,并可以64位向下兼容32位。将X86民用和64位服务器市场打通了,严重影响了INTEL的服务器64位的市场利润。导致INTEL和AMD在X86框架和指令集上打官司。因为X86最终所属权是IBM的,前期X86指令确是AMD制造的,所以INTEL反倒赔钱给AMD几亿美元。但是后期MMX 和SIMD指令集成方面 AMD确实延用了INTEL发展的技术,所以AMD只能重新反向编译新的X86 MMX SIMD指令集,和华为反向编译思科的代码类似!所以INTEL更新新的X86指令兼容性只能说是解决早期的兼容BUG,毕竟INTEL 上X64框架太仓促了~ 最后总结和补充的是:
X86处理器 叫CISC “复杂指令集”处理器;而服务器处理器 IA64 是使用RISC(精简指令集)。早期X64 框架其实就是增加了寄存器,同样的MMX的寄存器的位数和数量也进行了扩展。兼容了64位指令。并不是真正意义的64位处理器!现在绝大多数都是使用64位程序普及,所以64位处理器的升级之路,是从之前的X86向上兼容64位处理器,转变到64位向下兼容X86指令。所以LZ文章说了一大堆的内容,简单总结就是讲这个问题! 我估计是cpu涉及面太广了,除了民用市场的普通windows和服务器市场的server系统,还有工控机市场等,而这恰好是最需要兼容32bit甚至16bit 8it程序的,所以是不是以后会推出不同架构版本的cpu对应各大类市场,毕竟x86市场还是家大业大,不可能那么快明显萎缩的,arm们只能在局部和特定场景抢占市场 而且x86软件市场那么长的时间,根深蒂固,这是比硬件优势更大的 反正如果我们普通消费者能用上精简架构的cpu当然是大好事,也逼迫一大堆不思进取的普通民用软件升级到64bit 好像现在中小型服务器系统大部分还是windows server的天下 看着就是黑科技,实际用起来如何不知道 Endymions 发表于 2023-6-26 20:02
你这是啥来源呀
1972年,英特尔推出了8008,英特尔第一款8位微处理器
可能你还不清楚X86框架的由来!首先X86是IBM制定的PC兼容机标准,一般用于指80486及之前的PC机,任何厂家都可以在这个标准下设计制造提供 CPU 内存 硬盘 主板等配件。PC就是personal computer的简称,当时除了服务器主机就是苹果的麦金塔个人计算机(苹果的麦金塔虽然比服务器便宜,但也非常昂贵,当初一台售价2W美金,80年代相当于16W人民币,当时中国高级工人月薪30块人民币),它们都是RISC精简指令的处理器,苹果是封闭系统,其CPU是PowerPC微处理器主要也是IBM代工!麦金塔计算机的出现,让IBM断定PC个人电脑时代的来临。为了降低成本加快兼容性个人电脑的发展 创造了X86标准,X86的PC机CPU就是现在的CISC处理器,而Datapoint设计了8008相关的指令集和寄存器系统, 并委托几家公司开发,最终选择了自己的存储供货商Intel。后来英特尔买下了8008技术,当时还是8位处理器
,而8008就是真正意义上的x86体系的基石。因为INTEL当时还是玩存储的,没有能力单独吃下IBM的处理器订单,而AMD倒是妥妥的处理器芯片制造厂还有军方认证,为了接单。接受了IBM给的合作协议,和AMD一起接了IBM处理器订单,I和A做了10年的X86交叉授权!也导致之后在X64框架时INTEL也可以把AMD的 X86-64框架免费拿来用!到了INTEL奔腾处理器拥有了MMX指令集的时代,当时AMD这功能是打不开的,后期就只能自行开发自己的指令延续技术。在奔腾之前的486时代,X86的处理器还是百家争鸣超级多CPU厂家的时代。后来INTEL取消了X86的授权,各大CPU厂就死光光了,除了AMD就是VIA是有一部分X86授权的。后来AMD在台湾VIA的搭桥下,为了和**搞好关系将X86技术免费授权给了我们。因为intel之前已经向美国政府寻得禁止向竞争国家技术出售X86技术的法案,AMD授权**中间还有很多的小故事。以下就有AMD的发展史链接,大家可以自行了解
https://www.tomshardware.com/picturestory/713-amd-cpu-history.html 一通乱讲。不支持32位系统而已,32位应用照样得支持 首先,一块最新的英特尔 i9 处理器,运行效率可以媲美苹果 M1 处理器。
哈哈哈 爆笑了属于是 今天看到最好笑的文 348495990 发表于 2023-6-26 11:27
首先,一块最新的英特尔 i9 处理器,运行效率可以媲美苹果 M1 处理器。
哈哈哈 爆笑了属于是 今天看到最好 ...
你还别说,华硕三星那些把13900H限制到60-70w的。还真就只能和m1 pro掰头下,再往上打不了 老处理器留着别卖[偷笑] 本帖最后由 Endymions 于 2023-6-27 07:03 编辑
蒋PJ 发表于 2023-6-26 21:46
可能你还不清楚X86框架的由来!首先X86是IBM制定的PC兼容机标准,一般用于指80486及之前的PC机,任何厂家 ...
我指的是你原文8086那个错误 你这个链接不是明明白白有有说
英特尔不想将与 IBM 的合同拱手让给竞争对手,因此于 1981 年同意了 IBM 的条款。
根据该协议,AMD 于 1982 年开始生产经过许可的完全相同的英特尔 8086 处理器克隆产品。
AMD 的第二款 x86 处理器是 AM286,它是 Intel 80286 的授权克隆
主要是微软太贪了,总是想要全部人都用他的系统。win11就是没有apm的主板全部不支持了,真要快,你新系统就不支持旧硬件了呗。 学习了
页:
[1]
2