diff --git a/README.md b/README.md index 3f691d1d91fbd6d9fd635f09b3def9b44627672c..f44f5ba8eab8b4f7a5d10c7b151e637f138b5e68 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,8 @@ # NEMU -NEMU(NJU Emulator) is a simple but complete full-system x86 emulator designed for teaching purpose. -Small x86 programs can run under NEMU. +NEMU(NJU Emulator) is a simple but complete full-system emulator designed for teaching purpose. +Currently it supports x86, mips32, and riscv32. +To build programs run above NEMU, refer to the [AM project](https://github.com/NJU-ProjectN/nexus-am.git). The main features of NEMU include * a small monitor with a simple debugger @@ -10,17 +11,23 @@ The main features of NEMU include * expression evaluation without the support of symbols * watch point * differential testing with reference design (e.g. QEMU) -* CPU core with support of most common used x86 instructions in protected mode - * real mode is not supported - * x87 floating point instructions are not supported + * 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 * memory -* I386 paging - * TLB is optional +* paging + * TLB is optional (but necessary for mips32) * protection is not supported -* I386 interrupt and exception +* interrupt and exception * protection is not supported -* 4 devices - * serial, timer, keyboard, VGA +* 5 devices + * Args Rom, serial, timer, keyboard, VGA * most of them are simplified and unprogrammable * 2 types of I/O * port-mapped I/O and memory-mapped I/O