Dynamic Slack
}Dynamic Slack or Dynamic Occupancy Formula for N buffers:
}
}
}
}
}
}Assumptions:
}Tokens not stalled by buffers or BitBucket resetting
}Tokens inserted at rate of local cycle time (FL + BL)
}Tokens consumed at rate of local cycle time
}Can be as small as N/9 (depending on circuit type)
CE-653 - Asynchronous Pipeline Performance
(average)
Peak Throughput = 1/(FL + BL)
11/5/2014
12
X-axis is throughput, Y-axis is AVERAGE # of tokens in pipeline

Def. “Static Slack” = maximum # of tokens occupied by pipeline -> thus throughput is 0 for 0 tokens or max tokens (static slack)

Token limited = throughput is dominated by token speed/presence, Bubble limited = throughput is dominated by bubble speed/presence

Example: 100t.u.s through pipeline (bit bucket is fast), token generated every 1000 t.u.s from bit gen.
Avg. # of tokens = 100/1000 (L/bitgen T) = 1/10, Throughput = 1/1000 (1 token every 1000 t.u.s)
If we double T then Avg. # of tokens = 100/500 = 1/5, Throughput = 1/500

Peak Throughput = 1/T = 1/(FL + BL)