6计算机组成原理第6章流水线原理 优质课件
合集下载
计算机组成原理第六章课件

提高分析和解决问题的能力
通过学习计算机组成原理,可以提高学生分析和解决问题的能力,培养学生的计算思维和 创新能力。
未来计算机技术的发展趋势和挑战
人工智能和机器 学习
随着人工智能和机器学习的 快速发展,未来计算机技术 将更加注重智能化和自主学 习,需要解决算法优化、数 据处理等问题。
量子计算
量子计算是一种全新的计算 模式,具有超强的计算能力 和数据处理能力,是未来计 算机技术的重要发展方向之 一。但是,量子计算的实现 需要解决量子比特的稳定性 、量子纠缠等难题。
包括硬件系统和软件系统两大部
分,其中硬件系统由运算器、控 制器、存储器、输入设备和输出
设备五大部件组成;
汇编语言程序设计
简要介绍汇编语言的基本语法和 程序设计方法。
关键术语和概念
01
02
03
计算机系统
由硬件系统和软件系统组 成的整体,用于实现数据 处理和信息存储等功能;
硬件系统
计算机的物理部分,包括 各种电子器件和机械设备 等;
微程序控制器
是计算机中的一种控制部件,负责执行指令的一部分,该部分提供了计 算机指令的底层实现。
03
微程序
存储在控制存储器中的完成一条机器指令功能的程序,由微指令组成。
它是实现指令的一种手段,具体实现这一指令功能的微命令序列。
微指令的格式和编码
微指令格式
分为水平型微指令和垂直型微指令两种。水平型微指令并行操作能力强、效率 高、灵活性强,垂直型微指令则简单易实现。
高速缓冲存储器的原理和应用
原理
高速缓冲存储器(Cache)采用高速的SRAM芯片组成,其存取速度与CPU相当。当CPU需要访问主存时,首先 访问Cache,如果所需数据在Cache中(称为命中),则直接从Cache中读取;否则(称为未命中),再从主存 中读取,同时将读取的数据块放入Cache中。
通过学习计算机组成原理,可以提高学生分析和解决问题的能力,培养学生的计算思维和 创新能力。
未来计算机技术的发展趋势和挑战
人工智能和机器 学习
随着人工智能和机器学习的 快速发展,未来计算机技术 将更加注重智能化和自主学 习,需要解决算法优化、数 据处理等问题。
量子计算
量子计算是一种全新的计算 模式,具有超强的计算能力 和数据处理能力,是未来计 算机技术的重要发展方向之 一。但是,量子计算的实现 需要解决量子比特的稳定性 、量子纠缠等难题。
包括硬件系统和软件系统两大部
分,其中硬件系统由运算器、控 制器、存储器、输入设备和输出
设备五大部件组成;
汇编语言程序设计
简要介绍汇编语言的基本语法和 程序设计方法。
关键术语和概念
01
02
03
计算机系统
由硬件系统和软件系统组 成的整体,用于实现数据 处理和信息存储等功能;
硬件系统
计算机的物理部分,包括 各种电子器件和机械设备 等;
微程序控制器
是计算机中的一种控制部件,负责执行指令的一部分,该部分提供了计 算机指令的底层实现。
03
微程序
存储在控制存储器中的完成一条机器指令功能的程序,由微指令组成。
它是实现指令的一种手段,具体实现这一指令功能的微命令序列。
微指令的格式和编码
微指令格式
分为水平型微指令和垂直型微指令两种。水平型微指令并行操作能力强、效率 高、灵活性强,垂直型微指令则简单易实现。
高速缓冲存储器的原理和应用
原理
高速缓冲存储器(Cache)采用高速的SRAM芯片组成,其存取速度与CPU相当。当CPU需要访问主存时,首先 访问Cache,如果所需数据在Cache中(称为命中),则直接从Cache中读取;否则(称为未命中),再从主存 中读取,同时将读取的数据块放入Cache中。
计算机体系结构之流水线工作原理与分类

如:多操作部件处理机、超标量处理机 时间并行性:采用流水线技术
不增加或只增加少量硬件就能使运算速度提高几倍, 如:流水线处理机、超流水线处理机
流水线工作原理
流水线的分类
线性流水线的性能分析
非线性流水线的调度技术
流水线工作原理
1、流水线锁存器 流水线的每一个阶段称为流水步、流水步骤、流水段、 流水 线阶段、流水功能段、功能段、流水级、流水节拍等。
在每一个流水段的末尾或开头必须设置一个(多个)寄存器,
称为
流水寄存器、流水锁存器、流水闸门寄存器等。
流水锁存器会增加每条指令的执行时间,但采用流水线之
后整个程序的执行时间会缩短。
为了简化,在一般流水线中不画出流水锁存器。
输入
指令分析器 分析 k+1
流水 锁存器
△t1
指令执行部件 执行 k
流水 锁存器
Latency & throughput?
流水线技术
流水线技术在50年代后期被应用于处理器设计 IBM Stretch----first general-purpose pipelined
computer CDC 6600 use load/store design to achieve efficient
任
时间
务A
顺 序B
C
D
°
洗4 个人的衣物,顺序操作需要 8 个小时
°
如果使用流水线作业, 将需要多少时间呢?
流水线作业
6 下午 7
8
9
10
11
12
时间
任
30 30 30 30 30 30 30
务A
顺
序
B
C
D
不增加或只增加少量硬件就能使运算速度提高几倍, 如:流水线处理机、超流水线处理机
流水线工作原理
流水线的分类
线性流水线的性能分析
非线性流水线的调度技术
流水线工作原理
1、流水线锁存器 流水线的每一个阶段称为流水步、流水步骤、流水段、 流水 线阶段、流水功能段、功能段、流水级、流水节拍等。
在每一个流水段的末尾或开头必须设置一个(多个)寄存器,
称为
流水寄存器、流水锁存器、流水闸门寄存器等。
流水锁存器会增加每条指令的执行时间,但采用流水线之
后整个程序的执行时间会缩短。
为了简化,在一般流水线中不画出流水锁存器。
输入
指令分析器 分析 k+1
流水 锁存器
△t1
指令执行部件 执行 k
流水 锁存器
Latency & throughput?
流水线技术
流水线技术在50年代后期被应用于处理器设计 IBM Stretch----first general-purpose pipelined
computer CDC 6600 use load/store design to achieve efficient
任
时间
务A
顺 序B
C
D
°
洗4 个人的衣物,顺序操作需要 8 个小时
°
如果使用流水线作业, 将需要多少时间呢?
流水线作业
6 下午 7
8
9
10
11
12
时间
任
30 30 30 30 30 30 30
务A
顺
序
B
C
D
计算机组成原理之流水线处理机(ppt 59页)

计算机组成原理
7
7
流水线的基本概念
什么是流水线
计算机中的流水线是把一个重复的过程分解为若干个子过 程,每个子过程与其他子过程并行进行。由于这种工作方式与 工厂中的生产流水线十分相似,因此称为流水线技术。 从本质上讲,流水线技术是一种时间并行技术。
计算机组成原理
8
8
计算机的各个部分几乎都可以采用流水线技术:
计算机组成原理
2
2
将解决的主要问题
掌握流水线处理机的数据路径 建立指令流水线中指令如何重叠执行和流动
了解流水线工作原理以及相关问题
计算机组成原理
3
3
单周期处理机
指令 存储器 PC Add
D ata
W ritePC
disp
rs1 rd
1
rs2
0
S e lS t im m e
SelB ranch
偏移量符 号扩展
rd(rs1) and imme
rd (rs1) or (rs2)
计算机组成原理
25
25
31 26 25 21
00 0000
rd
00 0001
rd
00 0010
rd
00 0011
rd
00 0100
rd
00 0101
rd
00 0110
rd
00 0111
rd
00 1000
rd
00 1001
rd
00 1010
00 1011
00 1100
计算机组成原理
指令系统和指令格式
20 16 rs1
00010 rs1
00101 rs1
00101 rs1
6计算机组成原理第6章流水线原理

1)对存储器的频繁访问 ① 有哪些访问:取指令、取操作 数、存放执行结果, I/O通道访问. ② 希望存储器为多体结构,以适 应多种访问源的需要。 ③ 当存储器为单体结构时,需要 将访问源排队,先后顺序为: 取指令、取数据、I/O通道访问、存
结果
6.1 先行控制技术
• 先行控制(look-ahead)技术最早在IBM公司研制的 STRETCH机器中采用。目前,许多处理机中都已经采 用了这种技术,包括超流水处理机和超标量处理机等。
6.4 线性流水线性能分析
衡量流水线的主要指标有吞吐率,加速比和效率。
6.4.1 吞吐率TP
吞吐率(TP ── ThroughPut)指流水线在单位时间内执行的任务数, 可以用输入任务数或输出任务数表示。
TP n Tk
其中k表示流水线划分的段数。
当满足 ti 条t 件时,有 Tk (n k 1) t。
第6章 流水线原理及其 §1 重叠方式
通常提高指令执行速度的途径有如下三种: 1. 提高处理机的工作主频。 2. 采用更好的算法和设计更好的功能部件。 3. 多条指令并行执行,称为指令级并行技术。
• 可以从两个方面来开发处理机内部的并行性:
– 空间并行性:即在一个处理机内设置多个独 立的操作部件,并让这些操作部件并行工作, 这种处理机称为多操作部件处理机或超标量 处理机;
• 超长指令字技术VLIW:指让一条指令包含多个独立的操 作字段,并且分别控制多个功能部件并行工作的技术。
一.重叠解释方式
1.一条指令的几个过程段
1)取指令:根据PC(指令计数器)从M(存储器)取 出指令送到IR(指令寄存器)
2)译码分析:译出指令的操作性质,准备好所需数 据
3)执行:将准备好的数按译出性质进行处理,主要 涉及ALU(算术逻辑运算部件)
结果
6.1 先行控制技术
• 先行控制(look-ahead)技术最早在IBM公司研制的 STRETCH机器中采用。目前,许多处理机中都已经采 用了这种技术,包括超流水处理机和超标量处理机等。
6.4 线性流水线性能分析
衡量流水线的主要指标有吞吐率,加速比和效率。
6.4.1 吞吐率TP
吞吐率(TP ── ThroughPut)指流水线在单位时间内执行的任务数, 可以用输入任务数或输出任务数表示。
TP n Tk
其中k表示流水线划分的段数。
当满足 ti 条t 件时,有 Tk (n k 1) t。
第6章 流水线原理及其 §1 重叠方式
通常提高指令执行速度的途径有如下三种: 1. 提高处理机的工作主频。 2. 采用更好的算法和设计更好的功能部件。 3. 多条指令并行执行,称为指令级并行技术。
• 可以从两个方面来开发处理机内部的并行性:
– 空间并行性:即在一个处理机内设置多个独 立的操作部件,并让这些操作部件并行工作, 这种处理机称为多操作部件处理机或超标量 处理机;
• 超长指令字技术VLIW:指让一条指令包含多个独立的操 作字段,并且分别控制多个功能部件并行工作的技术。
一.重叠解释方式
1.一条指令的几个过程段
1)取指令:根据PC(指令计数器)从M(存储器)取 出指令送到IR(指令寄存器)
2)译码分析:译出指令的操作性质,准备好所需数 据
3)执行:将准备好的数按译出性质进行处理,主要 涉及ALU(算术逻辑运算部件)
计算机组成原理第6章

5. 中断控制 CPU 除了执行程序外,还需要具备对突发事件的处理能 力。例如,运算器出现了结果溢出、某个部件出现了异常情 况、设备需要实时的数据服务等,这就需要 CPU 中断正在处 理的程序,并对这些突发事件进行响应,以保证计算机的正常 运转,这个能力称为中断处理能力。 总体来说,一条指令的执行过程就是在控制器的控制下, 先从内存中取出指令,然后对指令进行译码,在时序发生器和 控制器的控制下,在正确的时间发出指定部件的控制信号,保 证各部件能够执行正确的动作,从而保证该指令功能的实现。
第6章中央处理器
图 6-6 指令周期与 CPU 周期的包含关系
第6章中央处理器
6. 1. 4 指令执行流程 指令的执行是从取指周期开始的。取指周期主要完成从
内存取出要执行的指令,并使指针指向下一条指令,即 PC=PC+ “ 1 ”,这里的“ 1 ”表示当前这条指令的实际字长。 取指完成后,对指令进行译码,再转入具体的指令执行过程。 指令在执行过程中如果采用间接寻址方式,还需要增加间址 周期,如图 6-5 所示。
第6章中央处理器
3. 时序控制 每一条指令在执行的过程中,必须在规定的时间给出各 部件所需操作控制的信号,才能保证指令功能的正确执行。 因此,时序控制就是定时地给出各种操作信号,使计算机系统 有条不紊地执行程序。 4. 数据加工 数据加工是指对数据进行算术运算、逻辑运算或其他处 理。
第6章中央处理器
第6章中央处理器
图 6-7 所示是一个采用总线结构将运算器、寄存器连 接起来的控制器内部数据通路。其各部件与内部总线 IBUS 和系统总线 ABUS 、 DBUS 的连接方式如图中所示,图中的 “ o ”为控制门,在相应控制信号(信号名称标在“o ”上)的控 制下打开,建立各部件之间的连接。GR 是通用寄存器组, X 和 Z 是两个暂存寄存器。
第6章中央处理器
图 6-6 指令周期与 CPU 周期的包含关系
第6章中央处理器
6. 1. 4 指令执行流程 指令的执行是从取指周期开始的。取指周期主要完成从
内存取出要执行的指令,并使指针指向下一条指令,即 PC=PC+ “ 1 ”,这里的“ 1 ”表示当前这条指令的实际字长。 取指完成后,对指令进行译码,再转入具体的指令执行过程。 指令在执行过程中如果采用间接寻址方式,还需要增加间址 周期,如图 6-5 所示。
第6章中央处理器
3. 时序控制 每一条指令在执行的过程中,必须在规定的时间给出各 部件所需操作控制的信号,才能保证指令功能的正确执行。 因此,时序控制就是定时地给出各种操作信号,使计算机系统 有条不紊地执行程序。 4. 数据加工 数据加工是指对数据进行算术运算、逻辑运算或其他处 理。
第6章中央处理器
第6章中央处理器
图 6-7 所示是一个采用总线结构将运算器、寄存器连 接起来的控制器内部数据通路。其各部件与内部总线 IBUS 和系统总线 ABUS 、 DBUS 的连接方式如图中所示,图中的 “ o ”为控制门,在相应控制信号(信号名称标在“o ”上)的控 制下打开,建立各部件之间的连接。GR 是通用寄存器组, X 和 Z 是两个暂存寄存器。
计算机组成原理与系统结构流水线技术

1) 不精确断点
(1) 实现。 (2) 注意问题。
2) 精确断点
4. 乱序执行
17
6.3.6 带成功开销的流水线性能
18
6.4 指令级并行
6.4.1 指令级并行概述
1. 指令流水线的限制 2. 突破限制的途径
19
6.4.2 提高指令级并行的方法
1. 指令调度
1) 静态调度 2) 动态调度
(1) 能调度在编译时不可能知道的竞争情况。 (2) 符合程序执行的实际情况。 (3) 具有更高的效率和准确性。 (4) 简化编译程序设计。 (5) 代码的移植性强。
7
6.2.1 吞吐率
1. 最大吞吐率TPmax
1) 各段时间相等的流水线
2) 各段时间不相等的流水线
(1) 将瓶颈细分。
(2) 利用重复设置。
2. 实际吞吐率TP
1) 各段时间相等的流水线
2) 各段时间不相等的流水线
8
6.2.2 加速比
1. 各段时间相等 的流水线
2. 各段时间不相 等的流水线
9
第6章 流水线技术
在有关CPU的设计中,速度是永恒的主题。 而引入流水线技术的目的就在于提高速度。 在不需要额外增加太多硬件的情况下,流 水线是提高处理器工作速度的一种有效的 方法,它不仅用于复杂的运算器,如乘法 器、浮点加法器等,也用于改善指令的处 理。
本章将描述流水线技术的有关概念,对流 水线性能进行分析,并讨论与流水线有关 的问题。
20
6.4.2 提高指令级并行的方法
2. 乱序执行和寄存器重命名
1) 顺序执行
2) 乱序执行
(1) 记分牌法。
❖① 发射级。
❖② 读操作数。
❖③ 执行。
(1) 实现。 (2) 注意问题。
2) 精确断点
4. 乱序执行
17
6.3.6 带成功开销的流水线性能
18
6.4 指令级并行
6.4.1 指令级并行概述
1. 指令流水线的限制 2. 突破限制的途径
19
6.4.2 提高指令级并行的方法
1. 指令调度
1) 静态调度 2) 动态调度
(1) 能调度在编译时不可能知道的竞争情况。 (2) 符合程序执行的实际情况。 (3) 具有更高的效率和准确性。 (4) 简化编译程序设计。 (5) 代码的移植性强。
7
6.2.1 吞吐率
1. 最大吞吐率TPmax
1) 各段时间相等的流水线
2) 各段时间不相等的流水线
(1) 将瓶颈细分。
(2) 利用重复设置。
2. 实际吞吐率TP
1) 各段时间相等的流水线
2) 各段时间不相等的流水线
8
6.2.2 加速比
1. 各段时间相等 的流水线
2. 各段时间不相 等的流水线
9
第6章 流水线技术
在有关CPU的设计中,速度是永恒的主题。 而引入流水线技术的目的就在于提高速度。 在不需要额外增加太多硬件的情况下,流 水线是提高处理器工作速度的一种有效的 方法,它不仅用于复杂的运算器,如乘法 器、浮点加法器等,也用于改善指令的处 理。
本章将描述流水线技术的有关概念,对流 水线性能进行分析,并讨论与流水线有关 的问题。
20
6.4.2 提高指令级并行的方法
2. 乱序执行和寄存器重命名
1) 顺序执行
2) 乱序执行
(1) 记分牌法。
❖① 发射级。
❖② 读操作数。
❖③ 执行。
计算机体系结构之流水线技术(ppt 125页)

3 流水线技术
张伟 计算机学院
大纲
1 概念定义 2 流水线分类 3 MIPS五级流水线 4 性能分析 5 流水线相关 6 高级流水线技术
1 概念定义
洗衣店的例子
A, B, C, D 均有一些衣物要 清洗,甩干,折叠
清洗要花30 分钟 甩干要用40 分钟 叠衣物也需要20 分钟
流水线输出端任务流出的顺序与输入端任务流 入的顺序相同。
异步流动流水线(乱序流水线):
流水线输出端任务流出的顺序与输入端任务流 入的顺序不同。
3 MIPS五级流水线
DLX(Dancing Links)
DLX 是一种简单的指令集(教学、简单芯片) 在不流水的情况下,如何实现DLX。
实现DLX指令的一种简单数据通路
4. 存储器访问周期MEM(Memory Access) 5. 写回周期WB(Write Back)
MIPS的简单实现
Instruction Fetch
Instr. Decode Reg. Fetch
Next PC
Next SEQ PC
4
RS1
RS2
Execute Addr. Calc
Zero?
RD
增加了向后传递IR和从MEM/WB.IR回送到通用寄存 器组的连接。
将对PC的修改移到了IF段,以便PC能及时地加 4,为取下一条指令做好准备。
2. 每一个流水段进行的操 作
IR[rs]=IR6..10 IR[rt]=IR11..15 IR[rd]=IR16..20
流水线的每个流水段的操作
将有效地址计算周期和执行周期合并为一个时钟周期,这
是因为MIPS指令集采用load/store结构,没有任何指令
需要同时进行数据有效地址的计算、转移目标地址的计算
张伟 计算机学院
大纲
1 概念定义 2 流水线分类 3 MIPS五级流水线 4 性能分析 5 流水线相关 6 高级流水线技术
1 概念定义
洗衣店的例子
A, B, C, D 均有一些衣物要 清洗,甩干,折叠
清洗要花30 分钟 甩干要用40 分钟 叠衣物也需要20 分钟
流水线输出端任务流出的顺序与输入端任务流 入的顺序相同。
异步流动流水线(乱序流水线):
流水线输出端任务流出的顺序与输入端任务流 入的顺序不同。
3 MIPS五级流水线
DLX(Dancing Links)
DLX 是一种简单的指令集(教学、简单芯片) 在不流水的情况下,如何实现DLX。
实现DLX指令的一种简单数据通路
4. 存储器访问周期MEM(Memory Access) 5. 写回周期WB(Write Back)
MIPS的简单实现
Instruction Fetch
Instr. Decode Reg. Fetch
Next PC
Next SEQ PC
4
RS1
RS2
Execute Addr. Calc
Zero?
RD
增加了向后传递IR和从MEM/WB.IR回送到通用寄存 器组的连接。
将对PC的修改移到了IF段,以便PC能及时地加 4,为取下一条指令做好准备。
2. 每一个流水段进行的操 作
IR[rs]=IR6..10 IR[rt]=IR11..15 IR[rd]=IR16..20
流水线的每个流水段的操作
将有效地址计算周期和执行周期合并为一个时钟周期,这
是因为MIPS指令集采用load/store结构,没有任何指令
需要同时进行数据有效地址的计算、转移目标地址的计算
计算机系统结构之流水线技术(205页)

入 求阶差
△t
对阶 △t
尾数相加 △t
出 规格化
△t
▲
31/206
1. 时空图 ➢ 时空图从时间和空间两个方面描述了流水线的工作 过程。时空图中,横坐标代表时间,纵坐标代表流 水线的各个段。 ➢ 4段指令流水线的时空图:
空间
存结果
123456
执行 译码
123456
5
123 45 6
取指令 1
2
3
4
k…+…1 k+j
已经由指令分析器预处理完成,存放在先行操作栈中的 RR*型指令,指令所需要的操作数已经读到先行读数栈中
k…+…j+1 k+j+n
已经由指令分析器预处理完成,存放在先行操作栈中,指 令所需要的操作数还没有读到先行读数栈中
k+j+n+1 正在指令分析器中进行分析和预处理的指令
k…+…j+n+2 已经从主存储器中预取到先行指令缓冲栈中的指令 k+j+n+m
1
2
3
…
1
2
3
…n
1
2
3
…
n
2
3
k
ti
i1
…n (n-1)t2
Tk 各段执行时间不相等的流水线及其时空图
n
时间
▲
33/206
2 流水线的基本概念
➢ 流水线每一个功能部件的后面都要有一个缓冲寄 存器(锁存器),称为流水寄存器。
站的某个存储单元(设其地址为j),同时用j替换原来指令
中的目标地址码字段。
✓ 立即数型指令:把指令中的立即数送入读数站(设为第l个 存储单元),同样也用l替换原来指令中的立即数字段。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
过程,而每个子过程都可有效地在其专用功能段上与其 他子过程同时执行。
• 时-空图:从时间和空间两个方面描述了流水线的工作
过程。时-空图中,横坐标代表时间,纵坐标代表流水 线的各个段。
• CPU中的各个部件按流水处理顺序连接起来,就称为一
条流水线。
6.2.3 流水线工作原理 流水线方式是把一个复杂的过程分解为若干个子过 程,每个子过程与其他子过程同时进行。 处理机解释程序的方式有顺序方式、重叠方式、流 水方式等
1)对存储器的频繁访问 ① 有哪些访问:取指令、取操作 数、存放执行结果, I/O通道访问. ② 希望存储器为多体结构,以适 应多种访问源的需要。 ③ 当存储器为单体结构时,需要 将访问源排队,先后顺序为: 取指令、取数据、I/O通道访问、存
结果
6.1 先行控制技术
• 先行控制(look-ahead)技术最早在IBM公司研制的 STRETCH机器中采用。目前,许多处理机中都已经采 用了这种技术,包括超流水处理机和超标量处理机等。
2. 对指令执行的几种方式
1)顺序执行 (传统机采用)
只有在前一条指令的各过程段全部完成后,才 从存储器取出下一条指令
取
译
执
取
译
执
i条
i +1 条
2) 仅两条指令重叠:第i条指令的执行与第i+1条的取指
重叠。
i条 取 译 执
i+1 条
取译执
3) 三条指令重叠:第i条指令的执行与第i+1条的译码及
第i+2条的取指重叠。
– 时间并行性:就是采用流水线技术。流水线 技术是一种非常经济、对提高处理机的运算 速度非常有效的技 术。采用流水线技术可以 不增加硬件或只需要增加少量硬件就能够把 处理机的运算速度提高几倍
它是目前使用非常普遍的一种并行处理方式。
本章学习标量计算机上使用的流水加速技术。主要内 容有流水技术的分类、流水线性能指标计算、非线性流水 线的调度算法。
基本名词术语
• 标量处理机,超标量处理机:标量处理机指只能进行标量 运算的处理机,超标量处理机指能在一个时钟周期内同时 发射多条指令的处理机;
• 指令级并行技术:指能使多条指令并行执行的技术,包括 流水技术、多操作部件技术和超长指令字技术;
• 流水线处理机,超流水线处理机:流水线处理机指用流水 作业方式并行解释多条指令的处理机,超流水线处理机指 能在一个时钟周期内分时发射多条指令的处理机;
第6章 流水线原理及其 §1 重叠方式
通常提高指令执行速度的途径有如下三种: 1. 提高处理机的工作主频。 2. 采用更好的算法和设计更好的功能部件。 3. 多条指令并行执行,称为指令级并行技术。
• 可以从两个方面来开发处理机内部的并行性:
– 空间并行性:即在一个处理机内设置多个独 立的操作部件,并让这些操作部件并行工作, 这种处理机称为多操作部件处理机或超标量 处理机;
标量计算机指只能直接进行标量运算的计算机,与能 够直接进行向量运算的向量计算机相对应。
流水处理方式的特征,是让多个依次启动的任务,尽 量同时使用系统的不同部件,通过时间重叠来提高处理速 率。这种技术理论上不增加成本。
标量计算机上使用的流水加速技术属于指令级并行技 术。
每条指令的处理过程,可以划分为取指、译码 、取数、运算、送结果5个子过程,也可以分得更 细或更粗一些。划分的原则是各部分时间长度大 致相等、并使用CPU中不同的部件,这样才有利于 多任务重叠处理。
i条 取 译 执
i+1 条 取 译 执
i+2 条
取译执
若一条指令的过程段划分更多时,重叠组合方式更多。 重叠解释并不能加快一条指令的实现,但能加快一段
程序的解释。
3. 重叠方式中所需时间表达式及所需时间计算
1)条件:设一条指令分为三个过程段,各过程段分别 用t取、t译、t执表示。
执行K条指令,分别采用顺序执行、两条重叠、 三条重叠。
• 先行控制技术的关键是缓冲技术和预处理技术,以及两 者的结合。
• 缓冲技术是在工作速度不固定的两个功能部件之间设置 缓冲栈,用以平滑它们的工作。
• 预处理技术是把进入运算器的指令都处理成寄存器-寄 存器(RR型)指令,为进入运算器的指令准备好所需要 的全部操作数。
采用先行控制方式的处理机结构
2)应具有先行控制部件 ① 先行:在重叠操作中,当前一条指令在执行过程中 就需要提前取出后面的指令进行相应处理,这种提 前取出后继指令进行相应处理,称为先行。 ② 先行控制部件的主要包括 Ⅰ)先行地址站,包括先行指令地址站和先行操作数 地址站; Ⅱ)先行指令站,用来存放多条指令; Ⅲ)先行操作数站,用来存放多个操作数; Ⅳ)先行地址形成部件,用来形成先行指令地址 以及先行操作数地址; Ⅴ)先行操作码译码站,用来完成对多条指令的 译码并保留译码输出状态。
假设:各个功能段时间相同,公式见教材P285
各个功能段时间不相同,公式见 顺序执行 k*(t取+t译+t执) 两条重叠 t取+ k* t译+(k-1) *( t取,t执)max+ t执 三条重叠 t取+( t译, t取)max+(k-2) *(t取,t译,t
执)max+( t执, t译)max+ t执
3) 例子 当k=200,t取=3Δt,t译=4Δt,t执=5Δt, 时,分别计算上述三种执行方式的时间。
顺序执行:200×(3+4+5)=2400Δt
两条重叠:3+200×4+(200-1)×5+5=1803Δt
三条重叠:3+4+(200-2)×5+5+5=1007Δt
4 重叠方式需要解决的问题
• 也应具有后行部件 后行部件:对指令执行后的结果进行处理的器件,称 后行部件。包括:
①后行数地址站,提供后行数存放地址。 ②后行数站,存放运行的结果,并且,这些结果需送存
储器。
6.2 流水处理的概念
6.2.1 基本思想
6.2.2 流水技术
• 流水技术:将一个重复的时序过程分解成为若干个子
• 超长指令字技术VLIW:指让一条指令包含多个独立的操 作字段,并且分别控制多个功能部件并行工作的技术。
一.重叠解释方式
1.一条指令的几个过程段
1)取指令:根据PC(指令计数器)从M(存储器)取 出指令送到IR(指令寄存器)
2)译码分析:译出指令的操作性质,准Байду номын сангаас好所需数 据
3)执行:将准备好的数按译出性质进行处理,主要 涉及ALU(算术逻辑运算部件)
• 时-空图:从时间和空间两个方面描述了流水线的工作
过程。时-空图中,横坐标代表时间,纵坐标代表流水 线的各个段。
• CPU中的各个部件按流水处理顺序连接起来,就称为一
条流水线。
6.2.3 流水线工作原理 流水线方式是把一个复杂的过程分解为若干个子过 程,每个子过程与其他子过程同时进行。 处理机解释程序的方式有顺序方式、重叠方式、流 水方式等
1)对存储器的频繁访问 ① 有哪些访问:取指令、取操作 数、存放执行结果, I/O通道访问. ② 希望存储器为多体结构,以适 应多种访问源的需要。 ③ 当存储器为单体结构时,需要 将访问源排队,先后顺序为: 取指令、取数据、I/O通道访问、存
结果
6.1 先行控制技术
• 先行控制(look-ahead)技术最早在IBM公司研制的 STRETCH机器中采用。目前,许多处理机中都已经采 用了这种技术,包括超流水处理机和超标量处理机等。
2. 对指令执行的几种方式
1)顺序执行 (传统机采用)
只有在前一条指令的各过程段全部完成后,才 从存储器取出下一条指令
取
译
执
取
译
执
i条
i +1 条
2) 仅两条指令重叠:第i条指令的执行与第i+1条的取指
重叠。
i条 取 译 执
i+1 条
取译执
3) 三条指令重叠:第i条指令的执行与第i+1条的译码及
第i+2条的取指重叠。
– 时间并行性:就是采用流水线技术。流水线 技术是一种非常经济、对提高处理机的运算 速度非常有效的技 术。采用流水线技术可以 不增加硬件或只需要增加少量硬件就能够把 处理机的运算速度提高几倍
它是目前使用非常普遍的一种并行处理方式。
本章学习标量计算机上使用的流水加速技术。主要内 容有流水技术的分类、流水线性能指标计算、非线性流水 线的调度算法。
基本名词术语
• 标量处理机,超标量处理机:标量处理机指只能进行标量 运算的处理机,超标量处理机指能在一个时钟周期内同时 发射多条指令的处理机;
• 指令级并行技术:指能使多条指令并行执行的技术,包括 流水技术、多操作部件技术和超长指令字技术;
• 流水线处理机,超流水线处理机:流水线处理机指用流水 作业方式并行解释多条指令的处理机,超流水线处理机指 能在一个时钟周期内分时发射多条指令的处理机;
第6章 流水线原理及其 §1 重叠方式
通常提高指令执行速度的途径有如下三种: 1. 提高处理机的工作主频。 2. 采用更好的算法和设计更好的功能部件。 3. 多条指令并行执行,称为指令级并行技术。
• 可以从两个方面来开发处理机内部的并行性:
– 空间并行性:即在一个处理机内设置多个独 立的操作部件,并让这些操作部件并行工作, 这种处理机称为多操作部件处理机或超标量 处理机;
标量计算机指只能直接进行标量运算的计算机,与能 够直接进行向量运算的向量计算机相对应。
流水处理方式的特征,是让多个依次启动的任务,尽 量同时使用系统的不同部件,通过时间重叠来提高处理速 率。这种技术理论上不增加成本。
标量计算机上使用的流水加速技术属于指令级并行技 术。
每条指令的处理过程,可以划分为取指、译码 、取数、运算、送结果5个子过程,也可以分得更 细或更粗一些。划分的原则是各部分时间长度大 致相等、并使用CPU中不同的部件,这样才有利于 多任务重叠处理。
i条 取 译 执
i+1 条 取 译 执
i+2 条
取译执
若一条指令的过程段划分更多时,重叠组合方式更多。 重叠解释并不能加快一条指令的实现,但能加快一段
程序的解释。
3. 重叠方式中所需时间表达式及所需时间计算
1)条件:设一条指令分为三个过程段,各过程段分别 用t取、t译、t执表示。
执行K条指令,分别采用顺序执行、两条重叠、 三条重叠。
• 先行控制技术的关键是缓冲技术和预处理技术,以及两 者的结合。
• 缓冲技术是在工作速度不固定的两个功能部件之间设置 缓冲栈,用以平滑它们的工作。
• 预处理技术是把进入运算器的指令都处理成寄存器-寄 存器(RR型)指令,为进入运算器的指令准备好所需要 的全部操作数。
采用先行控制方式的处理机结构
2)应具有先行控制部件 ① 先行:在重叠操作中,当前一条指令在执行过程中 就需要提前取出后面的指令进行相应处理,这种提 前取出后继指令进行相应处理,称为先行。 ② 先行控制部件的主要包括 Ⅰ)先行地址站,包括先行指令地址站和先行操作数 地址站; Ⅱ)先行指令站,用来存放多条指令; Ⅲ)先行操作数站,用来存放多个操作数; Ⅳ)先行地址形成部件,用来形成先行指令地址 以及先行操作数地址; Ⅴ)先行操作码译码站,用来完成对多条指令的 译码并保留译码输出状态。
假设:各个功能段时间相同,公式见教材P285
各个功能段时间不相同,公式见 顺序执行 k*(t取+t译+t执) 两条重叠 t取+ k* t译+(k-1) *( t取,t执)max+ t执 三条重叠 t取+( t译, t取)max+(k-2) *(t取,t译,t
执)max+( t执, t译)max+ t执
3) 例子 当k=200,t取=3Δt,t译=4Δt,t执=5Δt, 时,分别计算上述三种执行方式的时间。
顺序执行:200×(3+4+5)=2400Δt
两条重叠:3+200×4+(200-1)×5+5=1803Δt
三条重叠:3+4+(200-2)×5+5+5=1007Δt
4 重叠方式需要解决的问题
• 也应具有后行部件 后行部件:对指令执行后的结果进行处理的器件,称 后行部件。包括:
①后行数地址站,提供后行数存放地址。 ②后行数站,存放运行的结果,并且,这些结果需送存
储器。
6.2 流水处理的概念
6.2.1 基本思想
6.2.2 流水技术
• 流水技术:将一个重复的时序过程分解成为若干个子
• 超长指令字技术VLIW:指让一条指令包含多个独立的操 作字段,并且分别控制多个功能部件并行工作的技术。
一.重叠解释方式
1.一条指令的几个过程段
1)取指令:根据PC(指令计数器)从M(存储器)取 出指令送到IR(指令寄存器)
2)译码分析:译出指令的操作性质,准Байду номын сангаас好所需数 据
3)执行:将准备好的数按译出性质进行处理,主要 涉及ALU(算术逻辑运算部件)