E6 完成PA1
南京大学"计算机系统基础"课程实验PA是国内首个也是目前唯一一个模拟器教学实验, 它将会指导大家开发一个功能完备但又经过简化的模拟器NEMU, 并基于NEMU来搭建一个完整的计算机系统, 这个目标和"一生一芯"非常类似. 你已经实现了minirvEMU, 并在上面运行了一些简单的程序; 而NEMU的核心工作原理和minirvEMU是一样的, 只不过NEMU支持的功能更丰富.
我们将PA引入到"一生一芯"中, 主要有以下考虑:
- PA承担了系统能力培养的绝大部分任务: 从硬件模拟器, ISA, 运行时环境, 到自制OS, 库函数, 应用程序, 可以让你深刻认识到程序如何在计算机上运行的每一处细节
- 如果你选择直接在RTL实现的处理器上构建系统软件, 你首先需要保证你的处理器是对的: 如果你的流水线在某个极端场景下和总线交互有问题, 你的自制OS和复杂应用程序(例如仙剑)都跑不起来. 相对地, 正确实现一个模拟器, 比正确实现RTL要容易得多
- 在企业流程中, 模拟器是处理器测试验证的一个重要组件. 通过引入PA, 我们希望让大家在"一生一芯"中也能体会到企业中的处理器开发流程. 同时, 我们还希望大家可以理解模拟器中的每一处细节, 需要的时候可以自行对它进行定制, 而不是把它当作一个和自己没有关系的外部工具
阅读PA讲义中的FAQ(常见问题)
在做PA之前, 我们强烈建议大家阅读PA讲义中的FAQ, 从而对PA有更多的了解.