第五章-标量处理机与流水线

合集下载

第五章 中央处理器 黑

第五章 中央处理器 黑

1、A.C. 23、采用4、CPU 5A.B.C.D. 6A.B.C.D. 78A.B.C.D. 9A. 10A.B.C.D. 11A.B.C.D.12、下列关于动态流水线正确的是()A.动态流水线是在同一时间内,当某些段正在实现某种运算时,另一些段却在进行另一种运算,这样对提高流水线的效率很有好处,但会使流水线控制变得很复杂B. 动态流水线是指运算操作并行C. 动态流水线是指指令步骤并行D. 动态流水线是指程序步骤并行13、流水CPU是由一系列叫做“段”的处理线路组成的。

一个m段流水线稳定时的CPU的吞吐能力,与m个并行部件的CPU 的吞吐能力相比()A.具有同等水平的吞吐能力B.不具备同等水平的吞吐能力C. 吞吐能力大于前者的吞吐能力D. 吞吐能力小于前者的吞吐能力14、设指令由取指、分析、执行3个子部件完成,并且每个子部件的时间均为△t,若采用常规标量流水线处理机(即处理机的度为1 )连续执行12条指令,共需15、若采用度为4的超标量流水线处理机,连续执行上述20条指令,只需16、设指令流水线把一条指令分为取指、分析、执行3个部分,且3部分的时间分别是t取指=2ns,t分析=2ns,t执行=1ns,则100条指令全部执行完毕需17、设指令由取指、分析、执行3个子部件完成,并且每个子部件的时间均为t,若采用常规标量流水线处理机,连续执行8条指令,则流水线的加速比为18、指令流水线中出现数据相关是流水线将受阻,()可解决数据相关问题。

A.增加硬件资源B.采用旁路技术C.采用分支预测技术D.以上都可以19、关于流水线技术的说法,错误的是()A.超标量技术需要配置多个功能部件和指令译码电路等B.与超标量技术和超流水线技术相比,超长指令字技术对优化编译器要求更高,而无其他硬件要求C.流水线按序流动时,在RAM、WAR和WAW中,只可能出现RAW相关D.超流水线技术相当于将流水线在分段,从而提高每个周期内功能部件的使用次数二、综合应用题1、某计算机的数据通路结构如图所示,写出实现ADD R1,(R2)的未操作序列(含取指令及确定后继指令的地址)。

计算机体系结构第五章 重叠、 流水与向量之一 2

计算机体系结构第五章  重叠、 流水与向量之一 2

(2)同一时间内各段之间的连接方式来分类
l 静态流水线 在同一时间内,流水线的各段只能按同一种功
能的连接方式工作,只有程序中连续出现同一种运 算时,流水线的效率才能得到充分的发挥。 l 动态流水线
在同一时间内,多功能流水线中的各段可以按 照不同的方式连接,同时执行多种功能。
优点:能提高流水线的效率。 缺点:会使流水线的控制变得复杂
空间
S4 S3 S2 S1 1
1
2
3
…n
1
2
3
…n
1
2
3…n
2
3
…n
SDti
(n-1)Dt2
Tm
时间
计算效率第二种方法:时空区法


n个任务占用的时空区 积面 m个流水段的总的时空 面区 积


任务数*每个任务所占的面积 设备数*流水线的整个工作时间
m
n Dti
i1 m Tm
T0 m Tm
2 3 … … n-1 n
mDt
(n-1) Dt
Tm
时间
各段执行时间相等,输入连续任务情况下完成n 个连续任务需要的总时间为:
Tm=m△t+(n-1)*△t
=(m+n-1)△t
吞吐率:
TP
n
(mn1)Dt
最大吞吐率为:
Tm P a x Ln i m (m n n1)DtD 1t
最大加速比为
Sma xLimmn m n mn1
如果流水线各段时间不相等
顺序执行需要的时间: T0=任务数*每个任务顺序通过流水线各段所需要
的时间
m
n Dti
i 1

第5章 重叠、流水和向量处理机

第5章  重叠、流水和向量处理机

1 TP max( Dt1, Dt 2, , Dtk )
– 流水线各段执行时间不相等的解决办法
输 入 S1 Dt1=Dt S2 Dt2=3Dt 1 1 1 2 2 3 2 3 … S3 Dt3=Dt 3 n S4 Dt4=Dt … n … n 输 出
空间 S4 S3 S2
S1 1
2
S D ti
2.流水线的分类 • 计算机系统在不同等级上的流水线(处理的级 别)
(1)流水的向下扩展指的是把子过程进一步细分,让每个 子过程经过的时间都同等程度地减少,吞吐率就会进 一步提高;部件级流水线(操作流水线)。 (2)流水的向上扩展可理解为在多个处理机之间的流水。 系统级流水是指构成计算机系统的多个处理机之间的 流水,也称为宏流水。处理机级流水线, 又称为指令 流水线 (Instruction Pipelining)。
5.1 重叠方式
5.1.1 基本思想和一次重叠 一条指令的执行过程可以分为多个阶段,如: 1. 取指 2. 分析 3. 执行 可以有多种处理方式:顺序执行、一次重叠、 二次重叠。
1、顺序解释:各条指令之间顺序串行地进行;每条指 令内部的各个微操作也顺序串行地进行。
对一条机器 指令的解释 2、解释一条机器指令的微操作可归并成取指令,分析 和执行三个部份 • 执行n条指令所用的时间为:
–计算流水线加速比的基本公式: S = 顺序执行时间T0 / 流水线执行时间Tm (1)各段执行时间相等,输入连续任务情况下 加速比为: m n Δ t0 m
Sp mΔ t0 ( n 1) Δ 0 t
m n (2)最大加速比为: Sm ax Li m
n Βιβλιοθήκη m 1 1 n3 … … n-1 n 时间 (k-1)Dt T

第5章_重叠、流水和向量处理机

第5章_重叠、流水和向量处理机

2.分类 流水线依据向下和向上扩展的思路,可分类出在计算机系 统不同等级上使用的流水线。向下扩展指的是把子过程进一 步细分,让每个子过程经过的时间都同等程度减少,吞吐率 就会进一步提高。向上扩展可理解为在多个处理机之间流水 ;流水线按照处理级别可分为部件级(部件内各子部件间的流 水)、处理机级(构成处理机的各部件之间的流水)和系统级( 构成计算机系统的多处理机之间的流水);从流水线具有功能 的多少来看,可以分为单功能流水线(只能实现单一功能的流 水)和多功能流水线(同一流水线的各个段之间可以有多种不 同的联接方式以实现多种不同的功能或功能);按多功能流水 线的各段能否允许同时用于多种不同功能联接流水,可把流 水线分成静态流水线(同一时间内各段只能按一种功能联接流 水)和动态流水线(同一时间内可按不同运算或功能联接);以 机器所具有的数据表示可把流水线处理机分为标量流水机(没 有向量数据表示,只能以标量循环方式处理向量和数据)和向 量流水机;从流水线中各功能段之间是否有反馈回路,分为 线性流水和非线性流水。
5.1.1 基本思想和一次重叠
接着,看 执行 k 与分析 k+1 。为了实现它们的重叠, 硬件上应有独立的指令分析部件和指令执行部件 。而 且,由于执行时间的不同,还需在 硬件上解决控制上 的同步问题。此外,当第k条指令是转移指令时,还需 采用延迟转移技术使重叠效率不致下降。 在控制上还需解决邻近指令之间可能出现的数和指 令相关的问题。
5.1.2 相关处理
1.指令相关的处理 如果采用机器指令可修改的办法经第 k 条指令的执 行来形成第 k+1 条指令,由于在执行 k 的末尾才形成第 k+1条指令,按照一次重叠的时间关系,为避免出错, 第k 、k+1 条指令就不能同时解释,这时这两条指令之 间就发生了指令相关。 为解决指令相关问题,可设置一条“执行”指令解 决 。在这条执行指令中,被修改的指令以“执行”指 令操作数形式出现,这样就 将指令相关转化成了数据 相关 因为操作数可以存放在主存,也可以存放在通用寄 存器中,这样就有了 主存空间的数相关 和 通用寄存器 组的数相关。

第5章重叠、流水和向量流水处理机

第5章重叠、流水和向量流水处理机

读数据缓冲 区
写数据缓冲 区 执行 部件
数据缓冲栈
先行操作栈
第 5 章 重叠、流水和向量流水处理机
5.1.2 相关处理
1. 转移指令的处理
采用延迟转移技术,将转移指令与条件转移无关的第k-1条指
令交换一下位置,即使转移成功也不会使重叠效率下降。
2. 指令相关的处理
“执行”指令是IBM 370机器为此设置的一条指令,其形式为
第 5 章 重叠、流水和向量流水处理机
第 5 章 重叠、流水和向量流水处理机
5.1 重叠方式
5.2 流水方式
5.3 向量的流水处理与向量流水处理机
第 5 章 重叠、流水和向量流水处理机
本章要点
“一次重叠”方式中各种相关的处理;
流水线的时空图和性能分析;
流水的局部性相关处理,全局性相关处理
单功能非线性流水线的调度;
执行部件空闲
执行k+1
分析k+2
分析k
执行k
分析k+1
分析k+1
执行k+2
执行k+1
分析k+2 执行k+2
分析部件空闲
T重 t 分 1 T先 t 分 1
m ax(t 分 ,t执
i i 2 n
n (a)重叠方式
(b)先行控制
i 1
) t 执n
t执
i 1
i
第 5 章 重叠、流水和向量流水处理机
第 5 章 重叠、流水和向量流水处理机
流水线各段执行时间不相等的情况下的实际吞吐率为:
TP n
t
i 1
k
i
(n 1) max( t1 , t 2 ,, t k )

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

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

ADD R1,R2,R3 If R2=0 then
延迟槽
SUB R4,R5,R6
ADD R1,R2,R3 If R1=0 then SUB R4,R5,R6 (c) 自转移不发生处调入 ...
...
5.3 流水的实现和控制 - 流水线中的中断处理

两种中断处理方法

非精确断点法 精确断点法
5.4 先进的流水调度技术 - 动态调度(1)
5.3 标量流水工作原理 -流水操作中的主要障碍(12)
其它解决方法:
• • • • • •
1. 尽早判断转移是否成功和生成转移目标地址 2. 预取转移成功和转移不成功两个方向的指令 3. 加快和提前形成条件码 4. 加快短循环的处理 5. 提高转移方向的猜准率
6. 采用延迟转移技术
5.3 标量流水工作原理 -流水操作中的主要障碍(13)
延迟槽
(a) 由if前一条指令调入
5.3 标量流水工作原理 -流水操作中的主要障碍(16)

延迟转移技术
(2) 将转移目标处的 那条指令调度到 延迟槽中。当转 移不发生时,此 条指令的执行结 果应对其他指令 没有影响。
LOOP:SUB R4,R5,R6 ... 复 制
ADD R1,R2,R3 If R1=0 then 延迟槽
LOOP:SUB R4,R5,R6 ...
ADD R1,R2,R3 If R1=0 then
SUB R4,R5,R6 (b) 由转移目标处调入
5.3 标量流水工作原理 -流水操作中的主要障碍(17)

延迟转移技术
(3) 将转移不发生时 该执行的那条指 令调度到延迟槽 中。要求当转移 发生时,该指令 的执行结果对其 他指令没有影响。 移动

计算机系统结构第五章

计算机系统结构第五章
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)

自考《计算机系统结构》第5章精讲

自考《计算机系统结构》第5章精讲

自考《计算机系统结构》第5章精讲第五章标量流水技术在学这一章之前,我们先想一下”流水”是什么意思,我们看到过工厂的生产流水线,每一个工序都在工作,每一个工人都没有闲着,他们同时在工作,做着同一件事,流水线每隔一个拍子就出来一个成品。

这样的生产效率是很高的。

如果不是用流水线,而是从开始一道工序一道工序地往后传递直到做成一个成品再从第一道工序开始生产,那么,在前一道工序完成任务之前,后面工序就会在等待,每个时刻只有一个工序在工作。

这样的效率是很低的,即使每一道工序的工作速度提高很多。

计算机的流水技术也就是应用了这样的技术,它从系统结构上考虑使计算机在运行时各个”工序”都不能闲着,每时刻都要在进行处理。

这就是引入的并行处理能力。

流水控制方式就是一种非常经济有效的方法。

一、控制流及其改变(领会)编过程序的人都知道,算法中,常常需要程序的流程发生转移,比如从这条语句跳到另一条语句。

控制流就是被处理的指令序列的执行挨次。

当程序在执行过程中遇到以下一些情况下时,控制流就要发生改变:1.转移指令。

2.过程调用和返回。

3.协同程序。

4.中断和自陷。

控制流的改变就使得程序在执行时,要在存储器中不相邻的地址处读取指令。

二、标量流水工作原理(领会)这里我们提一下标量。

标量是代数量的一种,它们构成一个域,通常是实数或复数。

我们可以理解为单个的量。

这是与向量相对的概念。

而向量是通常由标量的一组有序集合表示的量。

在我们这里,它是一种地址,比如一个数组在C语言中用a[10]表示,实际上它指示的是一个首地址a,长度为10.这10个数据的存储空间在存储器中就是一个向量。

在计算机中采用的重叠操作是指计算机中不同部件或同一部件内的各种操作在时间上存在重叠的部分。

就像上面提到的各个工序的工人们在操作时间上存在重叠的部分。

指令的解释方式一般分为挨次、重叠、流水三种。

在这一节内容中。

我们要掌握的就是重叠操作后指令执行时间的计算。

以及采用先行控制技术后时间的计算。

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

第五章 标量处理机与流水线 选择题 25,简答题10,演算题 15 1 选择题 ★ 1. 假设一条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每一段的执行时间分别为t、t2和t3,顺序执行n条指令至少需要花费的时间为: A. tn3 B. tn2 C. tn6 D. tn 答案:C ★★ 2. 假设一条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每一段的执行时间均为t,连续执行n条指令所需要花费的最短时间约为(假设仅有“取指令”和“执行”可重叠并假设n足够大): A. tn3 B. tn2

C. tn23 D. tn 答案B 3. 假设一条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每一段的执行时间均为t,连续执行n条指令所需要花费的最短时间约为(假设仅有“取指令”和“分析”可重叠并假设n足够大): A. tn3 B. tn2

C. tn23 D. tn 答案B ★★ 4. 假设一条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每一段的执行时间分别为t、t2和t3,连续执行n条指令所需要花费的最短时间约为(假设仅有“取指令”和“执行:”可重叠并假设n足够大): A. tn6 B. tn5 C. tn3 D. tn 答案B ★★ 5. 假设一条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每一段分别只有一个部件可供使用并且执行时间分别为t、t2和t3,连续执行n条指令所需要花费的最短时间约为(假设“取指令”、“分析”和“执行”可重叠并假设n足够大): A. tn6 B. tn2 C. tn3 D. tn 答案C ★★ 6. 看下述程序段: k: R0=R1×R4 k+1: R6=R5+1 k+2: R2=R0×R3 k+3: R3=R4-1 k+4: R2=R5 K+5: …… 下列哪个数据相关没有在上述程序段中发生 A. 先写后读相关 B. 写-写相关 C. 先读后写相关 D. 以上都不对 答案:D ★ 7. 看下述程序段: k: R5=R2 k+1: R0=R1×R4 k+2: R2=R5+1 k+3: R4=R0×R3 k+4: R3=R4-1 K+5: …… k和k+2之间发生的是什么数据相关 I. 先写后读相关 II.写-写相关 III. 先读后写相关 A. 只有I B. 只有I、II C. 只有I、III D. 以上都不对 答案:C ★ 8. 一条流水线可分为k段,各段的执行时间都是t,共向该流水线输入n个任务,第n个任务结束于: A. tnk

B. tnk

C. 1nk D. tnk1 答案:D ★ 9. 一条流水线的可分为k段,各段的执行时间都是t,共向该流水线输入n个任务,求该流水线实际吞吐率的为:

A. tknTP

B. tnknTP1 C. tTP1

D. tnknTP)1( 答案:D ★ 10. 一条流水线可以由以下时空图来表示,求该流水线的实际吞吐率(假设n=100)

A. MIPS1 B. MIPS04.1

1 2 3 …n-1 n 1 2 3 …n-1 n 1 2 3 …n-1 n 1 2 3 …n-1 n 时间 空 间 0 4ns C. MIPS9709.0 D. MIPS9615.0 答案:C ★★ 11. 一条4段的流水线可以由以下时空图来表示,求该流水线的实际吞吐率(假设n=100)

A. MIPS1 B. MIPS165.0 C. MIPS167.0 D. MIPS328.0 答案:D ★ 12. 一条流水线可以由以下时空图来表示,求该流水线的加速比

A. 2 B. 3

1 2 3 n 1 2 3 …… n …… 1 2 3 n ……

1 2 3 n ……

时间(ns) 空 间

1 2 3 4 5 6 0

1 2 3 …n-1 n 1 2 3 …n-1 n 1 2 3 …n-1 n 1 2 3 …n-1 n 时间 空 间 0 4ns C. 4 D. 6 答案:C ★ 13. 一条4段流水线,每段执行时间为1ns,求该流水线执行100条指令最大效率为: A. 100% B. 96.2% C. 97.1% D. 388% 答案:C ★

14. 如下图所示的浮点加法流水部件,计算10,,2,1iZYXiii,流水线经过多少时钟后排空(假设时钟为t)

A. 16 B. 15 C. 14 D. 13 答案:B ★ 15. 某动态流水线有S1、S2、S3和S4段,其特性由下图所示的预约表来表示 t0 t1 t2 t3 t4 t5 t6 S1 S2 S3 S4 问该流水线的冲突向量是: A. (111111) B. (110111) C. (010101) D. (101010) 答案:D ★★ 16. 某动态流水线有S1、S2、S3和S4段,其特性由下图所示的预约表来表示

输入 S1 S2 S3 S4 输出 t1=Δt t1=Δ3t t1=Δt t1=Δt S2

S2 t0 t1 t2 t3 t4 t5 t6 S1 S2 S3 S4 求该流水线的最小平均启动周期 A. 6 B. 5 C. 4 D. 3.5 答案:C ★ 17. 下图所示的时空图对应的处理机为:

A. 标量处理机 B. 超标量处理机 C. 超流水处理机 D. 超标量超流水处理机 答案:C ★

18. 一台nm,度的超标量超流水线处理机的指令并行度为 A. m B. m(n-1) C. (m-1)(n-1) D. mn ★★★ 19. 连续执行100条指令时,一台2度的超标量处理机的最大效率是多少(假设

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 时钟周期 指

I1

I2

I3

I5

I6

1 2 3 4 这里的每条流水线是4段标准流水线的流水线) A. 100% B. 97.1% C. 94.3% D. 92.6% 答案:C ★★★ 20. 连续执行100条指令时,一台5度的超标量超流水线处理机的最大效率是多少(假设这里的每条流水线是基于4段标准流水线的超标量流水线) A. 100% B. 97.09% C. 96.34% D. 96.15% 答案:C ★ 21. 在不同结构的处理机上运行的矩阵乘法C=A×B,假设A是m×n阶的矩阵,B是n×l阶的矩阵,则最少需要进行多少次乘法和多少次加法 A. mn, nl B. mnl, ml(n-1) C. mnl, mn(l-1) D. mnl, mnl 答案:B ★★ 22. 试比较在指令并行度较低的情况下,具有相同指令并行度的超标量处理机a和超流水线处理机b的效率 A. a>b B. a=b C. aD. 不能确定(和指令数有关) 答案:A ★★

23. 一条4个功能段的加-乘静态流水线,四个功能段如下所示,计算81iiiBA,最少需要经过多少时间,假设运算的结果必须先写入到缓冲存储器才能供输入端使用。并且只有当一个流水线排空后流水线才可以发生另一种运算。 (1) 取指 (2) 译码、取数 (3) 运算 (4) 写结果 A. 19 B. 23 C. 25 D. 27 答案:C ★★ 24. 一条4个功能段的加-乘静态流水线,四个功能段如下所示,计算81iiiBA,最少需要经过多少时间,假设运算的结果有专门的输出通路连接到输入端。并且只有当一个流水线排空后流水线才可以发生另一种运算。 (5) 取指 (6) 译码、取数 (7) 运算 (8) 写结果 A. 16 B. 23 C. 25 D. 27 答案:B ★ 25. 一台标量处理机,具有一条5级指令流水线,每级均耗时1个时钟周期,执行一个具有20条指令的代码序列。现将此标量处理机改为超流水线处理机,采用同样基准的指令流水线,不同的是每隔1/4个时钟周期发射1条指令,执行相同的代码序列。问前后两次执行的加速比。 A. 2.4 B. 2.46 C. 2.67 D. 2.75 答案:B

相关文档
最新文档