koala889 发表于 2022-6-19 10:53

基于RISC-V的开源处理器

目前基于RISC-V架构的开源处理器有很多,既有标量处理器Rocket,也有超标量处理器BOOM,还有面向嵌入式领域的Z-scale、PicoRV32等


标量处理器——Rocket
Rocket是UCB设计的一款64位、5级流水线、单发射顺序执行处理器,主要特点有:

支持MMU,支持分页虚拟内存,所以可以移植Linux操作系统
具有兼容IEEE 754-2008标准的FPU
具有分支预测功能,具有BTB(Branch Prediction Buff)、BHT(Branch History Table)、RAS(Return Address Stack)




UCB的研究人员设计的一款采用RISC-V指令集架构的开源处理器Rocket,并且已经成功流片了11次,其中采用台积电40nm工艺时的性能与采用同样工艺的,都是标量处理器的ARM Cortex-A5的性能对比如表3所示。可见Rocket占用更小的面积,使用更小的功耗,但是性能却更优。
Rocket是采用Chisel(Constructing Hardware in an Scala Embedded Language)编写的,这也是UCB设计的一种开源的硬件编程语言,是Scala语言的领域特定应用,可以充分利用Scala的优势,将面向对象(object orientation)、函数式编程(functional programming)、类型参数化(parameterized types)、类型推断(type inference)等概念引入硬件编程语言,从而提供更加强大的硬件开发能力。Chisel除了开源之外,还有一个优势就是使用Chisel编写的硬件电路,可以通过编译得到对应的Verilog设计,还可以得到对应的C++模拟器。Rocket使用Chisel编写,就可以很容易得到对应的软件模拟器。同时,因为Chisel是面向对象的,所以Rocket的很多类可以被其他开源处理器、开源SoC直接使用。


koala889 发表于 2022-6-19 10:54

超标量乱序执行处理器——BOOM

BOOM(Berkeley Out-of-Order Machine)是UCB设计的一款64位超标量、乱序执行处理器,支持RV64G,也是采用Chisel编写,利用Chisel的优势,只使用了9000行代码,流水线可以划分为六个阶段:取指、译码/重命名/指令分配、发射/读寄存器、执行、访存、回写。

借助于Chisel,BOOM是可参数化配置的超标量处理器,可配置的参数包括:

取指、译码、提交、指令发射的宽度
重排序缓存ROB(Re-Order Buffer)、物理寄存器的大小
取指令缓存、RAS、BTB、加载、存储队列的深度
有序发射还是无序发射
L1 cache的路数
MSHRs(Miss Status Handling Registers)的大小
是否使能L2 Cache



UCB已经在40nm工艺上对BOOM进行了流片,测试结果如表4所示。可见BOOM与商业产品ARM Cortex-A9的性能要略优,体现在面积小、功耗低。

七毛钱 发表于 2022-6-21 09:44

感谢分享,了解一下

i1mcu 发表于 2022-7-4 15:37

现在RISC-V前景怎么样

febgxu 发表于 2022-7-5 16:27

Rocket是什么?

jackcat 发表于 2022-7-5 18:17

资料多吗?

mnynt121 发表于 2022-7-5 19:47

现在流行的了吗
页: [1]
查看完整版本: 基于RISC-V的开源处理器