流水线
特点
并行化处理,提高运行效率,提高吞吐量;优化指令执行流程,减少耗时;减少冲突,提升稳定性;多发射处理数据,在同一周期内发射多条指令,提高设备并行处理能力
周期与执行时间
周期
指令的执行过程分为三个阶段——取指、分析、执行
流水线的周期 = MAX(取指时间, 分析时间, 执行时间)
执行时间
有以下两个公式进行使用,根据上图可以非常快得出
理论公式:指令全部的执行时间 + (n - 1) × 流水线周期,其中n为指令条数
实践公式:(K + N - 1) × 流水线周期。其中K为工序数(即流水线的阶段数),N为指令条数
吞吐率计算
吞吐率是衡量流水线性能的重要指标,它表示在单位时间内流水线所能完成的任务数量
计算公式为:吞吐率 = 指令条数 / 流水线执行时间
公式通俗易懂就是结合定义
最大吞吐率=1/周期
实际吞吐率可表示为
n/(m+(n−1))*周期(n为命令数,m为流水线阶数)
流水线加速比
流水线的速度与功能的非流水线的速度之比
完成n条指令在m段流水线上共需(m+(n−1))倍的周期
完成n条指令在等效的非流水线上共需 n*m倍的周期
则加速比等于两者像除
流水线效率计算
同时还有一个参数也能评估流水线指标,那就是效率
效率 = (流水线周期数 - 空闲周期数) / 流水线周期数