RISC-V 简介

RISC-V(发音为“risk-five”)是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。该项目在2010年起源于加州大学伯克利分校(UC Berkeley),旨在为学术界和产业界提供可以在 BSD 许可证下自由使用的 CPU 设计。就像开源软件一样,RISC-V 指令集可以自由地用于任何目的,允许任何人设计、制造和销售 RISC-V 芯片和软件而不必支付给任何公司专利费。

RISC-V 中的字母“V”包含两层意思,一是这是 Berkeley 从 RISCI 开始设计的第五代指令集架构;二是它代表了变化(Variation)和向量(Vectors)。

RISC-V 项目的两个目标是:

  • 成为一种完全开放的指令集,可以被任何学术机构或商业组织所自由使用;
  • 成为一种真正适合硬件实现且稳定的标准指令集。

CISC 与 RISC

CPU 的指令集架构主要分为 CISC 和 RISC 两种。它们主要有以下区别:

  • CISC(Complex Instruction Set Computer,复杂指令集):指令数目比较多,不仅包含了处理器常用的指令,还包含了许多不常用的特殊指令。
  • RISC(Reduced Instruction Set Computer,精简指令集):指令数目比较少,只包含处理器常用的指令,对于不常用的操作,则通过执行多条常用指令的方式来实现。

RISC-V 发展历程

RISC-V 架构最早由美国加州大学伯克利分校(以下简称伯克利)的 Krste Asanović 教授、Andrew Waterman 和 Yunsup Lee 等开发人于 2010 年设计,并且得到了计算机体系结构领域的泰斗 David Patterson 的大力支持。

伯克利的开发人员之所以发明一套新的指令集架构,而不是使用成熟的 x86 或者 ARM 架构,是因为这些架构经过多年的发展变得极为复杂和冗繁,还存在着高昂的专利和架构授权问题,而且修改 ARM 处理器的 RTL 代码是不被支持的,x86 处理器的源代码根本不可能获得到。其他的开源架构(譬如 SPARC、OpenRISC)均有着或多或少的问题。

有感于计算机体系结构和指令集架构已经过数十年的发展非常成熟,但是像伯克利这样的研究机构竟然“无米下锅”(选择不出合适的指令集架构供其使用)。于是,伯克利的 Krste Asanović 教授决定借鉴开放源代码的模式,并花了三个月时间来开发并发表一个开放源代码的指令集架构,于是 RISC-V 架构诞生了。

经过几年的开发,伯克利为 RISC-V 架构开发出了完整的软件工具链以及若干开源的处理器实例,得到越来越多人的关注。

2015年,为了推动 RISC-V 产业化发展,一些早期成员和董事会决定成立 RISC-­V 基金会,定位是非营利性组织。该基金会负责维护标准的 RISC-V 指令集手册与架构文档,并负责 RISC-­V 开源架构的全球推广工作,组织会员共同推动 RISC-V 的标准完善和应用落地。迄今为止,全球已有超过 325 家公司和机构加入了 RISC-V 基金会。

如今,RISC-V 已不只是一个学术研究项目,有越来越多来自伯克利大学以外的志愿者和行业工作者参与到 RISC-V 项目。2015年,Krste Asanović 教授和两名研究生创立了 SiFive 芯片设计公司,随后陆续推出了数款芯片。产业界的许多芯片设计商也推出了他们基于 RISC-V 的芯片。

资源列表

Leave a Reply