标量处理机

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
入 取指 令 △t1 指令 译码 △ t2 取操 作数 △ t3 指令 执行 △ t4 出
空间
执行 取操作数 指令译码 取指令
1 1 1 1 2 2 3 2 3 4
2 3 4 5
3 4 5
4 5
5
△ t2
8△ t2
时间
流水处理的时-空图
若完成一条指令的时间为T,对于一次重叠:T=2 △t1, 则△t1=T/2,吞吐率比顺序方式提高了1倍; 对于流水方式,T=4 △t2 ,则△t2=T/4。吞吐率比 顺序方式提高了3倍。 流水的最大吞吐率是指当流水线正常满负荷 流动时,才会每隔△t流出一个结果所达到的吞吐 率。
取指k 分析k 执行k 取指k+1 分析k+1 执行k+1 (a) 顺序解释
取指k
分析k
执行k 取指k+2 分析k+2 执行k+2
取指k+1 分析k+1 执行k+1
(b) 重叠解释
顺序解释的优点是控制简单;缺点 是速度低,各部件的利用率低; 重叠解释优点是能加快相邻两条或 多条指令的解释速度,但不能加快单条 指令的解释。
R4 R1 * R0
k: 存 通用寄存器, k+1 ;(通用寄存器) k+1
k+1: …………
一、转移指令的处理
采用延迟转移技术
二、指令相关的处理 在程序中发生指令相关,会使已预取进指缓 中的指令作废,并重取、更换指缓中的内容。同 时,控制起来复杂,还增加了辅助操作的时间。 发生指令相关,其原因是由于程序运行过程 中允许修改指令所引起的。 解决办法是不准修改指令,或是通过设置 “执行”指令,将指令相关改为数相关。
◆ 效率
流水线的效率是指流水线中的设备实际使 用时间占整个运行时间之比,也称流水线设 备的时间利用率。 如果各段经过时间相等△t i时,由流水时 空图可得:
m nt 0 n TP t 0 m T m n 1
流水线的性能分析
如果各段经过时间不相等时,各段的效 率也会不等。
主存空间数相关,即出现对同一主存单元 的先写入而后再读出的关联。 解决办法:推后“分析”法,即推后“分析”的 读。通过由存控给读数、写数设置不同的访存优 先级,让写数的级别高于读数级别被响应即可。
写入m
分析k
执行k(写数申请)
分析k +1(读数申请)
执行k+1
需读m
⑴ 主存数相关的时间关系 分析k 执行k(写数)
实现重叠技术需要注意的问题:
⑴ 解决好主存访问冲突的问题
一种办法是让操作数和指令分别存放 于两个独立编址且可同时访问的存贮器中; 二是采用多体交叉主存结构;三是增设指 令缓冲寄存器。
采用指缓技术可以缩短取指令的时间,因 此可以把此时间合并到分析指令内。要求:有 独立的指令分析部件和执行部件。
分析k 执行k 分析k+1 执行k+1 分析k+2 执行k+2 图5.3 一次重叠方式
流水线的性能分析
如果各个功能段经过时间△t i不等时,其 中瓶颈段的时间为△tj,则完成n 个任务所能 达到的实际吞吐率:
TP
n
t (n 1)t
i
m
j
ຫໍສະໝຸດ Baidu
i 1
4 3 2 1 1
1 1 1 2 2
i
2 2 3 3 4 3
3 4 4
( n 1) tj
4
t
i 1
m
流水线的性能分析
0 0 0
如果各功能段经过的时间不均等时,
Sp

n ti
i 1
m
ti n 1ti
m
i 1
流水线工作举例
设有两个向量A和B,各有4个元素,要在如图(a)所示的 4 静态双功能流水线上计算向量点积 A B aib。 i
i 1
其中,1→2→3→5组成加法流水线,1→4→5组成乘法流 水线。又设每个流水线所经过的时间均为△t,而且流水 线的输出结果可以直接返回到输入或暂存于相应的缓冲寄 存器中,其延迟时间和功能切换所需要的时间都可以忽略 不计。请求出流水线从开始流入到结果流出这段时间的实 际吞吐率TP和效率η。
“瓶颈”部分再细分-性能分 析
空间
S4 S3 S2-3 S2-2 1 1 2 1 2 …
△t
1 2 … n-1
△t △t △t
2 … n-1 n … n-1 n n-1 n
△t
n
S2-1
S1 1 △t
1
2
2


n-1
n-1
n
n
最大吞吐率TP max =
时间 T
1 t
图4
流水线瓶颈的解决II 方法二:重复设置瓶颈功能段 S2-1
3△t
2 3 3
3 4
3△t
S4 S3 S2 S1 1
3△t
4 4
1 1
2
2 3
图2
1
△t
2
4
15 △t
时间
流水线瓶颈的解决I
方法一:将流水线的“瓶颈”部分再细分。如图3 所示:

S1
△t
S2-1
△t
S2-2
△t 图3
S2-3
△t
S3
△t
S4
△t

请参看下述流水时空图
m nt n 效率= m (mt (n 1)t ) m n 1
加快机器语言的解释是计算机组成设计的 基本任务,可以从两方面来实现:一是通过采 用更高速的器件、采取更好的算法、提高指令 各微操作的并行程度、减少解释过程所需要的 时间等来实现;二是,通过同时解释多条指令 来实现。
本章着重讲述重叠、流水两种控制方式的 基本原理、实现中要解决的问题和办法,以及 性能分析等。
一、重叠原理与一次重叠 指令的顺序解释方式,是指各条机器指令之 间顺序串行地执行,执行完一条指令后才取出下 条指令来执行,且每条机器指令内部的各个微操 作也是顺序串行地执行。
取指令 分析 执行
取指令,是按指令计数器的内容访主存,取 出该指令送到指令寄存器。指令的分析指的是对 指令的操作码进行译码,按寻址方式和地址字段 形成操作数真地址,并用此地址去取操作数,同 时为准备下条指令提前形成下条指令的地址。指 令的执行是对操作数进行运算、处理、或存贮运 算结果。
二、流水线的分类
流水线从不同的角度可以有不同的分类。 1、流水线的级别看,有部件级的流水(构成部件 内的各个子部件之间的流水)、处理机级流水(构 成计算机系统的各个部件之间的流水)、系统级 流水(构成计算机系统的多个处理机之间的流水, 也称为宏流水) 2、流水线具有的功能的多少看,分为单功能流水 线(只能实现一种功能的流水处理)和多功能流水 线(同一流水线的各个段之间可以有多种不同的 连接方式实现多种不同的运算或功能)。
3、按多功能流水线的各段能否允许同时用于 多种不同功能连接流水,可把流水线分为静态 流水线和动态流水线。
静态流水线是同一时间内各段只能按一种 功能连接流水,只有等流水线全部流空后才能 切换成按另一种功能来连接流水。 动态流水线的各功能段在同一时间内可 按不同运算或功能联接。
4、从连接图中看,具有反馈回路的流水线称为 非线性流水,没有反馈回路的流水线称为线性 流水
图1
S4
△t

熟悉掌握解决瓶颈的方法及其性能分析;
如图所示,流水线流经四个功能段S1、S2、S3、S4 所需时间不完全相等,使得S2功能段一直处于忙碌状态, 而其余各段许多时间是空闲的,在资源上是一种浪费。 称S2段为“瓶颈段”。
流水线时空图如下所示:
1 最大吞吐率 TP max 3t
空间
6 4t 2 效率 = 4 15t 5
X Y
1
2 4
(a)
3
5
Z
空间
5 4 3 2 1
0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15
a 1 b1 + a 2 b2 a 3 b3 + a 4 b4 a 1 b1 + a 2 b2 a 3 b3 + a 4 b4
时间(△t)
X:a1 a2 a3 a4 输入 Y:b1 b2 b3 b4
5.2.2 标量流水线的主要性能
空间
(段号) 段数m = 4
执行
取操作数 指令译码 取指令 0
1 1
1 2
2 3
3 4
4 5
5 …
… …
… …
… n-1
n-1 n
n
1
2
2
3
3
4
4
5
5






n-1
n-1
n
n
t1
t2
t3
t4
t5
t6
t7
T 0 mt 0
(n 1)t 0
t8 … tn-1 tn …
0 78 11 12 15 16 19 20 31
执行
R1
X2
B2
D2
“执行”指令本身并不实际执行,它执行的是 由第二地址((X2)+(B2)+(D2))决定的主存单元中 的指令。该主存单元在数据区。程序执行过程 中,可以先修改这条位于数据区中的指令,然 后再执行“执行”指令。
三、主存空间数相关的处理

用基/变址值



取操作数 用操作数
——推后“分析” 法
——设置相关专用通路
设操作数的有效地址:(Xd) + (B2 ) · (B2≠ 0000) +d2 由分析器内的地址加法器形成。
一、基本概念 流水,是重叠的引申。
k+1 入 k
分析
△ t1
执行
△ t1

把“分析”子过程再细分成“取指令”、 “指令译码”、“取操作数”三个子过程,并改 进运算器的结构以加快其“执行”子过程,每个 子过程由独立的子部件实现,让经过的时间都为 △t2,如下图:(△t1= △t2=△t3= △t4= △t2 )
推后一个 主存周期
分析k+1(读数) 执行k+1
读m
⑵ 由存控推后“分析k+1”的读
四、通用寄存器组相关的处理
操作码
操作码
L1
L1
L3
L3
B2
d2
L2
通用寄存器中可以存放基址值或变址值,及 操作数和运算结果,如上,L1、 L3分别指示 存放第一操作数和运算结果的通用寄存器号, d2为相对位移量。L2表示存放第二操作数的通 用寄存器号。 存结果
n个任务实际占用的时-空区 m个段总时-空区

n ti
i 1
m
m m ti (n 1)tj i 1
◆加速比,指流水线方式相对非流水线顺序串 行方式速度提高的比值Sp。 如果各功能段经过时间均相等时,
nmt m Sp mt n 1t 1 m 1 n
时间
T
(d) 流水时空图
流水线的性能分析
吞吐率(TP,Throughput Rate)和效率 (η,Efficiency)。 ◆ 吞吐率 吞吐率是流水线单位时间里流出的任务数或 结果数。 假设流水线各段经过时间△t i均相等时,由上述 流水时空图可得:
n 1 TP mt 0 (n 1)t 0 t 0(1 m 1) n
2、流水线中各功能段的时间应尽量相等,否则 将引起堵塞、断流。要求流水线的时钟周期不 能快于最慢的流水段。另一方面,执行时间长 的一个流水段将成为整个流水线的瓶颈,此时 流水线中的其他功能部件就不能发挥作用。因 此瓶颈问题是流水线设计中必须解决的问题。
3、只有连续不断地提供同一种任务时才能 发挥流水线的效率。例如,要使浮点加法器 流水线充分发挥作用,需要连续提供浮点加 法运算。 4、流水线需要有装入时间和排空时间。装入 时间是指第一个任务进入流水线到输出流水 线的时间。排空时间是指第n个(最后一个)任 务进入流水线到输出流水线的时间。在这两 种情况下,流水线不满载。只有流水线完全 满载时,整个流水线的效率才能得到充分发 挥。
1 1 2 3 线性流水 2 3 非线性流水 4 4
5、以机器所具有的数据表示可以分为标量流 水处理机和向量流水处理机。
三、流水线的特点
1、流水线每一个功能段部件后面都要有一个 缓冲寄存器,或称为锁存器,其作用是保存 本流水段的结果,由于流水线中每一个流水 段的延迟时间不可能绝对相等,再加上电路 的延迟时间及时钟等都存在偏移,因此流水 段之间传送任务时,必须通过锁存器。在每 个子过程后加个锁存器,受同一时钟的控制, 时钟信号的周期不得低于速度最慢子部件的 经过时间与锁存器的存取时间之和。
输出 Z:
a 1 b1 a 3 b3 a 2 b2 a 4 b 4
a 2 b2 a 4 b4 a1b1 a3b3
ab
i
4
i
i 1
(b)
流水线工作举例
流水线的实际吞吐率
7 TP 15 t
效率:
3 4t 4 3t 5 15t
取指令
指令译码
取操作数
执行

S1 S2 S3 理解流水线中“瓶颈”的含义; △t 3△t △t
⑵ 解决好同步控制问题。即保证让任何时候 “执行k”与“分析k+1”同步。
⑶ 解决控制上的其他问题:转移指令的使用、 指令之间存在的关联等。
采用重叠方式的机器中应尽量减少程序中条件 转移指令的使用,否则会使重叠效率显著下降。
在控制上要解决好邻近指令之间的数据相关 和指令相关。 R1 R2 + R3
相关文档
最新文档