第3章流水线技术

合集下载

第 3 章 流水线技术_标量

第 3 章 流水线技术_标量

1 t s t l
• 若每个流水段的延迟时间不等,则最高工作频率 为:
1
max t Si t l
n i 1
2013-8-8
16
流水技术的特点
• ⑴ 一条流水线通常由若干个有联系的流水段组成。 • 流水线中的段数也称为 “流水深度” 。 • ⑵ 每个流水段有专门的功能部件对指令进行某种 加工。 • ⑶ 各流水段所需时间应尽量相等,以减少流水线 的瓶颈影响。 • ⑷ 流水线工作阶段可分为建立(装入)、满载和排 空三个阶段。 • ⑸在理想情况下,当流水线充满后,每隔Δ t时间 将会有一个结果流出流水线。
空间 规格化 尾数加 对 阶 求阶差 对阶1 规格化1 规格化2 规格化3 规格化4 规格化5 尾数加1 尾数加2 尾数加3 尾数加4 尾数加5 对阶2 对阶3 对阶4 对阶5 t8 时间
求阶差1 求阶差2 求阶差3 求阶差4 求阶差5 0 t1 t2 t3 t4 t5
t6
t7
2013-8-8
19
• ⑵ 处理机级——指令流水线 • 把一条指令解释过程分成多个子过程组成流水工作方 式。 • 如前面所提到的将指令执行过程分为取指、译码、执 行、访存及写回五个子过程。 • ⑶ 系统级——处理机間流水线(宏流水线) • 将系统中多个处理机串联起来,对同一数据流进行不 同的处理,每个处理机完成某一专门任务。
Tpmax 1
max t
i 1 i
33
n
2013-8-8
• ⑵ 实际吞吐率Tp • 流水线实际工作时的吞吐率。 • Tp<Tpmax • 设在m段流水线中,各段的延迟时间均为Δt,可以 利用时空图分析该流水线完成n个任务的实际吞吐 率和流水线的最大吞吐率。
2013-8-8

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

计算机系统结构第3章流水线技术
设计控制逻辑以协调不同阶段之间的操作, 确保指令顺序执行。
流水线调度
根据指令的依赖关系和资源可用性,动态调 度指令到不同的流水线阶段。
GPU设计中的流水线技术
线程级并行
通过划分线程块和线程束,实现线程级并行执行。
数据级并行
将数据划分为多个块,每个块在GPU的多个处理单元上并行处理。
指令级并行
通过指令调度和分支预测,实现指令级并行执行。
硬件资源共享
01
硬件资源共享是指流水线中的多个操作共享相同的硬件资源, 如寄存器、缓冲区等。
02
硬件资源共享能够提高资源利用率,减少硬件开销,降低成本。
需要注意的是,硬件资源。
流水线的性能指标
01
吞吐量
流水线每单位时间内完成的操作数 或任务数。
流水线调度
根据子任务的依赖关系和资源需求,动态调 度子任务到不同的计算节点。
THANKS
感谢观看
将执行结果写回寄 存器或内存。
02
流水线的工作原理
数据流驱动
1
数据流驱动是指流水线中的操作按照数据流动的 方向依次执行,每个操作在完成前需要等待前一 个操作的结果。
2
数据流驱动的优点是能够充分利用数据依赖关系, 减少等待时间,提高流水线的吞吐量。
3
需要注意的是,数据流驱动需要精确控制数据流 动的顺序,以避免出现数据相关和冒险问题。
调试和维护困难
由于流水线中各个阶段是并行处 理的,调试和维护可能会比串行 系统更加困难。
05
流水线技术的应用
CPU设计中的流水线技术
指令划分
将指令划分为多个阶段,每个阶段对应一个 功能单元,从而并行执行多个指令。
数据路径设计

1.《生产运作管理》第一章-概论

1.《生产运作管理》第一章-概论

工业社会:制造业
后工业社会:服务业
▪ 服务业兴起的过程
农业
▪ 服务业的兴起是社会生产力发展
自给自足
开始有剩余产品、剩余劳动力
的必然结果,也是社会生产力发
展水平的一个重要标志。
工业
劳动生产率提高 产生剩余劳动力
▪ 人类最终是实现共产主义,生活 质量高、生产水平高、有崇高的 信仰和人生价值的目标追求。所
▪ 2.现代生产运作管理主要特征
▪ (1)生产经营一体化
▪ (2)现代信息技术和现代管理技术在生产运作中广泛应用 ▪ (3)多品种生产、快速响应与灵活应变 ▪ (4)人本管理与不断创新 ▪ (5)节能减排与清洁生产
▪ 六、节能减排与清洁生产 ▪ 1.节能减排:节约能源消耗,减少污染排放。 ▪ 原因: ▪ (1)全球气候环境影响 ▪ (2)企业能源成本加大 ▪ 意义: ▪ (1)贯彻落实科学发展观
▪ (4)实行差别计件工资制 ▪ (5)管理工作专业化原理 ▪ (6)管理控制例外原理
▪ 2.福特的大量生产方式
▪ 福特首先提出“3S”:
▪ 标准化(standardization)、简单化(simplification)、专门化(specialization) ▪ 目标是对汽车零部件进行标准化,使不同汽车使用的通用零部件具有完全的互 换性。另外将传送带装配线应用到车间流水线,提高生产效率。 ▪ 3.吉尔布雷斯:动作研究之父,提出动作经济原理。
组织基本职能
供应 商
生产
生产 部门
理财
营销
消费 者
银行
内部各 部门
第一节 生产的基本概念
二、生产的概念 1.生产的定义:生产就是制造出产品和提供服务的过程。 2.企业生产系统

嵌入式原理思考题及答案

嵌入式原理思考题及答案

第1章复习要点1.1.1节嵌入式系统的概念1.1.3节嵌入式系统的特点1.3节嵌入式处理器1.4节嵌入式系统的组成第2章复习要点2.1节计算机体系结构分类2.3.1节 ARM和Thumb状态2.3.2节 RISC技术2.3.3节流水线技术2.4.3节 ARM存储系统第3章复习要点3.1节ARM编程模式3.2节ARM指令格式及其寻址方式3.3节ARM指令集(课上所讲的指令)第4章复习要点4.1节汇编语言源程序格式4.2节汇编语言的上机过程第5章复习要点5.1节键盘接口5.2节 LED显示器接口5.5.1节 UART异步串行接口作业题答案:1.什么是嵌入式系统?∙第一种,根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。

∙第二种,嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2.与通用型计算机相比,嵌入式系统有哪些特点?⏹通常是面向特定应用的;⏹空间和各种资源相对不足,必须高效率地设计,量体裁衣、去除冗余;⏹产品升级换代和具体产品同步,具有较长的生命周期;⏹软件一般都固化在存储器芯片或单片机本身;⏹不具备自举开发能力,必须有一套开发工具和环境才能进行开发3.举例介绍嵌入式微处理器有哪几类?一、嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式处理器目前主要有Aml86/88、386EX、SC-400、PowerPC、68000、MIPS、ARM系列等。

二、嵌入式微控制器(Microcontroller Unit, MCU)嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。

吉林大学计算机系统结构题库第三章

吉林大学计算机系统结构题库第三章

第三章流水线技术知识点汇总先行控制、流水线、单功能流水线、多功能流水线、静态流水线、动态流水线、部件级流水线、处理机级流水线、处理机间流水线、线性流水线、非线性流水线、顺序流水线、乱序流水线、时空图、流水线性能评价(吞吐率、加速比、效率)、解决流水线瓶颈问题方法、相关(数据相关、名相关、控制相关)、换名技术、流水线冲突(结构冲突、数据冲突、控制冲突)、流水线互锁机制、定向技术、指令调度、预测分支失败、预测分支成功、延迟分支(从前调度、从失败处调度、从成功处调度)、流水寄存器、3种向量处理方式(横向、纵向、纵横)、链接技术。

简答题1.流水技术有哪些特点?(答出4个即可)(知识点:流水线)答:1.将处理过程分解为若干子过程,由专门的功能部件来实现,2各段的时间尽可能相等,3各部件间都有一个缓冲寄存器,4适用于大量重复的时序过程,5需要通过时间和排空时间。

2.什么是静态流水线?什么是动态流水线?(知识点:静态流水线、动态流水线)答:同一时间段内,多功能流水线中的各段只能按同一种功能的连接方式工作;同一时间段内,多功能流水线中的各段可以按照不同的方式连接同时执行多种功能。

3.什么是单功能流水线?什么是多功能流水线?(知识点:单功能流水线、多功能流水线)答:只能完成一种固定功能的流水线。

流水线的各段可以进行不同的连接,以实现不同的功能。

4.什么是线性流水线?什么是非线性流水线?(知识点:线性流水线、非线性流水线)答:流水线的各段串行连接,没有反馈回路。

流水线中除了有串行的连接外,还有反馈回路。

5.列举3种相关。

(知识点:相关)答:数据相关,名相关,控制相关。

6.流水线中有哪三种冲突?各是什么原因造成的?(知识点:流水线冲突)答:结构冲突,硬件资源满足不了指令重叠执行的要求;数据冲突,指令在流水线中重叠执行时需要用到前面指令的执行结果;控制冲突,流水线遇到分支指令和其他会改变PC值的指令。

7.选择至少2种解决流水线结构冲突的方法简述。

第4章 流水线计算机设计技术3

第4章  流水线计算机设计技术3
冲突向量(cN-1…ci…c2c1)中第i位的状态用以表示与当时相隔i拍 给流水线送入后继任务是否会发生功能段的使用冲突。如果不 会发生冲突,令该位为“0”,表示允许送入;否则,让该位 为“1”,表示禁止送入。
冲突向量取N-1位,是因为经N拍后,任务己流出流水线,不会与 后续的任务争用流水线功能段了。
• 只要在状态图中由初始状态出发,按有向弧旁的 间隔拍数引入后继任务,就不会发生功能段使用 冲突。
• 在状态图中,所有简单回路都是可行的调度方案。 • 简单回路是指闭合回路,其中的各状态结点仅经
过一次。 • 状态图中,简单回路有多个,则有多种调度方案。 • 按平均间隔拍数最小选取最佳调度方案。
第4章 流水线计算机设计技术
第4章 流水线计算机设计技术
第4章 流水线计算机设计技术
4.5 非线性流水线的调度技术
在非线性流水线中,由于存在有反馈回路,当一个任务在流 水线中流过时,在同一个功能段可能要经过多次,因此, 不能每一个时钟周期向流水线输入一个新任务,否则会发 生在同一个时刻有几个任务争用同一个功能段的情况。这 种情况称为功能部件冲突,或流水线冲突。
若F的最大值为m(m<N-1),则冲突向量取m位即可。
如若F为(1,5,6,8),则C=10110001。
如若F为(1,3,6),则C=100101。
第4章 流水线计算机设计技术
4.5 非线性流水线的调度技术
4.5.2 无冲突调度方法
当第一个任务第1拍送入流水线时,根据禁止表F=(1,5,6,8), 此时形成的冲突向量C为(10110001),称此为刚流入流水线时 的初始冲突向量,这个初始冲突向量反映了刚引入的任务对 后继任务的约束。
将流水线中所有各段对一个任务流过时会重复使用同一功能段的 节拍间隔数汇集在一起,构成一个禁止表F。

计算机体系结构第三章-3(非线性流水线)

计算机体系结构第三章-3(非线性流水线)

非线性流水线的竞争与调度
2、最优调度
为了避免冲突,就要对指令送入流水线的时间进行控制, 这就是流水线的无冲突调度。(4个步骤)
1)根据预约表写出禁止向量

禁止向量F是一个流水线中所有禁止启动距离构成的集合。 为了找出所有的禁止启动距离,必须考察各段的复用情况。
1
S1 …
2
3
4
5
6
7
8
9



方法:S1在1,9两个时段中使用,从第1时段到第9时段的距 离差值为8Δt(9Δt – 1Δt = 8Δt),显然这是一个禁止启动 距离。
T1
s1 s2 √ √ √
T2
T3
T4
T5
T6
T7

s3
s4



(1) 写出禁止向量,初始冲突向量,画出流水线调度的状态转移图。 (2) 求出流水线最优调度策略和最大吞吐率。
(3) 求出按最优调度策略连续输10个任务,流水线的实际吞吐率、 加速比、效率?

3.5 流水线的实现
3.5 流水线的实现
同样,若选择间隔7拍输入第2条指令,则新冲突向量为:
C4 SHR(7) (C0 ) C0 (00000001 ) (10110001 ) (10110001 ) C0
例子中,C1,C2,C3 继续后续指令的冲突向量计算。反复上述步骤,直 到不再产生新的冲突向量为止。
非线性流水线的竞争与调度
1
2 √
3 √
4
5
6
7
8 √
9
S1
S2 S3



S4
S5

第二章流水线技术

第二章流水线技术

分析部件
主 存
存 读数 储

控 制
写数 运算控制器


寄 存

运算部件

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

存储器
一种宏流水线
第一节 流水线的基本概念
4.按流水线的各功能段之间是否有反馈回路分类
按照流水线的各功能段之间是否有反馈回路,可以把流水线 分为线性流水线和非线性流水线。
(1)线性流水线(linear Pipelining) 线性流水线是指流水线各段串行连接,数据顺序流经流水线
根据子过程划分,相应的流水线也要划分出相应的段,每一个段称为流水节 拍、流水步、流水步骤、流水阶段、流水段、功能段等。一个流水阶段与另外 一个流水阶段相连接形成流水线。过程从流水线的一端进入,经过流水线的处 理,从流水线的另一端进出。流水线技术是一种非常经济而又有效的技术,已 成为计算机中普遍使用的一种并行处理技术。采用流水线技术只需要增加少量 的硬件,就能够把处理机的运算速度提高几倍。

《计算机网络》第3章--选择题、是非题

《计算机网络》第3章--选择题、是非题

精选2021版课件
4
流水线操作具有以下哪些特点:
A. 发送方必须能缓存它已发送了但还 没有收到确认的分组
B. 每一个正在传输的分组具有独一无 二的顺序号
C. 发送方在收到确认信号之前可传输 多个分组
D. 以上都是
答案:D
精选2021版课件
5

TCP什么时候对报文段采用快速重传?
A. 报文段的定时器过期 B. 估计往返时延过长 C. 收到之前发出的一个报文段的三个重复
当一个TCP报文段到达目的主机时, 通过什么来定向套接字?
A. 封装报文段的数据报中的源IP地址 B. 目的端口号 C. 源端口号 D. 以上所有
答案:D 提示:TCP套接字是通过一个四元
组:(IP地址,源端口号,目的 IP地址,目的端口号)来标识的。 当一个TCP报文段从网络到达一 台主机时 ,主机使用全部四个值 来将报文段定向(多路分解)到 相应的套接字。
精选2021版课件
1
UDP具有以下哪些特征?
A. 在服务器上维护连接状态信息 B. 通过三次握手建立连接 C. 调节发送速率 D. 以上都不是
答案:D
精选2021版课件
2
当一个UDP报文段到达某个主机时,为 了将报文段提交给合适的套接字,操 作系统使用:
A. 源IP地址 B. 源端口号 C. 目的端口号
精选2021版课件
6
考虑一个使用持久连接的HTTP服务器。假设 服务器为每个用户产生一个独立的进程。 那么每一个进程将有不同的服务器端口号。
答案:错
提示:HTTP的默认端口是80。一个Web服务 器可以为它所处理的每个请求产生一个新 的HTTP进程,每个进程都使用80端口。
主机A经过TCP连接向主机B发送一个大文件。 假定主机B没有数据发往主机A。那么由 于主机B不能随数据捎带确认信息,所以 主机B将不向主机A发送确认。

流水线技术

流水线技术
(2) 编译器可以通过重新排列代码的顺序来消 除这种暂停,这种技术称为流水线调度或
指令调度;
(3) 举例: 例3.6 请为下列表达式生成没有暂停的DLX
指令序列: a=b+c ; d=e-f ;
假设载入延迟为1个时钟周期。
3.3.1 控制相关
(一)分支引起的暂停及减少分支开销的方法
▲ 时空图
▲ 完成 n 个任务所需的时间 T流水=m△t0+(n-1)△t0 (说明)
▲ 实际吞吐率
TP = ─T─流n─水= ───m─△─t─0+──(n─n-─1)△t0

─(─1─+──m1n─-1)─△─t0=
───── 1 +
TPma x m1n-
TP < TPmax
当n >> m 时,TP ≈TPmax
若流水线为 m 段,且各段时间相等,均为
△t0 ,则: T非流水=n m△t0
T流水=m△t0+(n-1)△t0
(解释)
S= ─TT─非流─流水水= ───m─△─t─0+─n─(mn─△-t10 )△t0
= ─m─+m──nn-= 可以看1出:当n
────1+mmn-1 >> m 时,S ≈
m
若流水线各段的时间不等,则:
当定向硬件检测到前面某条指令的结果寄存器 就是当前指令的源寄存器时,控制逻辑会开通前 面那条指令的结果目前所在的位置(某个流水寄 存器)到当前指令所需的位置(某个功能单元的 输入端)的通路。
不一定是同一个功能单元,例如: Load指令 ALU指令
3. 数据相关的分类
按照指令对寄存器的读写顺序,可以将数据 相关分为以下三种类型:
(1)流水过程由多个相联系的子过程组成,每个子过程 称为流水线的“级”或“段”。“段”的数目称为流 水线的“深度”。

第三章流水线技术.ppt

第三章流水线技术.ppt

ExtOp
MemtoReg
ALUSelB
chapter3.3
3.1 流水线的基本概念
• 洗衣为例 • Ann, Brian, Cathy, Dave 每人进行洗衣的动作: wash, dry, and fold • washer需要 30 minutes • Dryer 需要 40 minutes • “Folder” 需要 20 minutes A B C D
– 45 ns/cycle x 1 CPI x 100 inst = 4500 ns
• 多周期机器
– 10 ns/cycle x 4.6 CPI (due to inst mix) x 100 inst = 4600 ns
• 理想流水线机器
– 10 ns/cycle x (1 CPI x 100 inst + 4 cycle drain) = 1040 ns
32
WrAdr 32 Din Dout
Ideal Memory
Rt 0 Rd
Reg File
busA A
32
2019/3/18
Mux
32
4 B
32
Mem Data Reg
0
1 Mux 0
Mux
1
32
1
2 3
32 32
<< 2
ALU Control
Imm 16
Extend
32
ALUOp
中国科学技术大学
• Step 2 step
ID - instruction decode and register fetch
– A <-- Regs[IR6..10] – B <-- Regs[IR11..16]

管理信息系统习题第3章

管理信息系统习题第3章

第三章管理信息系统的技术基础3.1 单项选择题3.1.1 数据流的具体定义是()。

A、数据处理流程图的内容B、数据字典的内容C、新系统边界分析的内容D、数据动态性分析的内容3.1.2 判断表由以下几方面内容组成()。

A、条件、决策规则和应采取的行动B、决策问题、决策规则、判断方法C、环境描述、判断方法、判断规则D、方案序号、判断规则、计算方法3.1.3 邮政编码是一种()。

A、缩写码B、助忆码C、顺序码D、区间码3.1.4 下面的系统中,哪一个是实时系统()。

A、办公室自动化系统B、航空订票系统C、计算机辅助设计系统D、计算机激光排版系统3.1.5 输入设备将程序和数据送去处理的设备为()。

A、主机B、显示器C、控制器D、磁盘3.1.6 局域网络事实上是()。

A、一种同机种网络B、线路交换方式网络C、面向终端的计算机网络D、一种计算机通信系统3.1.7 在下列设备中,不能作为微计算机的输入设备的是()。

A、激光打印机B、鼠标C、键盘D、硬盘3.1.8 根源性收集数据需要()。

A、人工参与B、由人与计算机结合收集C、由人工收集D、不由人工参与3.1.9 通常唯一识别一个记录的一个或若干个数据项称为()。

A、主键B、副键C、鉴别键D、索引项3.1.10 在索引表中,被索引文件每个记录的关键字相对的是()。

A、文件名B、记录项C、数据项D、相应的存储地址3.1.11 某数据库文件共有6条记录执行了.GO 3.SKIP—5后RECNO()和BOF()的值是()A、-2,.T.B、0,.T.C、1,.T.D、1,.T.3.1.12 在FOXBASE中物理删除一个数据库文件的全部记录的命令是()。

A、DELDTEB、DELETE ALLC、PACKD、ZAP3.1.13 数据查询语言是一种()。

A、程序设计语言B、面向过程语言C、面向问题语言D、描述数据模型语言3.1.14 在计算机的各种存储器中,访问速度最快的是()。

7.《生产运作管理》第七章-从MRP到ERP2详解

7.《生产运作管理》第七章-从MRP到ERP2详解

代A 号
生产 1 周期/
周 库存 0 量/件
B
C
D
E
F
G
H
I
2
3
3
1
2
1
2
3
5 10 10 15 12 25 10 0
求:⑴ 若组装10 件产品 A ,还需多少件 E (除库存外)?
⑵ 根据进度安排,在第8周有一份产品 A 的的订单要交货,问该订单必须在那一周开始 生产,才能按时交货?
▪ 解:⑴ 组装10件A,必须生产20件B ,因B库存有5件, 故只需生产20-5=15(件);
▪ 80年代发展起来的制造资源计划(Manufacturing Resource Planning -MRP Ⅱ ),不仅涉及物料,而且涉及生产能力和一切 制造资源,是一种广泛的资源协调系统。它代表了一种新的生 产管理思想,又是一种新的组织生产的方式。MRP应包括在 MRPⅡ中。
▪ MRP和MRP Ⅱ 具有广泛的适用性,但它们主要优点能在多 品种小批量生产类型的加工装配企业得到最有效的发挥。
百叶窗的产品结构树(BOM)
百叶窗
框架 2
木制板条 4
百叶窗交货计划 (产品出产计划)
周1 2 3 4 5 6 7 8 数

100
150

▪ 1.在途订货:各期初始接受的公开订货。(前已订 的,在计划期内必定到的货物。)
▪ 2.计划持有量:各期初始期望的存货持有量,即已 在途订货加上期末存货。
末交货;第二份要150个,八周末交货。每个百叶窗包括4个木制 板条部份和2个框架,木制板条由工厂自制,制作周期为1周;框 架需要订购,订货提前期为2周。组装百叶窗需要1周。第一周时, 木制部份已有库存70个,框架无库存。 ▪
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第2章流水线技术流水线是计算机体系结构设计中普遍应用的技术。

本章介绍流水线的基本概念、表示方法、和分类,讨论流水线实现的基本结构、线性流水线的性能与非线性流水线的调度策略,分析流水线的相关及其处理方法。

2.1 流水线的基本概念2.1.1 多条指令的执行方式一条指令的执行过程可以分为多个阶段,通常分为三个阶段,执行过程如图2-1所示。

第一阶段是取指令,按照程序计数器的内容访问主存储器,取出是一条指令送到指令寄存器。

第二阶段是分析指令,对指令寄存器中的指令进行译码分析,即对指令操作码进行译码,分析指令的功能,依据给定的寻址方式和地址码字段的内容形成操作数地址,并读取操作数(立即数寻址除外);同时,程序计数器自动产生一个增量,指到下一条指令。

第三阶段是执行指令,根据操作码的要求,对操作数进行运算和处理,完成指令规定的功能,并把运算结果送到指定的地址中。

指令执行过程中的第一阶段,一定要访问主存(指令一定在主存中),而在后两个阶段,也可能要访问主存(当操作数在主存中时)。

当有多条指令要在一个处理机中完成时,可以有多种执行方式。

现假设3个阶段所需要的时间均为△t 。

2.1.1.1 顺序执行方式顺序执行方式是指在任何时刻,处理机中只有一条指令在执行,指令之间是顺序串行执行的,即第k条指令执行完成后,再执行完成第k+1条指令,依次类推。

多条指令执行过程如图2-2(a)所示,执行n条指令所需要的时间为T = 3n△t。

顺序执行方式的优点是控制简单,节省设备。

主要缺点有两个,一是处理机执行指令的速度慢。

只有当上一条指令执行完毕后,下一条指令才能开始执行。

二是功能部件的利用率低。

如取指令时主存是忙碌的,而指令执行部件是空闲的。

2.1.1.2 一次重叠执行方式一次重叠执行方式是指在任何时刻,处理机中至多只有两条指令在同时执行,即使第k 条指令的执行阶段与第k+1条指令的取指令同时进行。

多条指令执行过程如图2-2(b)所示,执行n条指令所需要的时间为T = (2n+1)△t。

一次重叠执行方式的主要优点有两个,一是执行n条指令所需要的时间缩短了近一半,二是功能部件的利用率明显提高,如主存可以基本上处于忙碌状态。

但是为此需要付出一定的代计算机体系结构 4 价,即需要增加一些硬件,控制过程也复杂一些。

例如,为了能够在执行第k 条指令的同时取第k+1条指令,必须再增加一个指令寄存器,用原来的指令寄存器存放第k 条指令,而新增加的指令寄存器存放第k+1条指令。

2.1.1.3 二次重叠执行方式二次重叠执行方式是指在任何时刻,处理机中至多可以有3条指令在同时执行,使第k-1条指令的执行阶段与第k 条指令的分析阶段、第k+1条指令的取指令同时进行。

多条指令执行过程如图2-2(c )所示,执行n 条指令所需要的时间为T = (n+2)△t 。

图2-2 多条指令的几种执行方式二次重叠执行方式进一步提高了指令的执行速度,相对顺序执行方式执行n 条指令所需要的时间缩短了近2/3,当然也需要付出更高的代价。

可见,实现多条指令重叠执行,使程序运行如同生产流水线一样源源不断地执行指令,就能有效地提高处理执行指令的速度。

当然,同时也会带来许多新的问题,就需要RISC 、先行控制、相关转移处理等许多新技术来支持。

2.1.2 什么是流水线计算机中的流水线与工厂中的生产流水线十分相似。

例如汽车装配生产流水线,整个装配分为多道工序(子过程),每道工序由一个或多个人完成,各道工序所花时间也差不多。

当整条流水线流动起来之后,每隔一定的时间间隔(即是一道工序的时间)就有一辆汽车下线。

如果跟踪一辆汽车装配的全过程,就会发现一辆汽车装配的总时间并没有缩短,但采用装配流水线后,由于多辆汽车时间上重叠装配,使得总体的装配速度得到极大的提高。

一般说来,流水线技术(Pipelining )是指把一个重复的处理过程分解为若干个子过程,当每个子过程都设置一个功能部件来实现时,一个过程的子过程可以与其他过程的不同的子过程同时进行,实现多个不同过程在时间上重叠进行的工作方式。

过程中所有子过程或实现子过程的所有功能部件按一定的次序连接在一起,即是流水线(Pipelining )。

从本质上讲,流水(a )顺序执行方式 (c )二次重叠执行方式(b )一次重叠执行方式第2章 流水线技术 5线技术是一种时间并行技术,是通过时间重叠的技术途径实现并行处理(时间并发性)。

流水线中的子过程或功能部件称为称为流水段(Stage ),或称流水节拍、流水步、流水步骤、流水阶段或功能段等,流水线中的段数称为流水线的深度(Pipelining Depth )。

过程从流水线的一端进入,经过流水线的处理,从流水线的另一端排出。

流水线技术是一种非常经济而又有效的技术,已成为计算机中普遍使用的一种并行处理技术。

采用流水线技术只需要增加少量的硬件,就能够把处理机的运算速度提高几倍。

2.1.3 流水线的表示方法流水线的表示方法有3种:连接图、时空图和预约表,其中时空图用于表示线性流水线,预约表用于表示非线性流水线,而连接图则均可表示。

现假设一条指令的执行过程分为取指、译码、执行、保存结果四个子过程,相应的指令流水线也要分为取指令、译码、执行、保存结果四个流水段,且对某些指令的执行流水段要重复使用一次。

相应的指令流水线可用连接图、时空图和预约表来表示。

2.1.3.1 连接图四个流水段的指令流水线的连接图如图2-3所示,其实质是将带执行时间的各流水段按照流水线的执行顺序从左到右排列,并用带箭头的直线把它们连接起来。

(a )线性指令流水线的连接图(b ) 非线性指令流水线的连接图图2-3 四功能段指令流水线连接图2.1.3.2 时空图图2-4 四功能段指令流水线时空图 时空图是一种最常用、能直观描述线性流水线工作过程的表示方法。

四个流水段的指令流水的时空图如图2-4所示。

其实质是利用平面直角坐标系的第一象限。

横坐标表示时间,即是输入到流水线的各个任务在流水线中所经过的时间。

当流水线中各个流水段的执行时间都相等时,横坐标被分割成相等长度的时间段。

纵坐标表示空间,即流水线的每一取指令译码执行保存结果空间 时间t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8t 4t 4计算机体系结构 4 个流水段。

从图中横坐标可以清楚看出,五条指令依次分别在t 0、t 1、t 2、t 3、t 4时刻进入流水线,在t 4、t 5、t 6、t 7、t 8时刻排出流水线。

在t 4 时刻以前,每经过一个时间间隔就有一条指令进入流水线。

从t 4 时刻开始,每经过一个时间间隔就有一条指令排出流水线。

从图中纵坐标也可清楚看出,在同一时间段内有多个流水段在同时执行指令。

例如,在t 4到t 5时间段,取指令、译码、执行、保存结果四个流水段分别在执行第5、4、3、2条指令的相应的子过程。

2.1.3.3 预约表预约表是一种最常用、能直观描述某过程非线性流水线工作状态的表示方法,如图2-3所示的四个流水段的指令流水线的预约表如图2-5所示。

其实质是利用一张表,行表示时间,列表示空间,表中用“×”表示行对应流水段在列对应时间段要被使用。

从预约表中可以看出,完成这条指令要五个时间段,且第3、4时间段均使用执行流水段。

图2-5 四功能段非线性指令流水线预约表2.1.4 流水线的分类从不同的角度,可以把流水线分成多种不同类型,以反映流水线在某一方面的结构、特点或性能。

2.1.4.1 按流水线的功能多寡分1.单功能流水线(Unifunction Pipelining )单功能流水线是指流水线各段之间的连接固定不变,只能完成一种固定功能的流水线。

例如:流水线浮点加法器专门完成浮点加法运算、流水线浮点乘法器专门完成浮点乘法运算。

如图2-6所示为浮点加法器的流水线的连接图,共有6个功能段,6个功能段间仅能以一种固定的形式连接在一起,实现惟一的浮点加法运算。

图2-6 六功能段线性单功能流水线的连接图2.多功能流水线(Multifunction Pipelining )多功能流水线是指流水线的各段可以实现不同的连接,在不同的时间内或在同一时间内,通过不同的连接方式实现不同的处理功能。

多功能流水线的典型代表是texas 仪器公司的高级科学计算机ASC 中采用的8段流水线,且功能段依次为输入、求阶差、对阶、尾数加、规格化、尾数乘、累加和输出。

在一台ASC 处理机内有4条相同的流水线,每条流水线都可通过不同的第2章流水线技术 5连接方式分别完成整数加减法运算、整数乘法运算、浮点加法运算、浮点乘法运算和实现逻辑运算、移位操作和数据转换功能等。

它除了支持标量运算之外,还支持向量运算,即可以构成非线性流水线。

如图2-7所示是TI-ASC计算机的功能流水线的部分连接关系,实现不同的运算要求使用流水线中的不同功能段,并在功能段之间建立不同的连接。

其中图2-7(c)是对两个浮点向量求点积的流水线的连接,它实际上是一个带有反馈回路的非线性流水线。

(a)定点乘法(b)浮点加法(c)浮点点积图2-7 TI-ASC计算机的多功能流水线2.1.4.2 按多功能流水线在同一时间内各段连接是否固定分在多功能流水线中,按照在同一时间内是否可以实现多种连接,来同时执行多种功能的要求,把多功能流水线分为静态流水线和动态流水线。

1.静态流水线(Static Pipelining)静态流水线是指在同一段时间内,多功能流水线只能按一种方式连接,实现一种功能。

只有当按照这种连接流入的所有处理的对象都流出流水线之后,多功能流水线才能重新进行连接以实现其他功能。

如图2-7所示的8段多功能流水线如果按照图2-8所示的时空图工作,那么就是一种静态流水线。

开始时,流水线按照实现浮点加减法的要求连接,当n个浮点加减法全部执行完成,最后一个浮点加减法运算的排空做完之后,多功能流水线才能实现定点乘法的连接,并开始做定点乘法运算。

2.动态流水线(Dynamic Pipelining)动态流水线是指在同一段时间内,多功能流水线中的各段可以实现多种连接,同时实现多种功能,当然任何一个功能段只能参加到一种连接中。

如图2-9所示是8段流水线的动态流水线的时空图。

由图可见,浮点加减运算尚未排空,流水线就已实现定点乘法的连接,并开始定点乘法运算。

在这一个时间段内,两种运算同时在同一条多功能流水线中分别使用不同的功能计算机体系结构 4 段。

图2-8 静态流水线的时空图特别地,在静态流水线中,只有程序中连续出现同一种运算时,流水线的效率才能得到充分的发挥。

如果输入到流水线的是一串不同运算相互间隔的操作,例如输入的一串操作是浮点加、定点乘、浮点加、定点乘……,则这条静态流水线的效率就同顺序执行方式完全一样。

相关文档
最新文档