写点什么

中国龙芯发布自主指令系统架构 LoongArch

  • 2021-04-19
  • 本文字数:3747 字

    阅读完需:约 12 分钟

中国龙芯发布自主指令系统架构LoongArch

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

龙芯是近年来国产自主程度相对较高的芯片,曾支撑 2015 年中国发射的北斗卫星。2020 年 8 月份,龙芯曾宣布放弃所有美国技术,转而研发一套完全采用中国技术的指令集 ,离自主可控更进一步。如今,龙芯正式推出自主指令系统架构,相应芯片已成功流片。


龙芯推出自主指令系统架构


近日,根据龙芯中科方面的消息,龙芯自主指令系统架构(以下简称龙芯架构)的基础架构通过国内第三方知名知识产权评估机构的评估。目前支持该架构的龙芯 3A5000 处理器芯片已经流片成功,基于新架构的完整操作系统已经在 3A5000 计算机上稳定运行,这标志着国产自主信息技术体系和产业生态建设取得重要进展。


CPU 指令系统是计算机的软硬件界面,是 CPU 所执行的软件指令的二进制编码格式规范。一种指令系统承载了一个软件生态,如 X86 指令系统和 Windows 操作系统形成的 Wintel 生态、ARM 指令系统和 Android 操作系统形成的 AA 生态。国外 CPU 厂商以指令系统作为控制生态的手段,需要获得“授权”才能研制与之相兼容的 CPU。


目前,构建自主可控的信息技术体系和产业生态已成为共识,同时自主产业生态企业也深切感受到,“在别人的墙基上砌房子,再大再漂亮也可能经不起风雨,甚至会不堪一击”,而指令系统就是信息产业的墙基,基于国外授权的指令系统难以建设自主的信息技术体系和产业生态。2020 年,龙芯中科基于二十年的 CPU 研制和生态建设积累推出了龙芯架构(LoongArch),包括基础架构部分和向量指令、虚拟化、二进制翻译等扩展部分,近 2000 条指令。龙芯架构不包含 MIPS 指令系统。


图源:龙芯中科


自主性方面,龙芯架构从整个架构的顶层规划,到各部分的功能定义,再到细节上每条指令的编码、名称、含义,均进行自主重新设计;同原有兼容指令系统相比,龙芯架构不仅在硬件方面更易于高性能低功耗设计,而且在软件方面更易于编译优化和操作系统、虚拟机的开发;龙芯架构在设计时还充分考虑了兼容生态需求,融合了国际主流指令系统的主要功能特性,不仅能够确保现有龙芯电脑上应用二进制的无损迁移,而且能够实现多种国际主流指令系统的高效二进制翻译。


据了解,龙芯中科从 2020 年起新研的 CPU 均支持龙芯架构。龙芯中科已经在一定范围内发布龙芯架构的基础架构指令系统手册,待完成评估后将在更大范围内发布更完整的龙芯架构指令系统手册。龙芯中科还将联合产业链伙伴在适当的时间建立开放指令系统联盟,在联盟成员内免费共享架构及有关龙芯 IP 核。


过去一年,在生态建设方面,龙芯也取得了一些进展,比如百度飞桨深度学习框架与龙芯国产通用处理器进行了安装部署测试、基本功能测试和稳定性兼容性测试,联合测试结果显示百度飞桨深度学习平台在龙芯 3A4000 平台上均能顺利安装,且系统整体运行稳定,满足用户的关键性应用需求;科大讯飞的讯(询)问笔录系统(客户端)产品及听见智能会议系统政府特供版(客户端)产品在龙芯 3A3000 平台上顺利安装、运行良好,且整体系统运行稳定,性能卓越等。

龙芯决定放弃所有美国技术的这半年


长期以来,除了在芯片代工方面薄弱之外,中国在芯片指令集上也几乎是采用的美国技术,华为也购买了 ARM 芯片架构的授权,考虑到 ARM 当前命运飘忽不定的现状,这种授权未来是否可以继续也很难说。


在国产芯片中,龙芯的自主程度相对较高,这款芯片诞生之初就主张源代码自己写,处理器核自己设计,拥有自主发展权,唯一可能的隐患就是龙芯的指令系统 LoongISA 基于美国 MIPS 发展而来,基础架构和 MIPS 有着千丝万缕的联系。尽管 MIPS 市场规模小的可怜,现在也基本停止维护,但终究是不可控因素。


2020 年 8 月份,龙芯胡伟武在 2020 年计算机体系结构学术年会上的《指令系统的自主与兼容》报告中谈到,龙芯下决心彻底放弃之前使用的所有美国技术,打算实现 100% 纯国产,准备研发一套完全采用中国技术的指令集 LoongArch,该指令集兼容 MIPS 指令集,同时也能兼容龙芯后来扩展自 MIPS 架构的 LoongISA 指令集。


在当时的介绍中,LoongArch 是全新的指令集。包含基础指令 337 条、虚拟机扩展 10 条、二进制翻译扩展 176 条、128 位向量扩展 1024 条、256 位向量扩展 1018 条,共计 2565 条原生指令。MIPS、X86、ARM、Risc-V 都将通过二进制模拟来运行,不再原生支持。区别只是 MIPS 与 LoongArch 近似度较高,效率会高一些。


起初,龙芯被重视很重要的一个背景是 2015 年 4 月 9 日《华尔街日报》报道,美国政府禁止企业向与超级计算机有关的中国设施出口技术,这对英特尔和其他硬件供应商来说是一个打击,给中美两国之间的一系列科技争端再添一项。


这一限令包含在美国商务部发布在联邦政府网站的一份公告中,其日期标明为 2 月 18 日,即中国除夕,但直到 4 月 9 日才有媒体获悉其存在。被列入限制名单的分别是中国国防科学技术大学、国家超级计算机长沙中心、国家超级计算机天津中心和国家超级计算机广州中心。


公告声称,美国政府认定名单上的这些机构“涉及违反美国国家安全或外交政策利益的活动”。例如,“中国国防科学技术大学采用源自美国的多核、主板和处理器生产天河-1A 和天河二号”,这两个系统“据信被用于核爆炸活动”。


如果有美国公司要向名单上的 4 家中国机构出售相关技术,必须先向美国政府申请出口许可。但正如公告所指出的那样,这类许可的申请“通常会遭到政策性的拒绝”。因此这一公告实际上相当于禁令。


时至今日,国际形势更为复杂,龙芯架构也显得格外重要,纯国产自主研发是目前最稳妥的选择。

Alphabet 董事长 35 年前参与创立 MIPS


提到龙芯架构依赖的 MIPS,很多人可能感觉非常陌生,其由斯坦福大学教授 John Hennessy(身兼 Alphabet 公司董事长职务、斯坦福前校长、也是图灵奖得主)于 35 年前参与创立,由这家公司打造的同名芯片架构方法,时至今日仍然在世界范围内得到不少应用。


2018 年末到 2019 年,中美贸易战全面升级,MIPS 的核心技术通过多家注册于开曼群岛与萨摩亚的企业、经由一系列复杂的交易被许可给上海芯联芯智能科技有限公司。


据知情人士透露,目前上海芯联芯智能科技有限公司控制着中国所有新老客户的全部 MIPS 许可权,同时也掌握着基于 MIPS 架构开发新型衍生技术的权限。一位知情人士指出,“面向中国大陆地区的许可已经被全盘售出”,交易总价值为 6000 万美元。


随着 MIPS 母公司 Wave Computing 在美执行破产程序,MIPS 的命运也开始变得扑朔迷离。Wave Computing 通过公关公司表示,该公司及其律师事务所认为,新的管理团队对该公司在执行 MIPS 许可协议的出口、进口与吸收外国投资等方面的“合规性与合法性”充满信心。


在路透社的最新报道中,多位硅谷风险投资家、律师以及科技初创企业 CEO 表示 自美国方面于 2018 年底收紧中国对美国各科技初创公司的直接投资限制以来,许可协议与离岸实体已经成为新的、最为热门的技术转让途径。此次 MIPS 采取的正是这样一种执行思路。


但从传统来看,许可交易通常不受 CFIUS(美国外资投资委员会)的审查与管辖,而且只要并非出于规避法律限制的目的、并遵循美国的出口管制法律(该法律旨在对具有战略意义的商品进行出口管制),则交易通常不存在违法风险。


目前负责美国国防部创新部门的技术高管 Michael Brown 表示,“中国正在利用合资企业或许可协议转移技术成果,而不再继续与美国伙伴保持长期合作。因此,必须对这些协议进行认真研究,保证转移的技术项目不出问题。”


CFIUS 方面并未回应此次交易问题,也没有对 MIPS 技术转让的更多相关细节做出评论。

MIPS 多次被交易,背景复杂


根据法庭公布的文件,由于收购 MIPS 相关的融资交易被迫撤回,Wave Computing 在今年 4 月下旬申请《美国破产法》中的第 11 章破产保护。一位前 CIP 工程师表示,CIP 方面与中国的协议仍然有效,包括继续向华为以及其他多家中国企业提供 MIPS 技术许可。


2017 年 9 月,中资背景的 Canyon Bridge 曾宣布收购英国芯片公司 Imagination Technologies,而后者当时正是 MIPS 的所有方。当时,CFIUS 对 MIPS 收购交易进行了一番审查。根据 Imagination 在 2017 年 9 月 22 日发布的 MIPS 出售事宜声明,该交易若要顺利完成,则必须进行重组以将 MIPS 与该集团内的其余业务区分开来。


自 Imagination 的拆分之后,MIPS 经过多次易手最终落入 Wave Computing 公司手中,之前提到的 Canyon Bridge 以及阿里巴巴都持有 Wave Computing 的少量股份。


美国战略与国际研究中心技术政策计划主任 James Lewis 表示,“我希望 CFIUS 能够在对技术投资的监督方面采取强硬态度。”他曾参与起草了 2018 年管制法案中的部分措施,旨在加强对于外国直接投资活动的监管。但此次立法并未涉及对于许可类交易的督导。


如此看来,在当前的国际形势下,MIPS 确实不是稳妥的选择,其背后的公司命运也尚不明晰。事实上,很多处理器看似是中国自主制造,但指令集授权往往来自于 ARM、MIPS,虽然很多都表示是长期授权,但只要 ARM 或者 MIPS 更新指令集,旧的授权就面临执行问题。在这样的背景下,龙芯希望自主研发进而完全可控是可以理解的。


参考链接:


https://baike.baidu.com/item/ 龙芯 /145607?fr=aladdin


https://www.reuters.com/article/us-usa-china-tech-insight/tech-war-chronicles-how-a-silicon-valley-chip-pioneer-landed-in-china-idUSKBN25L15U


https://www.bilibili.com/read/cv10870749/

公众号推荐:

AIGC 技术正以惊人的速度重塑着创新的边界,InfoQ 首期《大模型领航者AIGC实践案例集锦》电子书,深度对话 30 位国内顶尖大模型专家,洞悉大模型技术前沿与未来趋势,精选 10 余个行业一线实践案例,全面展示大模型在多个垂直行业的应用成果,同时,揭秘全球热门大模型效果,为创业者、开发者提供决策支持和选型参考。关注「AI前线」,回复「领航者」免费获取电子书。

2021-04-19 10:212503

评论

发布
暂无评论
发现更多内容

OpenHarmony中的HDF单链表及其迭代器

OpenHarmony开发者

Open Harmony

软件测试 | 测试开发 | Jenkins 踩坑(三)| Email 配置与任务邮件发送

测吧(北京)科技有限公司

测试

Spring源码分析(九)lazy-init 在Spring中是怎么控制加载的

石臻臻的杂货铺

spring 9月月更

软件测试 | 测试开发 | app自动化测试(Android)-- 特殊控件 T识别oast

测吧(北京)科技有限公司

自动化测试 Android;

测试管理 | 龙智获得Xray专家认证

龙智—DevSecOps解决方案

Jira插件

易周金融分析 | 多家银行试水特色网点揽客;自动驾驶颠覆传统车险模式

易观分析

自动驾驶 金融 银行 网点

leetcode 104. Maximum Depth of Binary Tree 二叉树的最大深度(简单)

okokabcd

LeetCode 算法与数据结构

软件测试 | 测试开发 | 接口管理工具YApi怎么用?颜值高、易管理、超好用

测吧(北京)科技有限公司

测试 Mock

软件测试 | 测试开发 | 文未有福利 | 接口自动化你不懂?听HttpRunner的作者怎么说

测吧(北京)科技有限公司

测试 接口调试

FreeRTOS记录(二、FreeRTOS任务API认识和源码简析)

矜辰所致

源码分析 FreeRTOS 9月月更 任务API

SAP UI5 ManagedObject 的 Association 讲解

汪子熙

JavaScript typescript SAP UI5 ui5 9月月更

软件测试 | 测试开发 | 抓包分析 TCP 协议

测吧(北京)科技有限公司

TCP 抓包分析

Serverless 架构下的 AI 应用开发:入门、实战与性能优化

阿里巴巴云原生

阿里云 Serverless 云原生

软件测试 | 测试开发 | 数据持久化技术(Java)

测吧(北京)科技有限公司

测试

微信Windows端IM消息数据库的优化实践:查询慢、体积大、文件损坏等

JackJiang

sqlite 微信 网络编程 即时通讯 IM

软件测试 | 测试开发 | 如何模拟真实使用场景?mock 技术来帮你

测吧(北京)科技有限公司

测试

牛客“基础-中级-高级”Java程序员面试八股文集结,熬夜挑灯刷

程序知音

Java java面试 后端技术 Java面试八股文 Java 面试题

小六六学Netty系列之Netty群聊

自然

Netty 网络 9月月更

2022年8月国产数据库大事记-墨天轮

墨天轮

数据库 opengauss 国产数据库 达梦 polarDB

软件测试 | 测试开发 | app自动化测试(Android)--显式等待机制

测吧(北京)科技有限公司

测试

版本管理 | 如何解决SVN的合并冲突与分支问题?

龙智—DevSecOps解决方案

svn 版本管理

软件测试 | 测试开发 | 想测试入门就必须要懂的软件开发流程

测吧(北京)科技有限公司

测试

主流定时任务解决方案全横评

阿里巴巴云原生

阿里云 Serverless 云原生

云游戏产业链深度解析

Finovy Cloud

云计算 5G 云渲染 云游戏

小六六学Netty系列之Java NIO(二)

自然

Netty 网络 9月月更

小六六学Netty系列之Java 零拷贝

自然

Netty 网络 9月月更

软件测试 | 测试开发 | RPC接口测试技术-Tcp 协议的接口测试

测吧(北京)科技有限公司

软件测试 | 测试开发 | 一文带你了解K8S 容器编排(上)

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 基于Requests与mitmproxy打造迷你接口测试框架

测吧(北京)科技有限公司

测试 Request

软件测试 | 测试开发 | 一文搞懂测试左移和测试右移的 Why-How-What

测吧(北京)科技有限公司

测试 安全测试

代码质量与安全 | 实践“边写边清理”,您需要做好这两件事:质量配置文件和质量门

龙智—DevSecOps解决方案

代码质量 代码安全 静态代码安全

中国龙芯发布自主指令系统架构LoongArch_AI&大模型_赵钰莹_InfoQ精选文章