“香山”处理器产生背后的逻辑
在最近召开的RISC-V中国峰会上,中科院计算所的包云岗研究员团队正式发布了名为“香山”的开源高性能处RISC-V处理器。前不久我有幸和包老师就这个事情做了一次深度的交流,我们聊了关于RISC-V、还有“香山”处理器的前世今生。包老师也分享了很多他关于开源硬件、新型开发语言、硬件敏捷设计、还有处理器基础架构等等这些问题的想法和学术思考,我深受启发。
包云岗是中科院计算技术研究所研究员、副所长,先进计算机系统研究中心主任,中国科学院大学特聘教授,中国开放指令生态(RISC-V)联盟秘书长。他的主要研究领域为云计算数据中心体系结构、开源处理器芯片敏捷设计等。
我把我们的对话进行了整理和采编,以飨读者。本文是第一篇,主要是包老师对RISC-V、以及“香山”处理器产生背景的阐述和思考。
注:以下的“我”,指的都是包云岗研究员。
1、为什么选择RISC-V
RISC-V的使用,跟我们之前的研究还是有很多渊源。我自己在2012年结束博士后,并且回到计算所开始自己的独立研究。在体系结构方面,我们当时其实有一些新的想法。比如我们提出了一种名为“标签化体系结构”的新技术,这个工作也发表在ASPLOS’15上。但是,我们并不希望仅仅停留在论文的阶段,我们还希望再往前走,并且把它真正做成芯片。所以在2015年以后,我们花了很长的时间,去探索到底怎么样才能把它做成芯片 。
为此,我们看了很多方法和渠道,包括x86、FPGA,还有开源的OpenSPARC T1,我们都做过很多尝试。很遗憾,这些尝试持续了将近一年的时间,最后都没有成效。
2015年,RISC-V的基金会成立。计算所的徐志伟老师对于RISC-V一直是很关注,他也在所里一直倡导基于RISC-V的研究。所以在2016年,我们就开始把研究方向转到RISC-V上。所以,这也是我们自己研究工作的延续。
当时我们做了很多的探索,并且发现RISC-V真的能够帮助我们实现很多想法,这是以前不管使用英特尔还是arm都做不到的。所以我们对于RISC-V的这种开放性、开源带来的价值,也有很深刻的体会,我们也是受益者。
我们在后面选择RISC-V,其实是在不断摸索之后,找到的一条在当时看起来似乎是唯一的一条道路。
事实上,在2015、16年的时候,RISC-V的开放性还没有受到那么多的重视。RISC-V的两位发明人David Patterson和Krste Asanovic在2014年写过一篇文章,名叫《指令集应该免费 (Instruction Sets Should Be Free)》。当时有两位中国学者钱学海博士和谭章熹博士,把这篇文章翻译成了中文,并找到我把它发表在中国计算机学会通讯上。
其实在那个时候,我的认识还没有那么深刻,因为我们自己还没有要去直接做芯片。但是当我们后来真正要去做芯片的时候,再回过头来看这篇文章里面提到的一些观念和观点,比如指令集要免费、指令集要模块化这些,我觉得伯克利确实是在这方面还是很有远见。
2、“香山”处理器产生背后的逻辑
老石:
我之前看过一个Jim Keller对RISC和CISC的一些对比和想法,他特别提到RISC-V相关的内容。RISC-V最大的特点和好处,就是它的指令集是开源的,这样特别方便去做很多不同的变化和设计。但是,Jim Keller提到了硬币的另外一面,也就是很多人可能会做很多随机的改变或设计,这就使得业界的使用者和开发者缺少一个相同的子集(subset)或者开发平台。为此,我们该如何在绝对的开放和通用去做平衡和折中?
这个问题其实也有很多人问我们,所以这也是为什么我们会想去构建香山这样的一条开源的主线。
如果我们回想80年代、90年代时,操作系统也有很多。但是当后来更开放的Linux出来之后,这些操作系统就逐渐汇聚起来了。到了今天,在开源操作系统这个领域就以Linux为主了,大家会把各种各样的创新和想法都汇聚到Linux上。与此同时,Linux又是非常多样化的,在各种不同的场合都会有定制,甚至有些企业都会按自己的需求进行定制。
所以,有了主线以后,就可以很好的解决一些碎片化的问题。相反的,如果没有主线大家各自发展的话,肯定会很碎片化。但是,我们始终会根据场景或者应用进行定制,也都可以再分做一个分支出来。这就是我们对碎片化这个问题的理解。
另外一方面,一条开源主线也可以帮助我们去做收敛,比如看哪些指令集应该沉淀下来,或者怎样去更好更快的制定标准和规范。
我在国际基金会那边也有一些参与,有一些标准、一些指令集的扩展已经讨论了两三年了,都定不下来。主要的原因就是大家谁都说服不了谁。其实这个时候就需要有一些参考的设计,然后大家可以在数据上讨论,这样的话就更有说服力,并且由此推进一些标准规范的确定。现在国际上其实也缺少这样的一个平台。从这几个角度来看,香山也存在这样的一些价值。
但是,我们并不是希望再造一个arm,如果再造一个arm的话,就没有把RISC-V的这种开放性和开源优势充分发挥出来了。
3、“香山”处理器的应用和转化
我们对香山还是寄予了一些期望的,我们希望它在工业界能够真的被广泛应用起来,所以我们也是按照高性能处理器的标准去定义它的。
我自己是担任了中国开放指令生态联盟的秘书长,这个角色会让我去接触到很多的企业。其实我应该至少有跟上百家企业都接触过。跟他们交流以后,能看到大家对高性能的RISC-V核是有很强需求的。
事实上,现在已经有一些企业在围绕着香山做他们的芯片的产品,比如工业控制、汽车电子、数据中心等等。可以看到,业界对香山有着非常积极的反馈,这也给我们很大的信心。
小结
在下篇文章中,我会继续分享包云岗研究员对新型开发语言Chisel的深刻理解,包括选择Chisel的原因、它的学习曲线、优缺点等等。敬请期待。
本文提到的所有技术论文,包括“香山”处理器的介绍幻灯片,均已上传至知识星球“老石谈芯 – 进阶版”,请在文末扫码加入星球查看。
注:本文仅代表作者个人观点,与任职单位无关。本文系作者原创,未经许可不得转载。
更多芯片技术解读和资料分享,并与老石一对一交流,欢迎加入知识星球:“老石谈芯-进阶版”,一个关乎技术与观点的互动社区
One Reply to ““香山”处理器产生背后的逻辑”