今年是Linux内核发布三十周年。二十年前,程序员认为Linux只是一种利基技术,猜测它行不通。然而,利用公众免费发布的Linux,这一开源代码催生了数百个项目,从而出现了一大批稳健且灵活的产品,Linux成为开源软件发展的基石。
这种成功是否可以复制到开源硬件上呢?RISC-V这样的指令集架构(ISA)是否也可以像Linux内核作为开源软件的基础一样,成为开源硬件发展的基石呢?
这个问题没有准确答案。
当前的RISC-V是一种开放的架构,作为一种标准提供,开发人员可以自由、灵活、快速地基于它进行产品设计。但另一方面,硬件更加复杂,有多层堆栈,因此不像软件包那样简单。
本文对RISC-V硬件生态系统的参与者进行了调查,包括OpenHW集团、RISC-V International、恩智浦半导体、Andes Technology、英伟达和西部数据,描述了开源软件的相似性、使用的障碍以及支持社区和生态系统的重要性,还探讨了开源硬件对商业芯片制造商的意义。
质量及生态系统是关键
OpenHW集团总裁兼首席执行官Rick O‘Connor认为RISC-V等同于Linux内核,他在接受采访时说:“围绕Linux内核,其他开源软件项目和计划如雨后春笋般涌现。RISC-V ISA一开始也跟Linux内核一样,如果说Linux内核是20年前的软件种子,那么RISC-V ISA就是硬件种子。”
然而采用开源硬件仍然存在障碍。“其中一个障碍是质量问题。”O’Connor补充道,“如果你在一个芯片或SoC产量较高的公司工作,肯定不会把宝押在这个从网上下载的IP块上,你不可能直接走进老板办公室,说我们已准备好使用这个大学开发的酷炫内核了,这个内核应该用在我们的大批量SoC中。”
因此,OpenHW集团提倡开放的验证流程,“人们可以查看生态系统达到的质量并使用其得到的结果——如果完全自己开发,他们就应该能获得高产量SoC公司所期望的结果。”O’Connor说。O’Connor还指出了业界对RISC-V和RISC-V International的误解,后者是监督内核ISA规范的基金会,他说:“人们总是误以为RISC-V International是开发内核的,实际上它并不是,而是专注于开发一系列定义指令集架构规范。这些规范适于各种用途:商业、开源、闭源、营利或非营利,设计人员可根据自己擅长的逻辑捕获语言,用不同的语言编写。”
O’Connor强调OpenHW集团不只是开发RISC-V内核。“我们真正专注的是异构集群计算所需的构件,用于各种尺寸的SoC。我们将不同类型的内核、加速器以及所需的各种模块汇集在一起。”他表示,“RISC-V ISA在此发挥了关键作用,它开拓了一个创新的领域”。任何人只需下载ISA规范就可以在设计中使用内核,而无需与任何人签署协议。从这个角度来看,RISC-V ISA是推动RISC-V发展的关键因素。回想20年前,基于Linux内核的实现方案非常多,远远超过今天基于RISC-V ISA的实现方案。硬件行业面临的挑战是,如何才能基于RISC-V持续提供五至六个内核系列。”
恩智浦半导体负责研发的软件工程副总裁Rob Oshana表示,开源硬件的发展方式与开源软件几乎完全相同。从Linux Kernel Archives可以知道,“Linux是成千上万的开发人员协作开发和使用的实际源代码”。
“RISC-V International拥有的是规范,而不是具体的实现方案。该规范是经过开发人员通力协作制定的,在当前的RISC-V社区和生态系统下工作良好。”Oshana说,“基金会现在还没有开放的实施方案,OpenHW集团正在填补这一空白,以开发免费、开放、免版权的实施方案以及其他类似Linux基金会的担保。”
RISC-V需要社区支持,不仅仅是规范
随着开源从软件扩展到硬件,越来越需要社区或相应的生态系统。“任何一个开放的社区都需要培养、呵护与供给。随便扔点东西进Git就称其为“开放”,这样注定会失败。它需要一个社区。
“如果不是经过社区的努力,构建了内核、板子、软件和参考平台,OpenHW集团的内核不会成功。”Oshana补充说,“OpenHW集团正通过最好的实践来使这一硬件技术获得成功,关键在于如何利用最佳实践并持续投资实际工程,以保持硬件开发的成功。”
与此同时,开源工具也在不断发展。“我们需要一套可靠的硬件工具来支持,”Oshana指出。和其他人一样,他也认为真正衡量一个开放社区的标准是参与度。例如,一旦发布一种实施方案,关键指标就在于用户社区如何管理更改需求、修复错误等。“这相当于Linux的上游,”Oshana说,“维护者的角色需要明确。”
RISC-V International的首席技术官Mark Himelstein也强调了社区的重要性。“Linux不一定是最好的操作系统,但人们为什么用它?因为有社区和支持。它的魔力就在于主人翁的自豪感。现在使用Linux很简单,而我认为RISC-V就是硬件的Linux。我相信,再过五到十年,人们也可以毫不费力地使用RISC-V。”
硬件比软件复杂
开源硬件和开源软件的主要区别在于整个堆栈的复杂性。O’Connor说:“看看当今生产的绝大部分芯片,其中超过95%采用Verilog工具流程并在相应的商业验证基础设施中生产和验证。因此,如果我们想让别人使用这些内核,就要让它们轻松融入到这种商业工具流程中。”
SoC供应商大多使用SystemVerilog通用验证方法来验证环境。O’Connor说:“我们不会让他们采用不同的方法。如果我们真的想要这些开源代码块实RTL采用,它们就必须能够融入该工具流程。”
硬件的物理特性仍然使软件开发人员面临前所未有的问题。O‘Connor指出:“在半导体晶圆厂中,从几何层面的物理特性来看,秘诀在于晶圆工艺。”他提到了大型节点的工艺设计中那些令人鼓舞的成果。“现在有了晶圆工艺支持、最重要的库、用于生产GDSII的CAD工具物理层以及掩模技术本身,还有生产掩模的设备、用于验证设计的仿真和验证软件与工具、用于捕获和综合设计的综合工具、以及用于这些设计的IP。”他解释说。
“历经数十年开发,堆栈中的所有层都包含与各层相关的丰富的专利组合,层与层之间的联系也非常紧密,因此,任何商业公司都不会用开源的方案和工具来替换整个堆栈。”O’Connor指出。OpenHW集团的创始人曾考虑是否创建专门针对RISC-V内核的生态系统,但最终决定放弃。O’Connor说,他们的首要目标是创建内核。“我们的所思所想,都是为了解决开源硬件面临的挑战。我们的目标是利用通用构建块轻松构建异构集群,同时能用自己的秘密武器(围绕它构建的加速器和扩展)进行量身定制。”
涉及的工作包括在通用组件上进行协作,并在软件工具级别、硬件RTL级别甚至验证级别上定义接口点。O’Connor认为,“这样就可以修改一组通用的构建块来添加自定义加速,创建实现自有加速器算法的自定义异构集群。RISC-V作为一种ISA,我们一开始是在处理器内核中采用吸引人的通用构建块,然后在此基础上进行构建,同时还利用最好的商业工具增强使用者的信心。所以,IP是他们可以信任的。”
O’Connor预测很快就会有开源FPGA,最后还会有SoC。
RISC-V处理器设计浮出水面
基于RISC-V开源硬件的处理器设计与开源软件有所不同:其框架冻结了指令集架构(ISA),使其作为一个可长期使用的组件。ISA是处理器能读懂的词汇表,软件使用该词汇表来编写。采用这种语言对软件进行编码,可以告诉处理器应该做什么。
任何人都可以使用RISC-V ISA来完成设计扩展。与开源软件的共同点是,RISC-V也没有IP版权问题,参与者可以共享其设计成果。简而言之,RISC-V允许设计工程师进行创新,为他们提供选择的自由。
SiFive联合创始人兼首席架构师Krste Asanovic在CES 2021大会的小组讨论中阐明了RISC-V在开源硬件领域的地位。Asanovic说:“RISC-V不是开源处理器,而是开发处理器的开放标准。”因此,这个规范是开放的,任何人都可以利用它进行设计。这类似于一种微架构许可,允许处理器开发人员完全按照自己的需要进行定制,以优化处理器设计。例如,存储设备制造商西部数据(Western Digital)针对固态驱动器设计开发了自己的控制器处理器,以优化与主CPU和闪存之间的控制器接口。
在2020年RISC-V峰会期间,西部数据展示了一款搭载其开源RISC-V SweRV内核的闪存控制器,其高级业务总监Ted Marena表示,西部数据将在开源社区发布其RISC-V内核。他说:“尽管我们开发了内核,实际上内核并不是真正的秘密武器,围绕内核设计的组件才是最重要的,例如与主机处理器之间的接口。”Marena补充道,“如何与另一端的闪存进行交互可能是真正的差异化优势所在。”将内核提供给开源社区可以吸引其他开发者作出贡献,从而完善设计。
与此同时,台湾公司Andes也推出了几款RISC-V处理器,现在已经有一些客户采用了其处理器方案。
除了SK Telecom和Renesas,专注开发5G基站芯片的初创公司EdgeQ也将使用Andes核心RISC-V许可及定制扩展,以提供集成人工智能的可编程开放式5G平台。Andes定制扩展允许EdgeQ公司设计、扩展和定制自己的指令集,以实现当前无线基础架构无法满足的性能、功能和功率特性。“对我们而言,RISC-V是用于硬件接口或描述的开源ISA,而非开源内核,”Andes总裁Frankwell Lin说,“在RISC-V阵营中,所有公司都是竞争对手。针对RISC-V标准,我们是彼此合作的关系;但在日常业务中,我们不得不相互竞争。”
CPU内核选择
英伟达和西部数据等公司都采用自己的RISC-V内核设计芯片,有些公司则使用授权的可配置内核。处理器设计人员在设计商业芯片时,可以从SiFive等公司购买各种授权的RISC-V内核,SiFive之于RISC-V类似Red Hat之于Linux。这是SiFive公司业务的重要组成部分,除此之外,SiFive也向工程师提供服务,帮助他们设计的处理器制造成芯片。
AI芯片制造商Esperanto Technologies总裁兼首席执行官Art Swift表示,越来越多的设计师在追求不同商业模式的过程中转向采用RISC-V。不像现有的MCU都是采用同样的内核,RISC-V可让MCU设计厂商有更多的内核选择机会。”目前提供商业RISC-V内核的厂商至少有七家。
Swift说,现在的专有ISA是由某个供应商管理,客户只能使用一个专有ISA,因而处理器设计无法满足特定的行业需求,除非获得昂贵的架构许可来定制内核。而且,现在也不能再转卖内核了,因此很少有公司能够像苹果那样负担得起这么高的投资。但RISC-V的架构许可是免费的,用户可以设计自己的内核,也可以选择开源内核。正如Swift指出的那样,拥有众多的内核选择对于面向未来的设计至关重要。
最早采用RISC-V的Esperanto已经在单个芯片中封装了1000多个低功耗RISC-V内核,以加速其数据中心的AI处理。
下一轮计算革命?
硬件社区再现了二十年前Linux的发展过程,初创公司基于RISC-V开放标准来设计处理器,风投则仔细审查这些芯片新贵。像英伟达和西部数据这样的大公司也开始大量采用RISC-V。
RISC-V最初只是一个研究项目,经过不断发展,现在已成为处理器设计的开放标准。正如Swift所指出的那样,RISC-V不同于过去指令集之间的派别之争,而是表示创新能力和选择自由。
随着RISC-V的迅速发展,围绕RISC-V处理器设计的基础设施和软件生态也汇集在一起。RISC-V开放标准健康而充满活力,它代表了开源硬件的未来,很可能引领下一次计算革命。
责任编辑:tzh
评论
查看更多