電子發燒友網報道(文/梁浩斌)作為曾經MIPS架構生態的最主要的維護者之一,龍芯在今年4月,發布了完全自主的指令集架構LoongArch。不過作為一個全新的指令集架構,前期生態構建是最困難也是最重要的。
正如x86之于Windows、ARM之于Android,而龍芯LoongArch架構從設計上考慮到兼容生態需求,除了自主設計的指令系統、指令格式、指令編碼、尋址模式之外,還融合了龍芯在二進制翻譯方面的積累,通過翻譯的方式兼容MIPS、x86、ARM、RISC-V等主流指令集的Linux程序。
在7月龍芯正式發布首款采用自主指令系統LoongArch的CPU 3A5000后,近日龍芯又推出了LoongArch二進制翻譯應用方案,正式實現不同平臺應用軟件的兼容運行。
?
圖源:guee
據知乎網友guee消息,目前統信UOS for 3A5000體驗版系統中已經集成了龍芯的二進制翻譯模塊,并且應用商店中也有部分Windows軟件提供,比如微信、Photoshop等等,使用基本無障礙。
?
圖源:guee
在實測視頻中,guee表示運行微信沒有卡頓的感覺,Photoshop相比其常用電腦要慢,但考慮到有翻譯效率的損失,這種情況是正常的。
![](https://file.elecfans.com/web2/M00/20/A8/pYYBAGGe_NGAPJdKADFMTXYpDpo471.gif)
從視頻中能看出,通過二進制翻譯運行的Photoshop運行期間,某些界面會伴隨著一些閃爍,但對于日常使用影響不大。
甚至可以“跑滿60幀”流暢運行Windows系統自帶的掃雷游戲。
當然,如果只是這些軟件的話,似乎不太能發揮出龍芯二進制翻譯模塊的全部能力。由于UOS提供直接安裝的Windows軟件并不多,要安裝其他的Windows軟件操作會稍微復雜一點。
UOS此前在其他處理器平臺上支持Windows軟件運行的方式是,通過給每個Wine版軟件配一套單獨的Windows環境。而Windows環境所需的系統文件夾都被打包成一個“files.7z”文件,軟件首次運行時會被解壓到/home/用戶名/deepinwine/文件夾中,并自動配置相關的運行環境。
?
圖源:guee
比如可以直接使用Photoshop的Wine環境文件夾,將其下的“drive_c”文件夾當做C盤使用,將綠色軟件直接復制進去。不過guee表示,這只是32位的Wine環境,不能運行64位Windows程序。因為目前UOS還沒有提供直接安裝的64位Windows程序,所以直接生成的Wine環境也同樣不支持64位。如果要運行64位的程序還需要手動配置環境。
![](https://file.elecfans.com/web2/M00/20/A8/pYYBAGGe_TyAVc7jAHiVqHQht_0718.gif)
通過一系列“騷操作”,guee成功在龍芯3A5000平臺上運行“憤怒的小鳥”游戲,并且畫面運行十分流暢,只是存在游戲聲音方面的BUG(聲音時有時無)。
除此之外,guee還表示,利用這種方法,可以在龍芯3A5000平臺電腦上使用二進制翻譯功能運行任何(部分有可能運行出錯)32位Windows程序,包括7z、帝國時代2、仙劍奇俠傳、CS等程序和游戲。
到這里可能會有人懷疑,在龍芯的二進制翻譯之前,ARM版UOS也能通過Wine來運行Windows,所以到底翻譯了什么?
事實上,Wine只是提供了Windows的API支持,即使在此前運行在ARM平臺上的Linux系統,要運行Windows軟件也同時需要Wine以及二進制動態翻譯工具ExaGear來支持。
龍芯LoongArch架構的二進制翻譯意義在于,在系統上提供翻譯模塊的同時,在CPU硬件上還提供了硬件加速支持,通過架構層支持與軟硬協同算法優化,充分利用本地硬件,最大化提升模擬效率,為上層應用軟件提供目標指令集的良好虛擬運行環境。
?
圖源:龍芯中科
根據4月發布的“龍芯架構LoongArch解析”中,龍芯在Linux進程級x86二進制翻譯的優化目標為80%效率。此前龍芯中科創始人兼董事長胡偉武博士表示,“我們希望,到2025年前后,在龍芯的LoongArch平臺上可以不運行Windows但能運行Windows應用,不運行Android但能運行Android應用。”
寫在最后:
正如蘋果MacOS從x86轉向ARM一樣,通過Rosetta2,將原本運行在x86平臺上的軟件指令轉譯成ARM指令。對于龍芯而言,加入二進制翻譯功能只是在建立自主生態初期的過渡手段,為了彌補初期軟件生態的缺陷。
今年8月,ZStack Cloud信創云平臺成為首批與LoongArch龍芯架構適配的云平臺;9月,龍芯官方宣布已經將虛幻引擎4成功移植到龍芯3A5000平臺;11月龍芯加入華為歐拉openEuler開源社區。可以預見,在相關生態企業的支持下,LoongArch架構生態將會迎來良性發展的階段。
正如x86之于Windows、ARM之于Android,而龍芯LoongArch架構從設計上考慮到兼容生態需求,除了自主設計的指令系統、指令格式、指令編碼、尋址模式之外,還融合了龍芯在二進制翻譯方面的積累,通過翻譯的方式兼容MIPS、x86、ARM、RISC-V等主流指令集的Linux程序。
在7月龍芯正式發布首款采用自主指令系統LoongArch的CPU 3A5000后,近日龍芯又推出了LoongArch二進制翻譯應用方案,正式實現不同平臺應用軟件的兼容運行。
![pYYBAGGe_KKAbxnhAAkvK3nLJoI571.png](https://file.elecfans.com/web2/M00/20/A8/pYYBAGGe_KKAbxnhAAkvK3nLJoI571.png)
圖源:guee
據知乎網友guee消息,目前統信UOS for 3A5000體驗版系統中已經集成了龍芯的二進制翻譯模塊,并且應用商店中也有部分Windows軟件提供,比如微信、Photoshop等等,使用基本無障礙。
![poYBAGGe_K2APSFaAAltEyvdIDw317.png](https://file.elecfans.com/web2/M00/20/A0/poYBAGGe_K2APSFaAAltEyvdIDw317.png)
圖源:guee
在實測視頻中,guee表示運行微信沒有卡頓的感覺,Photoshop相比其常用電腦要慢,但考慮到有翻譯效率的損失,這種情況是正常的。
![](https://file.elecfans.com/web2/M00/20/A8/pYYBAGGe_NGAPJdKADFMTXYpDpo471.gif)
![](https://file.elecfans.com/web2/M00/20/A0/poYBAGGe_OWAHLxoACpiujASgJE085.gif)
從視頻中能看出,通過二進制翻譯運行的Photoshop運行期間,某些界面會伴隨著一些閃爍,但對于日常使用影響不大。
![](https://file.elecfans.com/web2/M00/20/A8/pYYBAGGe_PiAHSAnAFm7NsKtCvQ453.gif)
甚至可以“跑滿60幀”流暢運行Windows系統自帶的掃雷游戲。
當然,如果只是這些軟件的話,似乎不太能發揮出龍芯二進制翻譯模塊的全部能力。由于UOS提供直接安裝的Windows軟件并不多,要安裝其他的Windows軟件操作會稍微復雜一點。
UOS此前在其他處理器平臺上支持Windows軟件運行的方式是,通過給每個Wine版軟件配一套單獨的Windows環境。而Windows環境所需的系統文件夾都被打包成一個“files.7z”文件,軟件首次運行時會被解壓到/home/用戶名/deepinwine/文件夾中,并自動配置相關的運行環境。
![pYYBAGGe_R6AUMYpAADCMSaobNM952.png](https://file.elecfans.com/web2/M00/20/A8/pYYBAGGe_R6AUMYpAADCMSaobNM952.png)
圖源:guee
比如可以直接使用Photoshop的Wine環境文件夾,將其下的“drive_c”文件夾當做C盤使用,將綠色軟件直接復制進去。不過guee表示,這只是32位的Wine環境,不能運行64位Windows程序。因為目前UOS還沒有提供直接安裝的64位Windows程序,所以直接生成的Wine環境也同樣不支持64位。如果要運行64位的程序還需要手動配置環境。
![](https://file.elecfans.com/web2/M00/20/A8/pYYBAGGe_TyAVc7jAHiVqHQht_0718.gif)
![](https://file.elecfans.com/web2/M00/20/A8/pYYBAGGe_WeATRwFAFBykmSS-2U446.gif)
除此之外,guee還表示,利用這種方法,可以在龍芯3A5000平臺電腦上使用二進制翻譯功能運行任何(部分有可能運行出錯)32位Windows程序,包括7z、帝國時代2、仙劍奇俠傳、CS等程序和游戲。
到這里可能會有人懷疑,在龍芯的二進制翻譯之前,ARM版UOS也能通過Wine來運行Windows,所以到底翻譯了什么?
事實上,Wine只是提供了Windows的API支持,即使在此前運行在ARM平臺上的Linux系統,要運行Windows軟件也同時需要Wine以及二進制動態翻譯工具ExaGear來支持。
龍芯LoongArch架構的二進制翻譯意義在于,在系統上提供翻譯模塊的同時,在CPU硬件上還提供了硬件加速支持,通過架構層支持與軟硬協同算法優化,充分利用本地硬件,最大化提升模擬效率,為上層應用軟件提供目標指令集的良好虛擬運行環境。
![pYYBAGGe_XmAGJYRAAaDpieAbCw680.png](https://file.elecfans.com/web2/M00/20/A8/pYYBAGGe_XmAGJYRAAaDpieAbCw680.png)
圖源:龍芯中科
根據4月發布的“龍芯架構LoongArch解析”中,龍芯在Linux進程級x86二進制翻譯的優化目標為80%效率。此前龍芯中科創始人兼董事長胡偉武博士表示,“我們希望,到2025年前后,在龍芯的LoongArch平臺上可以不運行Windows但能運行Windows應用,不運行Android但能運行Android應用。”
寫在最后:
正如蘋果MacOS從x86轉向ARM一樣,通過Rosetta2,將原本運行在x86平臺上的軟件指令轉譯成ARM指令。對于龍芯而言,加入二進制翻譯功能只是在建立自主生態初期的過渡手段,為了彌補初期軟件生態的缺陷。
今年8月,ZStack Cloud信創云平臺成為首批與LoongArch龍芯架構適配的云平臺;9月,龍芯官方宣布已經將虛幻引擎4成功移植到龍芯3A5000平臺;11月龍芯加入華為歐拉openEuler開源社區。可以預見,在相關生態企業的支持下,LoongArch架構生態將會迎來良性發展的階段。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
龍芯處理器
+關注
關注
1文章
25瀏覽量
11107
發布評論請先 登錄
相關推薦
迅為3A6000_7A2000核心主板龍芯全國產處理器LoongArch架構
,也證明了國內有能力在自研 CPU 架構上做出一流的產品。
龍芯 3A6000 處理器采用龍芯自主指令
發表于 10-12 11:25
指令集架構與微架構的區別
指令集架構(Instruction Set Architecture,ISA)與微架構(Microarchitecture)是計算機體系結構中的兩個重要概念,它們在處理器的設計和實現中扮演著不同的角色。以下是對兩者區別的詳細闡述
簡述微處理器的指令集架構
計算機硬件與軟件的橋梁。指令集架構不僅決定了微處理器的性能和功能,還影響著操作系統的開發、應用程序的編寫以及整個計算機生態系統的構建。以下是對微處理器
RISC-V和arm指令集的對比分析
和豐富的軟件資源。ARM的生態系統為ARM處理器在各個領域的應用提供了強有力的支持。
綜上所述,RISC-V和ARM指令集在設計理念、開放性、應用領域、指令集特點和
發表于 09-28 11:05
復雜指令集和精簡指令集有什么區別
的兩種主要指令集架構,它們在多個方面存在顯著的差異。以下是對這兩種指令集架構的詳細比較,涵蓋設計理念、指令復雜性、尋址方式、實現方式、性能特
微處理器的指令集架構介紹
微處理器的指令集架構(Instruction Set Architecture,ISA)是計算機體系結構中至關重要的部分,它定義了微處理器能夠執行的操作和指令的集合,以及這些指令如何被
CISC(復雜指令集)與RISC(精簡指令集)的區別
。這種架構會增加CPU結構的復雜性和對CPU工藝的要求,但對于編譯器的開發十分有利。比如上面的例子,C程序
中的a*=b就可以直接編譯為一條乘法指令。
RISC
發表于 07-30 17:21
龍芯CPU統一系統架構規范及參考設計下載
*附件:LoongArch 系統調用(syscall)ABI.pdf
*附件:龍芯 CPU 統一系統架構規范(適用于 LA 架構通用 PC、服務器系列)-v4.1.0.pdf
*附件:
發表于 06-20 14:42
微軟推進CPU指令集更新,舊版CPU或無法運行Edge瀏覽器
按照微軟的計劃,Microsoft Edge 126.0正式版將于2024年6月13日發布。屆時,未支持SSE3指令集的舊CPU用戶可能需繼續使用現有的版本。
嵌入式系統的概念與范圍開發 指令集架構要怎么選才合適?
想要搭建一套嵌入式系統,首先得確認想要采用的指令集架構(Instruction Set Architectures, ISA),各家的指令集架構各有其優缺點與擁護者,本文將為您大致介紹
![嵌入式系統的概念與范圍開發 <b class='flag-5'>指令集</b><b class='flag-5'>架構</b>要怎么選才合適?](https://file1.elecfans.com/web2/M00/C6/06/wKgZomYEydmAFvQyAAA0xDYrK10142.png)
RISC-V開源指令集全面指南與解析
它應該是穩定的,基礎的指令集架構不應該改變。更重要的是,它不能像以前的專有指令集架構一樣被棄用,例如AMD Am29000、Digital Alpha、Digital VAX、Hewl
![RISC-V開源<b class='flag-5'>指令集</b>全面指南與解析](https://file1.elecfans.com/web2/M00/C4/FE/wKgaomXxBPqACmXLAAA5g2Xmss8864.png)
評論