第 1 章:模拟器架构设计
学习目标
- 理解模拟器的工作原理
- 掌握三层解耦设计
- 学习 NEMU 架构
1.1 什么是模拟器
模拟器用软件模拟硬件的行为,可以:
- 在 x86 上运行 RISC-V 程序
- 调试硬件设计
- 验证指令集
1.2 三层架构
┌─────────────┐
│ 二进制程序 │ ELF 文件
└─────────────┘
↓
┌─────────────┐
│ AM 层 │ 抽象机接口
└─────────────┘
↓
┌─────────────┐
│ CPU 层 │ 指令执行
└─────────────┘
↓
┌─────────────┐
│ SoC 层 │ 外设模拟
└─────────────┘
1.3 解耦设计
- CPU 独立:只关心指令执行
- SoC 独立:只关心外设
- 二进制独立:标准 ELF 格式