主頁(yè) > 知識(shí)庫(kù) > Win10 ARM版為什么可以運(yùn)行x86程序?

Win10 ARM版為什么可以運(yùn)行x86程序?

熱門標(biāo)簽:阿里云百應(yīng)ai電話機(jī)器人 服務(wù)行業(yè)的電話機(jī)器人 電銷機(jī)器人推薦.靈音云機(jī)器人 亮劍電銷機(jī)器人怎么樣 安陽(yáng)百應(yīng)電話機(jī)器人 臨沂電銷機(jī)器人線路 百度地圖標(biāo)注怎么備注入駐 地圖衛(wèi)星的圖標(biāo)怎么標(biāo)注 電話外呼系統(tǒng)安裝

感謝網(wǎng)友Star2011的投稿

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

首先聊聊64位CPU,Intel和AMD早期采用了完全不同的策略。Intel為64位設(shè)計(jì)了全新的IA64架構(gòu)。由于是原生的64位架構(gòu),性能更強(qiáng),但是對(duì)傳統(tǒng)X86應(yīng)用兼容不佳。AMD則選擇在原始32位X86指令集的基礎(chǔ)上擴(kuò)展64位X86-64指令集,并且將其命名為AMD64。在兼容原有X86的基礎(chǔ)上,同時(shí)支持X86-64的擴(kuò)展64位計(jì)算。由于市場(chǎng)對(duì)IA64架構(gòu)反應(yīng)冷淡,Intel最終按照AMD64的模式推出EM64T技術(shù)。類似于AMD64,EM64T包括兩種工作模式,傳統(tǒng)IA-32模式(傳統(tǒng)32位模式)和IA-32e擴(kuò)展模式(支持?jǐn)U展64位計(jì)算)。最終,IA64逐步退出歷史舞臺(tái),而采用AMD64/EM64T技術(shù)的處理器稱為x86-64處理器,簡(jiǎn)稱x64處理器。

對(duì)于64位Windows如何運(yùn)行32位應(yīng)用,選擇有兩種。第一,將32位系統(tǒng)庫(kù)(C :\Windows\System32)移植,并直接在x64處理器(x86-64)上運(yùn)行32位代碼。第二,將32位系統(tǒng)庫(kù)移植,轉(zhuǎn)換為64位代碼,隨后在本機(jī)運(yùn)行。WOW64(Windows on Windows64)選擇了后者,首先將32位系統(tǒng)庫(kù)Windows\System32移植至Windows\SysWOW64,隨后通過(guò)動(dòng)態(tài)二進(jìn)制編譯器,將32位數(shù)據(jù)類型重新編組為64位,調(diào)用約定則自動(dòng)封裝(X86-64對(duì)X86指令集的擴(kuò)展)。最終,無(wú)論是32位應(yīng)用還是64位應(yīng)用,全部通過(guò)調(diào)用同樣的NTDLL完成與內(nèi)核的交互,確保了與內(nèi)核和設(shè)備的交互都可以按本地硬件的速度進(jìn)行。

WOW64系統(tǒng)庫(kù)(Windows\SysWOW64,移植自32位System32)

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

標(biāo)簽:湘西 河池 武威 酒泉 阿克蘇 香港 澳門 廣安

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Win10 ARM版為什么可以運(yùn)行x86程序?》,本文關(guān)鍵詞  Win10,ARM,版,為什么,可以,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Win10 ARM版為什么可以運(yùn)行x86程序?》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Win10 ARM版為什么可以運(yùn)行x86程序?的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章