pipelining Flashcards
pipelining improves
throughput
increasing clock rate improves
latency
more memory closer to processor improves
latency
using multiple functional units improves
throughput
pipeline hazard
any condition that causes a stall
types of dependencies
RAW
WAR
WAW
bottleneck in pipelining
ALU
branching
compute the target address and update the program counter in the Decode stage
static branch prediction
always assume a branch will not be taken ( then fetch the next instruction in sequential order)
dynamic branch prediction
keep track of branch decisions
software approach to data dependencies +/-
let the compiler handle it
+ cheaper hardware, no need to implement detection and stalls
- more code, doesn’t solve stalls, only hides them
operand forwarding approach
forward operand to needed I