Week 13 Flashcards
_____ determines the ordering of an instruction J, with respect to a branch instruction so that J is executed in both correct program order and only when it should be
Control dependence (Every instruction after the first branch is control dependent on some set of branches)
True / false: An instruction that is control dependent of a branch can be scheduled before the branch
FALSE – if scheduled before, it would no longer be controlled by the branch
The correct sequence of instruction execution is called the _____
instruction execution trace
what, exactly, is a branch instruction?
a bit string that, when interpreted according to the instruction format, has a certain opcode
_____ of instructions within a basic block cannot change program control flow
static scheduling
what are some compilation techniques used to reduce stalls?
register allocation – use registers to reduce accesses to slower storage (SRAM, DRAM)
static instruction scheduling: reorder machine instructions from obvious compiled order to reduce depencdence-caused stalls
single assignment – reduce/eliminate false data dependences by reducing / eliminating reuse of storage locations
what does static instruction scheduling do?
Reorders machine instructions from obvious compiled order to reduce dependence-caused stalls