日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

win10 ARM版怎么運行x86程序?win10 ARM版運行x86程序教程

win10 ARM版運行x86程序教程:在微軟Build 2017開發(fā)者大會上 , 微軟宣布ARM版Windows10將會支持x86軟件 。討論之前 , 我們有必要首先回顧下64位Windows如何運行32位應用 。

win10 ARM版怎么運行x86程序?win10 ARM版運行x86程序教程


首先聊聊64位CPU , Intel和AMD早期采用了完全不同的策略 。Intel為64位設計了全新的IA64架構 。由于是原生的64位架構 , 性能更強 , 但是對傳統(tǒng)X86應用兼容不佳 。AMD則選擇在原始32位X86指令集的基礎上擴展64位X86-64指令集 , 并且將其命名為AMD64 。在兼容原有X86的基礎上 , 同時支持X86-64的擴展64位計算 。
由于市場對IA64架構反應冷淡 , Intel最終按照AMD64的模式推出EM64T技術 。類似于AMD64 , EM64T包括兩種工作模式 , 傳統(tǒng)IA-32模式(傳統(tǒng)32位模式)和IA-32e擴展模式(支持擴展64位計算) 。
最終 , IA64逐步退出歷史舞臺 , 而采用AMD64/EM64T技術的處理器稱為x86-64處理器 , 簡稱x64處理器 。
對于64位Windows如何運行32位應用 , 選擇有兩種
第一 , 將32位系統(tǒng)庫(C :WindowsSystem32)移植 , 并直接在x64處理器(x86-64)上運行32位代碼 。
第二 , 將32位系統(tǒng)庫移植 , 轉換為64位代碼 , 隨后在本機運行 。WOW64(Windows on Windows64)選擇了后者 , 首先將32位系統(tǒng)庫WindowsSystem32移植至WindowsSysWOW64 , 隨后通過動態(tài)二進制編譯器 , 將32位數(shù)據(jù)類型重新編組為64位 , 調用約定則自動封裝(X86-64對X86指令集的擴展) 。
最終 , 無論是32位應用還是64位應用 , 全部通過調用同樣的NTDLL完成與內核的交互 , 確保了與內核和設備的交互都可以按本地硬件的速度進行 。
win10 ARM版怎么運行x86程序?win10 ARM版運行x86程序教程



win10 ARM版怎么運行x86程序?win10 ARM版運行x86程序教程


WOW64系統(tǒng)庫(WindowsSysWOW64 , 移植自32位System32)
Windows ARM運行32位x86應用的方案與64位Windows運行32位x86應用類似 。不同是 , 為了降低二進制翻譯器的開銷 , Windows ARM采用CHPE(Compiled Hybrid Portable Executable)技術 , CHPE在X86 DLL中嵌入相同的ARM64代碼 。
唯一的不同是 , 為了32位x86應用交互 , 數(shù)據(jù)類型仍使用32位 。64位據(jù)類型的封裝則在WOW抽象層進行 。通過CHPE技術 , X86 to ARM64二進制編譯器得以高效進行 。
最終的過程則與64位運行32位應用完全一致 , 不再贅述 。整個開銷取決于應用程序代碼、系統(tǒng)代碼和內核融合的速度 。最終 , x86應用將獲得非常接近于處理器原生性能的運行速度 。
【win10 ARM版怎么運行x86程序?win10 ARM版運行x86程序教程】
win10 ARM版怎么運行x86程序?win10 ARM版運行x86程序教程


    推薦閱讀