【系统架构设计师】计算机组成与体系结构 ⑮ ( 流水线技术 | 流水线吞吐率计算 | 流水线加速比计算 )

文章目录

在软考中 , 涉及到 流水线技术 的相关题型 :

  • 流水线执行时间计算
  • 流水线吞吐率计算
  • 流水线加速比计算

一、流水线吞吐率计算


1、流水线吞吐率概念

流水线吞吐率 ( TP , Though Putrate ) 是指 单位时间 内流水线所完成的 指令或任务数 , 是衡量流水线性能的重要指标之一 ;

流水线吞吐率 计算公式 为 :

吞吐率 T P = 指令条数 流水线执行时间 \rm 吞吐率 TP = \cfrac{指令条数}{流水线执行时间} 吞吐率TP=流水线执行时间指令条数

流水线 最大 吞吐率 计算公式 为 :

T P m a x = lim ⁡ n → ∞ n ( k + n − 1 ) t = 1 t TP_{max} = \lim_{n \to \infty}\cfrac{n}{(k + n - 1)t} = \cfrac{1}{t} TPmax=n→∞lim(k+n−1)tn=t1

  • t t t 是 流水线周期 ;
  • n n n 是 执行的指令条数 ;
  • k k k 是 一条指令 所需的步骤数 ;
  • ( k + n − 1 ) t (k + n - 1)t (k+n−1)t 是 流水线指令执行的 总时间 , 如果 n 无穷大 , 则 k − 1 k - 1 k−1 可以忽略 ;

2、流水线吞吐率示例

一条指令执行需要经过 取指 / 分析 / 执行 三个步骤 , 流水线周期 是 上述三个步骤中最长的一段时间 , 如 : 取指 1 ms , 分析 2 ms , 执行 3 ms , 则 流水线周期是 3 ms ;

指令完整的执行时间是 1 + 2 + 3 = 6 1 + 2 + 3 = 6 1+2+3=6 ms ;

如果要串行执行 10 条指令 , 则需要花费 10 × 6 = 60 10 \times 6 = 60 10×6=60 ms ;

如果按照流水线方式执行 , 则执行 10 条指令所需的时间为 :

( 1 + 2 + 3 ) + ( 10 − 1 ) × 3 = 6 + 27 = 33 (1 + 2 + 3) + (10 - 1) \times 3 = 6 + 27 = 33 (1+2+3)+(10−1)×3=6+27=33 ms

流水线吞吐率 计算公式 为 :

吞吐率 T P = 指令条数 流水线执行时间 \rm 吞吐率 TP = \cfrac{指令条数}{流水线执行时间} 吞吐率TP=流水线执行时间指令条数

指令条数为 10 条 , 流水线执行时间为 33 ms , 则吞吐率为 T P = 10 33 m s \rm TP = \cfrac{10}{33 ms} TP=33ms10

流水线 最大 吞吐率 计算公式 为 :

T P m a x = lim ⁡ n → ∞ n ( k + n − 1 ) t = 1 t TP_{max} = \lim_{n \to \infty}\cfrac{n}{(k + n - 1)t} = \cfrac{1}{t} TPmax=n→∞lim(k+n−1)tn=t1

上述指令的 流水线周期是 3ms , 则该流水线的 最大吞吐率为 : T P m a x = 1 3 m s \rm TP_{max} = \cfrac{1}{3ms} TPmax=3ms1

二、流水线加速比计算


1、流水线加速比概念

流水线加速比 是指 完成同样一批任务时 , " 不使用流水线执行指令的时间 " 与 " 使用流水线执行指令的时间 " 之比 ;

流水线加速比 计算公式为 :

流水线加速比 = 不使用流水线执行指令的时间 使用流水线执行指令的时间 流水线加速比 = \cfrac{不使用流水线执行指令的时间}{使用流水线执行指令的时间} 流水线加速比=使用流水线执行指令的时间不使用流水线执行指令的时间

2、流水线加速比示例

一条指令执行需要经过 取指 / 分析 / 执行 三个步骤 , 流水线周期 是 上述三个步骤中最长的一段时间 , 如 : 取指 1 ms , 分析 2 ms , 执行 3 ms , 则 流水线周期是 3 ms ;

指令完整的执行时间是 1 + 2 + 3 = 6 1 + 2 + 3 = 6 1+2+3=6 ms ;

如果要串行执行 10 条指令 , 则需要花费 10 × 6 = 60 10 \times 6 = 60 10×6=60 ms ;

如果按照流水线方式执行 , 则执行 10 条指令所需的时间为 :

( 1 + 2 + 3 ) + ( 10 − 1 ) × 3 = 6 + 27 = 33 (1 + 2 + 3) + (10 - 1) \times 3 = 6 + 27 = 33 (1+2+3)+(10−1)×3=6+27=33 ms

执行 10 条指令 ,

  • 不使用流水线 , 需要消耗 60ms 时间 ;
  • 使用流水线 , 需要消耗 33 ms 时间 ;

流水线加速比 计算公式为 :

流水线加速比 = 不使用流水线执行指令的时间 使用流水线执行指令的时间 流水线加速比 = \cfrac{不使用流水线执行指令的时间}{使用流水线执行指令的时间} 流水线加速比=使用流水线执行指令的时间不使用流水线执行指令的时间

将上面的数值代入到上述公式 :

流水线加速比 = 不使用流水线执行指令的时间 使用流水线执行指令的时间 = 60 33 流水线加速比= \cfrac{不使用流水线执行指令的时间}{使用流水线执行指令的时间} = \cfrac{60}{33} 流水线加速比=使用流水线执行指令的时间不使用流水线执行指令的时间=3360

相关推荐
想用offer打牌41 分钟前
一站式了解Spring AI Alibaba的Memory机制
java·人工智能·后端·spring·chatgpt·系统架构
RockHopper20251 小时前
工业AMR场景融合设计原理7——任务建模与管理
系统架构·智能制造·具身智能·amr·工业amr
鱼跃鹰飞2 小时前
面试题:Kafka的零拷贝的底层实现是什么?是MMAP还是sendFile还是其他的?
分布式·kafka·系统架构
Ulyanov2 小时前
PyVista战场可视化实战(三):雷达与目标轨迹可视化
开发语言·人工智能·python·机器学习·系统架构·tkinter·gui开发
Ankie Wan2 小时前
AUTOSAR: Automotive Open System Architecture(汽车开放系统架构)
系统架构·汽车·ecu·autostar
Coder个人博客2 小时前
Linux6.19-ARM64 crypto NH-Poly1305 NEON子模块深入分析
linux·网络·算法·车载系统·系统架构·系统安全·鸿蒙系统
RockHopper20253 小时前
工业AMR场景融合设计原理5——约束体系的价值
人工智能·系统架构·智能制造·具身智能·amr·工业amr
王然-HUDDM3 小时前
HUDDM(全息普适需求动力学模型)详解
数学建模·架构·系统架构·agi·预编码算法
C语言小火车3 小时前
Qt信号与槽本质解析(面试复习版)
qt·面试·系统架构·面试题
BOB-wangbaohai4 小时前
软考-系统架构师-信息安全技术基础知识(一)
安全·软考·系统架构师·加密·解密