中科院RISC-V开源处理器香山第二代计划明年Q1流片
中国工程院院士倪光南曾指出,CPU市场被x86和Arm架构垄断,中国要想打破这个局面,开源RISC-V是一大机遇。
近日,在2022北京微电子国际研讨会暨IC WORLD大会上,中国科学院计算技术研究所研究员包云岗在大会报告中,介绍了RISC-V发展以及中科院RISC-V开源处理器“香山”等相关情况。
据介绍,香山第二代南湖架构计划在2023年第一季度流片,目标是14nm 2GHz,预计SPEC 2006得分能到20左右。?
包云岗表示,香山是当前国际上性能最高的开源RISC-V处理器核,目前已确定香山经典核、香山高性能核“两核”发展目标。
经典核基于第二代香山(南湖)工程化优化,对标ARM A76,为工业控制、汽车、通信等泛工业领域提供CPU IP核;高性能核则基于第三代香山(昆明湖)性能提升,对标ARM N2,为数据中心和算力设施等领域提供高性能CPU IP核。
香山第一代内核“雁栖湖”已在去年7月15日流片,基于28nm工艺,裸片面积6.6平方毫米,单核二级缓存1MB,预计功耗5W。
为什么要做香山?
RISC-V诞生于2010年,如今,在RISC-V国际基金会网站上登记的各类商业或开源的RISC-V处理器核就有上百个,为什么还要做一个开源的高性能RISC-V核?
对于这个问题,包云岗表示,我们和很多业界企业交流过,也做了很多调研与分析,这都让我们判断认为业界需要一个开源的高性能RISC-V核。另一方面,我们也在思考一个问题——为什么CPU领域还没有一个像Linux那样的开源主线?1991年开源的Linux诞生,到今天正好30年。如今,Linux不仅被工业界广泛应用,也成为学术界开展操作系统研究的创新平台。
RISC-V是开放开源的指令集,但十年过去了,到现在还未能形成一个像Linux那样的开源主线。Berkeley的BOOM目标是一个高性能开源RISC-V核,但是BOOM代码仓库相对不开放,官方建议其他人实现任何功能都要事先和他们沟通,以确保不要与他们的计划产生冲突。根据GitHub官方的统计页面显示,从2014年1月至今,为BOOM提交过超过100行代码修改的仅有8人。由此可见,一定程度上因为BOOM严格的的外部贡献政策,开源社区对BOOM的参与度并不高。
所以,团队的唐丹博士和我一直认为要建立一个像Linux那样的开源RISC-V核主线,既能被工业界广泛应用,又能支持学术界试验创新想法。最关键的是,一定要让它像Linux那样至少存活30年!
于是,“香山”诞生了。
香山什么水平?
香山是一款开源RISC-V处理器核,它的架构代号以湖命名。第一版架构代号是“雁栖湖”,这是带有浓重国科大情节的同学们起的名字,因为他们研一都在怀柔雁栖湖待了一年。“雁栖湖”RTL代码于2021年4月完成,计划于7月基于TSMC 28nm工艺流片,目前频率为1.3GHz。
第二版架构代号是“南湖”,这是向建党100周年致敬。“南湖”计划在今年年底流片,将采用中芯国际14nm工艺,目标频率是2GHz。
香山选择什么开源许可证?这个问题纠结了我们好一阵子。后来,我们专门向北京大学周明辉教授请教,小伙伴们制定了4种开源许可证方案。在反复对比权衡后,最终选择了如下表格中的方案①——木兰宽松版许可证(MulanPSLv2)。在此,特别感谢北大周明辉老师的专业指导。
香山怎么做的?
香山开发初期速度非常快:6月11日建立代码仓库,7月6日乱序流水线便已完成,能正确运行CoreMark,不到一个月时间;9月12日,Linux正确启动;10月22日,Debian正确启动。
接下来便是大半年的结构优化、性能调优、时序优化工作,香山架构几乎相当于重构了一遍。一个典型的例子,香山的第一版分支预测器(BPU)参考了BOOM的BPU,但后端评估频率只能达到800MHz(TSMC 28nm)。于是负责BPU设计的勾凌睿在几位老师的指导下,不断优化BPU结构,最终将频率提升到了1.4GHz。
这期间,小伙伴们纷纷自己动手,开发了各种各样的优化和调试工具,大大地加速了优化和验证环节。这让我真心佩服这批90后——他们真是充满了创造力,从工作到生活,而主要驱动力之一就是“省(tou)时(lan)”。比如宁可自己写个程序自动点外卖,也懒得打开手机看菜单点。
香山未来如何发展?
目前,香山正在进行下一代架构“南湖”的开发,目标是今年年底流片,基于中芯国际的14nm工艺频率达到2GHz,SPECCPU分值达到10分/GHz。这是一个很有挑战的目标,需要对架构进行大幅度的优化改进。
前几天,小伙伴们专门去了一趟嘉兴南湖,研讨香山未来的发展。除了技术,我们再一次聚焦到流程与平台。此前构建的敏捷设计流程与平台支撑了20多人的开发团队,这远远不够。现在我们需要考虑的是该如何构建一套开源、开放、规范的开放流程,能支撑2000人的开源社区一起开发。
支持成千上万人一起开发开源软件,这已经有成功的经验。但是如何支持数千人一起开发开源处理器,目前还没有可以参考的案例,只能靠我们自己摸索。
我们有一个愿望——希望“香山”能存活30年;我们有一个约定——30年后再一起聚聚,到时再看看香山会变成什么样。但是,要实现这个愿望,还有很多很多问题和挑战需要去解决。