RISC-V & rocket-chip

1、RISC-V & rocket-chip

RISC-V的介绍:

RISC-V(读作“RISC-FIVE”)是基于精简指令集计算(RISC)原理建立的开放指令集架构(ISA),V表示为第五代RISC(精简指令集计算机),表示此前已经四代RISC处理器原型芯片。每一代RISC处理器都是在同一人带领下完成,那就是加州大学伯克利分校的David Patterson教授。与大多数ISA相反,RISC-V ISA可以免费地用于所有希望的设备中,允许任何人设计、制造和销售RISC-V芯片和软件。它虽然不是第一个开源的指令集(ISA),但它很重要,因为它是第一个被设计成可以根据具体场景来选择具体指令的指令集架构。基于RISC-V指令集架构可以设计服务器CPU,家用电器CPU,工控CPU和用在比指头小的传感器中的CPU。

更多关于RISC-V的介绍可以查看以下网址:
大道至简——RISC-V架构之魂(上)
大道至简——RISC-V架构之魂(中)
大道至简——RISC-V架构之魂(下)

这篇文章的作者应该是写《手把手教你设计CPU—RISC-V处理器》的胡振波先生,同时他还设计了基于RISC-V指令集的Hummingbird E200。后面的博客还会穿插他公众号的内容。

或者可以查看伯克利大学的研究报告
Instruction Sets Should Be Free: The Case For RISC-V

或者查看CNRV双周简报:
https://cnrv.io/

RISC-V指令集出现后,大受关注,因此全世界关注RISC-V指令集的人组建了RISC-V基金会。RISC-V基金会网站上有关于RISC-V研究进展的全部内容,无论是软件还是硬件。
下面贴一些比较重要的内容给大家参考:

RISC-V基金会网址:https://riscv.org/
RISC-V指令集:https://riscv.org/specifications/ (用户指令集2.2,特权指令集1.10)
RISC-V手册中文版(书):http://crva.io/documents/RISC-V-Reader-Chinese-v2p1.pdf
RISC-V Debug指令集:https://www.sifive.com/documentation
RISC-V 会议记录:https://riscv.org/category/workshops/proceedings/
RISC-V 邮件清单:https://riscv.org/mailing-lists/ (各大神讨论的邮件)

注意:建议指令集还是看英文,因为用户指令集英文版本已经到了2.2,特权指令集已经到1.10了,更新的内容太多了。

Rocket Chip的介绍:

Rocket Chip is an open-source Sysem-on-Chip design generator that emits synthesizable RTL. It leverages the Chisel hardware construction language to compose a library of sophisticated generators for cores, caches, and interconnects into an integrated SoC. Rocket Chip generates general-purpose processor cores that use the open RISC-V ISA, and provides both an in-order core generator (Rocket) and an out-of-order core generator (BOOM). For SoC designers interested in utilizing heterogeneous specialization for added efficiency gains, Rocket Chip supports the integration of custom accelerators in the form of instruction set extensions, coprocessors, or fully independent novel cores. Rocket Chip has been taped out (manufactured) eleven times, and yielded functional silicon prototypes capable of booting Linux.
来源:The Rocket Chip Generator

这段话的大致内容就是:
1、 Rocket Chip是一个开源的SOC,它具有可综合的RTL。
2、 Rocket Chip是利用Chisel这种硬件构建语言实现的。
3、 Rocket Chip能生成基于RISC-V指令集的通用处理器,顺序执行的叫Rocket,乱序执行的叫BOOM。(什么是乱序执行?)
4、 Rocket Chip支持使用扩展指令实现定制加速器。
注意:本文出现的rocket-chip均指Rocket Chip中顺序执行的Rocket

这段话是《The Rocket Chip Generator》中的摘要,只说明了部分rocket-chip的特性,更多的特性大家可以查看原文。个人觉得rocket-chip最重要的特性是可配置,它是一个CPU生成器,而非单一的CPU,它能根据不同的配置生成不同的CPU。

其实github上有一大堆基于RISC-V的开源CPU,我半年前做过相关的综述,那时大概有十几个吧,现在就更多了。比较稳定和我比较关注的开源CPU有:rocket-chip、BOOM、PULPino(这是主打低功耗的CPU,分RISCY和zero-riscy)和Hummingbird E200。

当然我的重点一直放在rocket-chip上。github上还有几个基于RISC-V CPU的SOC项目,如freedom和LowRISC。

总结:
1、 RISC-V是可以开源的指令集。
2、 rocket-chip/BOOM/PULPino/Hummingbird E200都是基于RISC-V指令集实现的CPU,只是各CPU的特性不一样。
3、 freedom/LowRISC是基于RISC-V CPU的SOC。

你可能感兴趣的:(RISC-V,&,rocket-chip)