久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:122日期:2023-03-17 08:27:12
win10 ARM版運行x86程序教程:

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

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

首先聊聊64位CPU,Intel和AMD早期采用了完全不同的策略。Intel為64位設(shè)計了全新的IA64架構(gòu)。由于是原生的64位架構(gòu),性能更強,但是對傳統(tǒng)X86應(yīng)用兼容不佳。AMD則選擇在原始32位X86指令集的基礎(chǔ)上擴展64位X86-64指令集,并且將其命名為AMD64。在兼容原有X86的基礎(chǔ)上,同時支持X86-64的擴展64位計算。

由于市場對IA64架構(gòu)反應(yīng)冷淡,Intel最終按照AMD64的模式推出EM64T技術(shù)。類似于AMD64,EM64T包括兩種工作模式,傳統(tǒng)IA-32模式(傳統(tǒng)32位模式)和IA-32e擴展模式(支持?jǐn)U展64位計算)。

最終,IA64逐步退出歷史舞臺,而采用AMD64/EM64T技術(shù)的處理器稱為x86-64處理器,簡稱x64處理器。

對于64位Windows如何運行32位應(yīng)用,選擇有兩種

第一,將32位系統(tǒng)庫(C :WindowsSystem32)移植,并直接在x64處理器(x86-64)上運行32位代碼。

第二,將32位系統(tǒng)庫移植,轉(zhuǎn)換為64位代碼,隨后在本機運行。WOW64(Windows on Windows64)選擇了后者,首先將32位系統(tǒng)庫WindowsSystem32移植至WindowsSysWOW64,隨后通過動態(tài)二進制編譯器,將32位數(shù)據(jù)類型重新編組為64位,調(diào)用約定則自動封裝(X86-64對X86指令集的擴展)。

最終,無論是32位應(yīng)用還是64位應(yīng)用,全部通過調(diào)用同樣的NTDLL完成與內(nèi)核的交互,確保了與內(nèi)核和設(shè)備的交互都可以按本地硬件的速度進行。

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

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

WOW64系統(tǒng)庫(WindowsSysWOW64,移植自32位System32)

Windows ARM運行32位x86應(yīng)用的方案與64位Windows運行32位x86應(yīng)用類似。不同是,為了降低二進制翻譯器的開銷,Windows ARM采用CHPE(Compiled Hybrid Portable Executable)技術(shù),CHPE在X86 DLL中嵌入相同的ARM64代碼。

唯一的不同是,為了32位x86應(yīng)用交互,數(shù)據(jù)類型仍使用32位。64位據(jù)類型的封裝則在WOW抽象層進行。通過CHPE技術(shù),X86 to ARM64二進制編譯器得以高效進行。

最終的過程則與64位運行32位應(yīng)用完全一致,不再贅述。整個開銷取決于應(yīng)用程序代碼、系統(tǒng)代碼和內(nèi)核融合的速度。最終,x86應(yīng)用將獲得非常接近于處理器原生性能的運行速度。

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

標(biāo)簽: Windows系統(tǒng) win10
主站蜘蛛池模板: 辉南县| 铜川市| 贵州省| 建宁县| 安多县| 吉木萨尔县| 清新县| 和硕县| 八宿县| 澄江县| 阳春市| 怀化市| 建德市| 和硕县| 阿拉善盟| 西吉县| 东光县| 康定县| 铜山县| 南部县| 镇巴县| 深水埗区| 陈巴尔虎旗| 综艺| 策勒县| 西城区| 柞水县| 都匀市| 刚察县| 若羌县| 洛隆县| 广丰县| 旌德县| 延寿县| 凤山市| 荆门市| 神池县| 中宁县| 桦川县| 浠水县| 环江|