计算机系统结构作业答案第三章
- 格式:doc
- 大小:62.50 KB
- 文档页数:4
设一条指令的执行过程分为取指令,分析指令和执行指令3个阶段,每个阶段所需时间分
别为ΔT, ΔT, 2ΔT,分别求出下列各种情况下,连续执行N条指令所需的时间。
(1) 顺序执行方式
(2) 只有“取指令”与“执行指令”重叠
(3) “取指令”,“分析指令”与“执行指令”重叠
解:
(1) 4NΔT
(2) (3N+1) ΔT
(3) 2(N+1) ΔT
解决流水线瓶颈问题有哪两种常用方法?
解:
(1) 细分瓶颈段
将瓶颈段细分为若干个子瓶颈段
(2) 重复设置瓶颈段
重复设置瓶颈段,使之并行工作,以此错开处理任务
列举下面循环中的所有相关,包括输出相关,反相关,真数据相关。
for(i = 2; i < 100; i=i+1)
{
a[i] = b[i] + a[i]; -----(1)
c[i+1] = a[i] + d[i]; -----(2)
a[i-1] = 2*b[i]; -----(3)
b[i+1] = 2*b[i]; -----(4)
}
解:
输出相关:第k次循环时(1)与第k+1轮时(3)
反相关:第k次循环时(1)和(2)与第k-1轮时(3)
真数据相关:每次循环(1)与(2),第k次循环(4)与k+1次循环(1),(3),(4)
有一指令流水线如下所示
入出
50ns 50ns 100ns 200ns
(1) 求连续如入10条指令的情况下,该流水线的实际吞吐率和效率
(2) 该流水线的“瓶颈”在哪一段?请采用两种不同的措施消除此“瓶颈”。对于你所给出
的两种新的流水线连续输入10条指令时,其实际吞吐率和效率各是多少?
解:(1)(m表示流水线级数,n 表示任务数)
(2)瓶颈在 3、4段。
方法一:变成八级流水线(细分)
1 2 3 4
方法二:变成两级流水线(合并)
方法三:将段 1、2 合并为一段,段 4 细化流水为两段
方法四:重复设置部件,设置 2个部件 3,4个部件 4,和第一种方法结果相同
有一条静态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5段,第3
段时间为2Δt,其余各段时间均为Δt,而且流水线的输出可以直接返回输入端或暂存于相
应的流水寄存器中,现要在该流水线上计算41()iiiAB,画出其时空图,并计算其吞吐率、
急速比和效率。
解:(1).任务划分如下:
时空图如下:
(2) Tk = 18Δt,TP = 7/18Δt,S = 29/18=,E = 29/(18*5)=29/90≈%
一动态多功能流水线由6个功能段组成,如下图(图4):
图4
F = ( A1 + B1 )·( A2 + B2 )·( A3 + B3 )·( A4 + B4 )
⑴ ⑵ ⑶ ⑷
(5) (6)
(7)
空 间
S5 1 2 3 4 5 6 7
S4 1 2 3 4
S3 1 1 2 2 3 3 4 4
S2 5 6 7
S1 1 2 3 4 5 6 7 时 间
18 Δt
其中:S1、S4、S5、S6组成乘法流水线,S1、S2、S3、S6组成加法流水线,每个功能
段时间均为50ns。假定该流水线的输出结果可以直接返回流水线输入端,而且设置有足够
的缓冲寄存器。若按照最快的方式用该流水线计算。
① 请画出其处理过程的时空图。
② 计算其实际吞吐率,加速比和效率。
解:(1).任务划分如下:
时空图如下:
(2).Tk = 22Δt,TP = 7/11Δt=7/(11*50ns)=,S = 28/11=,E = 14/33=%
、在Cray 1机上,按链接方式执行下面4条向量指令(括号中给出相应功能部件时间),如果向量寄存器
和功能部件之间的数据传输需要1拍,试求此链接流水线的流过时间为多少拍?如果向量长度为64,则需
要多少拍能得到全部结果。
V0←存储器 (存储器取数:7拍)
V2←V0+V1 (向量加:3拍)
V3←V2
解答:
四条指令每前后两条依次存在先写后读相关,故流水线经过时间为(1+7+1) + (1+3+1) + (1+4+1) + (1+2+1)
= 24。
如果向量长度为64,则需24 + (64-1) = 87拍能得到全部结果。
F = X1·Y1·Z1 + X2·Y2·Z2 + X3·Y3·Z3 + X4·Y4·Z4 + X5·Y5·Z5
⑴ ⑵ ⑶ ⑷ ⑸
⑹ ⑺ ⑻ ⑼ ⑽
⑾ ⑿
⒀
⒁
空 间
S6 1 2 3 4 5 6 7 8 9 10 11 12 13 14
S5 1 2 3 4 5 6 7 8 9 10
S4 1 2 3 4 5 6 7 8 9 10
S3 11 12 13 14
S2 11 12 13 14
S1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 时 间
22 Δt
、某机有16个向量寄存器,其中V0~V5中分别放有向量A、B、C、D、E、F,向量长度均为8,向量各元
素均为浮点数;处理部件采用二个单功能流水线,加法功能部件时间为2拍,乘法功能部件时间为3拍。
用类似Cray 1的链接技术,先计算(A+B)*C,在流水线不停流的情况下,接着计算(D+E)*F。
(1) 求此链接流水线的流过时间为多少拍?(设寄存器入,出各需1拍)。
(2) 假设每拍时间为50ns,完成这些计算并把结果存进相应寄存器,此部件的实际的吞吐率是多少
MFLOPS?
解答:
(1) (A+B)*C 可用以下2条指令完成:
V0←A+B
V1←V0*C
流水线流过时间为(1+2+1) + (1+3+1) = 9拍
(2) 实际吞吐率为