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

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

3天内不再提示

自主指令架构取代Arm和x86,LoongArch的未来“野心”

E4Life 来源:电子发烧友网 作者:周凯扬 2021-04-21 09:00 次阅读

在4月19日结束的第四届关键信息基础设施自主安全创新论坛上,龙芯中科董事长胡伟武对龙芯的自主指令系统架构LoongArch进行了深度解析,介绍了LoongArch的发展过程、自主与兼容性以及未来的计划。

自主指令架构的必要性

目前国内市场的CPU既有自主研发的、引进Arm等技术以及合资公司开发的,这其中龙芯的CPU产品自主性最强,但仍然面临着指令集架构和生产工艺受制于人的“卡脖子”问题。


龙芯中科认为自主体系建设包括三个环节,基于自主IP核的芯片设计、基于自主指令系统的软件生态和基于自主材料设备的生产工艺。而龙芯此前在自主IP核的芯片设计上取得了不菲的成绩,多款CPU已经完成了性能补课,逼近了市场主流的CPU。如今LoongArch的面世就是在CPU应用上做出的又一大努力。

LoongArch的兼容性

胡伟武还提到,指令系统是信创产业绕不过去的话题,我国不可能基于国外的指令系统建设自主信息产业生态。兼容指令系统虽然可以直接利用x86和Arm的现成软件生态,但因为x86不授权,而Arm的授权又存在严格限制,均会会阻碍自主基础软件的发展。

因此龙芯对LoongArch的定位是一个考虑兼容需求的自主指令系统,纪要摒弃过时技术做到当代指令集的先进性,又要兼容x86、MIPS和Arm指令系统的主要特点,同时在指令槽上留有余地,方便指令系统的未来持续演进。

LongISA与LongArch架构的对比 / 龙芯中科


过去的LoongISA指令集由MIPS拓展而来,MIPS上的通用软件生态也有龙芯的建设和维护。但龙芯随后发现MIPS的发展空间有限,便开发了近2000条指令的龙芯自主架构LoongArch。在相同的微结构和硬件下进行测试,LoongArch的动态指令数与MIPS相比减少了15%到20%,大幅提高了性能。

LoongArch通过对二进制翻译的支持,融合了x86、Arm、MIPS和RISC-V指令系统的主要功能,比如x86和Arm的EFLAG值模拟RISC-V中丰富的同步指令等。借助高效的翻译引擎,龙芯引擎仅在翻译x86应用上实现了大于60%的性能,在翻译安卓Arm应用上,已经可以流畅运行移动版WPS和美图秀秀等应用。

龙芯二进制翻译系统LAT的设计目标为“十九八”,即翻译MIPS Linux应用做到目标效率100%,翻译ArmAndroid应用做到90%的效率,而x86的Linux/Windows应用动态翻译做到80%的效率(5%误差)。

LoongArch未来计划

龙芯已经委托第三方机构对LoongArch做知识产权的分析,目前已经完成国内部分,预计今年完成国际部分。未来龙芯还将组建LoongArch技术联盟,在联盟内免费开放LoongArch,以及部分CortexA53以下性能的处理器IP核。同时龙芯将对LoongArch做简化处理,形成百条指令的小系统在高校范围内推广,取代RISC-V。

龙芯也会持续改进LoongArch二进制翻译的硬件支持和软件优化,力求借助二进制翻译在2025年消除各大指令系统之间的壁垒。龙芯还提到,2020年起流片的龙芯CPU均支持LoongArch,不再像过去一样支持已经趋于弱势的MIPS。

小结

LoongArch的出现无疑是国内自主指令集迈出的一大步,与去年“十九八七”的预定目标相比,龙芯今年再一次将目标提升至“十九八”。作为仍在不断完善的翻译系统,相信LoongArch未来必将彻底打破不同指令系统间的隔阂。

优秀的翻译系统对于软件生态来说至关重要,就拿苹果的macOS来说,M1芯片的Macbook通过Rosetta 2对过去x86的软件进行了转译,从而流畅运行兼容软件,这也省去了不少编译和二次开发工作。LoongArch与龙芯自主的IP核已经为自主体系的建设打通了两环,剩下的就是靠国内的生产工艺攻关了,龙芯自己用到的最高规格工艺已经达到12nm,未来想要进一步实现性能突破,先进工艺同样是不可或缺的。

本文由电子发烧友原创,转载请注明以上来源。如需入群交流,请添加微信elecfans999,投稿爆料采访需求,请发邮箱huangjingjing@elecfans.com。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8615

    浏览量

    361316
  • 龙芯
    +关注

    关注

    2

    文章

    299

    浏览量

    30827
  • X86
    X86
    +关注

    关注

    5

    文章

    283

    浏览量

    42904
收藏 人收藏

    评论

    相关推荐

    x86 SBC vs ARM SBC:选择适合您的单板计算机

    比较,帮助您决定哪一种适合您。 基础知识 在我们深入比较之前,有必要了解什么是 x86ARM 架构x86是一种复杂指令集计算(CI
    的头像 发表于 03-07 13:26 78次阅读

    x86arm架构区别主板还是cpu

    x86ARM架构是计算机处理器的两种不同体系结构,涉及到CPU和主板两方面的区别。下面将详细介绍它们的特点和区别。 首先,我们需要先了解x86A
    的头像 发表于 12-21 17:08 670次阅读

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

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

    基于X86平台的ARM指令集模拟器的设计方案

    电子发烧友网站提供《基于X86平台的ARM指令集模拟器的设计方案.pdf》资料免费下载
    发表于 11-06 11:54 0次下载
    基于<b class='flag-5'>X86</b>平台的<b class='flag-5'>ARM</b><b class='flag-5'>指令</b>集模拟器的设计方案

    RT-Thread能在X86构架下访问PCI板卡设备不?

    RT-Thread能在X86构架下访问PCI板卡设备不? 例如工控机,用于想要一个自主可控的系统,但是有些板卡还是PCI的,不知道RT-Thread能不能驱动?
    发表于 10-18 21:28

    基于X86平台的ARM指令集模拟器设计

    电子发烧友网站提供《基于X86平台的ARM指令集模拟器设计.pdf》资料免费下载
    发表于 10-11 15:03 0次下载
    基于<b class='flag-5'>X86</b>平台的<b class='flag-5'>ARM</b><b class='flag-5'>指令</b>集模拟器设计

    X86架构ARM架构的主要区别

    X86ARM是两种主要的CPU架构X86架构的CPU是PC服务器行业的老大,而ARM
    的头像 发表于 09-22 08:23 3425次阅读
    <b class='flag-5'>X86</b><b class='flag-5'>架构</b>与<b class='flag-5'>ARM</b><b class='flag-5'>架构</b>的主要区别

    CPU架构X86ARM的区别

    随着科技的快速发展,计算机技术已经深入到我们生活的方方面面。作为计算机的核心部件,CPU(中央处理器)的性能和架构对于整个系统的运行起着至关重要的作用。目前,市场上主流的 CPU 架构主要有两种:X86
    发表于 09-18 10:02 1137次阅读

    介绍三大主流芯片架构X86ARM、RISC-V

    我们主要应用的三大芯片架构X86ARM和RISC-V架构
    发表于 07-25 09:35 1.8w次阅读
    介绍三大主流芯片<b class='flag-5'>架构</b>:<b class='flag-5'>X86</b>、<b class='flag-5'>ARM</b>、RISC-V

    X86架构Arm架构的区别

    X86架构ARM架构是主流的两种CPU架构X86架构
    的头像 发表于 06-16 12:50 6932次阅读
    <b class='flag-5'>X86</b><b class='flag-5'>架构</b>与<b class='flag-5'>Arm</b><b class='flag-5'>架构</b>的区别

    分布式软件:X86/ARM CPU混合部署

    近年来,随着 ARM 技术的发展,ARM 在服务器芯片领域的应用范围逐渐推广,在 Intel X86 的技术标准和产品供应链之外,提供了新的选择空间。
    的头像 发表于 06-06 14:31 1118次阅读
    分布式软件:<b class='flag-5'>X86</b>/<b class='flag-5'>ARM</b> CPU混合部署

    为什么x86arm架构不同,但是都能装linux呢?

    为什么x86arm架构不同,但是都能装linux呢?他们的编译时如何实现的?
    发表于 05-16 10:21

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

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

    交叉编译之LoongArch(Makefile,CMake,AutoTool等方式)

    可执行程序,此程序是基于对应CPU的架构上才能运行。这种情况叫做交叉编译。 对于龙芯嵌入式系列板卡,则采用以下方式进行交叉编译:在X86机器的ubuntu18.04的系统中,使用交叉编译工具链,编译软件
    发表于 05-07 18:55

    CPU架构x86、RISC-V、ARM的区别和特点

    x86架构指令集相对于RISC(精简指令集计算机)架构而言更为复杂。这意味着x86
    发表于 04-03 10:21 9731次阅读