control/branch hazards
Hazard where pipelined processor doesn’t know which instruction to fetch next because some previous instruction isn’t done yet (even with forwarding)
hazard
A clock cycle where we can’t get the pipeline to do what we want to do
dynamic branch prediction
how many bytes for each instruction on a 32 byte machine?
how to “kill off” an instruction if we no longer need it
Use the NOP instruction so the instructions don’t continue
control dependence definition
determines the ordering of an instruction J with respect to a branch instruction so that J is executed in correct program order and only when it should be
control dependence constraints (2 things)
To increase performance most processors execute instructions that should not be executed if this can be done ____.
without affecting program correctness
instruction execution trace
which can cause greater pipeline performance loss, control hazards or data hazards
superscalar
methods to resolve control dependencies (3 things)
branch prediction
Guessing execution path before the path is known can reduce time
predict branch not taken
predict branch taken
branch prediction cache
branch target buffer (BTB)
correlating predictor
Branch predictor that combines local behavior of a particular branch and global information about the behavior of some recent number of executed branches
tournament branch predictor
a branch predictor with multiple predictions for each branch and a selection mechanism that chooses which predictor to enable for a given branch
what exactly is a branch instruction?
an opcode bit string that gets interpreted according to instruction format
Instruction addresses in memory ____.
lookup table
explanation of circuit that searches dictionary in <1 clock cycle
content-addressed memory (CAM)