【软考中级】软件设计师笔记——流水线

本文介绍了流水线的概念,涉及流水线周期、吞吐率的计算方法、最大吞吐率以及流水线加速比的定义。通过实例说明了如何利用流水线提高执行效率,参考了王勇的视频教程作为教学资源。
摘要由CSDN通过智能技术生成

流水线

概念

流水线是在执行程序时,多条指令并行处理。各种部件同时处理不同指令,已提高部件的利用率和指令的平均执行速度
在这里插入图片描述

流水线计算

流水线周期 执行时间最长的一段(此题为2ns)
在这里插入图片描述

理论上:203ns
实际上:204ns
在实际操作过程中,不工整的时间片很短,1ns和2ns差别不大,所以在计算过程中,将每段认为是一个周期,都看成2ns来计算
k为几段 n为指令条数

吞吐率计算

吞吐率:单位时间内,流水线完成的任务数量或输出的结果数量

T P = 指令条数 流水线执行时间 TP=\dfrac{指令条数}{流水线执行时间} TP=流水线执行时间指令条数

流水线最大吞吐率:
T P m a x = lim ⁡ n → + ∞ n ( k + n − 1 ) Δ t = 1 Δ t TP_{max}=\lim_{n\rightarrow+\infty}\dfrac{n}{(k+n-1)\Delta t}=\dfrac{1}{\Delta t} TPmax=n+lim(k+n1)Δtn=Δt1
结合上一题,吞吐率为 100 203 n s \dfrac{100}{203}ns 203100ns

流水线加速比

加速比:
S = 不使用流水线执行时间 使用流水线执行时间 S=\dfrac{不使用流水线执行时间}{使用流水线执行时间} S=使用流水线执行时间不使用流水线执行时间

上一题 S = 500 203 S=\dfrac{500}{203} S=203500

流水线效率

在这里插入图片描述

E = n 个任务占用的时间区 k 个流水线段的总时间区 = T 0 k T k E=\dfrac{n个任务占用的时间区}{k个流水线段的总时间区}=\dfrac{T_0}{kT_k} E=k个流水线段的总时间区n个任务占用的时间区=kTkT0
每个流水线段的周期都相等时,效率往往最大

参考自王勇的视频教程,因为原视频没有版权,就不放链接了,怕下架,b站上有,差不多28小时,需要的可以自行查找

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值