国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Windows > 正文

Win10 ARM版為什么可以運行x86程序?

2019-11-28 04:47:04
字體:
來源:轉載
供稿:網友

感謝網友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應用將獲得非常接近于處理器原生性能的運行速度

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 杭锦后旗| 景宁| 北辰区| 富源县| 公安县| 宣汉县| 贺兰县| 嘉定区| 安乡县| 洞口县| 红安县| 阳春市| 鄂州市| 瑞丽市| 扎囊县| 吴堡县| 新津县| 灵璧县| 西贡区| 上思县| 文水县| 济阳县| 闽清县| 凤翔县| 芮城县| 海丰县| 沂南县| 贵港市| 商河县| 芜湖县| 高安市| 普兰店市| 边坝县| 靖江市| 定远县| 通州市| 瓮安县| 南丰县| 惠州市| 革吉县| 浑源县|