课程简介

Cite

理解”程序如何在计算机上运行”的根本途径是从”零”开始实现一个完整的计算机系统. 南京大学计算机科学与技术系计算机系统基础课程的小型项目 (Programming Assignment, PA)将提出 x86/mips32/riscv32(64)架构相应的教学版子集, 指导学生实现一个经过简化但功能完备的 x86/mips32/riscv32(64)模拟器 NEMU(NJU EMUlator), 最终在 NEMU 上运行游戏”仙剑奇侠传”, 来让学生探究”程序在计算机上运行”的基本原理. NEMU 受到了QEMU的启发, 并去除了大量与课程内容差异较大的部分. PA 包括一个准备实验(配置实验环境)以及 5 部分连贯的实验内容:

  • 图灵机与简易调试器
  • 冯诺依曼计算机系统
  • 批处理系统
  • 分时多任务
  • 程序性能优化

Zihao Yu 设计实现的大名鼎鼎的 NJU PA,课程资料详细,难度较大,但仔细阅读材料后,总能自己解决问题,课程的正反馈很强,一门很好的系统入门课(包括编程习惯上也是很好的入门课)

课程资源