Expand description
Scheduling information for each opcode
StructsΒ§
- Exec
Ports π - Identify one or more CPU execution ports
ConstantsΒ§
- MAX_
LATENCY π - Maximum value of
instruction_latency_cycles()
for any Opcode - NUM_
EXECUTION_ πPORTS - Number of execution ports in our simulated microarchitecture
- P0 π
- Port P0 (second choice) only
- P01 π
- Either port P0 or P1
- P015 π
- Any of the three ports
- P05 π
- Either port P0 or P5
- P1 π
- Port P1 (third choice) only
- P5 π
- Port P5 (first choice) only
- SCHEDULE_
SIZE π - Total number of cycles to store schedule data for
- TARGET_
CYCLES π - Number of simulated cycles we run before stopping program generation
FunctionsΒ§
- instruction_
latency_ πcycles - Latency for each operation, in cycles
- instruction_
sub_ πcycle_ count - Each instruction advances the earliest possible issuing cycle by one sub-cycle per micro-op.
- micro_
operations π - Break an instruction down into one or two micro-operation port sets.