流水线是软考中经常考的一部分内容,并且常以要求计算的形式出现,所以,这里详细总结一下流水线的相关知识点。

流水线的概念

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

我们都知道,在执行一条指令的过程中,最少要经历

 取指

 分析

 执行

    三个步骤,也就是说,假设有三个指令1 、2、 3,当我们在正常情况下,在执行指令1的时候,会首先对指令1按照以上三个步骤进行处理,处理完毕后在对指令2进行处理,以此类推。而流水线的应用,就是像我们在工厂中一样,当对指令1进行分析工作时,同时对指令2进行取指,继续执行,当指令1到达执行阶段时,指令2进入分析阶段1同时对于指令3进行取指处理,这样就大大增加了对于时间的利用率。

流水线的计算

1、流水线的执行时长

①关于流水线的周期,我们需要知道的是,流水线周期(△t)为指令执行阶段中执行时间最长的一段。

②流水线的计算公式为:

完成一条指令所需的时间+(指令条数-1)*流水线周期,在这个公式中,又存在理论公式和实践公式。

理论公式:

实践公式:(k+n-1)*△t         k为一条指令所包含的部分的多少

例题:若指令流水线一条指令分为取指、分析、执行三个阶段,并且这三个阶段的时间分别为取指1ns,分析2ns,执行1ns,则流水线的周期为多少?100条指令全部执行完毕需要执行的时间是多少?

分析:上面已经说过,流水线的周期为花费时间最长的阶段所花费的时间,所以流水线的周期就是2ns。

根据理论公式,T=(1+2+1)+(100-1)*2=4+99*2=202ns

根据实践公式,T=(3+100-1)*2=204ns

在这里,需要注意的是,因为流水线的理论公式和实践公式的结果不一样,但是在考试过程中可能都会考到,所以,在应用时,先考虑理论公式,后考虑实践公式。

2、流水线的加速比计算

流水线的加速比指的是在完成同一批任务时,不使用流水线所用的时间与使用流水线所用的时间之比称之为流水下的加速比。加速比是越大越好的,它呈现了使用流水线的效果的好坏程度。

基本公式为:S=不使用流水线执行时间 /使用流水线的执行时间

如1中的例题:其加速比为S=(1+2+1)*100/(1+2+1)+(100-1)*2

3、流水线的效率

流水线的效率指的是流水线的设备利用率。在时空图上,流水线的效率定义为n个任务占用的时空与k个流水线总的时空区之比。

假设有一个需要完成的任务由四部分组成,如图一所示:

在实际流水线执行中,有以下时空图表示,如下图所示:

由图一可知,流水线的周期长为3△t

由时空图可知,在流水线应用过程中,并不是所有的时间都完美应用到,仍有时间存在空置,所以,在效率计算时,可以从两个方面进行理解。

①从公式计算:E=n个任务占用的时空区 / k个流水线的总的时空区

如上图结果为:E=(△t+△t+△t+3△t)*4/15△t*4

②从图中的面积理解:流水线的效率等于阴影所占方块与图中所有方块的比值

4、流水线吞吐率的计算

流水线的吞吐率指的是在单位时间内流水线所完成的任务数量或输出的结果数量。基本公式为:

流水线的最大吞吐率为:

计算机流水线重要知识,计算机组成与体系结构——流水线相关知识点(常考计算)...相关推荐

  1. 计算机组成原理考试计算题,计算机组成原理常考计算题.doc

    文档介绍: 计算机组成原理常考计算题 1. 机器数字长为8位(含1位符号位),当X= -127 (十进制)时,其对应的二进制表示, (X)原表示,(X)反表示,(X)补表示,(X)移表示分别是多少? ...

  2. 计算机组成原理重要知识,计算机组成原理重要知识点解析

    计算机组成原理重要知识点解析 在计算机组成原理方面,主要考查计算机系统基础知识.数据的表示和运算.存储器层次结构.指令系统.中央处理器.总线.输入输出系统. 1.计算机系统概述 学习计算机组成原理之前 ...

  3. 计算机排版基础知识,计算机排版基础知识.pdf

    计算机排版基础知识.pdf 计算机排版基础知识 1.主要教学内容: 1.1 计算机排版系统的应用环境 1.2 版面的结构及常见的排版规则 1.3 知识点:掌握版面结构及名词术语.熟悉常见出版物的版心 ...

  4. 公共基础知识计算机,公共基础知识计算机基础知识试题

    计算机基础知识是公共基础知识考试的组成成分之一,以下是由学习啦小编整理关于共基础知识计算机基础知识试题的内容,希望大家喜欢! 公共基础知识计算机基础知识试题 1.CPU的主要功能是进行( ). A.算 ...

  5. 计算机导论的知识,计算机导论课的认识

    物计算机.量子计算机,它们都具有着无与伦比的传播速度.超级大规模的储存能力,这是极其可喜的,但功能强大必然有着极其巨大的技术开发难题.可是我们相信这些技术难题必然因人类思想的能动性得以解决.但最后还要 ...

  6. 计算机vb基础知识,计算机VB基础知识---知识导学.doc

    计算机VB基础知识---知识导学 VB基础知识---知识导学 Viscal Basic语言 一.算法 1.定义:算法(Algorithm)就是解决某一类问题的方法和步骤. 2.算法的五个重要特征: ( ...

  7. 计算机一级重点知识,计算机一级考试重点

    全国计算机等级考试是考试人员对计算机和软件运用能力的一种考核,其中计算机一级是最基础的内容.下面小编整理了和注意事项,希望对你有所帮助! 及注意事项 1.计算机一级分为两个部分考试.一是:理论题,二是 ...

  8. 计算机教育 专业知识,计算机教育

    [编辑] 什么是计算机教育 计算机教育包括计算机科学与工程专业人才.计算机应用人才的培养,计算机知识向社会的普及和计算机在教育中的应用.计算机教育一词有两重含义:以计算机为教学内容:以计算机为教育辅助 ...

  9. 计算机2016基础知识,计算机基础知识2016.doc

    计算机基础知识2016 计算机基础知识 一. 填空题 1.一个完整计算机系统应包括(硬件系统和软件系统) 2.计算机手统中CPU是指(运算器 ),它的小文名(存储器) 3.计算机性能主要取决于(字长. ...

最新文章

  1. 分块的单点修改查询区间和_树状数组的区间修改与单点查询与区间查询
  2. linux修改主机名+免密认证+关闭防火墙
  3. MYSQL数据库学习十七 日志管理
  4. 漂亮 动态效果 信息提示(jquery版)
  5. eclipse常用窗口和功能总结
  6. VxWorks任务调度
  7. session 的工作原理以及使用细节和url编码
  8. 二进制文件转成文本保存,并可以读回
  9. 优秀文章收集,也有专题,改变了我的一些看法。
  10. java生成 折线图
  11. 内存引起的蓝屏问题排查
  12. CTF web题常用解题工具
  13. Win10 LTSB 2016 激活
  14. 信息安全实习:实习一 古典加密算法 Swing图形化 (报告+详细代码)
  15. 在linux前台和后台运行程序
  16. 数据仓库建模方法/范式建模法/维度建模法/事实表/维度表/优缺点/建模流程/概念建模/逻辑建模/物理建模
  17. RuntimeError: Sizes of tensors must match except in dimension 2. Got 5 and 4
  18. word中自动生成参考文献引用及自动更新文献编号
  19. 带2nd的计算机软件,2nd在计算器中是什么意思
  20. C++17之std::optional

热门文章

  1. xmind 8系列便携版:关联.xmind文件的打开方式后,打开文件会在当前文件夹下产生configuration等子目录的问题解决办法
  2. 区块链最好的编程语言是什么?
  3. 算法的浅论:算法前序
  4. USACO 2015 January Contest Bronze——奶牛的旅行路线
  5. 谷歌浏览器显示不安全内容
  6. 移动OA,为企业提供更高效的办公模式
  7. 封面文章:寻找技术中国——渴望不再被扼住喉咙!
  8. 如何在发布宝贝页面时嵌入视频
  9. Gitlab项目上传
  10. 装饰模式--私人定制冬装夏装