NJU-ProjectN/nemu 项目推荐

NJU-ProjectN/nemu 项目推荐

1. 项目基础介绍和主要编程语言

NJU-ProjectN/nemu 是一个为教学目的设计的简单但完整的系统级模拟器。该项目主要支持 x86、mips32、riscv32 和 riscv64 架构。NEMU 的核心代码主要使用 C 语言编写,同时也包含了一些 Makefile、Yacc 和 Lex 文件。

2. 项目的核心功能

NEMU 的核心功能包括:

  • 小型监控器和简单调试器:支持单步执行、寄存器/内存检查和表达式评估。
  • 差异测试:通过与参考设计(如 QEMU)进行差异测试来验证模拟器的正确性。
  • CPU 核心:支持大多数常用指令,但不支持 x86 实模式和 x87 浮点指令,以及 mips32 CP1 浮点指令。
  • 内存管理:支持内存分页和 TLB,但不支持保护机制。
  • 设备模拟:模拟了串口、定时器、键盘、VGA 和音频设备,但这些设备大多简化和不可编程。
  • I/O 管理:支持端口映射 I/O 和内存映射 I/O 两种方式。

3. 项目最近更新的功能

NEMU 最近的更新主要集中在以下几个方面:

  • 指令集扩展:增加了对更多指令集的支持,特别是 riscv32 和 riscv64 架构的扩展。
  • 调试功能增强:改进了调试器的功能,使其更加易用和强大。
  • 设备模拟优化:对部分设备的模拟进行了优化,提高了模拟的准确性和效率。
  • 文档更新:更新了项目的文档,提供了更详细的构建和使用指南。

通过这些更新,NEMU 在教学和研究中的应用价值得到了进一步提升。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值