软考中级 软件设计师 第一章 第六节 流水线技术

news/2025/1/18 13:25:07/

目录

1、概念

2、图解

3、算法

3.1、时间算法

3.2、吞吐率


1、概念

流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。

各种部件同时处理是针对不同指令而言的,它们可以同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的执行速度。

相关参数:

  1. 流水线执行时间计算
  2. 流水线吞吐率

2、图解

比如三条指令,执行三次,依照人类的执行顺序应该是

实际上,计算机会将一类的命令归集,指令1三次,指令2三次,指令3三次

计算机实际执行过程中,因为三条指令调用的部件并不相同,因此它们实际上是留有空闲时间的

在流水线规划中,不同部件虽然并非真正并行,只是在部件1执行第二次指令1时,让部件2执行第一次指令2,减少了部件的空余时间,减少整体消耗的时长

3、算法

3.1、时间算法

流水线技术是有时间算法的。

流水线的周期,是执行时间最长的一段,视为t

举例说明,指令1时长为1ms,指令2时长为9ms,指令3时长为4ms,则流水线周期即为9ms。

由此可知,理论上,可以将流水线技术的时间计算分为两部分,第一部分即是全部指令第一次执行完毕的时间,即t1+t2+t3(全部指令的首次执行时间)的时间和后面(n-1)*t(后续以周期计算的剩余时间)

流水线计算公式为:

  • 理论公式:(t1+t2+t3......+tk)+(n-1)*t,k为指令总数,t为流水线周期
  • 实践公式:k*t +(n-1)*t,k为指令总数,t为流水线周期
  • 若是理论公式结果选项没有,才用实际公式计算

3.2、吞吐率

流水线的吞吐率是指(TP)在单位时间内流水线所完成的任务数量或输出的结果数量。

公式如下:

TP=指令条数÷流水线时间

最大吞吐率为:流水线周期的倒数

TP_{max}=\lim_{n-\infty }\frac{n}{(k+n-1)t}=\frac{1}{t}


http://www.ppmy.cn/news/1564157.html

相关文章

EE213 Lab2 hspice simulation Static Device Characteristics

目录 0 前言 1 仿真目标 2 IDS-VDS 3 IDS-VGS 4 VTH 5 IDS-VGS(log) 6 Body bias(Ids-Vbs) 7 Body bias(Vth-Vbs) 8 Ids-Temperature 0 前言 记录一下来到skd上的强度比较大的一门课,数字集成电路2的lab设计还是蛮好的,该帖非详细教程只是单纯…

Java进阶-在Ubuntu上部署SpringBoot应用

随着云计算和容器化技术的普及,Linux 服务器已成为部署 Web 应用程序的主流平台之一。Java 作为一种跨平台的编程语言,具有广泛的应用场景。本文将详细介绍如何在 Ubuntu 服务器上部署 Java 应用,包括环境准备、应用发布、配置反向代理&#…

hive连接mysql报错:Unknown version specified for initialization: 3.1.0

分享下一些报错的可能原因吧 1.要开启hadoop 命令&#xff1a;start-all.sh 2.检查 hive-site.xml 和 hive-env.sh。 hive-site.xml中应设置自己mysql的用户名和密码 我的hive-site.xml如下&#xff1a; <configuration><property><name>javax.jdo.opt…

微信小程序 实现拼图功能

微信小程序 实现拼图 效果示例功能描述代码示例 效果示例 微信小程序 碎片拼图 功能描述 在微信小程序中&#xff0c;实现一个简单的拼图小游戏。用户需要将四张碎片图片拖动到目标图片的正确位置&#xff0c;具体功能如下&#xff1a; 拖动功能&#xff1a; 用户可以通过手指…

vscode【实用插件】Material Icon Theme 美化文件图标

安装 在 vscode 插件市场的搜索 Material Icon Theme点 安装 效果

ECCV2020 | YAILA | 又一种中间层攻击方法

Yet Another Intermediate-Level Attack 摘要-Abstract引言-Introduction相关工作-Related Work我们的方法-Our Method实验-Experiments结论-Conclusion 论文链接 本文 “Yet Another Intermediate-Level Attack” 提出了一种增强对抗样本黑盒迁移性的新方法&#xff0c;通过建…

OpenCV学习

1.4图片的通道数操作 import cv2 import numpy as npimgcv2.imread("./image/cat.jpg",) cv2.imshow("image",img) print(img.shape) # 分离通道 b,g,rcv2.split(img) cur_imgimg.copy() # 只保留红色通道 cur_img[:,:,0]0 cur_img[:,:,1]0cv2.imshow(&quo…

使用 `npm install` 时遇到速度很慢的问题

如果你在使用 npm install 时遇到速度很慢的问题&#xff0c;可以尝试以下方法来提升安装速度&#xff1a; 1. 切换国内镜像源 使用国内镜像源能够有效提升下载速度&#xff0c;推荐使用淘宝 NPM 镜像&#xff1a; npm config set registry https://registry.npmmirror.com验…