[行业资讯] 基于RISC-V的开源处理器

[复制链接]
187|2
手机看帖
扫描二维码
随时随地手机跟帖
koala889|  楼主 | 2022-6-19 10:53 | 显示全部楼层 |阅读模式
目前基于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)


6962662ae8f967dea2.png

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

226962ae8fef7fd90.png

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

使用特权

评论回复
七毛钱| | 2022-6-21 09:44 | 显示全部楼层
感谢分享,了解一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则