当前位置:文档之家› 计算机系统结构第五章

计算机系统结构第五章

S2:两个尾数相加求和。
S3:规格化尾数,数前导0,左移尾数
S4:修改阶码
设4个段的延时为
S1=60ns S2=50ns S3=90ns S4=80ns
L=10ns
四个阶段最大延迟时间为90+10=100ns,流水线满载运行
时,每100ns可完成一次浮点加法操作。
顺序执行时,完成一次浮点加法操作需要的时间为:
同一功能部件所发生的冲突。例如:
时钟1 2 3 4 5 6 7 8
指令LOAD IF ID EXMEMWB
指令I+1 IF ID EX MEM WB
指令I+2 IF ID EX MEM WB
指令I+3IFID EX MEM WB
访存冲突
解决冲突的办法:停顿一拍流水线。
指令LOAD IF ID EX MEM WB
行操作栈、数据缓冲站等。先行控制结构图如下:
数据缓冲栈
5.2.2标量流水工作原理
流水是重叠方式的进步发展,如把一条指令的解释细
分为:取指、译码、执行、访存、写回寄存器五个子过程,
相邻指令之间多个子过程时间上重叠操作,如下图所示。
S空间
(功能段)建立(填入)正常(满载)排空
S5 1 2 3 4 5 n
的段数m应尽可能大,即加大流水线深度。
3.效率(E)
效率是指流水线中的各功能段的利用率。具体可用流
水线各段处于工作时间的时空区与流水各段总的时空区的
比来衡量流水线的效率。
n个任务占用的时空区
m段总的时空区
这说明效率与实际吞吐率Tp成正比。
5.2.5流水线性能分析举例
设有A,B两个向量:
A = (a1,a2,a3,a4)
T = ( n + 2) t

T = ( 2n + 1) t
重叠方式需增设指令缓冲寄存器,在执行k条指令时存放
k+1条指令。同时还要解决取操作数与取指令都要访问存
储器的冲突。
解决冲突的方法:
•使用分开的指令存储器和数据存储器,称为哈佛结构,
如Pentium处理器设置有指令Cache和数据Cache。
(2)优化编译,重新排序和调度指令序列,以消除空泡。
指令流水线有按序流动和非按序流动之分,由此数据相
关除了RAW,还有WAR和WAW,共三种类形。例如,有i和
分析k+1执行k+1
分析k+2执行k+2
空闲
解释n条指令的时间为:
T = t分1+ (max(t分i,t执i–1)) + t执n
要消除空闲等待的时间,可进行如下操作:
分析k执行k
分析k+1执行k+1
分析k+2执行k+2
T = t分1+ t执I
为此,必须采用先行控制技术,即指令预取、指令先行分
析、预取数据等。并增设有关部件,如:指令缓冲站、先
RAW相关(Read after write)。例如:
ADD R1,R2,R3 (R2) + (R3)→R1
SUB R4,R1,R5 (R1) – (R5) →R4
指令流水操作:
时钟1 2 3 4 5写R1
ADD IF ID EX MEMWB
SUB IFIDEX MEM WB
读R1
ADD指令在笫5时钟周期将运算结果写入R1,而SUB指
s1 1 2 3 4 1 2 3
t
总计算时间T = 17∆t,流出结果7个。
%
顺序串行执行,即非流水操作,所需时间为:
T1 = 4×3∆t + 3×5∆t = 27∆t,所以
这个例子表明流水线的吞吐率、效率及加速比均不是很理
想,这是由于功能切换时,要有额外的建立和排空的开销。
此外还有相关问题。流水线适合的操作是求解操作相同,
流水的物理实现称流水线,其一般结构如下:
L L L L L
输入输出
时钟
L:锁存器,锁定时间为∆tl,
Si:功能段,延迟时间为∆ts。1
流水线最高最高工作频率为:
∆ts + ∆tl
流水线有以下特点:
(1)一条流水线通常由多个流水段组成,
(2)每个流水段有专门的功能部件,相邻两个功能部
件由锁存器隔开,
(3)各流水段所需时间是一样的,
后继指令使用出现的相关称装载延迟。如下例:写R1
LOAD R1,A IF ID EXMEMWB
ADD R3,R1,R2 IFIDEX MEM WB
读R1
此时专用通路不起作用,因为从存储器读取数据是MEM
功能段,不可能提供ADD指令在EX功能段的运算用。解
决方法有两种:
(1)停顿流水线直至数据竞争消失,停顿周期称空泡。
流水线按不同的应用,有不同的结构、形式和功能:
1.按处理级别分
操作部件级:如浮点加减运算,
指令级:如指令的解释执行,
处理机级:多处理机的流水操作。
2.按功能分
单功能:只是一种连接,完成一种功能。
多功能:有多种连接组成流水控制,完成多种功能。
如不同连接实现:定点加、浮点加、定点乘
浮点向量点积等。
3.按工作方式分
2l + S1 + S2 + S3 + S4 = 20 + 60 + 50 + 90 + 80 = 300ns
采用流水线运算速度提高三倍。下图为浮点加法流水线。
P a q b
阶码
S1减法器
t= | p-q |
r=max(p,q)
L L L
尾数
r加法器
S2
L L
S3 r
L L L
阶码
S4加法器
L L
5.2.3流水线分类
指令I+1 IF ID EX MEM WB
指令I+2 IF ID EX MEM WB
指令I+3停顿IF ID EX MEM WB
5.3.2数据相关冲突
这是多条指令在流水线中重叠操作,使对操作数访问
的顺序发生变化所产生的冲突。
常见的是后继指令所需的操作数是前一指令运算的结
果,而此时结果却未产生。称此为先写后读相关,简称为
实际吞吐率
流水线在开始时有一段建立时间,结束时有一段排空时间,
还有各种相关因素使流水线无法继续流动,所以实际吞吐
率总是小于最大吞吐率。当n ›› m时,Tp ≈ Tpmax。
2.加速比(Sp)
这是流水方式的工作速度与等效的顺序串行方式的工
作速度之比,具体计算如下:
当n ›› m时,Sp ≈ m。这说明要获得高的加速比,流水线
指、分析、执行三个阶段,指令解释执行如下图所示:
设各阶段执行时间为t,解释n条指令的时间是:
若各阶段执行时间不同,分别为t取、t分、t执,则解释
n条指令时间为:
(t取i+t分i+t执i)
顺序方式控制简单,但指令串行解释速度慢,设备利用率
低。
2.重叠方式
这是使相邻指令的解释在一些阶段上的操作在时间上
重叠执行,如:
输入
输出
5.按维数分
有一维和多维之分,如脉动流水控制是平面型的。
5.2.4流水线的主要性能及其分析
衡量流水线性能主要有三个指标:
1.吞吐率(Tp)
吞吐率是指单位时间内能处理的任务数或输出的结果
数。
(1)最大吞吐率
流水线达到稳定状态后可获得的吞吐率。表示为:
如下面流水线,
∆t ∆t 3∆t ∆t
流水线工作时钟周期按max{∆ti, i=1,2…n}确定,这是直接
影响吞吐率的,所以称其为瓶颈。
提高流水线吞吐率需寻找并消除瓶颈。一般有两种方
法。
S
S4 1 2 3 4
S3 1 2 3 4
S2 1 2 3 4
S1 1 2 3 4
t
•瓶颈段细分
∆t ∆t ∆t ∆t ∆t ∆t
•重复设置瓶颈段
∆t ∆t ∆t
3∆t
时空图如下:
S
S4 1 2 3 4 5 6 7 8 9 10
且输入、输出间相互独立的一大串运算,此时,流水线的
吞吐率可接近最大吞吐率,效率接近于1,而加速比也可
接近流水线的段数值。
5.3流水操作中的主要障碍
流水操作中可能出现的相关会造成流水线断流,下面
以一RISC机的一个五段流水线为例,分析流水线中可能
出现的相关和解决的办法。
不同类型指令在各流水功能段进行的操作
第五章
标量流水技术
计算机处理器的主要功能是控制指令的解释执行,为
了能引入并行处理,目前普遍使用一种经济有效的方法,
即流水控制方式。
本章讨论的是有关流水控制的概念、原理、涉及的问
题与解决的办法,以及流水控制技术的应用和进一步的发
展。
5.1控制流及其改变
按算法要求控制指令序列的先后顺序执行称控制流,
通常指令的执行顺序是相继的,但控制流经常会发生间断,
(4)流水线工作分建立、满载和排空三个阶段,
(5)流水线满载工作时,每隔∆t时间有一个结果流出
流水线。
上面流水线用于指令的解释,其实也可以用于运算操
作,例如浮点运算。下面是浮点加法运算的流水操作。
两个浮点数相加分四个阶段:
S1:对阶r = max(p,q),t = | p-q |,小阶尾数右
移t位。
静态:同一时间内只能以一种方式工作,可以是单功
能和多功能,多功能时从一种功能切换到另一
种功能,流水线必须排空,然后重新建立。
动态:同一时间内将不同的功能段连接成不同的功能
子集,完成不同的运算功能。
相关主题