边缘计算社区

终于有人把RISC-V说清楚了

最近,RISC-V的话题在朋友圈里热度不断攀升,特别是即将在杭州召开的RISC-V中国峰会,更是引发了广泛关注。今天,边小缘就带大家一起深入了解RISC-V,探寻它的前世今生,揭秘它为何如此火爆!

说到RISC-V,就不得不先提CPU,即中央处理器,它是计算机系统的“心脏”,负责处理和执行所有的指令,驱动着整个计算机系统的运行。而指令集架构(ISA),就像是这颗“心脏”的工作语言,它定义了CPU能够理解和执行哪些指令。

谈及CPU的指令集架构,两大主流流派赫然显现:

一是复杂指令集(Complex Instruction Set Computer,简称CISC)架构,其中x86作为代表,牢牢占据着传统PC市场的主导地位。x86架构擅长处理大数据任务,其核心技术知识产权则掌握在英特尔和AMD等巨头手中。

另一流派则是精简指令集(Reduced Instruction Set Computer,简称RISC)架构,它包括了ARM、MIPS,以及近年来备受瞩目的RISC-V。特别是ARM架构,在移动(手机)市场大放异彩,以处理快数据为主,如今也广泛应用于便携笔记本中。ARM架构的大部分知识产权归属于ARM公司

而当面对需要同时兼顾数据传输速度与传输量的挑战时,x86和ARM这两大主流架构的胜任能力显得有所局限。此时,RISC-V架构展现出了其独特的优势,成为了业界关注的焦点。

1 RISC-V

RISC-V前世今生

RISC-V的故事,其根源可以追溯到半个世纪前的计算机科学革命之中。

1974年,IBM着手探索构建每小时能处理百万个电话的交换机,其研究员约翰·科克(John Cocke)及其团队承担起设计适用于此的控制器的重任,初步估算至少需要6个MIPS处理器。然而,1975年IBM的电话交换项目遭遇搁置,处理器未能制成,但幸运的是,期间的研究成果得以延续,并在同年10月以801项目的名义重新启动。

在这个关键时刻,约翰·科克展现了他的卓越远见。在参与IBM 370 CISC系统的研究时,他发现了一个关键现象:占总指令数20%的简单指令承担了80%的程序调用工作,而复杂指令的使用频率却很低。这一发现促使他开始思考如何通过简化指令集来提高计算机性能,于是他首次引入了RISC架构。

RISC架构的核心思想是简化硬件设计,使硬件只执行有限且最常用的指令集,而大部分复杂的操作则通过成熟的编译技术由简单指令合成。该架构具有指令长度固定、指令格式种类少、寻址方式简单等特点,这使得RISC处理器能够以更高的速度执行操作。

为了实践这一革命性的理念,科克和他的团队全力以赴,终于创造了世界上首台采用精简指令集计算机(RISC)架构的原型机。这一成果不仅验证了RISC架构的优越性,让计算机的运行速度实现了前所未有的飞跃,还为后续RISC技术的发展奠定了坚实的基础。科克因此被誉为RISC架构之父,并在1987年荣获图灵奖。

在约翰·科克和他的团队致力于IBM 801项目的同时,由美国国防部高级研究计划局(DARPA)资助的两个团队也在进行类似的精简指令集项目。加州大学伯克利分校的团队,在大卫·帕特森(David Patterson)和Carlo H. Sequin的领导下,创造了“RISC”这一术语,并起草了RISC-1,这是今天RISC架构的基础。而斯坦福大学的约翰·轩尼诗(John L. Hennessy)则领导了另一个重要的RISC项目——MIPS。

图右是大卫·帕特森,图左是约翰·轩尼诗,他们合著《计算机体系架构:量化研究方法》

David Patterson于1947年11月16日出生于美国伊利诺伊州,受高中微积分课老师的影响,对数学展现出浓厚兴趣,立志成为一名精算师。在加州大学洛杉矶分校(UCLA)就读期间,Patterson原本攻读数学专业,但大三时由于数学课被取消,他选择了一门计算机课程以凑齐学分。这次意外的选择让他首次接触并对计算机产生了浓厚的兴趣。

在UCLA,Patterson逐渐从数学转向计算机科学,并在Jean Lubert博士的指导下,对编译课程产生了极大兴趣,这进一步坚定了他从事计算机科学研究的决心。David 在加州大学洛杉矶分校完成硕士、博士的研究项目后,1977年1月进入加州大学伯克利分校担任助理教授,开始了他的学术生涯。

1979年,David 在美国数字设备公司交流时开始思考在学术界做研究的优势和劣势是什么?开始深刻反思学术研究的利弊与资源。

这段经历如同催化剂,激发了他对计算机体系结构未来的全新洞见。

David 带着工业界第一手讯息回到伯克利。David 写了一篇关于未来 VLSI (超大规模集成电路)设计的报告。他认为:首先 VLSI 是微处理器的未来,但我们必须直接用微程序,还需要提供打补丁方式来修改微程序中的 bug。但这篇文章当时被认为是一种愚蠢的设计计算机的方法,用这种方法设计计算机毫无意义。

David Patterson决定在研究生课程中检验自己的想法,让学生团队试着构建一个指令精简化的微处理器RISC作为大作业。1981年,他们起草了RISC-1,这是今天RISC架构的基础。

在微处理器RISC流片成功之前,David就撰写了文章发表在《计算机体系结构通讯》上,描述自己构建处理器的新方法,认为这种精简设计将降低硬件设计成本,缩短开发周期,方便编译器进行代码生成,达到更高的性能。然而,这一观点当时引起了广泛的争论和质疑。

当时站在David对立面的人,包括深受尊敬的VAX CISC结构设计者Douglas W. Clark和William D. Strecker。他们以自己的第一手数据将David文章中宣称的RISC优势逐一驳倒,而David手中并没有自己的硬件实测数据,十分被动。更加雪上加霜的是,第一组学生们流片回来的处理器并未能体现出具备说服力的速度优势,其主频尚不到当时部分商业级芯片的三分之一,于是进一步引发了嘲笑。

所幸第二组学生进行的设计较为成功,于是David和学生们的成果得以在1983年国际固态电子电路大会(ISSCC)上进行展示。尽管制造工艺是老旧的MOSIS,主频仍旧比VAX、摩托罗拉、Intel等竞争对手同期制造的处理器慢上几乎一半,晶体管数量也只有几分之一,但是更加清爽的新式设计在编译器等其他工具的辅助下竟然将来自工业界的竞争对手们尽数击败,完成了漂亮的反击。

David领导的学生团队凭借这一全新理念进行的课程设计,仅有区区几十条指令,竟胜过指令数目多达几百条的商业级芯片。这一事实对于CISC流派的支持者们是极大的冲击。ISSCC大会现场所有的大牌人物都目睹了这一历史性时刻,业界哗然。

尽管出于兼容性的考虑,David和学生们设计的芯片从未流入商业市场售卖,但是在他们的推动和宣传下,RISC的设计理念随后如星火燎原般扩散。一大批公司开始采用这种理念设计新处理器。

RISC微处理器的研发为移动互联网和物联网提供了基础支撑,被认为是“计算机行业发展史上真正重要的五六项技术之一”,比尔·盖茨也称“RISC微处理器已被证明是整个行业蓬勃发展的基础“。如今,每年生产的超过160亿个微处理器中有99%是RISC处理器,并且几乎在所有智能手机、平板电脑和构成物联网(IoT)的数十亿嵌入式设备中都能找到。

回溯至2010年,美国加州大学伯克利分校的并行计算实验室(Par Lab)中,一位教授携两名研究生(即下图右侧的三位核心成员),着手筹备一项创新项目,面临的首要任务是选定一种合适的计算机架构。

图左,RISC祖师爷大卫·帕特森,图右三位RISC-V发明团队

在深入对比了当时主流的ARM、MIPS、SPARC及X86等指令集后,团队发现这些架构不仅复杂度较高,还伴随着诸多知识产权的法律纠葛。尤为突出的是,X86架构的授权获取难度颇大,而ARM架构的授权费用则相当昂贵。

鉴于上述挑战,该团队于2010年5月毅然决定自主研发一种全新的、开源的指令集,这便是RISC-V的诞生之源。凭借在RISC架构领域积累的四代设计经验和深厚的技术底蕴,研究团队仅耗时三个月便圆满完成了RISC-V指令集的开发工作,这一成就充分彰显了团队的高效研发实力与深厚技术积累。

时至2015年,RISC-V指令集在学术界已声名鹊起。为了进一步推动其在技术与商业领域的蓬勃发展,几位创始人采取了双管齐下的策略:

在技术层面,他们成立了RISC-V基金会,致力于维护指令集架构的完整性与统一性,防止其碎片化发展;该基金会的目标是维护 RISC-V ISA 标准,目前成员已经发展至 60 多家公司,包括高通、三星、阿里巴巴、Meta、英伟达、微软、英特尔、西部数据、IBM 以及谷歌等业界巨头。

在商业层面,则创立了SiFive公司,专注于推动RISC-V的商业化进程,旨在优化并拓展其市场应用潜力。

在随后的几年中,RISC-V经历了快速的发展,尤其是在开源社区的支持下,逐渐成为全球认可的开放标准。这种开放性使得任何个人或组织都可以自由地使用、修改和分发基于RISC-V架构的芯片和软件。

到2022年,全球采用RISC-V架构的处理器出货量已经超过100亿颗,仅用12年时间就走完了传统架构30年的发展历程。预计未来几年,RISC-V的采用率将以40%的年复合增长率增长,到2030年有望突破160亿颗。

2、RISC-V

RISC-V优缺点、挑战

RISC-V优点

RISC-V作为开源的精简指令集(RISC)架构,具有多个显著优点,这些优点使其在现代计算机体系结构中备受青睐,尤其是在物联网(IoT)、嵌入式系统、高性能计算等领域展现出巨大的潜力。

①完全开源与免费授权:RISC-V指令集架构是完全开源的,这意味着任何人都可以自由地使用、修改和分发RISC-V的源代码,无需支付高额的授权费用。这一点与ARM等商业指令集形成鲜明对比,极大地降低了技术门槛和成本。

②模块化与可定制性:RISC-V采用模块化设计,允许开发者根据需要添加或删除指令集扩展,以满足特定应用的需求。这种灵活性使得RISC-V能够适应各种复杂多变的场景,从简单的微控制器到高性能服务器都能找到合适的应用。

③低功耗与低成本:由于RISC-V指令集设计简洁,内核面积相对较小,因此功耗也相对较低。这对于需要长时间运行的设备(如物联网设备)来说是一个巨大的优势。同时,开源和可定制的特性也降低了RISC-V芯片的生产成本,使得更多厂商能够参与到RISC-V生态的建设中来。

④广泛的社区支持:RISC-V拥有一个活跃的开源社区,全球范围内有大量的开发者、学者和企业参与其中。这种广泛的社区支持不仅促进了RISC-V技术的快速发展,还为其提供了丰富的软件资源和工具链支持。

⑤推动创新与差异化:由于RISC-V的开源特性,任何人都可以基于RISC-V架构进行创新性的设计和开发。这种开放性促进了RISC-V生态的多样化和差异化发展,为不同领域的应用提供了更多的选择和可能性。

RISC-V缺点和挑战

RISC-V的发展历程中遇到了多个主要挑战

①软件生态的成熟度不足:尽管RISC-V发展速度很快,但要成为世界主流指令集仍面临软件生态成熟度不足的挑战。为了应对这一挑战,推动RISC-V软件生态的建设和发展是关键。例如,通过构建高性能、高带宽、低延迟的RISC-V多核系统解决方案平台,可以提升其在高性能应用领域的竞争力。

②安全挑战:RISC-V处理器在安全性方面也面临诸多挑战,包括缓存侧信道攻击和内存攻击等系统结构漏洞。为了应对这些安全问题,研究人员和企业正在不断进行板载测试和优化,以提高系统的安全性。

③高性能需求:RISC-V因其低功耗、低成本特性,具备进入服务器和高性能领域的潜力,但这也对软件生态发展提出了更高的要求。为此,一些厂商通过“跨架构”流动算力的解决方案,推进RISC-V在高性能应用领域向市场“可接受”、成本“可预见”、算力部署“可自主”等方向发展。

④架构精炼与优化:相较于ARM和x86,RISC-V的架构更为精炼,但也需要进一步的系统分析及优化。例如,一些厂商基于RISC-V系统分析及优化解决方案,旨在提升其性能和可靠性。

RISC-V在发展过程中面临的主要挑战包括软件生态的成熟度不足、安全挑战、高性能需求以及架构精炼与优化等方面。

3、RISC-V

RISC-V应用场景

RISC-V在全球市场的应用场景非常广泛,涵盖了多个领域。以下是RISC-V的几个主要应用场景:

①. 边缘计算

随着物联网和大数据技术的快速发展,边缘计算逐渐成为数据处理和分析的重要模式。RISC-V凭借其简洁高效的设计,成为边缘计算的理想选择。RISC-V处理器可以在设备端进行实时数据处理,减少数据传输延迟和带宽消耗,同时降低云端的计算压力。这使得RISC-V在智慧物流、智慧城市、智能楼宇等多个边缘计算应用场景中发挥重要作用。

②. 物联网(IoT)

RISC-V在物联网领域的应用尤为突出。物联网设备通常对功耗和成本有严格的要求,而RISC-V凭借其高能效、灵活性以及开源免费的优势,成为了物联网设备的理想选择。RISC-V的内置模块化设计可以很好地满足低功耗嵌入式设备的需求,使得其在智能家居、智慧城市、工业自动化等多个物联网应用场景中发挥重要作用。

③. 嵌入式系统

RISC-V架构在嵌入式系统中同样具有广泛的应用。嵌入式系统通常需要处理器具备高度的灵活性和可定制性,以满足不同应用场景的需求。RISC-V的模块化设计允许开发者根据具体需求构建定制指令集,从而优化系统性能并降低成本。这使得RISC-V在汽车电子、医疗设备、工业控制等领域得到了广泛应用。

④. 人工智能和机器学习

RISC-V架构在人工智能和机器学习领域也展现出巨大的潜力。RISC-V的指令集可以根据具体的应用需求进行裁剪和定制,以更好地适应不同的AI算法。同时,RISC-V的模块化和可扩展设计也为实现复杂的AI算法提供了更高的灵活性和可重构性。这使得RISC-V在边缘AI、AI推理芯片等领域得到应用,推动AI技术的普及和发展。

⑤. 云计算和数据中心

随着RISC-V技术的发展,一些公司已经开始探索将其应用于云计算和数据中心领域。RISC-V处理器在提供高性能计算的同时,还能有效降低能耗和成本。这对于需要大规模部署服务器的云计算和数据中心来说具有重要意义。未来,随着RISC-V生态的不断完善和应用场景的不断拓展,RISC-V在云计算和数据中心领域的应用前景将更加广阔。

⑥. 教育和研究

由于RISC-V的开放性和可定制性,它在教育和研究领域也具有广泛的应用。学生和研究人员可以免费使用RISC-V指令集架构进行学习和研究,了解计算机体系结构的原理和实现方式。RISC-V的灵活性也为创新实验和探索新技术提供了便利条件。

RISC-V架构在边缘计算、物联网、嵌入式系统、人工智能、云计算和数据中心等多个领域具有广泛的应用场景。随着技术的不断发展和生态的不断完善,RISC-V的应用前景将更加广阔。

4、RISC-V

中国在RISC-V发展

中国在RISC-V的发展方面取得了显著成就,并展现出强劲的增长潜力。

①政策支持与生态建设

  • 政策支持:中国政府高度重视RISC-V技术的发展,通过一系列政策措施推动RISC-V生态建设和产业化进程。例如,支持RISC-V在物联网、人工智能、边缘计算等领域的应用,鼓励企业和研究机构参与RISC-V生态建设。
  • 生态建设:中国积极参与RISC-V国际生态建设,与全球伙伴共同推动RISC-V技术的标准化和规范化发展。国内成立了多个RISC-V相关的创新中心和研究机构,如上海RISC-V数字基础设施生态创新中心、北京开源芯片研究院等,旨在聚合生态链伙伴资源,探索RISC-V在各垂直行业场景的创新应用。

②技术研发与创新

  • 技术研发:中国在RISC-V技术研发方面取得了重要突破。例如,中国科学院计算技术研究所成功研制了第三代“香山”开源高性能RISC-V处理器核,其性能水平已进入全球第一梯队,可广泛应用于服务器芯片、AI芯片、GPU、DPU等高端芯片领域。
  • 创新实践:国内企业和研究机构在RISC-V技术创新方面进行了大量实践。例如,阿里平头哥半导体推出了多款RISC-V处理器,并在电力、5G通信、机器人、金融等不同行业实现应用落地;算能科技推出了64核RISC-V服务器芯片,推动了RISC-V在数据中心领域的应用。

③市场应用与商业化

  • 市场应用:RISC-V在中国市场的应用日益广泛。随着物联网、人工智能等技术的快速发展,RISC-V在智能家居、工业控制、智能终端等领域展现出巨大的市场需求。此外,RISC-V还在智能网联汽车、数据中心等新兴领域取得重要突破。
  • 商业化进程:国内RISC-V芯片出货量不断提升,商业化进程加速推进。例如,阿里玄铁系列RISC-V处理器出货超40亿颗,显示出RISC-V在中国市场的巨大潜力和发展前景。同时,国内企业正积极探索RISC-V芯片的商业化落地方式,通过构建开放、协同、普惠的RISC-V芯片服务体系,加速RISC-V产业化进程。

④国际合作与交流

  • 国际合作:中国积极参与RISC-V国际交流与合作,与全球伙伴共同推动RISC-V技术的发展和应用。例如,中国加入RISC-V国际基金会,参与RISC-V标准制定和推广工作;与谷歌、英特尔、高通等全球头部企业开展合作,共同推动RISC-V商用软件生态建设。
  • 国际影响力:随着中国在RISC-V技术和应用方面的贡献逐渐增加,中国市场在全球RISC-V生态建设中的影响力也不断增强。未来,中国将继续发挥其在RISC-V生态建设中的关键作用,推动RISC-V在全球范围内的应用和发展。

随着RISC-V技术的不断成熟和应用场景的不断拓展,中国RISC-V产业将迎来更加广阔的发展空间和市场机遇。

RISC-V的发展历程如同一部生动的史诗,记录了计算机科学领域的一次次突破与创新。从约翰·科克的初步探索,到大卫·帕特森的学术坚持,再到2010年RISC-V的诞生,每一次进步都凝聚着无数科研人员的智慧与汗水。如今,RISC-V已成为全球计算机架构领域的一股重要力量,其开源、开放、简洁、灵活的优势正不断推动着计算机科学的边界。展望未来,RISC-V将继续在指令集扩展、性能优化等方面进行技术创新,以满足不断变化的市场需求,为全球计算机产业的发展注入新的活力。

如果您对RISC-V感兴趣,那您可以关注一下8月19日-8月25日在杭州举办的RISC-V中国峰会!

参考文献:

黄博文,包云岗,CPU架构之争:RISC的诞生与发展缩影

发表评论

邮箱地址不会被公开。 必填项已用*标注

青ICP备20000204号-2