Win10 ARM版如何運行x86程序?IT之家帶你一文讀懂

2020-12-13 IT之家

在微軟Build2017開發者大會上,微軟宣布ARM版將會支持x86軟體。討論之前,我們有必要首先回顧下64位Windows如何運行32位應用。Windows10

首先聊聊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(WindowsonWindows64)選擇了後者,首先將32位系統庫Windows\System32移植至Windows\SysWOW64,隨後通過動態二進位編譯器,將32位數據類型重新編組為64位,調用約定則自動封裝(X86-64對X86指令集的擴展)。最終,無論是32位應用還是64位應用,全部通過調用同樣的NTDLL完成與內核的交互,確保了與內核和設備的交互都可以按本地硬體的速度進行。

WOW64系統庫(Windows\SysWOW64,移植自32位System32)

WindowsARM運行32位x86應用的方案與64位Windows運行32位x86應用類似。不同是,為了降低二進位翻譯器的開銷,WindowsARM採用CHPE(CompiledHybridPortableExecutable)技術,CHPE在X86DLL中嵌入相同的ARM64代碼。唯一的不同是,為了32位x86應用交互,數據類型仍使用32位。64位據類型的封裝則在WOW抽象層進行。通過CHPE技術,X86toARM64二進位編譯器得以高效進行。最終的過程則與64位運行32位應用完全一致,不再贅述。整個開銷取決於應用程式代碼、系統代碼和內核融合的速度。最終,x86應用將獲得非常接近於處理器原生性能的運行速度。

想看到更多這類內容?去APP商店搜,天天都有小歡喜。IT之家

相關焦點

  • ARM版Win10終於能用上x64程序了,微軟發布x64模擬器
    魚羊 發自 凹非寺量子位 報導 | 公眾號 QbitAI現在,ARM64設備上的Windows系統,也可以運行64位的x86應用程式(x64)了。微軟最新宣布,已經在Windows Insider裡,面向測試人員發布了ARM版Win10的x64模擬器。這就意味著,使用ARM晶片的筆記本用戶,以後可以直接安裝、運行幾乎所有Windows exe應用程式,而不必再被兼容性問題勸退了。
  • Win10要運行安卓App,ARM版要支持64位
    一方面是蘋果帶火了ARM架構,讓ARM架構迎來了新機會,大有從移動領域跨界到PC領域的趨勢,這對intel形成了大危機,同時蘋果打通手機、平板、電腦的生態做法,給微軟形成了大危機。既然蘋果是用MacOS來運行iOS下的APP,那微軟則是用windows10來運行安卓的APP,作為 「Project Latte」項目的一部分,微軟計劃在明年將Android 應用帶到 Windows Store,讓win10原生支持安卓APP,以挽留用戶停留在windows。
  • Intel警告:基於ARM的Win10設備x86模擬器是侵權
    6月10日消息,通過x86模擬器,微軟和高通讓基於ARM處理器的 PC有了運行x86軟體的可能性,但現在Intel警告到,這種行為是侵權的。IT之家Win10Intel法律總顧問日前表態稱,有些公司在沒有獲得X86授權的情況下試圖模擬Intel的X86指令集,顯然這是在暗指微軟和高通。高通近日宣布將跟合作夥伴推出基於驍龍處理器的Win10筆記本電腦,高通的ARM平臺可以同時運行桌面x86 Win32應用程式以及通用Windows應用程式。
  • 一文看懂arm架構和x86架構有什麼區別
    本文主要介紹的是arm架構和x86架構的區別,首先介紹了ARM架構圖,其次介紹了x86架構圖,最後從性能、擴展能力、作業系統的兼容性、軟體開發的方便性及可使用工具的多樣性及功耗這五個方面詳細的對比了arm架構和x86架構的區別,具體的跟隨小編一起來了解一下。
  • IT之家學院:Win10 S如何升級到Windows10專業版
    Win10Windows10如果你錯過了免費時期,又想隨時隨地升級到Win10專業版,就需要花費49美元,那麼Win10 S到底如何升級到Win10專業版?當你第一次在Win10應用商店下載和嘗試安裝傳統的x86應用程式時,Win10系統會彈出相應的窗口表示安裝受限制,並且提供了徹底解決該問題的跳轉按鈕。
  • ARM版Win10要支持64位應用,這意味著什麼?
    如果ARM版Windows只能運行32位應用,那麼後續可能只能運行早期版本的應用,一些新出的應用將無法在該系統上運行。AMR版Win10可直接運行64位x86應用?不過,有個好消息是,微軟近期似乎找到了解決方案。
  • ARM首次成功模擬運行x86-ARM,二進位轉換器,模擬器,x86...
    ARM在移動領域風生水起,但是要想在桌面和伺服器上佔領一席之地,最大的麻煩就在於不兼容最為普及的x86代碼系統和程序,而出路只有兩條:要麼大力推進自己的生態系統,要麼模擬運行x86,就像曾經的全美達那樣(下場比較慘)。
  • ARM版Win10終於能用上x64程序了 微軟發布x64模擬器預覽版
    現在,ARM64設備上的Windows系統,也可以運行64位的x86應用程式(x64)了。微軟最新宣布,已經在Windows Insider裡,面向測試人員發布了ARM版Win10的x64模擬器。
  • 求人不如求己,win10 2004版更新自己來
    微軟公司目前推出最新的作業系統版本是win10 2004版,受到很多用戶朋友的喜愛,可是很多用戶朋友不知道如何更新升級自己的作業系統。求人不如求,己沒關係下面就給你們帶來了詳細的升級方法,一起來學習一下吧。
  • gcc、arm-linux-gcc和arm-elf-gcc的關係?
    總的來說,如果真正了解了上面 3 個軟體包的作用,自然就明白 GCC 是如何工作的。三、交叉編譯交叉編譯(或交叉建立)是這樣一種過程,它在一種機器結構下編譯的軟體將在另一種完全不同的機器結構下執行。一個常見的例子是在 PC 機上為運行在基於 ARM、PowerPC或 MIPS 的目標機的編譯軟體。
  • UC瀏覽器x86版
    UC瀏覽器x86版簡介 UC瀏覽器是一款全球領先的智能移動瀏覽器,擁有獨創的U3內核和雲端技術,完美地支持
  • Parallels Desktop forM1技術預覽版推出 暫只可運行Win10 on ARM
    為 Mac 機推出虛擬環境的 Parallels 剛剛就推出「 Parallels Desktop for Mac 」的 M1 Mac 技術預覽版,並且表示對於 Microsoft 宣布在 Windows on ARM 加入對 x64 應用的支持感到驚喜。
  • 一次搞定 Arm Linux 交叉編譯
    程序的編輯——》編譯——》運行,整個過程都是在一臺 X86 電腦上。當我們開始接觸嵌入式開發後,事情變的不一樣了,你在電腦上寫程序,在電腦上編譯出可執行文件,最後這個可執行文件需要下載到你的開發板上運行。程序最後運行的環境變了,比如你的開發板是基於 Arm 的——程序在 X86 上編輯,編譯,最終運行在另一個和 X86 完全不同的架構的 Arm 晶片上。
  • 精簡極速版:一圖看懂 Win10 S 與 Win10 專業版 / 家庭版的相同和...
    IT之家5月3日消息 微軟5月2日發布了全新的Windows10 S系統,其實這款Win10 S是Win10專業版的特殊配置版,目標是打造精簡、極速、安全和性能。Windows10 S系統本身也包含了Win10專業版在內的許多功能,但是只能運行Win10應用商店中的程序,值得注意的是,包括Win32轉制UWP應用。
  • win10純淨版系統如何解除網速限制的方法
    有不少win10系統之家的小夥伴,在安裝系統以後,發現使用電腦的時候網速特別慢,檢查了貓和路由器都沒有什麼問題。這是什麼情況呢?其實,可能是win10純淨版中網絡設置裡面對網絡有一定的限制,今天系統哥小編教你們如何解除網絡限制,讓網速變得極快,只要設置「高級Qos設置」將帶寬限制設定為「0」即可,具體的教程一起來看看吧。
  • 支持64位應用:微軟為ARM版Win10帶來x64模擬器
    目前, Windows 10 on ARM僅支持模擬32位的x86應用程式,意味著部分需要佔用大容量內存的任務密集型應用程式、以及很多未針對較早的指令集進行編譯的應用程式無法在該平臺上運行。  微軟通過開發者博客宣布,已通過Windows內部開發頻道推出了第一個可用於ARM64設備的x64仿真的預覽版Build 21277,這意味著使用ARM晶片的筆記本用戶可以從Windows商店或其他渠道安裝x64程序。  要知道,Surface Pro X等ARM設備上的Windows只能運行原生的32位和64位ARM應用,以及32位x86應用。
  • 微軟為ARM版Win10帶來x64模擬器:支持64位應用
    目前,Windows 10 on ARM僅支持模擬32位的x86應用程式,意味著部分需要佔用大容量內存的任務密集型應用程式、以及很多未針對較早的指令集進行編譯的應用程式無法在該平臺上運行。
  • win10 2021版將支持原生運行安卓APP,模擬器突然不香了!
    前幾天有關微軟將在新版win10UI設計上重歸win7風格的消息還一度引起熱議,熱度還沒降下來,一則微軟將計劃在win10 2021版支持原生運行Android應用的消息也接踵而來,關於此事的更多細節已經曝光,再次掀起熱議。據消息稱,該項目在內部有著專屬Latte的稱號。
  • win10 2021版將支持原生運行安卓APP,模擬器突然不香了
    前幾天有關微軟將在新版win10UI設計上重歸win7風格的消息還一度引起熱議,熱度還沒降下來,一則微軟將計劃在win10 2021版支持原生運行Android應用的消息也接踵而來,關於此事的更多細節已經曝光,再次掀起熱議。
  • win10七版本大盤點:區別咋就這麼大
    今天小編就給大家帶來windows10各版本對比說明,讓你了解win10版本之間的區別。  Windows 10家庭版包括針對平板電腦設計的「Continuum」功能,它向用戶提供簡化的任務欄以及開始菜單,應用程式也會以全屏模式運行。對於Windows 7或Windows 8.1家庭版用戶來講,可以免費升級至Windows 10家庭版。