五分钟技术趣谈 | RISC-V——开放源代码芯片革命

服务器 芯片
本文将从RISC-V的背景、特点、应用和未来发展四个方面切入,帮助读者快速了解RISC-V芯片的起源、发展、壮大的历程。

Part 01

RISC-V的背景与发展  

1.1 什么是指令集架构(ISA)

计算机系统的核心是处理器,它负责执行程序中的指令。为了能够让处理器理解并执行这些指令,需要有一套规范,这就是指令集架构(Instruction Set Architecture,ISA)。指令集架构主要规定了指令格式、寻址访存(寻址范围、寻址模式、寻址粒度、访存方式、地址对齐等)、数据类型、寄存器。指令集通常包括三大类主要指令类型:运算指令、分支指令和访存指令。此外,还包括架构相关指令、复杂操作指令和其他特殊用途指令【1】。指令集可以理解为计算机系统中软件和硬件交互的规范标准,即软硬件沟通的“桥梁”。

图片

图1 计算机系统的组成

1.2 RISC与CISC

在计算机历史的发展过程中,处理器设计出现了两种主要的指令集架构:复杂指令集(Complex Instruction Set Computer,CISC)和精简指令集(Reduced Instruction Set Computer,RISC)。CISC指令集较为复杂,提供了丰富的指令,目的是减少程序员的编程工作量。然而,随着计算机科学的发展,人们发现这种复杂性会导致处理器的性能和能效下降。因此,RISC应运而生,它采用了一种更简单、更高效的设计理念,通过优化指令集,提高处理器的性能和能效。

表1 RISC和CISC架构的分类

图片图片

1.3 RISC-V的诞生

图片

图2 David Patterson与John Hennessy和他们合著的《计算机体系架构:量化研究方法》图源ACM

20世纪80年代初,加州大学伯克利分校的David Patterson、斯坦福大学的John L. Hennessy等学者开始尝试对传统的CISC进行精简, RISC便由此诞生,信息技术史上浩浩荡荡的CISC与RISC之争拉开帷幕。

在21世纪初,开源运动在操作系统和应用软件领域取得了巨大成功(如Linux和Mozilla),软件上的成功进一步掀起了芯片领域的开源浪潮。这场芯片开源浪潮涵盖了各种类型的用户,包括开源组织OpenCores推出的OpenRISC,以及基于Sun提出的SPARC架构衍生而来的LEON和OpenSPARC等项目。这些开源芯片项目为用户提供了无限的可能性,为芯片设计带来了崭新的前景。

时间来到2010年,当时加州大学伯克利分校的科研团队正在为一个新项目做准备,在调研了x86,ARM等现有指令集后,得出主流指令集存在知识产权限制、指令集架构复杂的结论,于是该团队从零开始,设计了一套全新的指令集。就在这样的背景下,RISC-V(即第五代精简指令集计算机)作为开源芯片的代表,正式诞生了。

起初,学术界对于RISC-V的技术创新性持怀疑态度,学者们认为这不属于伯克利分校的教授们的工作,所以,RISC-V在一级学术会议上并不受到关注。直到伯克利团队将RISC-V从概念推进到原型芯片,并在2015年成立了非盈利组织——RISC-V基金会,历经大量的技术研讨会后,RISC-V才慢慢受到大众的关注【2】

Part 02

RISC-V的特点与优势  

RISC-V具有以下几个显著特点和优势:

2.1 开放与自由

RISC-V是一种开放源代码的指令集架构,这意味着任何人都可以免费使用、修改和发布它。这种开放性使得全球的研究人员、开发者和企业都能够参与到RISC-V的发展中来,共同推动硬件创新。同时,这也降低了企业进入芯片市场的门槛,有助于激发更多的竞争和创新。

2.2 简洁与高效

RISC-V采用了RISC设计理念,具有简洁、高效的指令集。这种设计可以提高处理器的性能和能效,降低功耗,特别适合物联网、边缘计算等新兴领域的应用。RISC-V指令集非常简洁,只有40条基本指令,相对于其他现代指令集如ARM和x86,这是一个非常小的指令集。这使得RISC-V非常的简洁高效。同时,由于RISC-V的指令集非常规范化和简洁,开发者很容易开发出高效率的编译器,同时也可以更好地优化底层代码。

2.3 可扩展性

RISC-V具有很高的可扩展性,可以根据不同的应用场景进行定制和优化。例如,可以通过添加定制指令来提高特定任务的性能,或者通过精简指令集来降低功耗。这种可扩展性使得RISC-V能够适应各种不同的应用场景和需求。

Part 03

RISC-V的应用与案例  

RISC-V已经在多个领域和场景中得到广泛应用:

3.1 物联网(IoT)

物联网设备通常对功耗和成本有严格的要求,而RISC-V凭借其高能效和灵活性成为了这一领域的理想选择。今年6 月 27 日,中国移动正式发布全球首颗纯自研 RISC-V 架构的 LTE-Cat.1 芯片和移动首颗纯自研量产的蜂窝物联网通信芯片,他们分别是CM8610 LTE-Cat.1和CM6620 NB-IoT,两者在功耗,计算性能,射频性能上都非常优异。这两款芯片的研发历时近两年,是中国移动在通信芯片领域的重要创新成果,可广泛应用于物联网、智能家居、智能交通等领域【3】。不难看出,往后RISC-V架构会被广泛应用于物联网时代,其内置的模块化设计可以很好地满足低功耗嵌入式设备需求。再加上开源免费的优势,让RISC-V成为未来潜力无限的物联网架构平台。

图片

图3  物联网通信芯片CM6620和CM8610

3.2 边缘计算

边缘计算需要在设备端进行实时数据处理,对处理器的性能和能效有较高要求。RISC-V的简洁高效设计使其成为边缘计算的理想选择。中国移动近三年累计投资近900亿元,完善数据中心“4+N+31+X”布局,累计投产云服务器71万台,覆盖“东数西算”全部核心枢纽;深化云边端协同发展,实现中心云“一省一池”,建成边缘节点超1000个;累计投入近260亿元,完善云基础设施、平台应用、网络安全、量子计算等重点领域研发布局【4】。在促进云计算应用发展,带动算力网络演进升级的部分场景中, RISC-V均可发挥其优势。

3.3 人工智能(AI)

AI芯片需要处理大量的数据和计算,对处理器的性能有很高的要求。RISC-V的可扩展性使其能够针对AI应用进行定制和优化。今年4月21日,基于RISC-V指令集的高性能、高能效人工智能解决方案的领先开发商Esperanto Technologies宣布,它已经移植并正在运行一系列生成式AI 在其低功耗 RISC-V 硬件上建模。Esperanto 计划为 RISC-V 社区的研究人员提供访问权限,作为该公司帮助更广泛行业“人工智能民主化”并帮助加速 RISC-V 生成人工智能技术开发的使命的一部分。

3.4 开发者社区与教育

由于RISC-V的开放性,全球的开发者和研究人员都可以参与到其生态建设中来。许多大学和研究机构已经将RISC-V纳入教学和研究计划,培养下一代硬件工程师。同时,也有越来越多的开发者社区和活动围绕RISC-V展开,推动技术交流和创新。

Part 04

RISC-V的未来与挑战 

RISC-V的未来与挑战RISC-V作为一种开放源代码的指令集架构,具有很大的发展潜力。

Semico Research是一家著名的市场调研机构,其调研结果指出,2025年,采用RISC-V指令集的芯片将达到624亿颗。RISC-V基金会与Semico Research机构一起,总共确定了34个细分市场,并详细研究了每个市场的CPU IP内核的总可用市场和RISC-V IP内核的服务可用市场,最终得出结论,在计算机、消费者、通信、运输和工业市场等细分市场中,2018年至2025年的复合增长率将达到146%【5】。研究认为四个具有使用RISC-V内核的高价值机会是高性能多核SoC、高性价比多核SoC、基础SoC和FPGA。

Semico Research预测,到2027年,市场上将有250亿基于RISC-V-的人工智能SoC,同年预计收入为2910亿美元。将人工智能纳入所有类型应用的硅解决方案是当今半导体市场的强大驱动力,RISC-V的增长预计将跨越许多关键行业。这包括未来五年内低端智能手机预计增长57.2%,5G基础设施增长112.3%,数据中心增长68.9%,个人电脑和游戏机增长78%,蜂窝基础设施增长313.8%,消费者物联网增长85.2%【6】

图片

图4  RISC-V内核需求数量构成预期

当然,要实现广泛的市场应用,RISC-V还有许多挑战需要面对:

4.1 生态建设

尽管RISC-V已经取得了一定的进展,但其生态系统仍然相对落后于其他主流指令集架构,如ARM和x86。要实现广泛的市场应用,RISC-V需要在软件兼容性、开发工具、操作系统等方面加强生态建设。

4.2 技术成熟度

虽然RISC-V在部分领域已经取得了一定的成功,但在一些高性能计算场景下,其技术成熟度仍然不足。要在更激烈的市场竞争中取得优势,RISC-V需要在性能、功耗和成本等方面进一步优化。

4.3 商业模式与合作

由于RISC-V的开放性,企业在使用和发布RISC-V产品时需要面临一定的商业挑战。要实现可持续发展,RISC-V需要探索适合自身的商业模式,并与全球的合作伙伴共同推进技术创新和市场应用。

Part 05

总结 

RISC-V凭借其开放性、简洁高效的设计和可扩展性,具有很大的发展潜力。在未来,随着生态建设的加强和技术成熟度的提高,RISC-V有望在各个领域实现广泛的市场应用,开启硬件革命的新篇章。

责任编辑:庞桂玉 来源: 移动Labs
相关推荐

2023-06-12 09:58:55

芯片

2023-07-23 18:47:59

Docker开源

2023-07-16 18:49:42

HTTP网络

2023-04-15 20:25:23

微前端

2023-07-02 16:09:57

人工智能人脸识别

2023-07-02 16:34:06

GPU虚拟化深度学习

2023-09-12 07:10:13

Nacos架构

2023-07-31 08:55:15

AI技术网络暴力

2023-07-12 15:50:29

机器学习人工智能

2023-08-29 06:50:01

Javamaven

2023-07-12 16:03:37

Android开发架构

2023-08-06 07:00:59

Openstack网络

2023-09-17 17:51:43

Android 14

2023-08-15 14:46:03

2023-08-06 06:55:29

数字可视化物联网

2021-06-04 15:38:18

联邦学习人工智能数据

2023-09-02 20:22:42

自动化测试软件开发

2023-08-07 06:35:07

系统限流

2023-07-12 16:13:01

2021-09-18 11:36:38

混沌工程云原生故障
点赞
收藏

51CTO技术栈公众号