E6 Complete PA1

The ‘Computer Systems Fundamentals’ course experiment PA at Nanjing University features the first and currently only simulator-based teaching experiment in China. This experiment will guide students in developing a fully functional yet simplified simulator called NEMU, and then using NEMU to build a complete computer system. This objective is very similar to the ‘One Student One Chip’ initiative. You have already implemented minirvEMU and run some simple programs on it; the core working principles of NEMU are the same as those of minirvEMU, but NEMU supports more features.

We introduced PA into "One Student One Chip" for the following reasons:

  • PA covers most of the tasks of system engineering skills development: from hardware simulators, ISA, and runtime environments, to homemade OS, libraries, and applications, it gives you a deep understanding of every detail of how a program runs on a computer.
    • If you choose to build your system software directly on an RTL-implemented processor, you first need to make sure that your processor is the implemented correct: if your pipeline has problems interacting with the bus in some extreme scenario, your homemade OS and complex applications (such as Chinese PAL) won't run. In contrast, it is much easier to implement a simulator correctly than to implement RTL correctly.
  • In enterprise processes, simulators are an important component of processor testing and verification. By introducing PA, we hope to give everyone a taste of the processor development process in an enterprise setting, even in‘One Student One Chip’. At the same time, we also hope that everyone can understand every detail of the simulator, so that they can customise it themselves when needed, rather than treating it as an external tool that has nothing to do with them.

'Computer Systems Fundamentals'Theory Course Resources

During the PA process, if you need to supplement your theoretical knowledge, You may refer to Professor Yuan Chunfeng’s course on China University MOOC: Part 1open in new window, Part 2open in new window, Part 3open in new window

Read the FAQ (Frequently Asked Questions) in the PA handout.

Before doing the PA, we strongly recommend that you read FAQ in the PA handoutopen in new window to get a better understanding of the PA.

Complete PA1

Complete the relevant content according to the PA handout (ISA selects the default riscv32), including the following:

hint

PThis is the end of PA1...