软件设计师学习笔记5-流水线技术

目录

1.流水线的概念

2.流水线计算

2.1流水线周期及执行时间

2.2流水线吞吐量


1.流水线的概念

考点:相关参数计算:流水线执行时间计算、流水线吞吐率、流水线加速比、流水线效率(后两者的计算中级不考)

流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。图解如下:

该图片来自希赛软考

(1)第一部分:这个程序的执行包含取指、分析、执行三个过程,每个过程各执行一秒

(2)第二部分:展示了该程序串行处理实现技术的情况

(3)第三部分:将第二部分的运行情况画入了时空图

(4)第四部分:在时空图中展示流水线的并行处理实现技术

至于并行处理技术就是几个程序齐头并进,以此图为例,当1取指时,2、3也同时取指

2.流水线计算

2.1流水线周期及执行时间

(1)流水线周期:程序执行时间最长的一段

举个例子:程序包含取指(1 ms)、分析(2 ms)、执行(4 ms)三个过程,那么周期为4 ms

(2)流水线执行时间计算公式:1条指令执行的时间+(指令数-1)*流水线周期

注:k表示过程数,t表示流水线周期

①理论公式:(t1 + t2 + .... + tk) + (n - 1) * t

②实际公式:k * t + (n - 1) * t

注:默认使用理论公式,当选项找不到理论公式计算的结果才使用实际公式

2.2流水线吞吐率

(1)流水线的吞吐率(Though Put rate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。计算流水线吞吐率的最基本的公式如下:

其中流水线执行时间为理论公式

(2)流水线最大吞吐率:

上一篇:软件设计师学习笔记4-寻址方式

下一篇:软件设计师学习笔记6-存储系统

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/54474.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

聚类分析 | MATLAB实现基于LP拉普拉斯映射的聚类可视化

聚类分析 | MATLAB实现基于LP拉普拉斯映射的聚类可视化 目录 聚类分析 | MATLAB实现基于LP拉普拉斯映射的聚类可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 聚类分析 | MATLAB实现基于LP拉普拉斯映射的聚类可视化,聚类结果可视化,MATLAB程…

Maven的超级POM

对于我们创建的一个maven工程,即便我们自己的pom.xm文件中没有明确指定一个父工程(父POM),其实也默认继承了超级POM,就好比JAVA类继承Object类一样。 maven官网关于超级POM的介绍: https://maven.apache.o…

MyBatis plus 多数据源实现

1. 项目背景 最近写文章发布到【笑小枫】小程序和我的个人网站上,因为个人网站用的是halo框架搭建,两边数据结构不一致,导致我每次维护文章都需要两边维护,这就很烦~ 于是,本文就诞生了。通过项目连接这两个数据库&a…

左偏树\可并堆

https://www.luogu.com.cn/problem/P3377 作用:可并堆 形态:堆满二叉树 即左节点最小深度大于等于右节点最小深度 合并过程:

Scikit-learn降维与度量学习代码批注及相关练习

一、代码批注 代码来自:https://scikit-learn.org/stable/auto_examples/decomposition/plot_pca_iris.html#sphx-glr-auto-examples-decomposition-plot-pca-iris-py import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes…

idea连接linux远程docker详细教程操作

1:修改docker配置文件docker.service vi /usr/lib/systemd/system/docker.service2:找到 ExecStart,在最后面添加 -H tcp://0.0.0.0:2375 # for containers run by docker ExecStart/usr/bin/dockerd -H fd:// --containerd/run/containerd/…

F5负载均衡器参与的Kubernetes架构选项介绍

F5负载均衡器在业内有着很高的知名度,因为它不仅是F5的代表作,负载均衡(Load Balance)这一词汇正是由F5发明并引入国内的。当前,F5的能力不断拓展,从早期聚焦F5负载均衡器到现在的分布式云应用架构&#xf…

Ae 效果:CC Jaws

过渡/CC Jaws Transition/CC Jaws CC Jaws(CC 锯齿)效果为视频或图像创造独特的锯齿状过渡效果。它允许用户控制中心点、方向、高度、宽度和形状,从而提供多种独特的过渡样式。 ◆ ◆ ◆ 效果属性说明 Completion 完成度 控制过渡效果的完成…

大数据日常运维命令

1、HDFS NameNode /usr/local/fqlhadoop/hadoop/sbin/hadoop-daemon.sh start namenode /usr/local/fqlhadoop/hadoop/sbin/hadoop-daemon.sh stop namenode bin/hdfs haadmin -DFSHAAdmin -getServiceState n1 2、HDFS DataNode /usr/local/fqlhadoop/hadoop/sbin/hadoop-…

探索搜索算法:从顺序到启发式的多种搜索方法

探索搜索算法:从顺序到启发式的多种搜索方法 搜索算法在计算机科学中起着至关重要的作用,帮助我们在大量数据中查找目标值、解决问题,或者找到最优解。本文将深入介绍不同类型的搜索算法,包括顺序搜索、二分搜索、插值搜索、哈希…

Gradio、Streamlit和Dash应用场景和功能比较

文章目录 应用比较GradioStreamlitplotly dash应用比较 gradiostreamlitdash主要使用场景可交互的小demo工作流、Dashboarddashboard、生产环境的复杂演示应用上手难度简单简单中等组件丰富度低中高Jupyter Notebook支持是否是是否完全开源是是部分企业级功能未开源GitHub star…

从0到1学会Git(第一部分):Git的下载和初始化配置

1.Git是什么: 首先我们看一下百度百科的介绍:Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 …

Azure - AzCopy学习

使用 AzCopy 将本地数据迁移到云存储空间 azcopy login 创建存储账号 ./azcopy login --tenant-id 40242385-c249-4746-95dc-4a0b64d49dc5这里的—tenant-id 在下面的地方查看:目录 ID;需要拥有Storage Blob Data Owner 的权限账号下可能会有很多目录&am…

nginx生成自定义证书

1、创建key文件夹 [rootlocalhost centos]# mkdir key 进入key文件夹 [rootlocalhost centos]# cd key/ 2、生成私钥文件 [rootlocalhost key]# openssl genrsa -des3 -out ssl.key 4096 输入这个key文件的密码。不推荐输入,因为以后要给nginx使用。每次reload ngin…

帆软报表系统SSRF

有子曰:“信近于义,言可复也。恭近礼,远耻辱也。因不失其亲,亦可宗也。” SSRF 构造payload,访问漏洞url: /ReportServer?opresource&resourcehttp://x.x.x漏洞证明: 文笔生疏&#xf…

软考A计划-系统集成项目管理工程师-法律法规-下

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

React钩子函数之useRef的基本使用

React钩子函数中的useRef是一个非常有用的工具,它可以用来获取DOM元素或者保存一些变量。在这篇文章中,我们将会讨论useRef的基本使用。 首先,我们需要知道useRef是如何工作的。它返回一个可变的ref对象,这个对象可以在组件的整个…

AWS EC2 docker-compose部署MongoDB4.2

环境准备 安装docker 参考EC2官方文档:创建容器镜像以在 Amazon ECS 上使用 - Amazon Elastic Container Service sudo yum update -y sudo amazon-linux-extras install docker sudo usermod -a -G docker ec2-user sudo systemctl enable docker sudo systemct…

算法通关村第十五关——从10亿数字中寻找最小的100万个数字

题目要求:设计一个算法,给定一个10亿个数字,找出最小的100万的数字。假定计算机内存足以容纳全部10亿个数字。 本题有三种常用的方法,一种是先排序所有元素,然后取出前100万个数,该方法的时间复杂度为O(nl…

数学建模(四)整数规划—匈牙利算法

目录 一、0-1型整数规划问题 1.1 案例 1.2 指派问题的标准形式 2.2 非标准形式的指派问题 二、指派问题的匈牙利解法 2.1 匈牙利解法的一般步骤 2.2 匈牙利解法的实例 2.3 代码实现 一、0-1型整数规划问题 1.1 案例 投资问题: 有600万元投资5个项目&…