|
中国网/中国发展门户网讯“开源”(open source)全称为开放源代码,其最大的特点是开放,即在版权限制范围之内任何人都可以得到源代码,并加以修改学习、重新发放。开源模式于 20 世纪 80 年代初开始在软件领域流行,现已成为软件领域不可或缺的一种开发模式。2019 年的一组调查数据显示,高达 99% 的软件使用开源组件。如今,开源模式已经扩展到硬件领域,尤其在处理器芯片领域,基于开源指令集 RISC-Ⅴ的开源芯片生态正在快速崛起,为包括中国在内的广大发展中国家突破中央处理器(CPU)芯片领域的技术垄断和市场垄断带来新机遇。但同时也不能盲目乐观,开源软件经历了近 40 年的发展才形成今天的蓬勃态势,而开源芯片还处于起步阶段,要构建相对完整的技术体系进而形成一个开源芯片生态,仍然面临诸多挑战和难题。
科技开源的意义
2021 年 6 月,在 RISC-Ⅴ 中国峰会的大会主题报告中李世默提出一个鲜明的观点:科技开源将会是突破科技排他性的有效手段。李世默认为,过去 30 年开展的全球化是封闭的全球化,发展模式通常由少数国家主导,最终形成了三大排他性,即经济排他性、政治排他性和科技排他性。在这一轮全球化过程中,中国提出了“社会主义市场经济”“人类命运共同体”“一带一路”等一系列开放、包容的新路线、新理念、新倡议,并发起创办亚洲基础设施投资银行,从而突破了经济排他性与政治排他性。
科技排他性已成为全球化进程的主要障碍之一。以芯片领域为例,众所周知,芯片已成为支撑各行各业的基石,但是芯片领域的关键技术集中在个别国家的少数企业,导致全球芯片产业发展极不平衡,且面临极大的供应链风险。近期,全球陆续出现“缺芯潮”,导致汽车制造等重要工业领域停工停产,使世界各国都蒙受了不可估量的经济损失。中国作为制造业大国,仍需大量进口芯片,甚至面临“卡脖子”困境。对于全球广大发展中国家而言,更无力应对少数国家在芯片领域的技术和市场垄断。
科技开源,其从单一走向多元,从排他走向包容,从普世走向普惠,将会是突破科技排他性的有效手段。事实上,开源也存在竞争,不投入就会在开源生态构建过程中丧失话语权和主导权。发达国家一直以来对科技开源比较重视。2016 年,美国政府发布《联邦源代码政策》,要求联邦机构将新开发的源代码以不少于 20% 的比例开源。过去 20 年,欧盟成员国(包括英国)共出台了超过 75 份政策文件和 25 份法律文件,积极推动开源发展。发达国家的企业与大学均十分重视对开源技术的投入。英特尔、谷歌、亚马逊等国际知名企业,以及美国加利福尼亚大学伯克利分校、普林斯顿大学、麻省理工学院等世界一流大学都开发出有影响力的开源项目。2018 年的一项统计显示,在全球最大的开源代码托管网站 GitHub 上,全世界参与开源项目人数最多的公司是微软,有高达 4 550 名员工参与;谷歌则排第二,有 2 267 名员工参与。
2021 年 3 月发布的《中华人民共和国国民经济和社会发展第十四个五年规划和 2035 年远景目标纲要》(以下简称《“十四五”规划和 2035 年远景目标》)中明确提出支持数字技术“开源”发展。科技开源,还需要引导中国企业、学术界加大对开源的投入,需要形成一批中国发起的有影响力的开源项目。
处理器芯片设计新趋势:开源模式
芯片按功能可分为处理器芯片、存储芯片和其他功能芯片。其中,处理器芯片是电子设备的“大脑”,作为基石和底板支撑了占我国国内生产总值(GDP)总额近 1/6 的信息产业。过去 20 年,我国一直高度重视处理器芯片产业的发展,出台一系列产业政策并取得了积极效果,但一些企业仍面临核心处理器芯片被“卡脖子”的困境。
近年来,开源指令集 RISC-Ⅴ 以其“指令集应该免费”(instruction sets want to be free)的宗旨得到全世界的广泛认可与积极投入。截至 2021 年 9 月,RISC-Ⅴ 国际基金会的会员已覆盖 70 多个国家,总数已超过 2 300 个,其中企业和机构超 500 家。RISC-Ⅴ物联网处理器芯片已大规模商用,仅国内就有超 5 亿颗 RISC-Ⅴ 核心芯片投放市场;同时,开始出现使用先进工艺节点的中高端芯片研发投入,多家企业已开始布局 5/7 nm 高性能 RISC-Ⅴ 处理器开发。开源开放也大幅度加速了处理器芯片架构创新,基于 RISC-Ⅴ 的类脑、众核等新型计算芯片的研发方兴未艾。未来数年,将出现 RISC-Ⅴ 与人工智能(AI)、高性能计算等产业互促发展的良好局面。
开源指令集打破了其他指令集属于公司私有的现状,为构建开源芯片生态技术体系提供了可能性。开源芯片,就是将芯片设计相关的源代码和文档免费公开,降低使用者的获取成本,降低芯片设计的门槛。开源芯片发展新趋势存在三大驱动力:“摩尔定律”逐渐放缓,领域专用体系结构(DSA)开始盛行,但 DSA 会引起碎片化问题,从而使得芯片设计成本与周期 2 个维度同时降低门槛;芯片研发门槛高客观上阻碍了创新,而降低门槛激发了创新活力、繁荣了芯片产业;芯片架构人才紧缺,而降低门槛有助于快速和大规模培养高水平芯片设计人才。
从突破科技排他性角度来看,基于 RISC-Ⅴ 构建开源处理器芯片生态,既有机会破解我国核心处理器芯片被“卡脖子”的现状,又能够协同全球各国特别是众多发展中国家共同构建开源处理器芯片生态,并开拓新兴应用市场。这是一种突破处理器芯片垄断格局的新路线,有望形成普惠世界的处理器芯片领域的“人类命运共同体”。
构建开源芯片生态技术体系的新机遇
开源软件生态降低了软件创新门槛
开源软件经历近 40 年的发展,如今各类商业软件几乎都有对应的开源版本,特别是操作系统、编译器、数据库、函数库等基础软件,一些开源软件综合性能甚至优于商业软件。这些开源软件已经构成一套较为完整的技术体系,进而形成一个价值达到数百亿美元的开源软件生态。开源软件生态降低了软件创新的门槛,为软件企业节省了大量的时间与成本。例如,开源软件 LAMP组合或 MEAN组合已经成为互联网公司(尤其是初创公司)构建业务的标配,让企业可以更专注于业务创新。工业和信息化部统计数据显示,截至 2018 年,我国拥有近 450 万个手机应用程序(APP),数量雄踞世界第一,这正是受益于开源软件极大地降低了 APP 的开发门槛。
处理器芯片设计具有规范的流程
相比价值已达数百亿美元的开源软件生态,开源芯片仍处于起步阶段。虽然开源指令集 RISC-Ⅴ 得到全世界的积极响应,但仅有指令集离一套较为完整的技术体系还有很大差距。如图 1 所示,处理器芯片设计流程一般包括 3 个阶段。
阶段 1:根据指令集手册进行微架构设计,输出一系列设计文档。
阶段 2:投入相当的工程理论,把微架构设计实现为寄存器传输级(RTL)源代码。
阶段 3:使用电子设计自动化(EDA)工具将RTL 源代码转化为可供流片的芯片版图。
开源芯片技术体系和 RISC-Ⅴ具有完善的层级
开源芯片技术体系的 3 个层次
一套完整的开源芯片技术体系包括 L1——开源指令集、L2——开源设计实现、L3——开源工具 3 个层次(图 1)。
L1——开源指令集。指令集架构 ISA(instruction set architecture)本质上是一种标准规范,其表现形式是一份手册文档。开源指令集的内涵包含 2 个方面:①任何人都可以免费获取指令集手册,根据手册免费设计与实现自己的处理器芯片;②指令集的演进由开源社区共同制定,而不是由某个公司掌控。
L2——开源设计实现。处理器芯片的微架构设计一般由设计文档记录,处理器芯片的实现则是用硬件描述语言(如 Verilog、Chisel 等)来描述设计文档中的微架构设计,形成一份寄存器传输级(RTL)源代码。开源设计实现的内涵包含 2 个方面——微架构设计文档和 RTL 源代码,均可免费获取。
L3——开源工具。处理器芯片的设计与实现过程中需要使用各种工具,主要包括三大类:微架构设计空间优化工具,包括软件模拟器、程序特征分析工具、性能/功耗建模与评估工具等;测试与验证工具,包括不同层次(模块级、组件级、IP 级、SoC 级等)的功能正确性验证工具、错误定位与追踪工具、形式化验证工具、自动化测试框架与测试用例等; EDA 工具,包括综合工具、布局布线工具、仿真工具、版图生成与验证工具等。
由此可见,L1 级是整个开源芯片技术体系的基础;没有 L1 级的开源指令集,则不可能有 L2 级开源设计实现。这也正是 RISC-Ⅴ 指令集的价值所在,它赋予了全世界所有人免费设计与实现处理器芯片的平等机会。虽然 L1 是基础,但要设计与实现一个处理器,L2——开源设计实现与 L3——开源工具更为重要,而且 2 个层次紧密联系。用操作系统作类比,可移植操作系统接口(POSIX)系统调用标准属于 L1级,Linux 操作系统源代码属于 L2 级,C 语言/GCC 编译器则属于 L3 级。
RISC-Ⅴ的分级情况
根据上述开源芯片技术体系分类,可将 RISC-Ⅴ 的级别层次现状进行梳理。
RISC-Ⅴ 处于 L1 级,它允许全世界任何人免费实现一个 RISC-Ⅴ 处理器,可以是商用,也可以开源,其中基于 RISC-Ⅴ 的商业处理器IP则停留在 L1 级。
目前,国际上已有超过 100 个开源 RISC-Ⅴ处理器实现,如伯克利的 Rocket/BOOM、阿里平头哥半导体有限公司的玄铁系列、芯来科技有限公司的蜂鸟 E200 等,这些开源RISC-Ⅴ 处理器都处于 L2 级。因为它们虽然开源了处理器源代码,但相应的设计工具并未开源。
理想的 L3 级应该是设计与实现开源芯片的工具全部开源,目前全世界范围尚未达到这个水平。中国科学院计算技术研究所开发了开源高性能 RISC-Ⅴ 处理器“香山”,同时将开发“香山”的一系列底层工具也开源,已经向 L3 级靠近。但“香山”也还未完全达到 L3 级,因为当前“香山”的开发过程中仍需大量使用商业 EDA 工具。只有开源 EDA 取得突破性进展,L3 级开源芯片才能真正得以实现。
构建开源芯片生态技术体系面临的挑战与对策
挑战
当开源芯片技术体系达到 L2 级,就基本具备了构建开源芯片生态的条件。开源芯片生态的形成,开源处理器(L2 级)仅仅是一个必要条件,还需要软件、应用、人才、资金等多种关键要素。虽然 RISC-Ⅴ 在中国发展得如火如荼,但基于 RISC-Ⅴ 构建开源芯片生态仍面临若干挑战。
生态不成熟且碎片化严重。缺少技术主线和主导力量,尚不能真正有效汇聚全球研发力量,这阻碍了技术的持续迭代和应用拓展。
公共服务与赋能平台缺位。国内自发形成的联盟事实上承担了极为有限的职能,组织松散且力度不足,无法形成对生态的系统性支持和引导。
尚未形成有效的国内合作机制。国内相关科研院校、龙头企业未能形成合力,诸多共性技术未能有序布局、合作攻关,重复投入导致资源浪费严重。
中国企业在 RISC-Ⅴ 国际基金会话语权仍需加强。我国 RISC-Ⅴ 相关企业和科研机构在与 RISC-Ⅴ 国际基金会的合作过程中,虽有合作松散等自身原因,但更因国际话语权缺失,导致尚未能在国际上协同推动有利于我国的技术生态标准。
对策
20 世纪 80 年代以来,欧美国家形成了一批基于产业联盟的创新联合体,如MCC、SRC、IMEC和 Sematech等。经过近 40 年的发展,这些研究机构取得了业界公认的成就,在原始创新、技术转移与专利共享、人才培养等方面取得了丰富的经验,对全球半导体集成电路产业发展起到了重要作用,受到政产学研等各方的好评和支持。因此,加速基于 RISC-Ⅴ 的开源芯片生态建设,需联合多家企业共同开发共性基础技术,这迫切需要在国内建设一个开源芯片新型研究机构作为总体研发平台。对此,《“十四五”规划与 2035 年远景目标纲要》中提出了“支持数字技术开源社区等创新联合体”的指导思路。联合多家企业共同构建开源芯片生态,这正是《“十四五”规划与 2035 年远景目标纲要》中大力倡导的“创新联合体”模式。
目前,中国科学院计算技术研究所正积极探索构建开源芯片创新联合体模式,准备联合企业力量,汇聚地方资源,逐步形成国际领先且开放包容的 RISC-Ⅴ 协同创新体系,加速 RISC-Ⅴ 开源芯片生态建设。
20 世纪 80 年代,开源模式在软件领域开始流行,如今已经扩展到芯片设计领域。开源模式作为一种有效地突破科技排他性的手段,对于关键核心技术被个别国家的少数企业所垄断的芯片领域,意义尤其重大——开源芯片有望联合并赋能全世界更多国家特别是发展中国家的芯片产业。当然,开源芯片仍处于起步阶段,仍然面临诸多挑战和需要解决的问题。中国在开源芯片领域具备很好的条件,有机会成为开源芯片领域的引领者。
(作者:包云岗、孙凝晖,中国科学院计算技术研究所、中国科学院大学 计算机科学与技术学院、计算机体系结构国家重点实验室;《中国科学院院刊》供稿)