Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/NJU-ProjectN/nemu
NJU EMUlator, a full system x86/mips32/riscv32/riscv64 emulator for teaching
https://github.com/NJU-ProjectN/nemu
Last synced: 8 days ago
JSON representation
NJU EMUlator, a full system x86/mips32/riscv32/riscv64 emulator for teaching
- Host: GitHub
- URL: https://github.com/NJU-ProjectN/nemu
- Owner: NJU-ProjectN
- License: other
- Created: 2017-08-12T14:30:09.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-09-12T02:26:10.000Z (2 months ago)
- Last Synced: 2024-09-12T11:54:36.034Z (2 months ago)
- Language: C
- Homepage:
- Size: 395 KB
- Stars: 855
- Watchers: 17
- Forks: 184
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NEMU
NEMU(NJU Emulator) is a simple but complete full-system emulator designed for teaching purpose.
Currently it supports x86, mips32, riscv32 and riscv64.
To build programs run above NEMU, refer to the [AM project](https://github.com/NJU-ProjectN/abstract-machine).The main features of NEMU include
* a small monitor with a simple debugger
* single step
* register/memory examination
* expression evaluation without the support of symbols
* watch point
* differential testing with reference design (e.g. QEMU)
* snapshot
* CPU core with support of most common used instructions
* x86
* real mode is not supported
* x87 floating point instructions are not supported
* mips32
* CP1 floating point instructions are not supported
* riscv32
* only RV32IM
* riscv64
* only RV64IM
* memory
* paging
* TLB is optional (but necessary for mips32)
* protection is not supported
* interrupt and exception
* protection is not supported
* 5 devices
* serial, timer, keyboard, VGA, audio
* most of them are simplified and unprogrammable
* 2 types of I/O
* port-mapped I/O and memory-mapped I/O