新科技速遞
蘋果電腦發表了處理器M1,推出以ARM架構的Mac電腦之後,性能令人眼前一亮,ARM平台個人電腦開始受人注目,Parallels表示Windows 11 for Mac即將出場,速度更快。
最近,高通也推出Snapdragon 開發者Windows 10套件, Windows 10早已推出支援高通Arm處理器版本一段時間,高通剛發佈Snapdragon 7c Gen 2 運算平台,加強ARM處理器桌面和筆記簿的陣容;處理器功耗更低,續航極長、加上AI運算、支援LTE的 連接,可以隨時在線、更可處理多種影像與音頻格式,硬件上對消費者吸引力甚大。
但是,Windows 11剛推出的「ARM64EC」仿真技術,可能成為ARM處理器個人電腦市場的轉棙點。
Microsoft為了進一步支援ARM處理器,推出了「ARM64EC」(Emulation Compatible,仿真兼容)技術,開發人員更易切換部分應用源碼,以便在 ARM 設備上植移Windows 11應用 ,事前毋須轉譯所有源碼, 大大減低在ARM處理器上移植應用的難度。
開發人員更易於將應用,過渡至 ARM 處理器上Windows ,推動ARM處理器上 Windows 11的應用移植,也消除了不少人對ARM平台的顧慮。
ARM64EC打破限制
以往,不少應用受制軟件之間多項依存關係,無法遷移到ARM處理器Windows,如今ARM64EC打破上述限制,ARM終於可與X86處理器在Windows 11市場內平起平坐。
Windows 11預覽版已被安裝至不同ARM 處理器設備上,甚至成功安裝在售價低於500港元的Raspberry pi 4單板電腦上運行。
但是,仍有某些Windows應用,不能支援 ARM外掛程式和依存軟件。 ARM64EC出現之前,任何採用第三方軟件,一旦建立依存關係,或利用外掛的程式;理論上難以在 ARM 處理器上Windows,直接以原生方式運行,必須全部透過仿真技術運行。
傳統上,ARM 處理器上要重新開發某個Windows應用,就代表著要重新編譯(Recompile)整個應用源碼。現實上,亦只有重新編譯,用戶才完全享受ARM 處理器優點,否則應用經過仿真器轉譯後,性能一定大打折扣。
蘋果電腦就是利用Rosetta 2仿真器(Emulator),轉譯原本在英特爾處理器上編譯的應用,可毋須修改放,舊應用可直接到M1處理器上運行。Parallels 就是靠Rosetta讓Windows在Mac上完全兼容, 但又無可避免,犧牲了M1處理器部分性能。
混合應用兩全其美
不幸的是,現代軟件開發已經錯綜複雜,不少靠API的依存軟件加強性能。從開發人員的角度,移植應用工程浩大,過程中又一個元件也不能少,流程中所有檔案要重新編譯,許多時卻困難重重,結果功虧一簣。
部分外掛程式又可能第三方提供,根本難以找到源碼,難以重新編譯,結果整套軟件只得靠仿真,或部分功能被閹割掉,往往難以兩全其美;也是ARM的Window平台的重大困擾。
Windows 11的ARM64EC最大優點,就是允許開發人員只選擇部分的應用,重新編譯切換至ARM處理器上。以 ARM64EC 重新編譯部件,將以ARM原生速度來執行,而應用的其餘部分,則仍在仿真器運行,重新編譯部分與以仿生器部分,混合一起使用,加快應用的移植。
使用 ARM64EC工具之後,開發人員可在應用之中,先選擇重要部分,執行重新編譯,然後才逐步遷移其餘部分,或爭取時間待其他廠商,推出支援ARM處理器附加軟件。Microsoft的Office團隊就是利用了ARM64EC,支援64-bit的ARM版本Office,可以繼續利用以往x64平台上Office外掛程式。
開發人員從Windows Insider SDK和Visual Studio預覽版開始使用ARM64EC,就可開始著手植移應用。
ARM64EC工具對ARM生態,事關重大,普遍ARM處理器極之便宜,除了單板電腦,不少平板亦以ARM處理器為主,手機廠商亦可能加入Window生態,對筆記簿電腦用戶,價格向下,更是天大喜訊。