0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

Hobby观察 来源:电子发烧友网 作者:梁浩斌 2021-11-25 10:59 次阅读
电子发烧友网报道(文/梁浩斌)作为曾经MIPS架构生态的最主要的维护者之一,龙芯在今年4月,发布了完全自主的指令集架构LoongArch。不过作为一个全新的指令集架构,前期生态构建是最困难也是最重要的。

正如x86之于Windows、ARM之于Android,而龙芯LoongArch架构从设计上考虑到兼容生态需求,除了自主设计的指令系统、指令格式、指令编码、寻址模式之外,还融合了龙芯在二进制翻译方面的积累,通过翻译的方式兼容MIPS、x86、ARM、RISC-V等主流指令集的Linux程序。

在7月龙芯正式发布首款采用自主指令系统LoongArch的CPU 3A5000后,近日龙芯又推出了LoongArch二进制翻译应用方案,正式实现不同平台应用软件的兼容运行。
pYYBAGGe_KKAbxnhAAkvK3nLJoI571.png 
图源:guee

据知乎网友guee消息,目前统信UOS for 3A5000体验版系统中已经集成了龙芯的二进制翻译模块,并且应用商店中也有部分Windows软件提供,比如微信、Photoshop等等,使用基本无障碍。
poYBAGGe_K2APSFaAAltEyvdIDw317.png 
图源:guee

在实测视频中,guee表示运行微信没有卡顿的感觉,Photoshop相比其常用电脑要慢,但考虑到有翻译效率的损失,这种情况是正常的。


从视频中能看出,通过二进制翻译运行的Photoshop运行期间,某些界面会伴随着一些闪烁,但对于日常使用影响不大。

甚至可以“跑满60帧”流畅运行Windows系统自带的扫雷游戏。

当然,如果只是这些软件的话,似乎不太能发挥出龙芯二进制翻译模块的全部能力。由于UOS提供直接安装的Windows软件并不多,要安装其他的Windows软件操作会稍微复杂一点。

UOS此前在其他处理器平台上支持Windows软件运行的方式是,通过给每个Wine版软件配一套单独的Windows环境。而Windows环境所需的系统文件夹都被打包成一个“files.7z”文件,软件首次运行时会被解压到/home/用户名/deepinwine/文件夹中,并自动配置相关的运行环境。
pYYBAGGe_R6AUMYpAADCMSaobNM952.png 
图源: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硬件上还提供了硬件加速支持,通过架构层支持与软硬协同算法优化,充分利用本地硬件,最大化提升模拟效率,为上层应用软件提供目标指令集的良好虚拟运行环境。
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

    浏览量

    10877
收藏 人收藏

    评论

    相关推荐

    什么是RISC-V?RISC-V指令集的优势

    CPU 支持的所有指令指令的字节级编码就是这个 CPU指令集架构(Instruction
    发表于 03-05 10:31 192次阅读
    什么是RISC-V?RISC-V<b class='flag-5'>指令集</b>的优势

    【米尔-全志T113-i开发板试用】使用ruapu探测CPU指令集信息

    简介 https://github.com/nihui/ruapu ruapu单个文件探测CPU指令集信息 ruapu通过执行特定扩展指令,捕获CPU非法
    发表于 02-25 21:36

    【RISC-V开放架构设计之道|阅读体验】汇编语言和扩展指令集

    【RISC-V开放架构设计之道|阅读体验】汇编语言和扩展指令集 汇编语言 将C语言翻译成可执行的机器语言的重要步骤包括编译过程,汇编过程,链接过程。 函数调用约定过程分为六个阶段: 1)将参数存放
    发表于 02-03 13:29

    【RISC-V开放架构设计之道|阅读体验】RISC-V基础整数指令集

    第2章 RV32I:RISC-V基础整数指令集 本章重点讲解构成RISC-V基础整数指令集的基本指令指令格式。主要包含寄存器间操作的R型,用于短立即数和取数操作的I型,用于存数操作的
    发表于 01-31 21:10

    翼辉信息已正式加入对申威SW64自主指令集架构的支持

    近日,翼辉信息发布了最新的 SylixOS V3.4.0 操作系统。在 SylixOS V3.4.0 中,已正式加入了对申威 SW64 自主指令集架构的支持。
    的头像 发表于 12-28 11:45 970次阅读
    翼辉信息已正式加入对申威SW64<b class='flag-5'>自主</b><b class='flag-5'>指令集</b><b class='flag-5'>架构</b>的支持

    现代处理器的主要指令集架构

    ​ ​现代处理器的主要指令集架构(ISA)包括:x86指令集架构、RISC指令集架构
    的头像 发表于 12-11 09:55 825次阅读
    现代处理器的主要<b class='flag-5'>指令集</b><b class='flag-5'>架构</b>

    单片机架构指令集的知识

    指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合。而指令集的先进与否,也关系到CPU的性能发挥,它也是
    发表于 12-02 09:51 317次阅读
    单片机<b class='flag-5'>架构</b>和<b class='flag-5'>指令集</b>的知识

    迅为LS2K0500开发板动态电源管理龙芯自主指令架构

    CPU 迅为LS2K0500开发板采用龙芯2K0500处理器,基于龙芯自主指令系统 (LoongArch)
    发表于 09-28 11:15

    DLX指令集RISC_CPU_verilog源码分享

    DLX指令集RISC_CPU_verilog源码
    发表于 09-26 07:01

    龙芯指令集,世界第三极

    指令系统是生态底层逻辑,可分为复杂指令集和精简指令集指令系统(ISA)属于计算机中硬件与软件
    的头像 发表于 09-22 16:09 826次阅读
    <b class='flag-5'>龙芯</b><b class='flag-5'>指令集</b>,世界第三极

    一文解析CPU概念、运作原理、指令集架构生态

    CPU指令集(Instruction Set)是CPU中计算和控制计算机系统所有指令的集合。计算机的程序最终需要转化为“指令”才能在
    发表于 06-16 14:43 1197次阅读
    一文解析<b class='flag-5'>CPU</b>概念、运作原理、<b class='flag-5'>指令集</b><b class='flag-5'>架构</b><b class='flag-5'>生态</b>

    鲲鹏、海光、龙芯等六大***在指令集方面的异同

    业界将鲲鹏、飞腾、海光、兆芯、龙芯、申威这六大国产芯片统称为“国产CPU六君子”,那么,他们在指令集授权方面都有哪些异同呢?
    的头像 发表于 05-18 16:04 6646次阅读

    龙芯自主CPU再添147款产品适配成功

    5款、运维管理系统3款、其它产品17款。 适配产品面向政务办公、安全防护、运维监控、财务管理等多个领域。 据了解,2020年龙芯中科自主指令系统LoongArch问世,基于龙芯二十年的
    的头像 发表于 05-18 14:37 310次阅读

    谈一谈RISC-V架构的优势和特点

    RISC-V是基于精简指令集计算(RISC)原理建立的开放指令集架构,是一种与X86,ARM并列的一种计算指令集架构。RISC是一个开放的芯
    发表于 05-14 09:05

    龙芯与开源鸿蒙的故事

    系统是软件生态的起点,只有从指令系统的根源上实现自主,才能打破软件生态发展受制于人的锁链。龙
    发表于 04-21 22:40