计算机体系结构之流水线工作原理与分类

合集下载

计算机组成原理中的流水线与并行处理

计算机组成原理中的流水线与并行处理

计算机组成原理中的流水线与并行处理

计算机组成原理是指计算机的各个组成部分及其相互关系的原理。其中,流水线与并行处理是计算机组成原理中的两个重要概念。本文将从流水线和并行处理的定义、特点、应用以及优缺点等方面进行论述。

一、流水线的定义和特点

流水线技术是一种将复杂的任务分解为若干个互相依赖的子任务,并通过时序控制将其分别交给不同的处理单元进行执行的技术。它可以提高计算机的执行效率和吞吐量。

与串行处理相比,流水线处理具有以下特点:

1.任务分解:将复杂的任务分解为多个子任务,每个子任务由不同的处理单元负责执行。

2.流水线寄存器:通过在流水线各个阶段之间插入流水线寄存器,实现了各个阶段之间的数据传递和暂存,确保了数据的正确性和稳定性。

3.并行操作:不同的处理单元可以并行执行不同的任务,提高了计算机的并行处理能力。

4.随机任务执行:由于流水线中的各个阶段是独立的,因此可以随机运行和停止任务,提高了计算机的灵活性。

二、并行处理的定义和特点

并行处理是指同时利用多个处理器或者多个处理单元并行执行多个

任务的处理方式。它可以大幅提升计算机系统的运算速度和处理能力。

并行处理的特点如下:

1.任务分配:将大任务分解为多个小任务,并分配给多个处理单元

同时执行。

2.任务协调:通过合理的任务调度算法,协调各个处理单元之间的

任务执行顺序和数据传递,确保整个系统的稳定性和正确性。

3.资源共享:各个处理单元之间可以共享资源,如内存、缓存等,

提高资源利用率。

4.计算效率提高:通过多个处理单元同时执行任务,大幅提高了计

算效率和处理速度。

计算机系统结构第3章流水线技术

计算机系统结构第3章流水线技术

硬件资源共享
01
硬件资源共享是指流水线中的多个操作共享相同的硬件资源, 如寄存器、缓冲区等。
02
硬件资源共享能够提高资源利用率,减少硬件开销,降低成本。
需要注意的是,硬件资源共享需要合理分配资源,避免出现资
03
源冲突和死锁问题。
流水线的性能指标
01
吞吐量
流水线每单位时间内完成的操作数 或任务数。
加速比
流水线运行时间与非流水线运行时 间的比值。
03
02
效率
流水线实际运行时间与理论最短运 行时间的比值。
关键路径
流水线中耗时最长的一条路径,决 定了整个流水线的运行时间。
04
03
流水线的实现
指令调度
静态调度
在编译阶段对指令进行调度,以确定指令在流水线中 的顺序。
动态调度
在运行时对指令进行调度,以适应程序运行过程中的 变化。
可扩展性
流水线技术可以方便地通过增加硬件单元来扩展系统的处 理能力,提高了系统的可扩展性。
缺点
数据相关问题
由于流水线中各个阶段是并行处 理的,如果前一个阶段的数据没 有准备好,会导致后续阶段的数 据无法正常处理,产生数据相关 的问题。
硬件开销大
流水线技术需要大量的硬件资源, 包括寄存器、缓冲区等,增加了 系统的硬件开销。
流水线调度

计算机体系结构专升本试题解析指令流水线与缓存

计算机体系结构专升本试题解析指令流水线与缓存

计算机体系结构专升本试题解析指令流水线

与缓存

计算机体系结构专升本试题解析——指令流水线与缓存

计算机体系结构是计算机科学中的基础课程之一,专升本考试中也

是一个重要的考点。本文将针对专升本试题中的指令流水线与缓存部

分进行解析,并探讨其相关概念和应用。

一、指令流水线的概念及原理

指令流水线是一种提高计算机处理速度的技术。它通过将指令执行

过程划分为若干个阶段,并在不同阶段同时执行不同指令的部分内容,从而实现多条指令的并行执行。指令流水线的基本原理可以概括为以

下几点:

1. 指令划分:将指令执行过程分为取指(IF)、译码(ID)、执行(EX)、访存(MEM)和写回(WB)等阶段。

2. 流水线寄存器:用于存放每个阶段的中间结果,以便下一阶段使用。

3. 并行执行:在不同阶段同时执行多条指令的部分内容,以提高处

理效率。

指令流水线的优点是能够提高计算机的处理速度,缩短程序的执行

时间。但同时也存在一些问题,例如流水线冒险(数据冒险、结构冒险、控制冒险)和流水线停顿等,需要通过适当的优化手段来解决。

二、缓存的概念及原理

缓存是计算机系统中用于加速数据访问的一种高速存储器。它位于主存和处理器之间,将常用的数据复制到高速存储器中,以提高系统的响应速度。缓存的基本原理可以概括为以下几点:

1. 局部性原理:根据程序执行的局部性原理,将访问频率高的数据块存放到缓存中。

2. 缓存替换策略:当缓存已满时,需要根据一定的策略替换掉一部分数据,常见的替换策略有随机替换、先进先出(FIFO)和最近最少使用(LRU)等。

3. 缓存一致性:当多个缓存同时访问同一块数据时,需要保证数据的一致性,可以通过使用缓存一致性协议(如MESI)来解决。

计算机系统结构 第 3 章 流水线技术_标量

计算机系统结构 第 3 章 流水线技术_标量
2014-3-10 31
PentiumCPU结构
TLB 指令 BTB转 CACHE 移目标 预取 缓冲 地址 8KB 转 移 和 目 标 总 线 部 件 验 证 地 址 指令 指针 预取缓冲 指令译码
(1)超标量流水线
64位数 据总线 32位数 据总线
控制 ROM
控制部件 浮点部件 控制 寄存器堆
• 最大吞吐率: Tpmax
控制
地址产生(U 地址产生(V 流水线) 流水线)
转移 和目 标
ALU(U流 水线)
整数寄存器堆
ALU(V流 水线)
加法 除法 80 80
桶形位移器 32 32 32
32
数据 32 CACHE 32 TLB 8KB
乘法
2014-3-10
3.3
流水线性能分析
• 1. 吞吐率Tp
• 单位时间内流水线能处理的任务数量或输出的结 果数。 • 设任务数为n,流水线段数为m,完成n个任务的时 n 间为Tm,则吞吐率 Tp Tm • ⑴ 最大吞吐率Tpmax • 流水线达到稳定状态后可获得的吞吐率。
Tpmax 1
max t
i 1 i
33
n
2014-3-10
• ⑵ 实际吞吐率Tp • 流水线实际工作时的吞吐率。 • Tp<Tpmax • 设在m段流水线中,各段的延迟时间均为Δt,可以 利用时空图分析该流水线完成n个任务的实际吞吐 率和流水线的最大吞吐率。

计算机体系结构第三章-1

计算机体系结构第三章-1

3.2 流水线的基本概念
4.流水线的工作特点
1)一条流水线通常由多个流水段组成,在每一个流水段有 专门的功能部件来实现。 2)各流水段所需的时间应尽可能相等,否则将引起流水线 堵塞、断流。时间较长的段将成为流水线瓶颈。
3)流水线每个功能部件后面都有一个缓冲寄存器,称为流 水寄存器。
4)流水线的工作一般分为3个阶段,即填入(建立)、填满和 排空。 5)流水线技术适合于大量重复的时序过程,只有在输入端 不断地提供任务,才能充分发挥流水线的效率。

流水线中的每个子过程及其功能部件称为流水线的 级或段,段与段相互连接形成流水线。流水线的段数称 为流水线的深度(Pipeline Depth)。
3.2 流水线的基本概念
2.流水线结构
重叠执行是流水线结构的思想基础,只要在指令分析器 与指令执行部件之后都加上一个锁存器,就成了一个简单的 流水线结构。
存到寄存器中,使指令能快速执行 . 后行写数栈
运算器
3.1 重叠执行和先行控制

先行控制技术中采取了两个根本的措施:指令预处理 技术和缓冲技术。由于指令和数据的缓冲,保证了指 令分析和指令的执行都能全速地运行。
第k+2条指令 分析k+2 分析k+1 分析k 执行k 执行k+1 执行k+2
改 进 前
排空
… n-1 n

第5章 计算机系统结构 2011-2012-1-3

第5章 计算机系统结构 2011-2012-1-3

预测转移发生 或者不发生(2 位状态位)

转移不发生,按正常顺序进行
图1 转移目标缓冲器BTB
作业
1、流水线的分类,流水操作中的主要障碍、原因及 解决方法 2、 P142 5 3、 P142 7 4、现有一条3段流水线,各ຫໍສະໝຸດ Baidu执行时间依次为Δt、
4Δt和Δt。 (1)计算连续输入50条指令时的实际吞吐率、加 速比和效率。 (2)将瓶颈段细分为4个独立子段,各子段执行时 间均为Δt,计算改进后的流水线连续输入50条指 令时的实际吞吐率、加速比和效率。
1
IF
2
ID IF
3
EX ID IF
4
MEM EX ID 停顿
5
WB MEM EX IF
6
WB MEM ID IF
7
8
WB EX ID MEM EX
5.3 流水操作中的主要障碍(5)

数据相关冲突
原因:流水线中指令的重叠操作使操作数的访问顺序发生变化。 例子:ADD SUB R1,R2,R3 R4,R1,R5
写R1
SUB R4,R1,R5 IF ID EX MEM WB
三次传送
AND R6,R1,R7 IF ID EX MEM WB
OR
R8,R1,R9
IF
ID
EX
MEM
WB

计算机组成与结构第9章 流水线技术

计算机组成与结构第9章 流水线技术

任务数 TP 从开始流入n到个任务全部流出的时间
n个任务的总的加权空 时区 m个段的总的加权时 空区
3. 流水线工作举例
设A和B向量各有4个 元素,计算A·B=
加法流水 乘法流水
实际吞吐率=7/(15Δt)
效率=24 Δt /(5×15Δt) =32%
图 5.23 流水线工作举例
4. 流水线调度
B一次相关与二次相关
B一次、 二次相关的推后处理
B相关专用通路法
9.2 流 水 方 式
9.2.1 基本概念
1. 流水是重叠的引申
指令分解为“分析”与“执行”子过程
流水处理
流水和重叠的区别
“一次重叠”把指令的解释过程分解成“分析”和“执行”两个子过 程,流水则分成更多个子过程。 “一次重叠”同时解释两条指令,流水可同时解释多条指令。 流水每个子过程经过的时间Δt越小,流水线的最大吞吐率就越高
D=A*(B+C) 若向量长度N≤64,向量为浮点数,则在B、C取到V0、V1后, 就可用以下3条向量指令求解:
所谓Vi冲突指的是,并行工作的各向量指令的源向量或结 果向量使用了相同的Vi。除了相关情况之外,就是出现源向量 冲突,例如
V4←V1+V2
V5←V1∧V3
这两条向量指令不能同时执行,必须在第一条向量指令执行 完, 释放出V1之后,第二条向量指令才能开始执行。因为虽 然这两条向量指令的源向量之一都取自V1,由于二者的首元 素下标可能不同,向量长度也可能不同,难以由V1同时提供 两条指令所需要的源向量。

计算机组成原理与系统结构流水线技术

计算机组成原理与系统结构流水线技术
22
6.5.1 超标量处理机
1. 概述 2. 超标量处理 机的基本结构
23
6.5.2 超流水线处理机
如果能够将每一基本时间段再分成更细小的段,使流水线在每 一更细小的段,即时间间隔内流出一条指令,这必定可以提高 流水线的吞吐率。这就是超流水线处理机的思想。 通常,把这种在一个基本时间段里能够分时发射多条指令的处 理机称为超流水线处理机。段分细了,一条流水线的段就更多 了,因此,有人将流水线的级数大于等于8级的处理机称为超流 水线处理机。
20
6.4.2 提高指令级并行的方法
2. 乱序执行和寄存器重命名
1) 顺序执行
2) 乱序执行
(1) 记分牌法。
❖① 发射级。
❖② 读操作数。
❖③ 执行。
❖④ 写结果。
(2) Tomasulo算法。
❖① 发射(流出)。
❖② 执行。
❖③ 回写。
21
6.5 其他有关技术
本节仍然以并行处理 及提高速度为目的,介 绍与此目标有关的超标 量、超流水线及超长指 令字技术。
4
6.1.2 流水线的分类
3. 按照流水线使用的级别分类
1) 处理机级流水线 2) 部件级流水线 3) 处理机间流水线
5
6.1.2 流水线的分类
4. 按标量、向量数据的处理分类 5. 按照流水线中是否有反馈回路分类

计算机体系结构PPT教学课件-第三章流水线

计算机体系结构PPT教学课件-第三章流水线

• Machine cycle (Processor cycle, Stage time)
– time required to complete a single pipeline stage. – The pipeline designer’s goal is to balance the length of each pipeline stage. (机器周期---完成一个流水级所需要的时间) – In many instances, machine cycle = max ( times for all stages). (机器周期=各个流水级完成时间的最大值) – A machine cycle is usually one, sometimes two, clock cycles long, but rarely more. (一般是一到两个时间周期)
3-4
顺序执行的洗衣
6 PM 7 8 9
Time
T a s k O r d e r
10
11 Midnight
30 40 20 30 40 20 30 40 20 30 40 20 A B C D
• Sequential laundry takes 6 hours for 4 loads • If they learned pipelining, how long would laundry take? 3-5

第3章流水线技术

第3章流水线技术

第2章流水线技术

流水线是计算机体系结构设计中普遍应用的技术。本章介绍流水线的基本概念、表示方法、和分类,讨论流水线实现的基本结构、线性流水线的性能与非线性流水线的调度策略,分析流水线的相关及其处理方法。

2.1 流水线的基本概念

2.1.1 多条指令的执行方式

一条指令的执行过程可以分为多个阶段,通常分为三个阶段,执行过程如图2-1所示。第一阶段是取指令,按照程序计数器的内容访问主存储器,取出是一条指令送到指令寄存器。第二阶段是分析指令,对指令寄存器中的指令进行译码分析,即对指令操作码进行译码,分析指令的功能,依据给定的寻址方式和地址码字段的内容形成操作数地址,并读取操作数(立即数寻址除外);同时,程序计数器自动产生一个增量,指到下一条指令。第三阶段是执行指令,根据操作码的要求,对操作数进行运算和处理,完成指令规定的功能,并把运算结果送到指定的地址中。指令执行过程中的第一阶段,一定要访问主存(指令一定在主存中),而在后两个阶段,也可能要访问主存(当操作数在主存中时)。当有多条指令要在一个处理机中完成时,可以有多种执行方式。现假设3个阶段所需要的时间均为△t 。

2.1.1.1 顺序执行方式

顺序执行方式是指在任何时刻,处理机中只有一条指令在执行,指令之间是顺序串行执行的,即第k条指令执行完成后,再执行完成第k+1条指令,依次类推。多条指令执行过程如图2-2(a)所示,执行n条指令所需要的时间为T = 3n△t。

顺序执行方式的优点是控制简单,节省设备。主要缺点有两个,一是处理机执行指令的速度慢。只有当上一条指令执行完毕后,下一条指令才能开始执行。二是功能部件的利用率低。如取指令时主存是忙碌的,而指令执行部件是空闲的。

流水线技术

流水线技术
空间 输出 1 2 浮点加 … n-1 1 1 1 1 1 1 2 2 … 2 n-1 2 2 … n 1 2 3 4 5 6 … 时间 … n-1 n … n-1 n n-1 n n n 1 2 定点乘 3 …
累加
尾数乘 规格化 尾数加 对阶 求阶差 输入
1
2
2
3
3
4
4
5


… n-1
动态流水线的时空图
取 指k
分 析k
执 行k
取指k+1
分析k+1 执行k+1
顺序执行方式
取指k 分析k 执行k 取指k+1 分析k+1 执行k+1 取指k+2 分析k+2 执行k+2
一次重叠执行方式
取指k 分析k 取指k+1 执行k 分析k+1 执行k+1
二次重叠执行方式
取指k+2 分析k+2
执行k+2
二、什么是流水线
取指 主 存 储 器 存 储 控 制 器
取指部件
修改PC
分析部件
读数 写数 运算控制器 寄 存 器 组
运算部件
重叠执行方式的基本结构
2. 访问冲突及其解决方法 采用了重叠执行方式的基本结构后,可实现取指令、分析和执 行的并发进行,但存在访问主存的冲突问题(即资源冲突、结构相 关)。例如,取指令要访存,分析指令时可能要访存取操作数,执 行指令时可能要向主存写运算结果。在一般机器中,指令和数据是 混合存放在一个主存中,而且在一个存储周期只能访问一个存储单 元。因此,一般的存储器体系结构无法实现指令的重叠执行。解决 这个问题的方法一般有以下三种。 (1)设置两个独立编址的主存储器。 (2)主存储器采用多体交叉编址的并行存储器。 (3)采用先行控制技术是解决访存冲突的根本办法。

6计算机组成原理第6章流水线原理

6计算机组成原理第6章流水线原理


可以从两个方面来开发处理机内部的并行性: – 空间并行性:即在一个处理机内设置多个独 立的操作部件,并让这些操作部件并行工作, 这种处理机称为多操作部件处理机或超标量 处理机; – 时间并行性:就是采用流水线技术。流水线 技术是一种非常经济、对提高处理机的运算 速度非常有效的技 术。采用流水线技术可以 不增加硬件或只需要增加少量硬件就能够把 处理机的运算速度提高几倍 它是目前使用非常普遍的一种并行处理方式。
• 指令级并行技术:指能使多条指令并行执行的技术,包括 流水技术、多操作部件技术和超长指令字技术;
• 流水线处理机,超流水线处理机:流水线处理机指用流水 作业方式并行解释多条指令的处理机,超流水线处理机指 能在一个时钟周期内分时发射多条指令的处理机; • 超长指令字技术VLIW:指让一条指令包含多个独立的操 作字段,并且分别控制多个功能部件并行工作的技术。
S4 1 2 S3 1 2 3 S2 1 2 3 4 S1 1 2 3 4 … K×T N×T
3 4 … …
4 … … N-1
… … N-1 N … N-1 N N-1 N N 时间 (N-1)×T (K-1)×T
Tk
(1) 流水线各段的执行时间相等
流水线产生n个结果所需要的时间:
Tk (k n 1)t
实际吞吐率:
n TP ( k n 1) t

计算机组成原理中的流水线与并行计算

计算机组成原理中的流水线与并行计算

计算机组成原理中的流水线与并行计算

计算机组成原理是计算机科学中的重要课程,涉及到计算机硬件的

各个层面和组成部分。在计算机组成原理中,流水线和并行计算是两

个重要的概念,它们在提高计算机性能和效率方面发挥着重要作用。

一、流水线的概念与原理

流水线是一种将任务分解为多个阶段并分别处理的技术。在计算机中,流水线将指令执行过程分为多个步骤,并在不同的处理器上同时

执行这些步骤,以提高整体的执行速度。

流水线的原理可以简单地用装配线的概念来解释。就像工厂的装配

线一样,每个工人负责在流水线上的一个工作站上完成一个特定的任务,然后将产品传递给下一个工人进行下一步处理。这样,整个生产

过程可以并行进行,从而提高了效率。

在计算机中,流水线处理的阶段通常包括取指(Instruction Fetch)、译码(Instruction Decode)、执行(Execute)、访存(Memory Access)和写回(Write Back)等。每个阶段负责完成特定的任务,然后将结果

传递给下一个阶段。这样,计算机可以同时处理多个指令,提高了整

体的运行速度。

二、并行计算的概念与应用

并行计算是指在计算过程中同时进行多个操作或任务的技术。与流

水线不同的是,并行计算更强调多个任务的同时执行。

在计算机组成原理中,并行计算被广泛应用于多核处理器和分布式

系统中。例如,现代的计算机中常常使用多核处理器,每个核心可以

同时执行不同的任务,从而提高计算机的整体性能。另外,分布式系

统中的多台计算机可以同时工作,通过任务的分配和协调来完成复杂

的计算任务。

计算机组成原理与指令流水线性能优化概述

计算机组成原理与指令流水线性能优化概述

计算机组成原理与指令流水线性能优化概述计算机组成原理是计算机科学中的重要课程,它研究计算机硬件系

统的组成和工作原理,包括中央处理器(CPU)、存储器、输入输出

设备等。而指令流水线是计算机中的一种重要的优化技术,通过对指

令执行过程进行流水线化,以提高处理器的执行效率。本文将从计算

机组成原理和指令流水线的基本概念入手,探讨如何进行性能优化。

一、计算机组成原理概述

计算机组成原理是研究计算机硬件系统如何组成,以及各个部件如

何协同工作的学科。计算机硬件系统主要包括中央处理器(CPU)、

存储器、输入输出设备等。其中,CPU是计算机的核心部件,主要负

责执行程序指令,其性能直接影响到计算机的运行速度。

计算机组成原理的研究围绕着提高计算机的性能,降低成本,提高

可靠性等目标展开。其主要内容包括指令系统设计、CPU结构设计、

存储器层次结构设计、输入输出系统设计等。通过对这些部件的优化,可以提高计算机的性能。

二、指令流水线的基本概念

指令流水线是一种将指令执行过程划分为多个阶段,并通过并行执

行提高处理器效率的技术。在传统的单周期执行方式中,每条指令的

执行需要占用一个时钟周期。而指令流水线将每条指令的执行划分为

多个阶段,不同指令在不同阶段同时执行,从而提高了处理器的吞吐量。

指令流水线的基本阶段包括取指令(IF)、指令译码(ID)、执行(EX)、访存(MEM)和写回(WB)等。每个阶段只需占用一个时钟周期,而不同指令在不同阶段之间交错执行,从而实现多条指令的并行执行。指令流水线的工作原理类似于流水线上的工厂,每个工人负责完成流水线上的一个工序,从而实现生产效率的提高。

第四章 流水线技术

第四章 流水线技术
3.每个流水功能部件的工作时间是不相同的,流水节拍时间由最长的流水功能部件处理时间决定。
4.流水线工作一般有三个阶段:建立、稳态和排空阶段。
5.理想情况下,在流水线处于稳态时,每一流水节拍时间都得到一条指令执行的结果,流水加速比(Speedup)就等于流水线的级数或流水深度。
6.流水线适用于大量重复性的、可分离的处理过程,顺序计算机的指令执行过程就是重复处理的过程。
4.1.2.1
简单的RISC处理器的指令集不是很复杂,我们可以来分析一下,处理器在工作时的硬件资源使用情况。图4-8显示了一个5级流水的简单处理器数据通路的流水工作过程。图中表明了主要功能单元在不同节拍中的使用情况和多指令重叠执行所带来的相应冲突。我们可以看出,图中时钟周期5(CC5)至少有如下几种冲突:
60年代,硬件的价格相对较高。流水线技术都用于巨型计算机。IBM的STRETCH和CDC6600是早期大量应用流水线技术的计算机,它们对后来的计算机系统结构设计有深刻的影响。随着半导体技术的发展,到80年代硬件价格大幅度下降,流水线技术在计算机设计中广泛应用,即使在微处理芯片中也是很基本的性能提高措施。INTEL80i86系列的发展是很好的一个例子。这里要注意的是流水线技术在RISC设计思想产生前已有广泛使用,只是在RISC设计思想中流水线技术采用更广泛而已。
指令序列
流水时钟数
1
2

软件设计师计算机体系结构考点:流水线技术

软件设计师计算机体系结构考点:流水线技术

软件设计师计算机体系结构考点:流水线技术【考法分析】

本考点涉及的考查形式有:

(1)流水线相关理论概念;

(2)流水线相关计算。

【要点分析】

1.流水线理论概念

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

(2)流水线建立时间:1条指令执行时间。

(3)流水线周期:执行时间最长的一段。

2、流水线相关计算:

(1)流水线执行时间(理论公式):(t1+t2+..+tk)+(n-1)*∆t。

(2)流水线执行时间(实践公式):k*∆t +(n-1)*∆t。

(3)流水线吞吐率:TP = 指令条数/ 流水线执行时间。

(4)流水线最大吞吐率1 / ∆t。

(5)流水线加速比:顺序执行时间/流水线执行时间。

【备考点拨】

吞吐率:单位时间内流水线处理机流出的结果。对指令而言就是单位时间内执行的指令数。如果流水线子过程所用的时间不一样,则

吞吐率P应为(最长子过程的倒数)。流水线开始工作,需要经过一段时间才能达到最大吞吐率。

【相关考题】

1.下列关于流水线方式执行指令的叙述中,不正确的是()。

A.流水线方式可提高单条指令的执行速度

B.流水线方式下可同时执行多条指令

C.流水线方式提高了各部件的利用率

D.流水线方式提高了系统的吞吐率

2.流水线的吞吐率是指单位时间流水线处理的任务数,如果各段流水的操作时间不同,则流水线的吞吐率是()的倒数。

A. 最短流水段操作时间

B. 各段流水的操作时间总和

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

流水线作业
6 下午 7
8
9
10
11
12

30 30 30 30 30 30 30
务A 顺 序B
C
D
时间
1 2 上午
°流水线作业洗4个人的衣物只需要 3.5 个小时!
流水线
6 下午 7
8
9

时间

30 30 30 30 30 30 30
顺A 序
B
C
D
°流水线无法帮助解决单个任务 的延迟, 有利于减少整个工作 全部时间
°多个任务同时操作需要不同 的资源
°可能的加速比 = 流水线的段数
°流水线的速率受速度最慢 的流水段的限制
°流水线各段长度不均会降低 加速比
°充满流水线所需的时间和 排空流水线所需的时间影响 加速比
°会由于依赖而造成阻塞
传统的流水线执行表示
时间轴
IFetch Dcd Exec Mem WB
IFetch Dcd Exec Mem WB
...
8 ns
P rogram exec ution ord er
T im e
2
4
6
8
10
12
14
(in in struc tio ns) lw $1, 1 00 ($ 0)
In s tru c tion fe tch
Reg
ALU
D a ta access
R eg
lw $2, 2 00 ($ 0)
2 ns
IFetch Dcd Exec Mem WB
IFetch Dcd Exec Mem WB
程序流
IFetch Dcd Exec Mem WB IFetch Dcd Exec Mem WB
为什么采用流水线呢? 因为有资源空闲!
时间 (时钟周期)
ALU ALU ALU ALU ALU

令 Inst

序 Inst
In s tru c tio n fe tc h
Reg
ALU
D a ta access
Reg
lw $3, 3 00 ($ 0)
2 ns
In s tru c tio n fe tc h
Reg
ALU
D a ta a cc es s
R eg
2 ns
2 ns
2 ns
2 ns
2 ns
理想的加速比是流水线的段数. 我们能够获得这个加速比吗?
32
Sign
e xtend
Sh if t left 2
Add Add res ult
Add 4
PC
A dd re ss
In stru ctio n
In struction m em ory
R ead
re gis ter 1
Re ad
R ead
data 1
re gis ter 2
R eg iste rs Re ad
W rite
data 2
re gis ter
W rite d ata
16
• 从指令存储器中获取指令
°Reg /Dec: 获取寄存器,指令译码 °Exec: 计算内存地址 °Mem : 从数据存储器中读数据 °Wr : 向寄存器文件写回数据
Pipelining
通过增加指令的执行阶段增强性能
程序源自文库执行
° 顺序
T im e
2
4
6
8
10
12
14
16
18
lw $ 1, 10 0($0)
In s tru ctio n R eg
fe tch
ALU
lw $ 2, 20 0($0)
8 ns
lw $ 3, 30 0($0)
D a ta access
R eg
In s tru c tio n R eg
fe tch
ALU
8 ns
D ata ac c e ss
R eg
In s tru ctio n fe tch
多时钟周期的实现: Load Ifetch Reg Exec
Mem
Store Wr Ifetch Reg
Exec
Mem
R-type Ifetch
流水线的实现: Load Ifetch Reg Exec Mem Wr
Store Ifetch Reg Exec Mem Wr R-type Ifetch Reg Exec Mem Wr
0 Im 1
Reg
Dm Reg
Im Reg
Dm Reg
Inst 2 Inst 3
Inst 4
Im Reg
Dm Reg
Im Reg
Dm Reg
Im Reg
Dm Reg
单时钟周期, 多时钟周期,同流水线比较.
Cycle 1 Clk
单时钟周期的实现:
Load
Cycle 2
Store
Waste
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle 10 Clk
基本思想
IF : In s tru c tio n fe tc h
0 M u x 1
ID : In s tru c tio n d e co d e / r e g is te r file re a d
E X : E xe cute/ a d d re ss c a lc u la tio n
M E M : M e m ory a cc e ss W B : W rite ba ck
°还要花费 30 分钟的时间
将衣物放在衣柜里
ABCD
顺序操作
6 下午 7
8
9
10
11
12
1 2 上午
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30

时间
务A
顺 序B
C
D
°
洗4 个人的衣物,顺序操作需要 8 个小时
°
如果使用流水线作业, 将需要多少时间呢?
为什么使用流水线?
°设想我们要执行 100 条指令 °单周期的机器
• 45ns /cycle x 1 CPI x 100inst = 4500ns
°多周期的机器
• 10ns/cycle x 4.2 CPI (due to inst mix) x 100inst = 4200 ns
°理想的流水线机器
• 10ns /cycle x (1 CPI x 100inst + 4 cycle drain) = 1040ns
Load指令的五个阶段
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5
Load Ifetch Reg /Dec Exec Mem Wr
°Ifetch : 获取指令
计算机体系结构之流水线工作原理与分类
路漫漫其悠远
少壮不努力,老大徒悲伤
流水线技术
流水线技术 相关性分析技术 超标量处理机 超流水线处理机 超标量超流水线处理机
流水线是很自然的!
°洗衣店的例子 °A, B, C, D
均有一些衣务要清洗,甩干,折叠
°清洗要花 30 分钟
°甩干要用 30 分钟
°叠衣物也需要 30 分钟
相关文档
最新文档