流水线技术

流水线是处理阶段的级联,其中每个阶段都对从一端流到另一端的数据流执行某些固定的功能。流水线可以是线性的也可以是动态的(非线性)。线性流水线是具有流线型连接的简单级联阶段,而在动态流水线中,反馈和前向反馈连接路径可能存在于两个不同的阶段。线性流水线可以进一步分为同步流水线和异步流水线。在异步流水线中,相邻阶段之间的数据流由握手协议控制,其中阶段SiS_{i}在准备好传输数据时将就绪信号发送到下一个阶段Si+1S_{i + 1}。一旦阶段Si+1S_{i + 1}接收到数据,它就将确认信号发送回SiS_{i}。在同步流水线中,时钟锁用于连接各个阶段。当时钟脉冲到达时,所有锁同时将数据传输到下一级。对于kk级线性流水线,需要kk个时钟周期的倍数才能使数据流过流水线。流水线两次启动之间的时钟周期数称为流水线等待时间。流水线效率取决于每个流水线所用时间的百分比,这称为级利用率(stage utilization)。

如图5-7所示,视频编码任务可以形成一个三阶段的动态流水线。第一阶段包括运动估计单元。第二阶段有几个并行的压缩单元。第三阶段是输出管理器。可以将码率和量化控制单元以及参考帧管理器视为具有与第二级组件的反馈连接的两个延迟级。

Last updated