10 / 24 · 概念
延迟、吞吐率和启动间隔
将单个事务的等待时间与持续完成速率分别计算。
课时内容可免费阅读,选课后可保存学习进度。
更早完成与更频繁完成是两个概念
延迟衡量从一个输入被接收到其输出被交付的时间。吞吐率统计观察时间内交付的事务数。启动间隔 II 是两次新启动之间最小的周期距离。延迟使用周期或纳秒,吞吐率使用事务/周期或事务/秒,II 使用周期/事务。
这里所有传送都发生在上升沿。在具有两个寄存器的流水线中,时钟沿 0 接收的输入在时钟沿 1 后可见,并在时钟沿 2 传送。从接收到交付的延迟为两个周期。不同级同时处理不同事务,因此充满且没有停顿的流水线每个时钟沿交付一个结果。II=1 并不意味着延迟=1。
| 结构 | 交付延迟 | II | 无停顿时的持续吞吐率 |
|---|---|---|---|
| 单寄存器运算单元 | 1 个周期 | 1 | 1 个事务/周期 |
| 两级流水线 | 2 个周期 | 1 | 1 个事务/周期 |
| 共享资源的四时钟沿计算 | 取决于接口调度 | 大于 1 | 小于 1 个事务/周期 |
比较实际速率时,应考虑时钟周期。假设组合逻辑计算需要六纳秒,寄存器开销加裕量需要 0.5 ns。单级估计需要 6.5 ns 的周期。均衡的三纳秒级估计需要 3.5 ns。两者的 II 都为 1,因此分别约为每秒 153.8 百万和 285.7 百万个事务。但单项延迟可能从 6.5 纳秒增加到七纳秒。这些只是示例计算,并非实测实现时序。
最慢的一级限制时钟速度。按五加一分级,估计周期为 5.5 ns,比均衡分级更差。额外寄存器也增加开销、布线和控制成本;应检查实际实现时序。
四个输入在时钟沿 0 到 3 被接收时,输出在时钟沿 2 到 5 传送。启动和排空会影响短批次的表现,应明确测量窗口。存在停顿时,每个事务的延迟不同,而仅呈现、却从未被接收的输入不能计数。在优化疑似瓶颈之前,分别记录输入接收、输出交付和停顿周期。
自己试试
三级流水线的 II=1,时钟周期为四纳秒。求其持续吞吐率和交付延迟。如果第一个输入在时钟沿 0 被接收,第五个输出在哪个时钟沿交付?
阅读解释
吞吐率为每秒 250 百万个事务,延迟为 12 ns。假设没有停顿,第五个输入在时钟沿 4 被接收,在时钟沿 7 被交付。