|
|
|
|
移动端

3.1.1 Rocket Core (开源)

《手把手教你设计CPU——RISC-V处理器篇》第3章乱花渐欲迷人眼——盘点RISC-V商业版本与开源版本,本章将挑选几款比较知名开源免费RISC-V处理器(或SoC)和商业公司开发的RISC-V处理器IP,一一加以简述。本节为大家介绍Rocket Core (开源)。

作者:胡振波来源:人民邮电出版社|2018-05-23 13:28

技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战

3.1.1 Rocket Core (开源)

Rocket Core是伯克利开发的一款开源RISC-V处理器核,可以由伯克利开发的SoC 生成器Rocket-Chip生成。注意区分Rocket Core与Rocket-Chip,Rocket Core是一款处理器核;Rocket-Chip是一款SoC生成器,用于生成若干伯克利开发的处理器核,包括Rocket Core和BOOM Core。本节主要介绍Rocket Core,而BOOM Core将在第3.1.2节介绍。

Rocket Core是一款64位的处理器,结构如图3-1所示,具有如下特点。

具备可配置性,支持多种RISC-V的指令集扩展组合。

按序发射按序执行的五级流水线。

配备完整的指令Cache和数据Cache。

配备64个深度(Entries)的分支目标缓存(Branch Target Buffer, BTB)。

配备256个深度(Entries)的分支历史表(Branch History Table, BHT)。

配备2个深度(Entries)的返回地址堆栈(Return Address Stack, RAS)。

配备内存管理单元(Memory Management Unit,MMU)以支持操作系统。

配备硬件浮点单元。

配备可扩展指令接口(Rocket Custom Coprocessor,RoCC)可供用户扩展协处理器指令。

据称伯克利使用Rocket Core已经成功地进行了高达11次的投片,并且在芯片原型上成功地运行了Linux操作系统。

Rocket Core性能和面积等参数非常具有竞争力,伯克利将Rocket Core与ARM Cortex-A5进行了对比。值得注意的是,Rocket Core是64位的架构,而Cortex-A5是32位架构,理论上64位架构处理器面积和功耗应该远高于32位架构的处理器,但是如图3-2所示,Rocket Core与ARM Cortex-A5相比性能大幅增加,而面积功耗却更小。

由于Rocket Core是伯克利推出RISC-V架构时,同时推出的开源处理器核,可以说是目前知名的开源RISC-V Core,有很多的公司与个人均在使用该款处理器进行研究或者开发产品。感兴趣的用户可以在GitHub上使用Rocket-Chip项目编译出Rocket Core自行了解。

Rocket Core的最大特点是使用Chisel(Constructing Hardware in an ScalaEmbedded Language)语言进行开发,这是伯克利大学设计的一种开源高层次硬件描述语言,其抽象层次比主流的硬件描述语言Verilog要高出许多。Chisel采用了面向对象,类似于Java一样的高层次抽象方式描述电路。这种高层描述语言可以被其工具转换为Verilog的RTL代码,或者周期精确的C/C++仿真模型。Chisel的优点是得益于其面向对象的特性,具有更好的可扩展性与可重用性。正是因为得益于使用了Chisel语言,Rocket Core具备相当程度的可配置性,而如果使用普通的Verilog语言开发很难达到这样高度的可配置型和代码的可维护性。

但是每一枚硬币都有其两面性,Chisel语言虽抽象层次更高,但其转换出来的Verilog代码由于是机器生成,其代码类似于电路网表一般,几乎没有可读性,这给像作者这样的用户造成了很大的困扰。而Chisel语言的学习曲线又非常陡峭,难度很大,绝大多数芯片工程师无法看懂,且在繁忙的工作中没有时间来重新学习这么一门非常有难度的新语言。由于硬件工程师无法读懂这种机器生成代码,给后续的ASIC流程工作也带来了一些麻烦。因此可以说是喜忧参半,Rocket Core是一款非常优秀的处理器,但是在相当长一段时间内,作者对于使用Chisel语言开发硬件将持非常保守的态度。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

非常网管——网络服务

本书使用通俗易懂的语言,通过大量的实例,从实际应用的角度出发,全面系统地介绍了网络服务操作系统平台、电子邮件系统、Web站点和FTP站点...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊