4月15日,龙芯中科宣布其自主指令系统架构(Loongson Architecture,以下简称龙芯架构或LoongArch)的基础架构通过国内第三方知名知识产权评估机构的评估,并在2021年信息技术应用创新论坛主论坛上正式对外发布。
CPU指令系统是计算机的软硬件界面,是CPU所执行的软件指令的二进制编码格式规范。一种指令系统承载了一个软件生态,如X86指令系统和Windows操作系统形成的Wintel生态以及ARM指令系统和Android操作系统形成的AA生态。国外CPU厂商以指令系统作为控制生态的手段,需要获得“授权”才能研制与之相兼容的CPU。采用授权指令系统可以研制产品,但不可能形成自主产业生态,就像中国人可以用英文写小说,但不可能基于英文形成中华民族文化。
目前,构建自主可控的信息技术体系和产业生态已成为共识,同时自主产业生态企业也深切感受到,“在别人的墙基上砌房子,再大再漂亮也可能经不起风雨,甚至会不堪一击”,而指令系统就是信息产业的墙基,基于国外授权的指令系统难以建设自主的信息技术体系和产业生态。
在这种情况下,开发自主指令集是规避风险的良策。
自主定义指令集存在一个问题,那就是软件生态压力巨大。2020年,龙芯中科基于二十年的CPU研制和生态建设积累推出了龙芯架构(LoongArch),包括基础架构部分和向量指令、虚拟化、二进制翻译等扩展部分,近2000条指令。
值得注意的是,龙芯架构不包含MIPS指令系统。
龙芯架构具有完全自主、技术先进、兼容生态三方面特点。
龙芯架构从整个架构的顶层规划,到各部分的功能定义,再到细节上每条指令的编码、名称、含义,在架构上进行自主重新设计,具有充分的自主性。
龙芯架构摒弃了传统指令系统中部分不适应当前软硬件设计技术发展趋势的陈旧内容,吸纳了近年来指令系统设计领域诸多先进的技术发展成果。同原有兼容指令系统相比,不仅在硬件方面更易于高性能低功耗设计,而且在软件方面更易于编译优化和操作系统、虚拟机的开发。
龙芯架构在设计时充分考虑兼容生态需求,融合了各国际主流指令系统的主要功能特性,同时依托龙芯团队在二进制翻译方面十余年的技术积累创新,不仅能够确保现有龙芯电脑上应用二进制的无损迁移,而且能够实现多种国际主流指令系统的高效二进制翻译。
目前,支持龙芯架构的龙芯3A5000处理器芯片已经流片成功,基于新架构的完整操作系统已经在3A5000计算机上稳定运行。而自3A5000之后,龙芯就与MIPS彻底分道扬镳,没有任何关系了。
据悉,龙芯中科从2020年起新研的CPU均支持LoongArch架构。从其它主流指令系统到LoongArch的二进制翻译系统已经可以在3A5000计算机上演示运行基于其它主流指令系统的复杂应用程序。
龙芯中科方面表示,公司高度重视与龙芯架构相关的知识产权工作,委托国内第三方知名知识产权评估机构对龙芯基础架构进行深入细致的知识产权评估。从2020年二季度开始,双方投入上百人月,将LoongArch与ALPHA、ARM、MIPS、POWER、RISC-V、X86等国际上主要指令系统有关资料和几万件专利进行深入对比分析。2021年1月,针对被评估的基础架构版本该评估机构认为:
(1)LoongArch在指令系统设计、指令格式、指令编码、寻址模式等方面进行了自主设计。
(2)LoongArch指令系统手册在章节结构、指令说明结构和指令内容表达方面与上述国际上主要指令系统存在明显区别。
(3)未发现LoongArch基础架构对上述国际主要指令系统中国专利的侵权风险。
目前,龙芯中科已经在一定范围内发布LoongArch的基础架构指令系统手册,待完成评估后,将在更大范围内发布更完整的LoongArch指令系统手册。此外龙芯中科还将联合产业链伙伴在适当的时间建立开放指令系统联盟,在联盟成员内免费共享LoongArch及有关龙芯IP核。
指令系统是软件生态的起点,只有从指令系统的根源上实现自主,才能打破软件生态发展受制于人的锁链。龙芯自主指令系统的推出,是龙芯中科长期坚持自主研发理念的重要成果体现,是在完成CPU性能补课、全面转向生态建设历史关头的重大技术跨越,标志着龙芯中科在自主信息技术体系和产业生态建设方面从跟随性发展的必然王国走向了自主发展的自由王国。
知名处理器KOL铁君曾发文解读龙芯LoongArch自主指令集,点击阅读:《浅谈龙芯LoongArch自主指令集 》
责编:Luffy Liu