Win10 ARM版为什么可以运行x86程序?
(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun)
感谢网友Star2011的投稿
在微软Build 2017开发者大会上,微软宣布ARM版Windows10将会支持x86软件。讨论之前,我们有必要首先回顾下64位Windows如何运行32位应用。
首先聊聊64位CPU,Intel和AMD早期采用了完全不同的策略。Intel为64位设计了全新的IA64架构。由于是原生的64位架构,性能更强,但是对传统X86应用兼容不佳。AMD则选择在原始32位X86指令集的基础上扩展64位X86-64指令集,并且将其命名为AMD64。在兼容原有X86的基础上,同时支持X86-64的扩展64位计算。由于市场对IA64架构反应冷淡,Intel最终按照AMD64的模式推出EM64T技术。类似于AMD64,EM64T包括两种工作模式,传统IA-32模式(传统32位模式)和IA-32e扩展模式(支持扩展64位计算)。最终,IA64逐步退出历史舞台,而采用AMD64/EM64T技术的处理器称为x86-64处理器,简称x64处理器。
对于64位Windows如何运行32位应用,选择有两种。第一,将32位系统库(C :\Windows\System32)移植,并直接在x64处理器(x86-64)上运行32位代码。第二,将32位系统库移植,转换为64位代码,随后在本机运行。WOW64(Windows on Windows64)选择了后者,首先将32位系统库Windows\System32移植至Windows\SysWOW64,随后通过动态二进制编译器,将32位数据类型重新编组为64位,调用约定则自动封装(X86-64对X86指令集的扩展)。最终,无论是32位应用还是64位应用,全部通过调用同样的NTDLL完成与内核的交互,确保了与内核和设备的交互都可以按本地硬件的速度进行。
WOW64系统库(Windows\SysWOW64,移植自32位System32)
Windows ARM运行32位x86应用的方案与64位Windows运行32位x86应用类似。不同是,为了降低二进制翻译器的开销,Windows ARM采用CHPE(Compiled Hybrid Portable Executable)技术,CHPE在X86 DLL中嵌入相同的ARM64代码。唯一的不同是,为了32位x86应用交互,数据类型仍使用32位。64位据类型的封装则在WOW抽象层进行。通过CHPE技术,X86 to ARM64二进制编译器得以高效进行。最终的过程则与64位运行32位应用完全一致,不再赘述。整个开销取决于应用程序代码、系统代码和内核融合的速度。最终,x86应用将获得非常接近于处理器原生性能的运行速度。
相关文章
win10安全模式启动蓝屏怎么办? Win10安全模式蓝屏修复方法
win10安全模式启动蓝屏怎么办?win10系统进入安全模式的时候,发现蓝屏了,该怎么解决呢?下面我们就来看看Win10安全模式蓝屏修复方法2023-06-12win10中0xc000000e分区怎么修复引导? 错误代码0xc000000e解决方法
Win10错误代码0xc000000e怎么解决?出现这个问题很可能是因为我们电脑在安装系统的时候出现了一些设置上的问题,我们可以进行重新设置来修复系统,详细请看下文介绍2023-06-08win10如何解决开机win32错误报告的问题? Win32错误报告拒绝访问解决办
win10如何解决开机win32错误报告的问题?win10系统开机提示:“Win32错误报告拒绝访问”,该怎么办呢? 详细请看下文介绍2023-06-08Win10安装失败0x8007042b怎么办?Win10安装失败0x8007042b解决方法
当我们安装系统时,出现安装失败,并且提示错误代码0x8007042B,这是怎么回事呢?本文就为大家带来了详细的解决方法,需要的朋友一起看看吧2023-06-07win10怎么设置默认解压软件? win10压缩文件默认打开方式的技巧
win10怎么设置默认解压软件?win10系统中的压缩文件想要设置默认的解压软件,该怎么操作呢?下面我们就来看看win10压缩文件默认打开方式的技巧2023-05-30win10怎么通过USB连接惠普打印机? win10惠普打印机连接技巧
win10怎么通过USB连接惠普打印机?win10系统的设备想要连接打印机,该怎么通过usb连接呢?下面我们就来看看win10惠普打印机连接技巧2023-05-29Win10旋转功能锁定为灰色怎么解除? win10旋转锁定灰色状态解决办法
Win10旋转功能锁定为灰色怎么解除?win10屏幕总是自动旋转,想要关闭旋转,发现旋转锁定是灰色的,该怎么解决呢?下面我们就来看看win10旋转锁定灰色状态解决办法2023-05-29Win10任务栏不显示运行程序怎么办? Win10任务栏找不到应用图标的解决办
Win10任务栏不显示运行程序怎么办?win10打开的程序一般都会在任务栏中显示,如果任务栏找不到正在运行的应用图标怎么办?下面我们就来看看Win10任务栏找不到应用图标的解2023-05-29TranslucentTB怎么设置开机启动? Win10开启TranslucentTB启动项的技巧
TranslucentTB怎么设置开机启动?win10系统想要设置开机启动项,该怎么设置呢?下面我们就来看看Win10开启TranslucentTB启动项的技巧2023-05-26- win10重装系统后进入系统会让选择系统怎么办?win10重装系统的时候,进入系统需要重新选择系统,该怎么操作呢?下面我们就来看看详细的教程2023-05-25
最新评论