Expand description
Scheduling model for program generation
HashX uses a simple scheduling model inspired by the Intel Ivy Bridge microarchitecture to choose registers that should be available and avoid stalls.
Modulesยง
- model ๐
- Scheduling information for each opcode
Structsยง
- Cycle ๐
- Cycle timestamp
- Data
Schedule ๐ - Latency tracking for all relevant CPU registers
- Exec
Port ๐Index - One single execution port
- Exec
Schedule ๐ - Execution schedule for all ports
- Instruction
Plan ๐ - Detailed execution schedule for one instruction
- Micro
OpPlan ๐ - Detailed execution schedule for one micro-operation
- Port
Schedule ๐ - Busy tracking for one CPU execution port
- Scheduler ๐
- Overall state for the simulated execution schedule
- Simple
BitArray ๐ - Simple packed bit array implementation
- SubCycle ๐
- Sub-cycle timestamp