科工力量龙芯发布自主指令系统,彻底抛弃M

日前,龙芯发布自主指令系统(LoongArch),在国内CPU公司争相引进X86、ARM、Power、SPARC、RISC-V等指令集的情形下,龙芯推出自主指令系统架构显得异常特立独行。

过去这些年,国内CPU公司引进英特尔、AMD、IBM、ARM、VIA、高通等公司的CPU,但始终没能建立起自己的Wintel,原因就在于始终保持着一种跟随心态,缺乏独立自主的决心和毅力。随着国际大环境风云变幻,特别是经过特朗普和拜登的教育,构建自主可控的信息技术体系和产业生态已成为共识,龙芯在此时发布自主指令系统架构可谓是恰逢其时。

龙芯自主指令系统是全新指令集

CPU指令系统是计算机的软硬件界面,是CPU所执行的软件指令的二进制编码格式规范。

目前,国际上曾经具有一定影响力的指令集有X86、MIPS、ARM、Power、Alpha、SPARC、RISC-V等,这些指令集都是舶来品,真正由国内自主研发的只有LoongArch和SW64。SW64是申威CPU的指令集,由国内单位自主研发,神威太湖之光超算的芯片SW就是基于SW64设计的。过去,龙芯基于MIPS指令集添加指令发展出LoongISA,本次的龙芯自主指令系统则与MIPS完全没有关系,是完全自主研发的全新指令集。

MIPS是全球第一种商用的RISC指令集,由于“历史悠久”,指令系统中有部分不适应当前软硬件设计技术发展趋势的陈旧内容,龙芯摒弃了传统指令系统中令人诟病的部分,吸纳了近年来指令系统设计领域诸多先进的技术发展成果。例如单条指令支持的立即数从MIPS的最大16位扩展到最大24位,分支跳转偏移也从64K扩展到1M字节,以及寻址空间从固定分段改变为单一平面等,有效减少了编译结果的目标指令条数和访存次数,提高了效能。

由于LoongArch指令设计上更加优化,在把源码编译为目标程序后的指令数量上甚至比x86略有优势。在Coremark的测试中,程序运行过程中执行的指令总数LoongArch为MIPS的83%,相当于运行效率提高了20%。在类型更加多样的测试中,综合测试结果,LoongArch平均比MIPS快12%,说明全新设计的LoongArch是成功的,可以为CPU带来大幅的性能提升。

另外,LoongArch设计时充分考虑兼容生态需求,融合了各国际主流指令系统的主要功能特性,操作系统中除了运行原生的LoongArch程序,还能通过翻译的方式兼容MIPS、x86、ARM、RISC-V这几种指令集的Linux程序。根据官方公布的PPT,在翻译X86时,运行效率可以达到80%。

年,龙芯委托国内第三方知名知识产权评估机构对龙芯基础架构进行深入细致的知识产权评估,将LoongArch与ALPHA、ARM、MIPS、POWER、RISC-V、X86等国际上主要指令系统有关资料和几万件专利进行深入对比分析。年1月,针对被评估的基础架构版本该评估机构认为:

1)LoongArch在指令系统设计、指令格式、指令编码、寻址模式等方面进行了自主设计。(2)LoongArch指令系统手册在章节结构、指令说明结构和指令内容表达方面与上述国际上主要指令系统存在明显区别。(3)未发现LoongArch基础架构对上述国际主要指令系统中国专利的侵权风险。

自主CPU的两个维度:自主指令系统、自主完成前端后端设计

一直以来,不论是与外商合资的国产CPU,还是购买外商技术授权的国产CPU,以及把外商CPU和自己的ASIC封装在一起的国产CPU均号称符合自主要素,宣传自主研发向政府要政策、要市场。地方政府基于局部利益、短期利益纷纷给这些所谓的国产CPU开绿灯、送政策。然而,在巨额资金的投入下,这些技术引进CPU不仅没能开花结果,反而出了不少幺蛾子,甚至折戟沉沙。之所以出现这些情况,关键还是对自主CPU的定义模糊,地方政府胡乱花钱,盲目引进技术。

铁流认为,自主CPU必须是基于自主指令,自主完成CPU设计。

首先看自主指令系统。过去,一些国内厂商宣称自己获得了ARMv8授权,一些ARMCPU的支持者因此就称国产ARMCPU符合自主要求。半个月前,ARM发布了其下一代芯片架构ARMv9,并声称是10年来最重要的创新,是未来亿ARM芯片的基础。在ARMv9发布后,国内购买ARMv8授权的ARMCPU厂商何去何从就是一个问题了。

诚然,关于某些国内厂商能够继续购买ARMv9指令集授权的报道充斥网络,但只要查一下新闻源头可以发现源头是年的一篇外媒报道,国内媒体是拿年的报道拼接套娃,就ARM


转载请注明:http://www.aierlanlan.com/rzdk/1184.html