Skip to main content

Module scheduler

Module scheduler 

Source
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
DataSchedule ๐Ÿ”’
Latency tracking for all relevant CPU registers
ExecPortIndex ๐Ÿ”’
One single execution port
ExecSchedule ๐Ÿ”’
Execution schedule for all ports
InstructionPlan ๐Ÿ”’
Detailed execution schedule for one instruction
MicroOpPlan ๐Ÿ”’
Detailed execution schedule for one micro-operation
PortSchedule ๐Ÿ”’
Busy tracking for one CPU execution port
Scheduler ๐Ÿ”’
Overall state for the simulated execution schedule
SimpleBitArray ๐Ÿ”’
Simple packed bit array implementation
SubCycle ๐Ÿ”’
Sub-cycle timestamp