2015年秋天,对开源芯片设计有极大兴趣的郭雄飞利用欧洲旅游的间隙参加了在瑞士举办的Open RISC开发者和用户大会(ORConf 2015)并做了一个简单的演讲。参会的原本目的是打算和欧亚大陆另一端的开发者讨论和交流OpenRISC相关的技术,但没想到在这次会议上接触到了从加州伯克利来介绍RISC-V的团队。会后他才突然意识到,RISC-V或许是他正在寻找的比OpenRISC更好的开源指令集,RISC-V似乎只用短短4年就已经做到OpenRISC十几年没做到的成绩。欧洲之旅结束之后,他经常利用自己的业余时间了解相关的信息并且做了一些实践和尝试。从此,RISC-V这颗种子就在他心里埋下了。郭雄飞的知乎账号介绍自称为“开源非狂热爱好者”,对开源CPU的兴趣由来已久。在他大三曾写过一个8-bit RISC CPU,项目的名字叫“MTM多线程处理器”,为此他还设计了专门的LOGO和完整的ISA手册,将其开源到网上,还参加了OpenHW开源硬件大赛。凭着做这个项目的积累,本科学的是计算机专业的郭雄飞毕业后找到了Digital IC工程师的工作,圆了他去做芯片的梦想。1980年代初,加州大学伯克利分校的David Patterson、斯坦福大学的John L. Hennessy等学者开始尝试对传统的CISC(Cpmplex Instruction Set computing,复杂指令集)进行精简,这也导致了RISC(Reduced Instruction Set computing,精简指令集)的诞生,而信息技术史上影响深远的CISC与RISC之争也由此掀开序幕。David Patterson与John Hennessy与他们合著的《计算机体系架构:量化研究方法》,约拍摄于1991年,照片来源:ACM而RISC精简指令的设计方法也得到了广泛认可,学术界已经普遍认为RISC代替CISC成为主流,产业界也有Intel采用RISC架构的Pentium处理器。与x86和MIPS并称“三大芯片架构”的 ARM,也是由RISC衍生而来。更为灵活简便的RISC也与后来的芯片开源浪潮有着千丝万缕的关系。2000年前后,继开源运动在操作系统(Linux)和应用软件(Mozilla)两个领域大获好评后,开源的春风也吹到了芯片领域。这一波芯片开源浪潮拥有着广泛的用户基础,既有出生草根、由开源组织OpenCores提供的OpenRISC,也有出生豪门、基于Sun提出的SPARC架构衍生的LEON和OpenSPARC,开源芯片前途似乎一片光明。2010年诞生的RISC-V则是芯片开源第二浪的代表。彼时,加州大学伯克利分校的研究团队正在准备启动一个新项目,需要选择合适的处理器指令集,在对Arm、MIPS、SPARC、x86等多个指令集进行一番仔细分析之后,发现这几款较为主流的指令集不仅存在知识产权问题,设计还越来越复杂,于是该研究团队索性组建了一个临时小组,从零开始设计了一套全新的指令集。几个月后,一套全新的指令集架构雏形诞生了,命名为RISC-V,即第五代精简指令集计算机。RISC-V很早就确定了开源的路子,这多少也与伯克利是激进主义与自由运动的根据地有关。不过,当时不少学术界认为RISC-V毫无技术创新,这不应该是伯克利教授们做的事情,因此很难在一级学术会议上露面, 直到伯克利研究团队将RISC-V从概念推进到原型芯片,以及在2015年成立非盈利组织RISC-V基金会,举办一场又一场RISC-V相关的技术研讨会,RISC-V才逐渐走进大家的视野。正因如此,日后与RISC-V结缘的CPU技术爱好者们,或多或少都是在相关会议上初识RISC-V。在这一时期与RISC-V结缘的技术爱好者还包括郭雄飞的同城伙伴、自称“亚历山大硅农”的上海交大毕业生胡振波。胡振波毕业之后进入美满电子,负责ARM处理器的开发,之后进入新思科技担任ARC CPU研发经理,在同CPU打交道的过程中胡振波愈发觉得CPU主要靠生态存活,其他架构都比拼不过ARM的强大生态。如果继续在CPU这行干下去,很难取得新突破。于是在2016年,胡振波黯然离开CPU行业,转身进入AI行业。入行AI的第三个月,胡振波尚未完成从CPU到AI的转型,一次偶然与RISC-V的亲密接触,又勾起了胡振波内心对CPU的向往。“没想到世界上已经有开放的CPU架构了。这个生态不属于一家公司,而是属于全人类,那么生态垄断不就打破了吗?既实现了通用生态,又实现国产自主可控。”胡振波惊叹,为这一开源开放的指令集拍手叫好。正如胡振波所言,RISC-V与之前其他开源CPU架构最大的区别之处在于“不属于一家公司”的独特生态,从而摆脱了架构背后的公司兴衰或短期经营目标的影响。以OpenRISC为例,其式微的原因就是OpenCores社区的母公司ORSoC AB在2015年出于盈利考虑将业务重心转移至矿机,虽然后来离开OpenCores的OpenRISC团队也效仿RISC-V组建了基金会,但已无力与已经成长起来的RISC-V抗衡。这一时期抛弃OpenRISC、转向RISC-V的还有中科院计算所研究员张磊。2015年之前,张磊等人就已经开始接触OpenRISC,与欧洲的朋友们一起共建OpenRISC的生态。当时RISC-V技术研讨会尚未开到中国,但张磊就已经对RISC-V略知一二。计算所是国内最早接触RISC-V的科研单位。2014年的时候,计算所团队正在紧张从事中科院未来信息技术先导项目研究,其中处理器创新是重要方向。此时伯克利RISC-V团队发布了一篇技术报告“Instruction Sets Should Be Free: The Case For RISC-V”,这篇报告的理念与计算所很一致,在徐志伟研究员的建议下,张磊、包云岗等做体系结构研究的年轻研究员开始重点关注RISC-V。此时在加州大学伯克利分校做博士后研究的钱学海也希望将这篇报告翻译成中文。伯克利RISC-V团队为了保证翻译质量,特地让David Patterson之前的博士生谭章熹来帮把关。谭章熹在钱学海翻译稿的基础上重新改了一遍后,钱学海便将这份报告推荐给了在计算所读研究生时的学长包云岗,希望包云岗能帮安排在国内学术刊物上发表。2014年下半年,包云岗收到了钱学海发来的《指令系统应该免费:RISC-V的案例》的中文翻译稿,并推荐给了自己担任专栏编委的《中国计算机学会通讯》。文章很快于2015年2月发表。虽然这篇文章没有得到广泛关注,但却使得包云岗团队“近水楼台先得月”,转向用RISC-V实现标签化体系结构,成为国内最早将体系结构前沿研究全面转到了RISC-V平台的团队之一。中科院计算所是国产芯片自主研发的排头兵,但无论是OpenRISC、SPARC还是RISC-V,在当时的计算所大概只能算是“非主流”,国产芯片项目“龙芯”所采用的是MIPS架构。MIPS的最大竞争对手是同属RISC家族的ARM。被学术界认为“更优雅”的MIPS在移动时代输给ARM,除了反应迟缓外、其“核(IP)授权高于架构授权”的定价策略也是重要原因之一。这一模式允许有能力的公司使用MIPS指令集开发自己的CPU,也可以根据需求生成所需要的微架构和指令集,这正是中科院计算所所需要的。计算所选择MIPS的另一个原因是启动“龙芯”项目的2001年,ARM比MIPS更加弱小但架构授权昂贵,MIPS架构授权容易获得且当时软硬件生态比ARM丰富,因此MIPS架构成为了计算所的最佳选择。2009年,计算所正式购买了MIPS的永久性结构授权,在MIPS衰落后, MIPS公司却在2021年宣布放弃原有架构加入RISC-V。在使用MIPS架构开发“龙芯”的同时,计算所还对其他CPU架构保持关注。计算所经常邀请专家来所内做学术报告,第一场关于RISC-V的报告演讲人是得克萨斯大学的John Leidel教授,时间在2015年9月2日,基本与RISC-V基金会成立同步。张磊在第四届RISC-V国际研讨会上作报告。照片来源:中科院计算所这场报告加速了计算所向RISC-V的靠拢。2016年7月,第四届RISC-V国际研讨会在MIT召开,张磊在大会上做了相关报告。他也积极推动中科院计算所成为RISC-V国际基金会的创始成员,成为国内最早加入基金会的组织。“2016年,业界普遍还不是很了解RISC-V到底是什么。”张磊告诉雷峰网。这里的普遍,当然不包括谭章熹。为增加对RISC-V的了解,2016年底,计算所又安排了第二个RISC-V的学术报告,报告人正是当时已经担任RISC-V基金会董事的谭章熹。无论是加入RISC-V基金会还是请来谭章熹做报告,都表明了计算所对RISC-V在战略上的重视。而从学术研究的角度,往往是新的领域才更好发有影响力的论文或者出成果,这也是张磊和包云岗等“学术派”早早介入RISC-V的原因。