计算机系统结构作业答案第三章(张晨曦)

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

3.1 -3.3为术语解释等解答题。

3.4 设一条指令的执行过程分为取指令,分析指令和执行指令3个阶段,每个阶段所需时间分别为ΔT, ΔT, 2ΔT,分别求出下列各种情况下,连续执行N条指令所需的时间。

(1) 顺序执行方式

(2) 只有“取指令”与“执行指令”重叠

(3) “取指令”,“分析指令”与“执行指令”重叠

解:

(1) 4NΔT

(2) (3N+1) ΔT

(3) 2(N+1) ΔT

3.6 解决流水线瓶颈问题有哪两种常用方法?

解:

(1) 细分瓶颈段

将瓶颈段细分为若干个子瓶颈段

(2) 重复设置瓶颈段

重复设置瓶颈段,使之并行工作,以此错开处理任务

3.9 列举下面循环中的所有相关,包括输出相关,反相关,真数据相关。

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)

3.12 有一指令流水线如下所示

50ns 50ns 100ns 200ns

(1)求连续如入10条指令的情况下,该流水线的实际吞吐率和效率

(2)该流水线的“瓶颈”在哪一段?请采用两种不同的措施消除此“瓶颈”。对于你所给出

的两种新的流水线连续输入10条指令时,其实际吞吐率和效率各是多少?

解:(1)(m表示流水线级数,n 表示任务数)

(2)瓶颈在 3、4段。

方法一:变成八级流水线(细分)

11.7e8

方法二:变成两级流水线(合并)

方法三:将段 1、2 合并为一段,段 4 细化流水为两段

方法四:重复设置部件,设置 2个部件 3,4个部件 4,和第一种方法结果相同

3.14 有一条静态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5段,第3段时间为2Δt,其余各段时间均为Δt,而且流水线的输出可以直接返回输入端或暂存于相

应的流水寄存器中,现要在该流水线上计算

4

1()

i i

i

A B =

+

∏,画出其时空图,并计算其吞吐率、

急速比和效率。

解:(1).任务划分如下:

F = ( A1 + B1 )·( A2 + B2)·( A3 + B3)·( A4 + B4)

⑴⑵⑶⑷

(5)(6)

(7)

时空图如下:

空间

S5*******

S41234

S311223344

S2567

S1*******时间

18Δt

(2) Tk = 18Δt,TP = 7/18Δt,S = 29/18=1.611,E = 29/(18*5)=29/90≈32.2%

3.15

一动态多功能流水线由6个功能段组成,如下图(图4):

图4

其中:S1、S4、S5、S6组成乘法流水线,S1、S2、S3、S6组成加法流水线,每个功能段时间均为50ns。假定该流水线的输出结果可以直接返回流水线输入端,而且设置有足够的缓冲寄存器。若按照最快的方式用该流水线计算

①请画出其处理过程的时空图。

②计算其实际吞吐率,加速比和效率。

解:(1).任务划分如下:

F = X1·Y1·Z1 + X2·Y2·Z2 + X3·Y3·Z3 + X4·Y4·Z4 + X5·Y5·Z5

⑴⑵⑶⑷⑸

⑹⑺⑻⑼⑽

⑾⑿

时空图如下:

空间

S61234567891011121314

S512345678910

S412345678910

S311121314

S211121314

S11234567891011121314时间

22Δt

(2).Tk = 22Δt,TP = 7/11Δt=7/(11*50ns)=12.727e6,S = 28/11=2.555,E = 14/33=42.42% 3.18、在Cray 1机上,按链接方式执行下面4条向量指令(括号中给出相应功能部件时间),如果向量寄存器和功能部件之间的数据传输需要1拍,试求此链接流水线的流过时间为多少拍?如果向量长度为64,则需要多少拍能得到全部结果。

V0←存储器 (存储器取数:7拍)

V2←V0+V1 (向量加:3拍)

V3←V2

V5←V3∧V4 (向量逻辑乘:2拍)

解答:

四条指令每前后两条依次存在先写后读相关,故流水线经过时间为(1+7+1) + (1+3+1) + (1+4+1) + (1+2+1) = 24。

如果向量长度为64,则需24 + (64-1) = 87拍能得到全部结果。

3.19、某机有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) 实际吞吐率为

如有侵权请联系告知删除,感谢你们的配合!

相关文档
最新文档