all is about mips
Dependency
output dependency = WAW
load change memory and store change register - L1L2 cache solve that
anti-dependency (not occur in simple pipe line (no OoO scheduling))
Data forwarding
three stall to dm load type
two stall to alu r type
but by forwarding
like chaining at vector processor
two stall two 0
mem/wr → ID/EX
EX/MEM → ID/EX
one stall to 0
(memoryto-memory copies)
load store - 2(half write half read) to 0 stall
load use 2(half write half read) to 1 stall
stall the pipeline means DM final to ALU first
load use can be 2 stall since pre half cycle write and after half cycle read
Control hazerd
jump 1
branch 3 always if no branch predict
breanch forwarding
3stall with no branch prediction
2 flush with brench prediction false (at branch execution)
resource conflict is structural hazard Procedural Dependency is by branch or jump