【软考】流水线

2024-08-25 03:28
文章标签 软考 流水线

本文主要是介绍【软考】流水线,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

        • 一、指令控制方式
          • 1.1 说明
          • 1.2 顺序方式
          • 1.3 重叠方式
          • 1.4 流水方式
        • 二、流水线的种类
        • 三、流水的相关处理
          • 3.1 说明
          • 3.2 RISC 中采用的流水技术
            • 3.2.1 超流水线(Super Pipe Line)技术
            • 3.2.2 超标量(Super Scalar)技术
            • 3.2.3 超长指令字(Very Long Instruction Word,VLIW)技术
        • 四、吞吐率和流水建立时间
        • 五、例题
          • 5.1 例题1

一、指令控制方式
1.1 说明
  • 1.指令控制方式有顺序方式重叠方式流水方式3种。
1.2 顺序方式
  • 1.各机器指令之间顺序串行执行,执行完一条指令才能取下一条指令
  • 2.这种方式控制简单,但利用率低
1.3 重叠方式
  • 1.执行第1条指令的时候,可以开始执行第2条指令
  • 2.复杂性不高、处理速度较快
  • 3.容易发生冲突
  • 4.例如假设某计算机指令分为分析指令和执行指令两个小步骤,可以在某个时候,第一条指令中的执行指令和第二条指令中的分析指令同时在执行
  • 5.如图,指令1的执行指令和指令2的分析指令在同时执行
    在这里插入图片描述
1.4 流水方式
  • 1.流水方式是模仿工业生产过程的流水线(如汽车装配线)而提供的一种指令控制方式。
  • 2.流水技术(Pipelining)是把并行性或并发性嵌入到计算机系统里的一种形式,它把重复的顺序处理过程分解为若干子过程,每个子过程能在专用的独立模块上有效地并发工作。
  • 3.在概念上,流水可以看成是重叠的延伸。差别仅在于一次重叠是把指令解释分解为两个子过程,流水是分解为更多的子过程。
二、流水线的种类
  • 1.从流水的级别上,可分为部件级、处理机级以及系统级的流水。
  • 2.从流水的功能上,可分为单功能流水线和多功能流水线。
  • 3.从流水的连接上,可分为静态流水线和动态流水线。
  • 4.从流水是否有反馈回路,可分为线性流水线和非线性流水线。
  • 5.从流水的流动顺序上,可分为同步流水线和异步流水线。
  • 6.从流水线的数据表示上,可分为标量流水线和向量流水线。
三、流水的相关处理
3.1 说明
  • 1.由于流水时机器同时解释多条指令,这些指令可能有对同一主存单元或同一寄存器的“先写后读”的要求,这时就出现了相关。
  • 2.这种相关包括指令相关、访存操作数相关以及通用寄存器组相关等,它只影响相关的两条或几条指令,而且最多影响流水线的某些段推后工作,并不会改动指令缓冲器中预取到的指令内容,影响是局部的,所以称为局部性相关。
  • 3.解决局部性相关有两种方法:推后法通路法
  • 4.推后法是推后对相关单元的读,直至写入完成。
  • 5.通路法设置相关专用通路,使得不必先把运算结果写入相关存储单元,再从这里读出后才能使用,而是经过相关专用通路直接使用运算结果,以加快速度。
  • 6.转移指令(尤其是条件转移指令)与它后面的指令之间存在关联,使之不能同时解释。
  • 7.执行转移指令时,可能会改动指令缓冲器中预取到的指令内容,从而会造成流水线吞吐率和效率下降,比局部性相关的影响要严重得多,所以称为全局性相关。
  • 8.解决全局性相关有3种方法:猜测转移分支、加快和提前形成条件码、加快短循环程序的处理。
  • 9.条件转移指令有两个分支,一个分支是按原来的顺序继续执行下去,称为转移不成功分支;另一个分支是按转移后的新指令序列执行,称为转移成功分支。
  • 10.许多流水机器都猜选转移不成功分支,若猜对的几率很大,流水线的吞吐率和效率就会比不采用猜测法时高得多。
  • 11.尽早获得条件码以便对流水线简化条件转移的处理。
  • 12.例如,一个乘法运算所需的时间较长,但在运算之前就能知道其结果为正或为负,或者是否为0,因此,加快单条指令内部条件码的形成,或者在一段程序内提前形成条件码,对转移问题的顺利解决是很有好处的。
  • 13.由于程序中广泛采用循环结构,因此流水线大多采用特殊措施以加快循环程序的处理。
  • 14.例如,使整个循环程序都放入指令缓冲存储器中,对提高流水效率和吞吐率均有明显效果。
  • 15.中断和转移一样,也会引起流水线断流。好在中断出现的概率要比条件转移出现的概率低得多,因此只要处理好断点现场保护及中断后的恢复,尽量缩短断流时间即可。
3.2 RISC 中采用的流水技术
3.2.1 超流水线(Super Pipe Line)技术
  • 1.它通过细化流水、增加级数和提高主频,使得在每个机器周期内能完成一个甚至两个浮点操作。
  • 2.其实质是以时间换取空间。
  • 3.超流水机器的特征是在所有的功能单元都采用流水,并有更高的时钟频率和更深的流水深度。
  • 4.由于它只限于指令级的并行,所以超流水机器的 CPI(Clock Cycles Per Instruction,每个指令需要的机器周期数)值稍高。
3.2.2 超标量(Super Scalar)技术
  • 1.它通过内装多条流水线来同时执行多个处理,其时钟频率虽然与一般流水接近,却有更小的CPI。
  • 2.其实质是以空间换取时间。
3.2.3 超长指令字(Very Long Instruction Word,VLIW)技术
  • 1.VLIW 和超标量都是 20 世纪80年代出现的概念,其共同点是要同时执行多条指令,其不同在于超标量依靠硬件来实现并行处理的调度,VLIW 则充分发挥软件的作用,而使硬件简化,性能提高。
  • 2.VLIW 有更小的 CPI值,但需要有足够高的时钟频率。
四、吞吐率和流水建立时间
  • 1.吞吐率是指单位时间内流水线处理机流出的结果数。
  • 2.对指令而言,就是单位时间内执行的指令数。
  • 3.如果流水线的子过程所用时间不一样,则吞吐率p应为最长子过程的倒数。
  • 4.流水线开始工作,需经过一定时间才能达到最大吞吐率,这就是建立时间。
  • 5.若m个子过程所用时间一样,均为△t,则建立时间T=m△t。
五、例题
5.1 例题1
  • 1.题目
1.执行指令时,将每一节指令都分解为取指、分析和执行三步。已知取指时间为5△t,分析时间为2△t,
执行时间为3△t,如果按照[取指]k,[分析]k+1,[执行]k+2重叠的流水线方式执行指令,
从头到尾执行完500条指令需(B)△t。
A.2500
B.2505
C.2510
D.2515
  • 2.解析
1.流水线执行时间=流水线建立时间+(n-1)x流水线周期。
2.流水建立时间=5△t+2△t+3△t10△t。
3.流水线周期为时间最长的指令执行时间,即5△t。
4.流水线建立好时,已经执行了一次,所以剩下时间为(n-1)x5△t。

这篇关于【软考】流水线的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1104406

相关文章

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

如何使用Ansible实现CI/CD流水线的自动化

如何使用Ansible实现CI/CD流水线的自动化 持续集成(CI)和持续交付(CD)是现代软件开发过程中的核心实践,它们帮助团队更快地交付高质量的软件。Ansible,作为一个强大的自动化工具,可以在CI/CD流水线中发挥关键作用。本文将详细介绍如何使用Ansible实现CI/CD流水线的自动化,包括设计流水线的结构、配置管理、自动化测试、部署、以及集成Ansible与CI/CD工具(如Jen

【软考】希尔排序算法分析

目录 1. c代码2. 运行截图3. 运行解析 1. c代码 #include <stdio.h>#include <stdlib.h> void shellSort(int data[], int n){// 划分的数组,例如8个数则为[4, 2, 1]int *delta;int k;// i控制delta的轮次int i;// 临时变量,换值int temp;in

Go并发模型:流水线模型

Go作为一个实用主义的编程语言,非常注重性能,在语言特性上天然支持并发,Go并发模型有多种模式,通过流水线模型系列文章,你会更好的使用Go的并发特性,提高的程序性能。 这篇文章主要介绍流水线模型的流水线概念,后面文章介绍流水线模型的FAN-IN和FAN-OUT,最后介绍下如何合理的关闭流水线的协程。 Golang的并发核心思路 Golang并发核心思路是关注数据流动。数据流动的过程交给cha

【软考】安全威胁

目录 1. 说明2. 典型的安全威胁2.1 授权侵犯2.2 拒绝服务2.3 窃听2.3 信息泄露2.4 截获/修改2.5 假冒2.6 否认2.7 非法使用2.8 人员疏忽2.9 完整性破坏2.10 媒体清理2.11 物理入侵2.12 资源耗尽 3. 例题3.1 例题1 1. 说明 1.随着信息交换的激增,安全威胁所造成的危害越来越被受到重视,因此对信息保密的需求也从军事

软考(计算机技术与软件专业技术资格(水平)考试)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 月下飞天镜,云生结海楼。 ——《渡荆门送别》 信息系统项目管理师备考专栏 软考全称:计算机技术与软件专业技术资格(水平)考试 官网直达:中国计算机技术职业资格网 文章目录 软考介绍1.

软考学习 数据结构 排序

1. 冒泡排序(Bubble Sort) 基本原理: 冒泡排序是一种简单的交换排序算法,它通过重复地遍历要排序的数列,依次比较相邻的两个元素,并在顺序错误时交换它们的位置。每一轮遍历后,最大的元素会“冒泡”到数列的末尾,因此称为冒泡排序。这个过程不断重复,直到整个序列有序为止初始状态:从序列的第一个元素开始,依次比较相邻的两个元素。元素比较与交换: 如果前一个元素大于后一个元素,则交换它们的位

软考-软件设计师(UML习题)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨   前言 小郑正在备考2024年下半年的中级软件设计师,所以打算开展一个软考备考专栏,在这里记录一下备

两个月冲刺软考——逻辑地址与物理地址的转换(例题+讲解);文件类型的考点

1.已知计算机系统页面大小和进程的逻辑地址,根据页面变换表(页号-物理块号),求变换后的物理地址。 首先介绍几个公式: 逻辑地址 = 页号 + 页内地址 (默认为32机位) 物理地址 = 物理块号 + 物理地址的页内地址 其中:页内地址 = 物理地址的页内地址 解题:由于页面大小为4K,即4K=2的12次方,占0~11位;也就是页内地址有12位,故十六进制数中的C28是页内地址,那