西安石油大学计算机学院:《计算机系统结构》课程资源(PPT教学课件)第4章 标量流水线技术

第4章标量流水线技术 内容提要 本章首先简要介绍标量流水线的基本概念与工作原理,然后 讲述流水线时空图与性能分析、流水线操作中的主要障碍、处理 方法、非线性流水线的调度策略以及实现流水线的控制方式。重 点是流水线的时空图、流水线性能分析以及流水线的实现与控制 难点是使用流水线的时空图、性能分析与非线性流水线的调度策 略
第4章 标量流水线技术 • 内容提要: 本章首先简要介绍标量流水线的基本概念与工作原理,然后 讲述流水线时空图与性能分析、流水线操作中的主要障碍、处理 方法、非线性流水线的调度策略以及实现流水线的控制方式。重 点是流水线的时空图、流水线性能分析以及流水线的实现与控制。 难点是使用流水线的时空图、性能分析与非线性流水线的调度策 略

第4章标量流水线技术 4.1概述 4.2标量流水线工作原理 4.3指令级流水线
第4章 标量流水线技术 4.1 概述 4.2 标量流水线工作原理 4.3 指令级流水线

4.1概述 41.1控制流及其改变 4.1.2程序执行过程中的重叠操作与先 行控制
4.1 概述 4.1.1 控制流及其改变 4.1.2 程序执行过程中的重叠操作与先 行控制

4.1.1控制流及其改变 所谓控制流是指被执行的指令序列的处理顺序,其地址由程序计 数器PC给出,一条接着条地执行。在一般情况下,PC的值是时间的 单调函数,如图41(a)所示。但是当遇上转移类指令时,控制流 将发生间断,转移到目标地址后又顺序执行,PC中的值如图4.1(b) 所示。通常,改变程序顺序执行的因素有多种,常见的有以下4种。 转移 PC=kothi 转移/转移 (a)程序顺序执行 (b)程序转移执行 图41程序计数器PC与时间的关系
4.1.1 控制流及其改变 所谓控制流是指被执行的指令序列的处理顺序,其地址由程序计 数器PC给出,一条接着一条地执行。在一般情况下,PC的值是时间的 单调函数,如图4.1(a) 所示。但是当遇上转移类指令时,控制流 将发生间断,转移到目标地址后又顺序执行,PC中的值如图4.1(b) 所示。通常,改变程序顺序执行的因素有多种,常见的有以下4种。 图4.1 程序计数器PC与时间t的关系

(1)转移指令 转移指令可分为无条件转移和条件转移两种类型,且有多条,都是把转移 目标地址送入程序计数器PC中,然后又顺序执行,如图4.1(b)所示。 (2)过程调用与返回 即执行被调用的过程或子程序,其入口地址送入PC中;返回时,返回地址 送入PC,另外还有嵌套和递归。 (3)协同程序 协同程序与过程调用程序有所不同,它 协同程序A协同程序B 是被调用过程未必从头开始执行,而是从上 次返回的位置开始,如图42乐示。 (4)中断与自陷 中断是由外部事件引起,自陷是由 CPU的内部原因引起,CPU执行中断服务程 序,执行完后返回原来被中断的程序。 以上几种情况都改变PC中的值,使控图42协同程序改变控制流 制流发生改变。 <
(1)转移指令 转移指令可分为无条件转移和条件转移两种类型,且有多条,都是把转移 目标地址送入程序计数器PC中,然后又顺序执行,如图4.1(b)所示。 (2)过程调用与返回 即执行被调用的过程或子程序,其入口地址送入PC中;返回时,返回地址 送入PC,另外还有嵌套和递归。 (3)协同程序 协同程序与过程调用程序有所不同,它 是被调用过程未必从头开始执行,而是从上 一次返回的位置开始,如图4.2所示。 (4)中断与自陷 中断是由外部事件引起,自陷是由 CPU的内部原因引起,CPU执行中断服务程 序,执行完后返回原来被中断的程序。 以上几种情况都改变PC中的值,使控 制流发生改变。 图4.2 协同程序改变控制流

4.1.2程序执行过程中的重叠操作 与先行控制 1.程序执行过程中的重叠操作 在计算机运行的过程中,指令的解释方式可分为三种,即顺序、重叠 和流水,依据不同的解释方式,可以产生不同的工作方式和过程。下面仅 介绍顺序解释方式和重叠解释方式,流水线方式将在第4.2节介绍。 (1)顺序解释方式 顺序解释是最简单的种方式,它是一条指令执行完后再去解释下一 条指令。早期的计算机多采用这种方式,指令执行过程分为取指令、分析 (译码)和执行三个阶段,顺序进行,其示意如图43所示。 取指k分析k执行k取指k+1分析k+1执行k+1 图43顺序执行方式
4.1.2 程序执行过程中的重叠操作 与先行控制 1.程序执行过程中的重叠操作 在计算机运行的过程中,指令的解释方式可分为三种,即顺序、重叠 和流水,依据不同的解释方式,可以产生不同的工作方式和过程。下面仅 介绍顺序解释方式和重叠解释方式,流水线方式将在第4.2节介绍。 (1)顺序解释方式 顺序解释是最简单的一种方式,它是一条指令执行完后再去解释下一 条指令。早期的计算机多采用这种方式,指令执行过程分为取指令、分析 (译码)和执行三个阶段,顺序进行,其示意如图4.3 所示。 图4.3 顺序执行方式

若取指令、分析和执行所用的时间(周期)相等,设为t,则顺 序解释执行指令所需要的时间3×门×t如果各部分时间表示 为指、t析和轨行,则顺序执行嚓条指令所用的时间为: 7=∑(t取十t分十1执) (4.1) (2)重叠解释方式是在两条相邻指令的解释过程中,存在某些时段 可以重叠进行,其示意如图4.4所示。 取指k分析k执行k 取指k+1分析k+1执行k+1 (a)一次重叠工作方式 取指k分析k执行k1 取指k+1分析k+1执行k+1 (b)二次重叠工作方式 图44重叠执行方法
若取指令、分析和执行所用的时间(周期)相等,设为t,则顺 序解释执行n条指令所需要的时间T=3×n×t。如果各部分时间表示 为t取指、t分析和t执行,则顺序执行n条指令所用的时间为: (2)重叠解释方式是在两条相邻指令的解释过程中,存在某些时段 可以重叠进行,其示意如图4.4所示。 图4.4 重叠执行方法 T=∑(t取i+t分i+t执i) n i=1 (4.1)

图(a)是一次重叠方式,执行m涤条指令所用的时间为:7=(2+1)t 图(b)是二次重叠方式,执行条指令所用的时间为 7=3+(-1)t=(m+2)t 为实现重叠解释方式,需要硬件支持,比如设置指令缓冲寄存器 或称指令队列。又如程序与数据分别存储,以便分别迅速读取操作 数。 若指令的解释过程可分为两个段,上述重叠解释过程可如图4.5 所示。如果“分析”和“执行”的时间相同,那么解释执行n条指令 的时间为 7=(+1)t 分析k 执行k 分析k+1执行k+1 图45两阶段一次重叠工作方式
图4.5 两阶段一次重叠工作方式 图(a)是一次重叠方式,执行n条指令所用的时间为:T=(2n+1)t; 图(b)是二次重叠方式,执行n条指令所用的时间为: T=3t+(n-1)t=(n+2)t。 为实现重叠解释方式,需要硬件支持,比如设置指令缓冲寄存器 或称指令队列。又如程序与数据分别存储,以便分别迅速读取操作 数。 若指令的解释过程可分为两个段,上述重叠解释过程可如图4.5 所示。如果“分析”和“执行”的时间相同,那么解释执行n条指令 的时间为: T=(n+1)t

2.先行控制 分析k「执行k 执行部件空闲 在上述重叠解释方式中假 分析k+1 执行k+1 设“分析”和“执行”的时间 分析部件空闲 分析k2执行k 相等,但是实际的解释执行过 (a)分析与执行时间不相等重叠方式 程中,“分析”和“执行”的 分析k 执行k 时间往往不相等,如图4.6(a) 分析k+1 执行k+1 分析k2 所示,这样解释执行n条指令 执行k+2 (b)先行控制方式 的时间为: 图46分析与执行时间不相等 和先行控制方式 7=1分1+∑[max(t2,A1)]+执n (4.2)
2.先行控制 在上述重叠解释方式中假 设“分析”和“执行”的时间 相等,但是实际的解释执行过 程中,“分析”和“执行”的 时间往往不相等,如图4.6(a) 所示,这样解释执行n条指令 的时间为: T=t分1+∑[max(t分i,t执i-1)]+t执n n i=2 (4.2) 图4.6 分析与执行时间不相等 和先行控制方式

□分析k执行k 分析k1 执行k+1 分析k+2 执行k+2 (b)先行控制方式 图46分析与执行时间不相等和先行控制方式 为解决重疊过程中的“空闲”,可采用先行控制技术,使 “分析”和“执行”分别连续进行,如图4.6(b)所示。这时, 执行条指令所需要的时间为 7先行=t分1+∑/(43)
为解决重叠过程中的“空闲”,可采用先行控制技术,使 “分析”和“执行”分别连续进行,如图4.6(b)所示。这时, 执行n条指令所需要的时间为: n i=1 T先行=t分1+∑t执i (4.3) 图4.6 分析与执行时间不相等和先行控制方式
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西安石油大学计算机学院:《计算机系统结构》课程资源(PPT教学课件)第3章 存储器体系结构.ppt
- 西安石油大学计算机学院:《计算机系统结构》课程资源(PPT教学课件)第2章 数据的表示与指令系统设计.ppt
- 西安石油大学计算机学院:《计算机系统结构》课程资源(PPT教学课件)第1章 计算机系统结构的基本概念.ppt
- 中南大学:《数据结构》课程教学资源(PPT课件讲稿)第二章 数据结构与算法概述(2.8)排序.ppt
- 中南大学:《数据结构》课程教学资源(PPT课件讲稿)第二章 数据结构与算法概述(2.7)查找.ppt
- 中南大学:《数据结构》课程教学资源(PPT课件讲稿)第二章 数据结构与算法概述(2.5)树 2.5.3 哈夫曼树及其应用.ppt
- 中南大学:《数据结构》课程教学资源(PPT课件讲稿)第二章 数据结构与算法概述(2.5)树 2.5.1 树的定义 2.5.2 二叉树(Binary Tree).ppt
- 中南大学:《数据结构》课程教学资源(PPT课件讲稿)第二章 数据结构与算法概述(2.3)栈和队列 2.3.2 队列 2.4 数组(线性表的推广).ppt
- 中南大学:《数据结构》课程教学资源(PPT课件讲稿)第二章 数据结构与算法概述(2.3)栈和队列 2.3.1 栈.ppt
- 中南大学:《数据结构》课程教学资源(PPT课件讲稿)第二章 数据结构与算法概述(2.2)线性表.ppt
- 中南大学:《数据结构》课程教学资源(PPT课件讲稿)第二章 数据结构与算法概述(2.1)数据结构与算法概述.ppt
- 中南大学:《数据结构》课程教学资源(PPT课件讲稿)第二章 数据结构与算法概述 2.1 概述 2.2 线性表.ppt
- 中南大学:《数据结构》课程教学资源(PPT课件讲稿)第三章 操作系统.ppt
- 中南大学:《数据结构》课程教学资源(PPT课件讲稿)第五章 循环结构程序设计.ppt
- 中南大学:《数据结构》课程教学资源(PPT课件讲稿)第四章 选择结构程序设计.ppt
- 中南大学:《数据结构》课程教学资源(试卷习题)习题.doc
- 中南大学:《数据结构》课程教学资源(PPT课件讲稿)第七章 图.ppt
- 中南大学:《数据结构》课程教学资源(PPT课件讲稿)第四章 串.ppt
- 《防火墙技术》第八讲 防火墙基本知识.doc
- 《防火墙技术》讲义.ppt
- 西安石油大学计算机学院:《计算机系统结构》课程资源(PPT教学课件)第5章 向量流水与向量处理机.ppt
- 西安石油大学计算机学院:《计算机系统结构》课程资源(PPT教学课件)第6章 互连网络.ppt
- 西安石油大学计算机学院:《计算机系统结构》课程资源(PPT教学课件)第7章 并行处理技术与SIMD阵列机.ppt
- 西安石油大学计算机学院:《计算机系统结构》课程资源(PPT教学课件)第8章 多处理机.ppt
- 西安石油大学计算机学院:《计算机系统结构》课程资源(PPT教学课件)第9章 计算机体系结构的发展.ppt
- 《AutoCAD 2004》目录.ppt
- 《AutoCAD 2004》第10章 尺寸标注.ppt
- 《AutoCAD 2004》第11章 三维绘图.ppt
- 《AutoCAD 2004》第12章 输出图形.ppt
- 《AutoCAD 2004》第13章 专业绘图技巧.ppt
- 《AutoCAD 2004》第1章 概述.ppt
- 《AutoCAD 2004》第2章 基本绘图.ppt
- 《AutoCAD 2004》第3章 绘图辅助工具.ppt
- 《AutoCAD 2004》第4章 图层、线型和颜色.ppt
- 《AutoCAD 2004》第5章 绘制图形.ppt
- 《AutoCAD 2004》第6章 图形编辑.ppt
- 《AutoCAD 2004》第7章 块与外部参照.ppt
- 《AutoCAD 2004》第8章 图案填充.ppt
- 《AutoCAD 2004》第9章 文字标注.ppt
- 《计算机组成原理》课程教学课件(PPT电子教案)第五章 I/O子系统(5.3)中断方式及接口.ppt