APP下载

开源处理器Rocket的自定义指令研究与测试

2017-05-13雷思磊

单片机与嵌入式系统应用 2017年5期
关键词:指令信息

雷思磊

(酒泉卫星发射中心,酒泉 735000)

开源处理器Rocket的自定义指令研究与测试

雷思磊

(酒泉卫星发射中心,酒泉 735000)

Rocket是基于RISC-V指令集架构的开源处理器,其实现了RISC-V的三条自定义指令custom0、custom1、custom2,在分析Rocket中自定义指令的处理过程后,编写测试程序,验证了自定义指令的实现。

Rocket;RoCC;RISC-V

引 言

RISC-V是加州大学伯克利分校(University of California at Berkeley,以下简称UCB)设计并发布的一种开源精简指令集架构,其目标是成为指令集架构领域的Linux,应用覆盖IoT(Internet of Things)设备、桌面计算机、高性能计算机等领域[1]。RISC-V自2014年正式发布以来,得到了包括谷歌、IBM、Oracle等在内的众多企业,以及包括剑桥大学、苏黎世联邦理工大学、印度理工学院、中国科学院在内的众多知名学府与研究机构的关注和参与,围绕RISC-V的生态环境逐渐完善,并涌现了众多开源处理器及SoC采用RISC-V架构。Rocket就是采用RISC-V指令集的开源处理器,本文研究分析了Rocket处理器对于RISC-V中自定义指令的实现原理,并进行了测试。

1 Rocket处理器简介

Rocket是UCB设计的一款基于RISC-V指令集、5级流水线、单发射顺序执行的64位处理器,主要特点有:

① 支持MMU,支持分页虚拟内存,所以可以移植Linux操作系统;

② 具有兼容IEEE 754-2008标准的FPU;具有分支预测功能,具有BPB(Branch Prediction Buff)、BHT(Branch History Table)、RAS(Return Address Stack)。

③ Rocket是采用Chisel(Constructing Hardware in an Scala Embedded Language)编写的,这也是UCB设计的一种开源硬件编程语言,是Scala语言的领域特定应用,可以充分利用Scala的优势,将面向对象(object orientation)、函数式编程(functional programming)、类型参数化(parameterized types)、类型推断(type inference)等概念引入硬件编程语言,从而提供更加强大的硬件开发能力。Chisel除了开源之外,还有一个优势就是使用Chisel编写的硬件电路可以通过编译得到对应的Verilog设计,还可以得到对应的C++模拟器。……

登录APP查看全文

猜你喜欢

指令信息
听我指令:大催眠术
ARINC661显控指令快速验证方法
LED照明产品欧盟ErP指令要求解读
订阅信息
杀毒软件中指令虚拟机的脆弱性分析
展会信息
一种基于滑窗的余度指令判别算法
坐标系旋转指令数控编程应用
信息
健康信息