计算机系统有5大大公能,计算机系统第5章习题解答.doc

计算机系统第5章习题解答

第五章习题解答

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

顺序执行方式。

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

先行控制方式。

[解答]

顺序执行需要的时间如下:

取指令和执行重叠,即一次重叠执行方式,我们假设第n+1条指令的取指令和第n条指令的执行同时结束,那么所需要的时间为:

采用先行控制以后:

[习题5.7] 一条线性流水线有4个功能段组成,每个功能段的延迟时间都相等,都为Δt。开始5个Δt,每间隔一个Δt向流水线输入一个任务,然后停顿2个Δt,如此重复。求流水线的实际吞吐率、加速比和效率。

[解答]

流水线的时空图如下:

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

加速比为:

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

[习题5.8]用一条5个功能段的浮点加法器流水线计算。每个功能段的延迟时间均相等,流水线的输出端和输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。要求用尽可能短的时间完成计算,画出流水线时空图,并计算流水线的实际吞吐率、加速比和效率。

[解答]

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

I1:R1←A1+A2

I2:R2←A3+A4

I3:R3←A5+A6

I4:R4←A7+A8

I5:R5←A9+A10

I6:R6←R1+R2

I7:R7←R3+R4

I8:R8←R5+R6

I9:F←R7+R8

这并不是唯一可能的计算方法。假设功能段的延迟为Δt。时空图如下,图中的数字是指令号:

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

加速比为:

效率为:

[习题5.9] 一条线性静态多功能流水线由6个功能段组成,加法操作使用其中的1、2、3、6功能段,乘法操作使用其中的1、4、5、6功能段,每个功能段的延迟时间均相等。流水线的输入端与输出端之间有直接数据通路,而且设置有足够的缓冲寄存器。现在用这条流水线计算:,画出流水线时空图,并计算流水线的实际吞吐率、加速比和效率。

[解答]

为了取得较高的速度,我们需要一次将乘法作完,设源操作数存放在寄存器A、B中,中间结果存放在寄存器R中,最后结果存放在寄存器F中,则执行的指令序列如下所示:

I1:R1←A1*B1

I2:R2←A2*B2

I3:R3←A3*B3

I4:R4←A4*B4

I5:R5←A5*B5

I6:R6←A6*B6

I7:R7←R1+R2

I8:R8←R3+R4

I9:R9←R5+R6

I10:R10←R7+R8

I11:F←R9+R10

这并不是唯一可能的计算方法。假设功能段的延迟为Δt。时空图(不完全)如下,图中的数字是指令号:

整个计算过程需要22Δt,所以吞吐率为:

加速比为:

效率为:

[习题5.18] 在下列不同结构的处理机上运行8×8的矩阵乘法C=A×B,计算所需要的最短时间。只计算乘法指令和加法指令的执行时间,不计算取操作数、数据传送和程序控制等指令的执行时间。加法部件和乘法部件的延迟时间都是3个时钟周期,另外,加法指令和乘法指令还要经过一个“取指令”和“指令译码”的时钟周期,每个时钟周期为20ns,C的初始值为“0”。各操作部件的输出端有直接数据通路连接到有关操作部件的输入端,在操作部件的输出端设置有足够容量的缓冲寄存器。

处理机内只有一个通用操作部件,采用顺序方式执行指令。

单流水线标量处理机,有一条两个功能的静态流水线,流水线每个功能段的延迟时间均为一个时钟周期,加法操作和乘法操作各经过3个功能段。

多操作部件处理机,处理机内有独立的乘法部件和加法部件,两个操作部件可以并行工作。只有一个指令流水线,操作部件不采用流水线结构。

单流水线标量处理机,处理机内有两条独立的操作流水线,流水线每个功能段的延迟时间均为一个时钟周期。

超标量处理机,每个时钟周期同时发射一条乘法指令和一条加法指令,处理机内有两条独立的操作流水线,流水线的每个功能段的延迟时间均为一个时钟周期。

超流水线处理机,把一个时钟周期分为两个流水级,加法部件和乘法部件的延迟时间都为6个流水级,每个时钟周期能够分

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值