Dynamic Pipeline Behaviour
CE-653 - Asynchronous Pipeline Performance
}Cycle Time
}T = FL + BL (simplest case)
}Latency
}input to output delay = N * FL
}Throughput
}# of tokens flowing per unit time, generally = 1/T = 1/(FL + BL)
}Depends on throughput of sender/receiver
}Static Slack or Static Token Occupancy
}Maximum token capacity of the pipeline
}Spread
}distance between successive tokens in a full pipeline
}token distance travelled for 1 T = (FL + BL)/FL
}Dynamic Slack or Dynamic Occupancy
}Average token capacity in the pipeline during operation
}N*1/Spread = (N*FL)/(FL + BL)
11/5/2014
11
Cycle time T = FL + BL (simplest case)
Latency: delay from input to output = N * FL
Throughput: # of tokens flowing per unit time = 1/T
Dynamic Slack or Occupancy = token distance travelled per T = (FL + BL)/FL = T/FL
Spread = distance between successive tokens in a full pipeline = 1/Dynamic Slack = FL/(FL + BL)

Example – set FL = 1, BL = 1 and match bit gen/bit bucket speeds to cycle time