# YKriscv基于Python语言的RISC-V指令集模拟器 **Repository Path**: siger01/YKriscv ## Basic Information - **Project Name**: YKriscv基于Python语言的RISC-V指令集模拟器 - **Description**: 本课题既是目前首个用python语言开发的能运行C语言程序的RISC-V指令集模拟器,同时也是首个拥有串口输入输出功能的RISC-V指令集模拟器,对RISC-V指令集的教学有帮助作用。 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: https://github.com/LegolasXu/pyriscv-1 - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2023-05-25 - **Last Updated**: 2024-10-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # [基于Python语言的RISC-V指令集模拟器](pyriscv/基于Python语言的RISC-V指令集模拟器.md) ### 摘要 RISC-V是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。在RISC-V的教学中,常常使用模拟器展示芯片的运行流程。然而,目前存在的模拟器都有较高的专业性,初学者非常难使用或理解。 本课题在开源软件的基础上改进并开发了简单易懂、便于调试的RISC-V指令集模拟器,实现的功能包括:正确运行以RISC-V指令集RISCV32I编译C语言得到的二进制程序;将执行机器指令(如:读取、存储、加法等)的过程、寄存器与内存、操作与解码等CPU中发生的操作可视化,单步展示数据处理的过程;串口输出程序结果;支持自定义指令。模拟器由编译器和解释器组成,编译器基于xPack GNU RISC-V Embedded GCC,解释器基于python语言。 本课题既是目前首个用python语言开发的能运行C语言程序的RISC-V指令集模拟器,同时也是首个拥有串口输入输出功能的RISC-V指令集模拟器,对RISC-V指令集的教学有帮助作用。 【 **关键词** 】RISC-V、指令集模拟器、Python ### 目录 1. 前言 p3 2. C应用程序编译和pyriscv指令集模拟器的运行流程 p3 3. 旧版pyriscv的局限 p6 4. Pyriscv指令集模拟器新增功能 p7 5. 测试 p9 6. 结论与未来方向 p11 7. 参考文献 p12