[发明专利]一种基于Rust的多核RISCV-CPU模拟器在审
申请号: | 202110713956.6 | 申请日: | 2021-06-25 |
公开(公告)号: | CN113609066A | 公开(公告)日: | 2021-11-05 |
发明(设计)人: | 徐君;蒋旭;伍楷舜 | 申请(专利权)人: | 深圳大学 |
主分类号: | G06F15/17 | 分类号: | G06F15/17;G06F9/30 |
代理公司: | 北京市诚辉律师事务所 11430 | 代理人: | 耿慧敏;朱伟军 |
地址: | 518060 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 rust 多核 riscv cpu 模拟器 | ||
本发明公开了一种基于Rust的多核RISCV模拟器。该模拟器包括Risc‑V处理核心模块、总线模块、DRAM模块、CLINT模块、PLIC模块和UART模块,其中Risc‑V处理核心模块设置为多个,并基于Risc‑V开源指令集构造,用于实现取指令,译码和执行功能;DRAM模块用于模拟内存;PLIC模块用于模拟硬盘;UART模块用于模拟外部中断或本地中断;总线模块与用于控制Risc‑V处理核心模块、总线模块、DRAM模块、CLINT模块,PLIC模块和UART模块之间的信息交互,以实现无冲突通信。本发明提供的模拟器利用Rust语言强调安全,内存布局控制和并发的特性,提高了模拟器运行时的内存安全性,并且鲁棒性强。
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种基于Rust的多核RISCV-CPU模拟器。
背景技术
RISC-V是一种基于精简指令集计算原理建立的开放指令集架构,RISC-V结构简单,基础指令集只有40多条,加上其他的模块化扩展指令总共几十条指令。由于RISC-V具有完全开源、架构简单、易于移植等优点,使得其近期被大量使用。
Rust语言是一种专注于安全的系统编程语言,主要特征是运行速度快和内存安全。Rust通过所有权模型和类型系统保证了内存和线程的安全,使其能够在编译时消除内存相关错误,并且具有与C或C++接近的性能,因此,Rust拥有不断增长的用户群。
模拟器是体系结构研究和设计的重要工具。由于软件模拟器开发速度快、成本低、易于修改等特点,在处理器的设计验证和开发调优等方面都发挥了重要作用。现有的成熟模拟器有SimOs、QEMU等。QEMU是一套以GPL许可证分发源码的模拟处理器,在GNU/Linux平台上使用广泛,有高速度及跨平台的特性,能模拟至接近正常电脑的速度。此外,目前较新的异构系统模拟器框架以总线为核心,将各个运算单元和外围设备通过标准化的总线接口使得其和总线相连接,通过这种框架可以实现在忽略模块间结构差异的情况下完成异构系统模拟的搭建。
经分析,现有的成熟模拟器代码量庞大,结构复杂,不利于模拟器中模块的扩展。并且,目前还没有使用内存安全的语言实现的成熟模拟器,因此导致模拟器运行时可能出现因内存访问异常、内存溢出等问题带来的系统宕机和运行异常,而现有较小规模的模拟器缺少多核运行机制。
发明内容
本发明的目的是克服上述现有技术的缺陷,提供一种基于Rust的多核RISCV-CPU模拟器,是敏捷构建运行时内存安全的Riscv多核模拟器的新技术方案。
根据本发明的第一方面,提供一种基于Rust的多核RISCV模拟器,该模拟器包括Risc-V处理核心模块、总线模块、DRAM模块、CLINT模块、PLIC模块和UART模块,其中Risc-V处理核心模块设置为多个,并基于Risc-V开源指令集构造,用于实现取指令,译码和执行功能;DRAM模块用于模拟内存;PLIC模块用于模拟硬盘;UART模块用于模拟外部中断或本地中断;总线模块与用于控制Risc-V处理核心模块、总线模块、DRAM模块、CLINT模块,PLIC模块和UART模块之间的信息交互,以实现无冲突通信。
根据本发明的第二方面,提供一种基于Rust的多核RISCV模拟器的模拟方法。该方法包括:
参数解析器从命令行读取模拟器配置参数;
模拟器主函数模块根据参数解析器解析的配置参数生成硬件线程,在硬件线程上运行多个Risc-V处理核心模块,并管理所述Risc-V处理核心模块的启动和暂停;
主函数模块生成DRAM模块、CLINT模块,PLIC模块和UART模块的实例,并将可执行文件存入DRAM模块;
将Risc-V处理核心模块、DRAM模块、CLINT模块、PLIC模块和UART模块的实例的可变引用传入总线生成函数,以完成各模块和总线的连接;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳大学,未经深圳大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110713956.6/2.html,转载请声明来源钻瓜专利网。