芯片突围记
本文来自微信公众号:知识自动化 (ID:zhishipai),作者:包云岗
原文标题:《包云岗 | 芯片突围记》
被人忽略的微架构能力
精简指令集 RISC 是计算器芯片发展史上的一个传奇。它最得意的作品,就是 1983 年英国 Acorn 公司,开启了基于加州大学伯克利分校 RISC 项目理念的新处理器架构研发项目 Acorn RISC Machine (ARM),这就是如今统治移动芯片的 ARM 架构的肇始。而伯克利的 RISC 项目在 1980 年代发展了四代,2010 年启动了第五代设计,即 RISC-V。
RISC-V 是一种指令集,并不是一种处理器的实现。指令集是一种标准规范,相当于是大家的一个约定。如果遵循同一个标准规范,那么不同厂商生产的软件和硬件就能在一起工作,就跟螺钉螺母的尺寸规范一样。
有了指令集标准规范,下一步最重要的就是芯片设计。根据指令集来去完成微架构的设计,形成文档,然后通过工程开发形成源代码。有了源代码之后,就可以用 EDA 软件形成芯片版图,最后交给台积电或中芯国际这些代工厂去流片,实现芯片制造。
当很多人将焦点集中在制造的装备或者设计的软件的时候,也很容易悄悄地忽略了看不见“微架构的设计和实现”。实际上,这是非常重要的能力,是芯片设计的核心竞争力。
当具备微架构设计和实现能力后,将不再受限于指令集。如果要更换一种指令集,也将非常容易。在过去几十年,英特尔处理器的性能在不断地提升,原因到底是什么?指令集的增加固然是看得见的积累,但更重要的是,英特尔处理器微架构和工艺的不断演进。从 1995 年英特尔的 P6 架构开始,到 2000 年再到 2006 年,大概每五年一代架构就会演进一次。不断迭代过程中,实现微架构层面的优化。而这正是英特尔设计能力的核心。甚至从这个角度来看,指令集在某种程度上并不是那么重要,因为它只是一种标准规范。而微架构的设计和实现能力,才真正决定了一颗芯片的性能、功耗和面积。苹果公司在过去几十年更换了多个指令集,从摩托罗拉到英特尔、到 PowerPC、再到今天的 ARM。由于苹果自身的垂直协同设计能力很强,更换指令集并不是一件太难的事情。国内的龙芯公司,因为具备很强的芯片设计能力,从 MIPS 指令集更换到自有指令集龙芯(longArch)指令集时,微架构设计也几乎不用做太多改变。国内还有企业在研发可以同时支持 Arm 和 RISC-V 的设计,也是因为底层的微架构设计并不需要大的变化,就可以支持不同的指令集。
指令集与生态
指令集不重要了吗?如果从软件生态而言,却是至关重要的。它会决定软件生态开发的效率。早年的 IBM 计算机,每一台计算机的指令集都是独立的,导致计算机的软件投入特别大。1964 年 IBM 推出的 System / 360 计算机改变了这个格局,形成了统一的指令集,从而计算机软件和硬件可以分离开。这次标准化的指令集延伸开来,逐渐使得独立的软件产业成为可能。统一的指令集,虽然对单一公司的作用没有架构能力重要,但对于软件生态却是决定性的影响。
但是,在过去的几十年时间里,指令集均属于公司私有,如 X86、ARM、MIPS、SPARC 等。2010 年,加州大学伯克利分校 David Patterson 教授提出一个响亮的口号 “指令集应该免费”,这个理念立刻得到全世界的认可。伯克利分校所推出的 RISC-V 更是蓬勃发展起来。既然指令集不再属于某一个公司,那么全世界可以共同去建设。一种全新的开源开放共享的处理器生态出现了。而共建模式的核心,就在于把标准规范和产品实现进行分离。这就和通信领域的 5G 通信标准的建设机制非常类似。5G 标准由非盈利组织 3GPP 组织来负责制定,而各个企业可以根据 5G 标准去做自己的产品,在开放的模式下去竞争。
类似的,RISC-V 也带来了这样的新机会,指令集的标准由 RISC-V 国际基金会来制定。基于这个标准,不同国家的不同企业都可以来研制不同的 RISC-V 产品,例如,美国硅谷新秀 Sifive 公司的 RISC-V 产品、国内阿里平头哥的玄铁 RISC-V 处理器、以及中科院在开发的香山处理器。这为后进入赛道的处理器厂家,带来了一种新模式,即“5G 模式发展芯片”。在过去 20 多年,国内的处理器发展模式,主要有“高铁模式”和“北斗模式”。高铁模式代表了一种融入现有生态的思路,通过引进-消化-吸收-再创新,实现产品升级,代表企业有海光、海思和飞腾。而北斗模式则是独立构建技术体系和生态,以龙芯、申威为代表。而“5G 模式”意味着中国的处理器可以采用第三种模式,制定开放标准,自研核心技术,在开放的框架下去竞争和合作,并且面向国际市场和生态建设。
RISC-V 的再认识
尽管 RISC-V 意义重大,但行业依然有很多误解。2022 年 12 月,David Patterson 教授写了一篇文章,专门来纠正关于 RISC-V 的一些谬误。
第一个误解,RISC-V 是一个开源处理器,就像 Linux 是一个开源操系统。实际上,RISC-V 不是一个开源处理器,它只是一种标准规范,本质上是一本描述性手册,类似以太网标准、USB 标准等。而 Linux 操作系统是一种源代码。所以这两个不具备可比性。RISC-V 就是一个标准,而国际基金会就类似一个制定标准规范的工作组。
第二个误解,成熟封闭的指令集要比选择开放的指令集更安全可靠。安全性跟封闭和开源并无关系。封闭指令集属于公司,就会和公司的命运紧密绑定。如果公司不景气,该公司的指令集就会消失,供应链安全无法得到保障。历史上消失的指令有很多,包括像曾经一度流行的 DEC VAX 和 DEC Alpha 指令集。此外,封闭指令集也未必稳定,当年 MIPS 曾经卖给了六个企业,ARM 也有三个东家,而更换一个东家就意味着商业模式可能会发生变化。
第三个误解,封闭的指令集是整齐划一,没有碎片化的割裂状态。实际上,封闭指令集会在其生命周期中,经常碰到无法预见的不兼容问题。即使在 ARM 的一个体系下,也出现过不兼容的情况。ARMv1 到 ARMv7 使用 32 位地址空间,然而在下一代能够同时提供 32 位和 64 位地址版本的 ARMv8-a,却无法兼容。而且,即使同一代产品,ARMv8-a 和 ARMv8-m 也存在不兼容。碎片化,在某种程度上其实是一种常态。
第四个误解,相对于封闭指令集,RISC-V 的模块化导致了更加碎片化的软件生态。在这一点上,RISC-V 技术工作组已经在提供一些新的机制,比如通过配置(Profile)机制,来规范软件生态,从而使软件不会像想象得那么碎片化。
最后一个谬误,很多人断言 RISC-V 不可能成为主流指令集。这一点结论为时过早。从技术上而言,RISC-V 是可以去支持从嵌入式、到普通计算机、一直到超级计算机领域的,并不存在系统性缺陷。如果从商业角度而言,更加开放的标准,往往会更有生命力。这一点倒是可以跟 Linux 操作系统的成功相媲美。
RISC-V 的五大趋势
RISC-V 已经开始往高性能领域发展了。以前很多人认为它只能在嵌入式领域,但最近这几年,已经出现了一批 RISC-V 高性能处理器实现,代表企业有硅谷的 Sifive、Ventana,在技术上有一定优势。国内还有香山处理器,以及上海赛昉。SiFive 近期推出高达 3.4GHz 的 RISC-V 处理器,性能可以对标 ARM A78,是一个相当高性能的处理器。对比国内来看,在研发进度上,这款设计领先国内的香山大概一年左右。但是香山也有它的优势,因为香山通过开源开放的模式联合多个企业一起来研发,可以更快地迭代,同时通过分摊降低成本。
值得注意的是,许多国家在国家层面上在积极地推动或支持 RISC-V。例如 2022 年 6 月份,俄罗斯数字发展部宣布将大力扶持 RISC-V 处理器的发展。印度也启动了“数字印度 RISC-V 处理器”(DIR-V) 发展规划”。同时,印度的电子信息部(相当于国内的工信部)以部的名义加入了 RISC-V 国际基金会,并成为了高级会员。此外,欧盟在 2022 年 9 月 8 号发布了《关于建立欧洲开源硬件、软件和 RISC-V 技术主权的建议和路线图》报告,支持 RISC-V 与开源硬件,尤其给出了九大优先发展关键方向,并给出了实施路径,包括建立非盈利机构来支持研发、实施教育政策和措施等等。由此可见,全世界都在积极投入 RISC-V 生态建设。
RISC-V 关键软件生态的发展也是非常迅速。一方面,RISC-V 国际基金会在积极推动基础软件的适配工作;另一方面,很多开源软件社区也在主动适配。这就使得全世界的软件力量也都在支持 RISC-V 生态的发展。以 Linux 发行版 Debian 为例,开源社区于 2019 年开始支持 RISC-V,在全世界开源社区的努力下,仅用 3 年时间就完成了 2 万多个软件包中 95% 的移植,使 RISC-V 成为 Debian 支持的 Tier-1 架构。在 RISC-V 生态建设上,中国处于第一梯队。尤其是 2018 年以来,很多企业都在推出各种各样基于 RISC-V 的芯片产品。同时,地方政府也出台一系列政策。特别是北京政府,在 RISC-V 方面有很大的投入。
由于 RISC-V 软件生态也在加速,RISC-V 正在得到了越来越多企业的支持。除了初创公司外,包括像英特尔这样的巨头也积极投入到 RISC-V 的生态建设当中。美国企业在高性能处理器领域的投入比较大,总体处于领先地位。但在国内,初创公司非常活跃,数量上也远大于美国。尽管目前,还是主要还集中在 MCU 级别。但这对于欧美日垄断性的市场,注入了一点新鲜的空气。
整体而言,RISC-V 应用正在全球快速地增长。2022 年上半年,RISC-V 国际基金会的数据显示,RISC-V 的出货量已经超过一百亿颗,预计到 2025 年有望突破 800 亿颗。总体来讲,RISC-V 还是缺少一些里程碑的、标杆式的 RISC-V 应用。但好消息是,欧盟计划投入 2.7 亿欧元,来研制超级计算机,这将是里程碑的事件。
中国的落地生花
RISC-V 国际基金会作为负责标准制定的机构,目前非常活跃。在全球已经有 70 多国家、3000 多个会员加入到 RISC-V 国际基金会,近几年每年都以超过 100% 的速度在增长。而从国家分布情况来看,中美欧并驾齐驱。中国国内企业的参与度非常高,在 RISC-V 国际基金会高级会员中,有 14 个国内企业是高级会员;在全球 25 个理事中,其中有 9 个成员是来自中国;还有一些技术发展伙伴,中国的机构和企业也在积极参与。这是一个非常充满中国活力的组织。
在北京市和中科院支持下,有 18 家企业联合发起了北京开源芯片研究院(开芯院),是 RISC-V 基金会的高级会员。开源芯片研究院希望像构建开源软件一样去构建开源芯片生态。在这样的一个开源芯片生态下,有很多开源的硬件组件可以被充分复用,从而大幅降低构建一颗芯片的成本,进一步让更多的中小企业去释放他们的创新活力。
目前,开芯院启动了香山开源高性能处理器核的研发。它的目标就是像 Linux 一样。如前所属,Linux 和 RISC-V 并不在一个层次,但香山和 Linux 是在一个层次。RISC-V 是一个标准规范,而香山是一个具体的实现。RISC-V 本身并不像 Linux,但香山像 Linux。开源芯片研究院的香山,定位成类似 Linux 开源处理器主线,既能够被工业界广泛应用,同时又可以支持学术界去做创新。
香山的特点在于它的源代码是开源的,同时开发代码的整个平台和工具也是开放的。用冰山做类比,芯片本身可看做是冰山水上面的部分,那冰山水下面的部分就是如何设计芯片所需要一系列的基础设施、测试及验证工具等。香山,就是要把所有的这些内容都开源开放,这样可以联合更多的企业来共同研发。目前香山的架构设计,已经发展到第三代。第一代叫“雁栖湖”,在 2022 年初已经实现流片,并达到了预期性能。第二代叫“南湖”,目前已经实现了对第一个客户的交付。南湖的性能是对标 ARM A76 的水平,并持续迭代新的版本。香山,是一个通过开源模式来构建的芯片设计,得到了全世界开源社区的大力支持。从 2021 年公开以来,香山在 GitHub 上非常活跃,是国际上最活跃的开源芯片项目之一。
香山早已不再是中科院的一个科研项目,而是通过开芯院这样的连接学术与工业界的组织,实现产品化、工业级的交付能力。
从性能对比图来看,目前香山在全世界的开源芯片中性能最高,在这个基础上,开芯院进一步确定了“两核”发展目标。第一个是经典核,能够适用于中高端工业、泛工业技术平台的处理器核,对标 ARM A76。第二个核是高性能核,主要应用在高性能场景,比如数据中心、算力基础设施等,对标 ARM N2。目前经典核“南湖”(性能对标 ARM A76),开芯院也在 2022 年 11 月实现了顺利交付,即按期交付了 100% 的 RTL 代码给第一个用户。在合作过程中,也得到用户的高度评价。接下来,开芯院在今年 2 月份还会将南湖交付给第二个用户。
更长远的计划也在跟进。2022 年 8 月,第三代香山“昆明湖架构”的联合研发,形成了将约 100 人的研发团队,面向新未来而拉开大幕。
更轻更广:第四代芯片商业模式
很多人非常关注的问题是:开源芯片有未来吗?
这个问题,可以从历史中获得一些启发。IBM 在 1981 年推出了个人电脑,并且把所有的文档都进行了公开。至今,人们还可以到网上找到 IBM 当年公开的这个近 400 页的文档。这个文档包含了所有的源代码、电路图以及各种寄存器的配置等。这在当时高度竞争、相互不兼容的个人计算机市场,是非常令人震惊的行动。
它带来了两个深远的影响:第一个影响是诞生了一批新兴的企业,像戴尔、康柏,以及国内的联想和长城等。戴尔和联想都是在 1984 年成立,至今仍然是全球三大家的主宰者(另外一家是老牌惠普)。由于降低了个人电脑设计的门槛,使得很多企业都可以进入个人电脑领域找到企业发展的新空间。第二个影响是 PC 的价格和成本大幅降低,原来一台 PC 要将近一万美元,因为 IBM 的开源开放,PC 售价降低到了 1500 美元,使得 PC 真正能进入到每家每户,并成就了一个新兴的 PC 市场。
开源芯片有着同样的潜力,激活一个更大的产业,即“人-机-物”融合的新兴物联产业。这个产业规模会更大,因为万物互联、人机互联的场合到处都是,无论是智能家居、还是车联网等。那么在过去几十年,面对不同的产业,不同的芯片企业是怎么去支撑的?一个有趣的现象是:企业的模式越开放,所需要的资源越少,但撬动的产业却越来越大。
英特尔的模式是“IDM 模式 + 销售芯片”,企业只能拿 Intel 的芯片做整机。这种模式可以看作是重资产模式,因此 Intel 需要有超过五百亿美元的营业额、上百亿美元的利润才能支撑 PC 产业。以图像 GPU 起家的英伟达的模式,比英特尔模式更加轻一些,采用的是“无制造的芯片设计 Fabless 模式 + 芯片销售”的模式,它只需要一百五十亿美元以上的营业额以及三十亿美元的利润,就可以包打天下,支撑人工智能产业的发展。第三代模式是英国 ARM 公司,资产更轻。它采用了“Fabless+IP 授权”的方式,只做 IP 而让其他企业去做芯片。于是只需要二十亿美元营业额、三亿美元的利润的 ARM,就可以统治天下的智能手机产业。
现在物联网是奥迪如果开源芯片,可以把 IP、开发工具都进行实现开源开放,它所撬动的市场就会更大。通过开芯院等这样非盈利机构,采用“联合 Fabless + 共享 IP 授权”的模式,只需要两亿美元的研发经费,就足以撼动一个丰富的物联网产业。更多的初创企业,将具备根据场景需求而快速定制芯片的能力。开源芯片,将会有一个非常广阔的前景。
小记:开源是条值得尝试的路
RISC-V 为集体智慧开发芯片,开启独特之路。考虑到全球供应链大环境下的安全性,开源芯片适逢其时。它对于创新的贡献,不仅仅是技术,更是带来组织和商业模式的颠覆性变化。芯片事关未来,开源打开了一个全新的天地。
作者简介
作 者
包云岗:中科院计算所 / 北京开源芯片研究院
编 审
林雪萍:北京联讯动力咨询公司总经理