作者简介
胡伟武
高翔
张戈
论文引用格式:
胡伟武, 高翔, 张戈. 龙芯指令系统架构及其软件生态建设[J]. 信息通信技术与政策, 2022,48(4):43-48.
龙芯指令系统架构及其软件生态建设
胡伟武 高翔 张戈
(龙芯中科技术股份有限公司,北京 100190)
摘要:构建独立于Wintel体系和AA体系的安全可控的信息技术体系是龙芯的发展目标。介绍龙芯自主指令系统架构LoongArch;并从构建LoongArch的基础软件体系、研发兼容及自主编程框架、通过二进制翻译实现与X86等主流架构的应用兼容、LoongArch开源社区建设等方面介绍龙芯软件生态建设进展及计划。
关键词:龙芯指令系统架构;龙芯基础版操作系统;应用兼容框架;自主编程框架;二进制翻译
中图分类号:F426.6;TP368.1 文献标志码:A
引用格式:胡伟武, 高翔, 张戈. 龙芯指令系统架构及其软件生态建设[J]. 信息通信技术与政策, 2022,48(4):43-48.
DOI:10.12267/j.issn.2096-5931.2022.04.008
0 引言
改革开放以来,我国的信息产业主要构建在以Intel的CPU和微软的Windows操作系统形成的Wintel体系和以ARM的CPU和谷歌的Android操作系统形成的AA体系基础之上,这不仅使国家安全受到威胁,产业发展也受制于人。2011年,我国电子信息产业前100强企业的总利润加起来不及美国苹果公司的一半[1]。2012年,全球手机市场总利润中仅苹果公司和三星公司就占97%,该比率在2016年为94%[2]。同样是卖整机,主导手机生态的苹果公司2018年的销售收入为2 656亿美元,净利润为595 亿美元[3],而没有自主生态的联想公司2018年的销售收入为510 亿美元,净利润为6 亿美元[4]。同样是卖芯片,主导计算机生态的Intel公司2018年的销售收入为708 亿美元,净利润为210 亿美元[5],没有自主生态的展锐公司销售收入为16 亿美元,利润亏损(展锐公司手机芯片销售数量不少于Intel公司的电脑芯片销售数量)。可见,我国信息产业的发展关键在于基于自主CPU和操作系统建立独立于Wintel体系和AA体系的自主信息技术体系。
要形成国内信息产业大循环,需把握3个主要环节。一是基于自主核心IP的芯片研发。核心IP对芯片的性能、成本、功耗、安全性具有决定性作用,常见的核心IP有CPU核、GPU核、内存接口、高速IO接口等。二是基于自主指令系统的软件生态。指令系统是计算机最重要的知识产权,决定了软件的编码表征与存储格式,承载着软件生态的发展创新,是建立软件独立生态系统的基础。如X86指令系统承载桌面计算机和服务器的软件生态,手持移动终端软件生态由ARM指令系统承载。三是基于自主可控材料设备的生产工艺。目前,我国境内材料设备工艺已经可以基本满足我国自主信息化建设的要求,但包括光刻胶、光刻机在内的材料和设备还有许多方面受制于人,预计经过努力,这些问题将在未来10年逐步得到缓解。上述“3个基于”实质上就是我国信息产业要打通的3个堵点。
经过2001年以来20多年的努力,通过自主研发CPU核、GPU核、内存接口、高速IO接口等核心IP,龙芯公司于2021年正式推出的龙芯四核3A5000以及16核3C5000处理器的通用处理性能已经逼近市场主流产品的水平,正在研制的下一代龙芯3A6000/3C6000及3A7000/3C7000系列性能将达到市场主流产品的水平。龙芯公司自主生态建设的主要瓶颈从CPU性能不足转向软件生态不够丰富。本文从指令系统、操作系统、二进制翻译、开源社区等方面介绍龙芯软件生态的建设进展及计划。
1 推出自主指令系统架构LoongArch
指令系统是CPU所执行的软件指令的二进制编码格式规范,是计算机的软硬件界面,是CPU和操作系统共同的根技术。一种指令系统承载了一个产业生态,如X86指令系统承载桌面计算机和服务器产业,ARM指令系统承载手持移动终端产业。就像中国人可以用英文写文章,但不可能基于英文发展中华民族文化,基于国外指令系统中国的信息产业可以做产品,但构建安全可控的信息技术体系和产业生态则不可能。
2021年,龙芯公司基于20年的CPU研制和生态建设积累推出了龙芯指令系统架构LoongArch(Loongson Architecture),包括基础架构部分、虚拟化和二进制翻译、向量指令等扩展部分,近2 000 条指令。龙芯公司从2020年起新研制的CPU均支持LoongArch,包括3A5000、3B5000、3C5000及后续型号。
LoongArch具有自主研发、技术先进、兼容生态三方面特点。自主研发:龙芯指令系统架构在整个架构的顶层规划各部分的功能定义;对每条指令的编码、名称、含义等都进行了自主设计,具有充分的自主性。技术先进:作为自主研发的新架构,龙芯指令系统架构从设计初始,一方面摒弃了其他传统指令系统中已经不适应软硬件设计技术当前发展趋势的部分陈旧内容,另一方面也吸纳了诸多近年来指令系统设计领域的先进发展成果,因此不仅在硬件方面是便于高性能低功耗的设计,而且在软件方面也易于编译优化以及操作系统和虚拟机的开发。兼容生态:龙芯指令系统架构在设计时充分考虑了兼容生态的需求,在融合了各国际主流指令系统主要功能特性的同时,也依托龙芯团队在二进制翻译方面十余年的技术创新积累,对多种国际主流指令系统实现了高效的二进制翻译,从而实现了对X86、ARM等指令系统平台上二进制应用程序的高效运行,达到了生态融合的目的。
软件生态是龙芯指令系统架构能否成功的基础和关键。基于自主指令系统构建基础软件生态需要“2+3+3+2”的十大能力。一是需要迁移BIOS和操作系统内核到LoongArch,其中操作系统内核还包含虚拟化、图形、网络等驱动程序。二是三大编译器,包括GCC、LLVM和GoLang。三是三大虚拟机,包括Java、JavaScript和.NET。四是两大二进制翻译系统,包括从X86到LoongArch的二进制翻译系统和从ARM到LoongArch的二进制翻译系统。在上述“2+3+3+2”的十大能力基础上,就能够突破指令系统的壁垒,构建LoongArch的软件生态体系。龙芯公司通过长期的技术积累掌握了上述十大能力,奠定了应用软件生态全面持续发展的良好基础。
2 建成基于LoongArch的基础软件技术体系
基础软件技术体系是CPU生态发展的基石,在计算机应用和计算机硬件之间起到承上启下的关键作用。图1以层次结构的形式描述了基于LoongArch的软件技术体系。其中,系统架构层、编译工具与运行环境层、专项技术层属于基础软件体系。
本文刊于《信息通信技术与政策》2022年 第4期
主办:中国信息通信研究院
《信息通信技术与政策》是工业和信息化部主管、中国信息通信研究院主办的专业学术期刊。本刊定位于“信息通信技术前沿的风向标,信息社会政策探究的思想库”,聚焦信息通信领域技术趋势、公共政策、国家/产业/企业战略,发布前沿研究成果、焦点问题分析、热点政策解读等,推动5G、工业互联网、数字经济、人工智能、区块链、大数据、云计算等技术产业的创新与发展,引导国家技术战略选择与产业政策制定,搭建产、学、研、用的高端学术交流平台。
《信息通信技术与政策》官网开通啦!
为进一步提高期刊信息化建设水平,为广大学者提供更优质的服务,我刊于2020年11月18日起正式推出官方网站,现已进入网站试运行阶段。我们将以更专业的态度、更丰富的内容、更权威的报道,继续提供有前瞻性、指导性、实用性的优秀文稿,为建设网络强国和制造强国作出更大贡献!
推荐阅读
你“在看”我吗?

