向Linux看齐 立志存活三十年:包云岗团队开源高性能处理器“香山”
科技
科技 > 数码 > 正文

向Linux看齐 立志存活三十年:包云岗团队开源高性能处理器“香山”

编辑:张倩

中国科学院计算技术研究所的包云岗团队推出了一款开源的高性能 RISC-V 处理器——香山。他们给自己定的小目标是:存活 30 年。

在 CPU 架构领域,Arm 和 X86 分别在移动端和桌面端占据了绝大部分市场份额。但是,这两个巨头对指令集的授权管控极为严格,这意味着大多数芯片企业只能购买其半成品或接近成品的技术,在其基础上进行相对边缘化的研发,没有机会掌握真正核心、底层的技术。少数实力雄厚的企业能取得授权,也要付出数千万甚至上亿美元的授权费代价[1]。这使得 越来越多的芯片研发企业转向了开源的 RISC-V

加州大学伯克利分校教授、RISC-V 发明人 David Patterson 曾大胆预言:「 在五到十年内,RISC-V 可能成为世界上最重要的指令集 」。

随着 RISC-V 热度不断上升,这一预言似乎正逐渐走向现实。

前段时间,路透社等外媒报道称,英特尔正计划以 20 亿美元的价格收购全球首家基于 RISC-V 架构的半导体初创公司 SiFive。去年刚从英特尔离职的半导体行业大牛 Jim Keller 也透露出了对 RISC-V 前景的乐观,他表示,「这是一个非常好的指令集。(与 Arm 和 x86 相比,)它是最简单的一个,拥有所有该有的功能,而且没有太多垃圾。如果我想要快速构建一台计算机,并且希望它运行得够快,那么 RISC-V 是最容易的选择。」

放眼国内,RISC-V 的热度也在不断上涨。6 月 21 日,第一届 RISC-V 中国峰会在上海科技大学拉开帷幕。在本届峰会上,中国科学院计算技术研究所研究员、中国开放指令生态(RISC-V)联盟秘书长 包云岗 介绍了他们团队最近开发的一款 开源高性能 RISC-V 处理器——香山

为什么要做「香山」?此前,包云岗团队发现, Linux诞生 30年,其 不仅被工业界广泛应用,也成为学术界开展操作系统研究的创新平台, 而CPU领域尚未产生一个类似的开源主线。

要建立一个像Linux那样的开源RISC-V核主线,既能被工业界广泛应用,又能支持学术界试验创新想法。最关键的是,一定要让它像Linux那样至少存活30年。」这是「香山」团队给自己定下的小目标。

「我们做了一年多的准备工作——申请经费,启动『一生一芯』计划培养人才,建立团队,寻找合作伙伴……终于,香山正式启动了。」

据悉, 「香山」的理念是代码开源、流程开放、文档公开 [2]。 它基于 Chisel 硬件设计语言实现,支持 RV64GC 指令集 。 在「香山」处理器的开发过程中, 团队使用了包括 Chisel、Verilator 等在内的大量开源工具,实现了差分验证、仿真快照、RISC-V 检查点等处理器开发的基础工具,建立起了一套包含设计、实现、验证等在内的基于开源工具的处理器前端敏捷开发流程。其开源许可证采用的是木兰宽松许可证。 [3]

目前, 「香山」共有两版微架构,第一版叫「雁栖湖」,第二版叫「南湖」。

「雁栖湖」是一个11级流水、6发射、4个访存部件的乱序处理器核。它的开发始于 2020 年 6 月,RTL 于今年 4 月份完成。该架构的频率可以达到 1.3GHz@TSMC 28nm性能预计可以达到 7 分 / GHz(SPEC CPU 2006)

「雁栖湖」架构概览。

在 RISC-V 中国峰会上,包云岗介绍了「雁栖湖」架构开发的几个关键决策。

第一个决策是选择 使用 Chisel 语言 (伯克利大学发布的一种开源硬件构建语言)。与使用传统的 Verilog 语言相比,使用 Chisel 进行敏捷开发效率可以提升 13 倍,代码量仅为传统开发的 1/5,而且可以达到传统开发的质量水平。

第二个决策是 重视构建支持敏捷设计的流程与工具 ,包括效率接近 QEMU 的高性能解释器 NEMU、TL-C 一致性 Cache 的软件测试框架 Agent Faker、指令级在线差分验证框架 Difftest、基于内存的轻量级仿真快照 LightSSS、填补底层波形和高层语义鸿沟的调试栈 Waveform Terminator、可以在 10 小时内估算出 RISC-V CPU SPEC 分数的 BetaPoint 等。这些工具加速了整个开发和验证流程。

包云岗表示,「雁栖湖」将在 7 月中旬流片 ,未来目标是达到 ARM Cortex-A76 的性能水平。

与「雁栖湖」相比,「南湖」的设计目标更高: 频率期望达到 2GHz@SMIC 14nm,性能期望达到 10 分 / GHz(SPEC CPU 2006 ) 。该版本的设计于今年 3 月份启动,预计 2021 年底流片。

截至 2021 年 6 月 1 日,共有 25 位中科院计算所的同学 / 老师参与「香山」项目,他们贡献了 31784 行香山核设计代码和 18317 行验证框架代码。 首期「一生一芯」计划的五位同学(金越、王华强、王凯帆、张林隽、张紫飞)在本科一毕业便加入了香山的开发,成为了技术骨干。6 月 19 日,技术团队在嘉兴南湖召开了一场研讨会。

包云岗表示,为了建立像 Linux 这样的被工业界广泛应用的体系结构创新开源平台,实现使香山存活 30 年的目标。为此,他们还有很多工作要做,包括保持半年更新一代架构的迭代优化频率;每年 2 次流片,对新架构、新功能进行验证等。

合作方面,北京微核芯科技为「香山」提供了第一期产业经验、帮助完成了结构设计及物理设计。目前,项目的第二期正在招募联合开发合作伙伴,已经加入的企业包括微核芯、字节跳动、北京奕斯伟、优矽科技等。包云岗表示,「这些来自工业界的积极反馈,让我们更坚定地去践行 科研重工业模式 。」(科研重工业模式即 热衷于研制真正能 改变现状的原型系统,哪怕需要大量工程投入,典型代表是加州大学伯克利分校。[4])

从「香山」的发布和产业支持不难看出,国内半导体行业对 RISC-V 的热情也在持续高涨。但不可否认的是,该指令集的生态构建还需要一段时间。在前段时间的一次采访中,包云岗坦言,采用 RISC-V 实现复杂场景下需求的应用还在起步初期,要想走进生态丰富且稳固的服务器、电脑、手机等传统领域,还有很长一段路要走。他粗估,至少要 5 年至 10 年[1]。

也有人认为,因为足够开放,RISC-V 的生态弱项未来有可能反转成优势。「产业的生态环境还在形成,没有老牌霸主,我们有机会打造包括指令集、核心芯片、操作系统,以及上层应用、云服务在内的可控生态。」华米科技创始人黄汪表示[1]。

当然,生态的建设不是一件容易的事。「对于 RISC-V 来说,如何让参与进来的玩家形成合力是一个挑战。」阿里巴巴平头哥市场部负责人高慧指出,过去 ARM 和 X86 这些指令集都有一个核心玩家,推动指令集不断向某一个方向演进。现在,开源开放的 RISC-V 吸引了很多玩家,需要思考如何形成合力,而不是分叉发展[1]。

其实,这也是「香山」项目的初衷之一,即「形成『竞争前合作』,实现各界联合开发开源 CPU 架构」。只有加强合作,RISC-V 生态才能早日发展壮大。

亲爱的凤凰网用户:

您当前使用的浏览器版本过低,导致网站不能正常访问,建议升级浏览器

第三方浏览器推荐:

谷歌(Chrome)浏览器 下载

360安全浏览器 下载