五分钟技术趣谈 | RISC-V——开放源代码芯片革命
时间:2026-10-08 16:48 来源:未知 人气:
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(即第五代精简指令集计算机)作为开源芯片的代表,正式诞生了。