当前位置:文档之家› 计算机体系结构复习计算题

计算机体系结构复习计算题

1. 将计算机系统中某一功能的处理速度加快10倍,但该功能的处理时间仅为整个系统运行时间的40%,则采用此增强功能方法后,能使整个系统的性能提高多少
根据Amdahl 定律可知: 系统加速比 = =

由题可知: 可改进比例 = 40% = 部件加速比 = 10 系统加速比 =
采用此增强功能方法后,能使整个系统的性能提高倍。

2. 假设一台计算机的I/O 处理占10%,当其CPU 性能改进到原来的10倍时,而I/O 性能仅改进为原来的两倍时,系统总体性能会有什么改进
加速比=1/(10%/2+90%/10)=
本题反映了Amdahl 定律,要改进一个系统的性能要对各方面性能都进行改进,不然系统中最慢的地方就成为新系统的瓶颈。

3. 双输入端的加、乘双功能静态流水线有1、2、3、4四个子部件,延时分别为Δt, Δt, 2Δt, Δt ,“加”由1→2→4组成,“乘”由1
→3→4组成,输出可直接返回输入或锁存。

现执行
∑=*+4
1
])[(i i
i
i
c b a
(1) 画出流水时空图,标出流水线输入端数据变化情况。

(2) 求运算全部完成所需的时间和流水线效率。

(3) 找出瓶颈子过程并将其细分,重新画出时空图并计算流水时间和效率。

(1)
(2)由上图可知,全部运算完的时间是23Δt 。

92
37
23437=∆⨯∆=
t t η
(3)
部件 ① ② ③ ④ ⑤ ⑥ 结果
输入 a 1 a 2 a 3 a 4 a 1+b 1 a 2+b 2 a 3+b 3 a 4+b 4 ① ③ ⑤ b 1 b 2 b 3 b 4 c 1 c 2 c 3 c 4 ② ④ ⑥
Δt
4 3 2 1
由上图可知,流水时间为20Δt 。

10037
20537=
∆⨯∆=
t t η
4. 有一条流水线如下所示。

50ns
50ns
100ns
200ns
(1) 求连续输入5指令,该流水线的实际吞吐率和效率;
(2) 该流水线的瓶颈在哪一段请采取两种不同的措施消除此“瓶颈”。

对于你所给出的新流水线,计算连续输入5条指令时,其实际吞吐率和效率。

5. 假设我们考虑条件分支指令的两种不同设计方法如下:
(a)CPUA :通过比较指令设置条件码,然后测试条件码进行分支; (b)CPUB :在分支指令中包括比较过程。

在两种CPU 中,条件分支指令都占用2个时钟周期而所有其它指令占用1个时钟周期,对于CPUA ,执行的指令中分支指令占30%;由于每个分支指令之前都需要有比较指令,因此比较指令也占30%。

由于CPUA 在分支时不需要比较,因此假设它的时钟周期时间比CPUB 的快倍。

哪一个CPU 更快如果CPUA 的时钟周期时间仅仅比CPUB 的快倍,哪一个CPU 更快呢
我们不考虑所有系统问题,所以可以用CPU 性能公式。

占用2个时钟周期的分支指令占总指令的30%,剩下的指令占用1个时钟周期。

所以
CPIA = × 2 + × 1 = 则CPU 性能为:
总CPU 时间A = IC × × 时钟周期A 根据假设,有:
时钟周期B = × 时钟周期A
在CPUB 中没有独立的比较指令,所以CPUB 的程序量为CPUA 的70%,分支指令的比例为: 30%/70% = %
这些分支指令占用2个时钟周期,而剩下的%的指令占用1个时钟周期,因此:
CPIB = × 2 + × 1 =
因为CPUB不执行比较,故:
ICB = ×ICA
因此CPUB性能为:
总CPU时间B = ICB ×CPIB ×时钟周期B
= ×ICA ×××时钟周期A)
= ×ICA ×时钟周期A
在这些假设之下,尽管CPUB执行指令条数较少,CPUA因为有着更短的时钟周期,所以比CPUB快。

如果CPUA的时钟周期时间仅仅比CPUB的快倍,则
时钟周期B = ×时钟周期A
CPUB的性能为:
总CPU时间B = ICB ×CPIB ×时钟周期B
= ×ICA ×××时钟周期A)
= ×ICA ×时钟周期A
因此CPUB由于执行更少指令条数,比CPUA运行更快。

6.假设Cache失效开销为70个时钟周期,当不考虑存储器停顿时,所有指令的执行时间都是个时钟周期,访问Cache失效率为2%,平
均每条指令访存次。

试分析考虑Cache的失效后,Cache对性能的影响。

若不采用Cache,性能会怎样
考虑Cache的失效后,性能为
CPU时间有cache=IC×(+(×2 %×70))×时钟周期时间
=IC××时钟周期时间
当考虑了Cache的失效影响后,CPI就会增大。

本例中CPI从理想计算机的增加到,是原来的倍。

若不采用Cache,CPI将增加为+70×=86,即超过原来的40倍。

7.我们考虑某一个机器。

假设Cache读失效开销为30个时钟周期,写失效开销为60个时钟周期,当不考虑存储器停顿时,所有指令
的执行时间都是2个时钟周期,Cache的读失效率和写失效率均为5%,平均每条指令读存储器次,写存储器次。

试分析考虑Cache 的失效后,Cache对性能的影响。

平均每条指令存储器停顿时钟周期数
=“读”的次数×读失效率×读失效开销+
“写”的次数×写失效率×写失效开销
=×5%×30+×5%×60=
CPU时间=IC*(CPI执行+存储器停顿周期数/指令数)*时钟周期时间
考虑Cache的失效后,性能为
CPU时间有Cache=IC×(+)×时钟周期时间
=IC××时钟周期时间
当考虑了Cache的失效影响后,CPI从理想计算机的增加到,是原来的倍。

8. 假设在一台40MHZ处理机上运行200,000条指令的目标代码,程序主要由四种指令组成。

根据程序跟踪实验结果,已知指令混合比和每种指令所需的指令数如下:
1)计算在单处理机上用上述跟踪数据运行程序的平均CPI。

2)根据1)所得的CPI,计算相应的MIPS速率。

(a)
(b)。

相关主题