Cycle Accurate Simulator
硬件架构
graph TD
A[Processor] --> B[Top Core]
B --> C[Big Core]
B --> D[SPM Controller]
C --> E[Frontend]
C --> F[Backend]
E --> G[指令解码/分发]
F --> H[执行单元阵列]
H --> I[标量执行单元]
H --> J[向量执行单元]
H --> K[特殊功能单元]graph TD
A[Processor] --> B[Top Core]
B --> C[Big Core]
B --> D[SPM Controller]
C --> E[Frontend]
C --> F[Backend]
E --> G[指令解码/分发]
F --> H[执行单元阵列]
H --> I[标量执行单元]
H --> J[向量执行单元]
H --> K[特殊功能单元]| 模块 | 功能描述 | 适用场景 |
|---|---|---|
| Frontend | 指令获取、解码、分发(支持VLIW超长指令字) | 多发射/多流水线架构(如VLIW) |
| Backend | 执行单元阵列管理,包含标量/向量/特殊功能单元 | 简单顺序或单发射流水线 |
| SPM Controller | 共享内存(ScratchPad Memory)管理,支持多端口并行访问 | |
| DMA Engine | 高速数据传输(DRAM <-> SPM) | |
| FSM & Ctrl | 状态机控制模块,处理异常、中断和调试接口 |
指令集
指令的排布需要考虑流水线的模式,RAW 等冲突是可能存在的,例如 SMOVI 指令后可能需要跟一个 SNOP 以等待写回阶段的完成,后面的连续指令才能正常访问寄存器的值
