计算机系统结构习题解答.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

假设一条指令的执行过程分为“取指令”、“分析”和“执行”三段,每一段的时间分别是△t、2△t和3△t。在下列各种情况下,分别写出连续执行n条指令所需要的时间表达式。

⑴顺序执行方式。

⑵ 仅“取指令”和“执行”重叠。

⑶ “取指令”、“分析”和“执行”重叠。答:

⑴ 顺序执行方式

1

1

2

1

2

......

1

2

(t△t 2△tT=?n3△t

(t

取址i

t

分析i

t

执行i

)=n(△t+2△t+3△t)=6n△t

i?1

⑵ 仅“取指令”和“执行”重叠

1

1

2

1

2

......

1

2

△t 2△t

T=6△t+

?n-31△t

(t分析i

(t

t

执行i

)=6△t+(n-1)(2△t+3△t)=(5n+1)△t

i?1

⑶ “取指令”、“分析”和“执行”重叠

1

1

2

3

4

1

2

3

4

......

1

2

3

4

△t 2△t

3△t

T=6△t+

?n-1(t

i?1

执行i

)=6△t+(n-1)(3△t)=(3n+3)△t

一条线性流水线有4个功能段组成,每个功能段的延迟时间都相等,都为

△t。开始5个任务,每间隔一个△t向流水线输入一个任务,然后停顿2

个△t,如此重复。求流水线的实际吞吐率、加速比和效率。

...答:

...

1

2

3

4

5

6

7

8

9

10

111213

14

15

1

2

3

4

5

6

7

8

9

10

11121314

15

1 2

3

4

5

6

7

8

9

10

1112131415

1

2 3

4

5

6

7

8

9

10

11

12131415

1

2 3

4

5

6

7

8

9

10

11

12

13

14

15

1617181920

21

2223

我们可以看出,在(7n+1)Δt的时间内,可以输出5n个结果,如果指令的序列足够长(n→∞),并且指令间不存在相关,那么,吞吐率可以认为满足:

加速比为:

从上面的时空图很容易看出,效率为:

用一条5个功能段的浮点加法器流水线计算F??10

i?1

A 。每个功能段的延迟

i

时间均相等,流水线的输出端与输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。要求用尽可能短的时间完成计算,画出流水线时空图,计算流水线的实际吞吐率、加速比和效率。

答:

首先需要考虑的是“10个数的和最少需要做几次加法?”,我们可以发现,加法的次数是不能减少的:9次;于是我们要尽可能快的完成任务,就只有考虑如何让流水线尽可能充满,这需要消除前后指令之间的相关。由于加法满足交换律和结合律,我们可以调整运算次序如以下的指令序列,我们把中间结果寄存器称为R,源操作数寄存器称为A,最后结果寄存器称为F,并假设源操作数已经在寄存器中,则指令如下:

I1:I2:I3:I4:

R1←A1+A2R2←A3+A4R3←A5+A6R4←A7+A8

I5:I6:I7:I8:I9:

R5←A9+A10R6←R1+R2R7←R3+R4R8←R5+R6F←R7+R8

99999这并不是唯一可能的计算方法。假设功能段的延迟为Δt。时空图如下(

9

9

9

9

9

1234

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

整个计算过程需要21Δt,所以吞吐率为:加速比为:

效率为:

一条线性静态多功能流水线由6个功能段组成,加法操作使用其中的1、2、3、6功能段,乘法操作使用其中的1、4、5、6功能段,每个功能段的延迟时间均相等。流水线的输出端与输入端之间有直接数据通路,而且设置有

足够的缓冲寄存器。用这条流水线计算向量点积A?B??6

i?0

水线时空图,计算流水线的实际吞吐率、加速比和效率。

答:

a?b,画出流

i i

我们安排运算次序如下:把中间结果寄存器称为R,源操作数寄存器称为A、B,最后结果寄存器称为F,并假设源操作数已经在寄存器中,则指令如下:

I1:

R0←A0*B0

I8:

R7←R0+R1

I2:

R1←A1*B1

I9:

R8←R2+R3

I3:

R2←A2*B2

I10:

R9←R4+R5

I4:

R3←A3*B3

I11:

R10←R6+R7

I5:R4←A4*B4I6:R5←A5*B5I7:R6←A6*B6

I12: R11←R8+R9

I13: F←R10+R11

1 2 3 4 5 6 78 9 101112131 2

文档评论(0)

mph + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体上海谭台科技有限公司
IP属地湖北
统一社会信用代码/组织机构代码
91310115MA7CY11Y3K

1亿VIP精品文档

相关文档