win10 ARM版运行x86程序教程:在微软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 :WindowsSystem32)移植 , 并直接在x64处理器(x86-64)上运行32位代码 。
第二 , 将32位系统库移植 , 转换为64位代码 , 随后在本机运行 。WOW64(Windows on Windows64)选择了后者 , 首先将32位系统库WindowsSystem32移植至WindowsSysWOW64 , 随后通过动态二进制编译器 , 将32位数据类型重新编组为64位 , 调用约定则自动封装(X86-64对X86指令集的扩展) 。
最终 , 无论是32位应用还是64位应用 , 全部通过调用同样的NTDLL完成与内核的交互 , 确保了与内核和设备的交互都可以按本地硬件的速度进行 。

文章插图

文章插图
WOW64系统库(WindowsSysWOW64 , 移植自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 ARM版怎么运行x86程序?win10 ARM版运行x86程序教程】

文章插图
- 沃尔沃混动版SUV有哪些
- vans普通版和pro区别 vans普通版和pro有什么区别
- 6600软件版本历史
- i排版如何更换样式颜色 颜色设置方法分享
- iTunes最新版本如何设置铃声 iTunes新版设置手机铃声技巧介绍
- OPPO手机设置coloros版搜狗输入法的方法教程
- i排版图片工具条如何使用 工具条使用方法介绍
- 迅雷U享版离线如何下载 离线下载方法说明
- 微信编辑器i排版如何拼图 快速拼图技巧分享
- i排版如何把图片变成圆形图 圆形图片设置介绍
