电子发烧友网报道(文/梁浩斌)作为曾经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相比其常用电脑要慢,但考虑到有翻译效率的损失,这种情况是正常的。

从视频中能看出,通过二进制翻译运行的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位的程序还需要手动配置环境。

通过一系列“骚操作”,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二进制翻译应用方案,正式实现不同平台应用软件的兼容运行。
图源:guee
据知乎网友guee消息,目前统信UOS for 3A5000体验版系统中已经集成了龙芯的二进制翻译模块,并且应用商店中也有部分Windows软件提供,比如微信、Photoshop等等,使用基本无障碍。
图源:guee
在实测视频中,guee表示运行微信没有卡顿的感觉,Photoshop相比其常用电脑要慢,但考虑到有翻译效率的损失,这种情况是正常的。


从视频中能看出,通过二进制翻译运行的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位的程序还需要手动配置环境。


除此之外,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架构生态将会迎来良性发展的阶段。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
龙芯处理器
+关注
关注
1文章
25浏览量
11452
发布评论请先 登录
相关推荐
热点推荐
软硬件协同技术分享 - 任务划分 + 自定义指令集
开发技术。分文将分享介绍硬件加速器与软件结合的协同开发方式
软硬件任务划分
我们的硬件设计涉及到MFCC模块。直接交由CPU的一次指令的五级流水线处理在麦克风数据取入上的资源耗费
发表于 10-28 08:03
无开发板在Linux系统下进行E203内核指令集测试以及跑分程序的测试
/rv32ui-p-add.verilog.
3.指令集测试
进入vsim文件夹,该点所有步骤都需要在vsim文件夹中完成。
打开README.md文件,可以看到进行仿真所需要的指令。
若使用VCS软件进行仿真
发表于 10-24 11:43
RISCV-K指令集扩展分享
RISC-V K扩展指的是RISC-V用于提升密码学算法的速度、减小应用程序大小的一个扩展指令集。主要包含了:AES加密算法的加速指令、SHA算法的加速
发表于 10-23 06:12
基于蜂鸟E203架构的指令集K扩展
,加速神经网络算法中的矩阵计算。
这些指令可以用于许多应用程序,例如数字信号处理、图像处理、机器学习等。同时,这些指令也可以通过软件编译器进行自动向量化,从而提高程序性能。需要注意的是
发表于 10-21 09:38
请问如果运行rtt nano 3.1.5,除rv32i外哪些指令是必须的?
我需要在fpga上搭载基于riscv的cpu,并运行rtt nano 3.1.5。cpu是自主开发的,只支持rv32i指令集。
想请问如果
发表于 09-09 06:00
迅为电子亮相2025龙芯产品发布暨用户大会
近日,2025龙芯产品发布暨用户大会在中关村国际创新中心举行,重磅发布基于国产自主指令集龙架构(LoongArchTM)研发的服务器处理器龙芯
打破X86/ARM垄断!国产全新自主架构CPU处理器重磅发布
电子发烧友网报道(文/李弯弯)6月26日,2025龙芯产品发布暨用户大会在北京中关村国际创新中心举行。此次发布会,龙芯中科正式推出了基于自主指令集龙
RISC-V核低功耗MCU指令集架构(ISA)特点
自由使用、修改底层指令集,降低芯片设计成本并加速定制化开发。 灵活扩展:支持基础指令集(如RV32I/RV64I)与可选扩展模块(如浮点运算、向量加速)的组合,开发者可根据低功耗需
龙芯中科发布2024年版龙架构生态白皮书
近日,《龙架构生态白皮书(2024年)》正式发布。经过三年转型发展,龙芯自主CPU设计达到国际主流水平,基于龙
龙芯3A6000处理器与集特GPC-100国产台式机方案深度解析
一、龙芯3A6000处理器:国产CPU的突破性进展 龙芯3A6000 是龙芯中科(Loongson)推出的新一代高性能桌面处理器,基于完全自主
迅为3A6000开发板/龙芯3A6000与龙芯3A5000等龙架构处理器软件兼容
,也证明了国内有能力在自研 CPU 架构上做出一流的产品。
龙芯 3A6000 处理器采用龙芯自主指令
发表于 02-12 15:06
TMS320F/C24x DSP控制器CPU和指令集参考指南
电子发烧友网站提供《TMS320F/C24x DSP控制器CPU和指令集参考指南.pdf》资料免费下载
发表于 12-30 16:47
•2次下载

龙芯CPU流畅运行Windows软件!自主指令集架构生态加速扩张!
评论