好文档 - 专业文书写作范文服务资料分享网站

计算机系统结构第二版张晨曦考前资料大题大全看完必过

天下 分享 时间: 加入收藏 我要投稿 点赞

指出下列指令存在什么冲突?请给后消除冲突的方法及消除冲突后的指令代码? (1)DIV.D F0, F2, F4 (2)ADD.D F6, F0, F8 (3)S.D F6, 0(R1) (4)SUB.D F8, F10, F14 (5)MUL.D F6, F10, F8

ADD和SUB存在反相关,会引起WAR读后写相关 ADD和MUL存在输出相关,会引起WAW写后写相关

Tomasulo算法(托马苏洛算法)可以通过使用寄存器重命名来消除。

DIV.D F0, F2, F4

ADD.D T2, F0, F8 ; 滞后 S.D T2, 0(R1) ; 滞后 SUB.D T1, F10, F14 ; 超前 MUL.D F6, F10, T1 ; 超前 Cache性能分析:

不命中率和平均访问时间都不如 CPU 时间这个指标好:

CPU时间?(CPU执行周期数?存储器停顿周期数)?时钟周期时间 存储器停顿的时钟周期数?访存次数?不命中率?不命中开销

CPU时间?(IC?CPI?访存次数?不命中率?不命中开销)?时钟周期时间 CPU时间?IC(CPI?访存次数?不命中率?不命中开销)?时钟周期时间 IC例7.1:假设Cache不命中开销为50个时钟时期,当不考虑存储器停

顿时,所有的指令的执行时间都是2.0个时钟周期,访问Cache的不命中率为2%,平均每条指令访存1.33次。试分析Cache对性能的影响。

解:直接用公式计算

CPU时间有Cache ?IC?(CPI?每条指令的平均访存次数?不命中率?不命中开销)?时钟周期时间?IC?(2.0?1.33?2%?50)?时钟周期时间?IC?3.33?时钟周期时间例7.2考虑两种不同组织结构的Cache;直接映像Cache和两路组相连Cache。假设:

1. 理想Cache(命中率为100%)情况下CPI为2.0,时钟周期为2ns,平均,平均每条指令访存1.3次

2. 两种Cache容量均为64KB,块大小都是32字节。

3. 在组相连Cache中,由于多路选择器的存在而使CPU的时钟周期增加到原来的1.10倍,这是因为对Cache的访问总是处于关键路径上,对CPU的时钟周期有直接的影响。 4. 这两种结构的不命中开销都是70ns。

5. 命中时间为1个时钟周期(2ns),64kb直接映像cache的不命中率为1.4%。相同容量的两路组相连cache的不命中率为1.0%。试问 它们对CPU的性能有什么影响?先求平均访存时间,然后再计算CPU性能。

对于平均访存时间: =2.98(ns)

平均访存时间2路=命中时间+不命中率x不命中开销=2.0+(0.010x70)

=2.90(ns)

两路组相连的Cache的平均访存时间比较低。 CPU性能为

CPU时间=ICX(CPIx时钟周期时间+每条指令的平均访存次数x不命中率x不命中开销x时钟周期时间)

用70ns代替“不命中开销x时钟周期时间”,并用CPI=2,时钟周期时间=2,每条指令的平均访存时间=1.3带入的 CPU时间1路=ICX[2.0x2+(1.3x0.014x70)]=5.17xIC CPU时间2路=ICX[2.0x2x1.10+(1.3x0.010x70)]=5.31xIC 相对性能比为:

CPU时间2路5.31xIC5.31???1.01

CPU时间1路5.27xIC5.27

和平均访问时间的比较结果相反,直接映像Cache的平均性能稍好一些,这是因为在两路组相连的情况下,虽然不命中次数减少了,但所有指令的时钟周期时间都增加了10%。由于CPU是我们进行评价的标准。而且直接映像Cache更简单,所以本例中直接映像Cache是更好的选择。

7.6组相连Cache的不命中率比相同容量直接映像的不命中率低,由此能否得出结论,采用组相连一定能带来性能上的提高?为什么? 答:不一定。因为组相连命中率的提高是以增加命中时间为代价的,组相连需要增加多路选择开关。

5.10 假设对指令Cache的访问占全部访问的75%;而对数据Cache的

访问占全部访问的25%。Cache的命中时间为1个时钟周期,不命中开销为50 个时钟周期,在混合Cache中一次load或store操作访问Cache的命中时间都要增加一个时钟周期,32KB的指令Cache的不命中率为0.39%,32KB的数据Cache的不命中率为4.82%,64KB的混合Cache的不命中率为1.35%。又假设采用写直达策略,且有一个写缓冲器,并且忽略写缓冲器引起的等待。试问指令Cache和数据Cache容量均为32KB的分离Cache和容量为64KB的混合Cache相比,哪种Cache的不命中率更低?两种情况下平均访存时间各是多少? 解:(1)根据题意,约75%的访存为取指令。 因此, 分离Cache的总体不命中率为: 75%×0.39%+25%×4.82%=1.49%

容量为64KB的混合Cache的失效率略低一些,只有1.35%。 (2)平均访存时间公式可以分为指令访问和数据访问两部分: 平均访存时间=指令所占的百分比×(读命中时间+读不命中率×不命中开销)+数据所占的百分比×(数据命中时间+数据不命中率×不命中开销) 所以,两种结构的平均访存时间分别为:

分离Cache的平均访存时间=75%×(1+0.39%×50)+25%×(1+4.82%×50)=1.745 混合Cache的平均访存时间=

75%×(1+1.35%×50)+25%×(1+1+1.35%×50)=1.925

因此,尽管分离Cache的实际不命中率比混合Cache的高,但其平均访存时间反而较低。分离Cache提供了两个端口,消除了结构相关。

5.11 给定以下的假设,试计算直接映象Cache和两路组相联Cache的平均访问时间以及CPU的性能。由计算结果能得出什么结论? (1) 理想Cache情况下的CPI为2.0,时钟周期为2ns,平均每条指令访存1.2次;

(2) 两者Cache容量均为64KB,块大小都是32字节;

(3) 组相联Cache中的多路选择器使CPU的时钟周期增加了10%; (4) 这两种Cache的不命中开销都是80ns; (5) 命中时间为1个时钟周期;

(6) 64KB直接映象Cache的不命中率为1.4%,64KB两路组相联Cache的失效率为1.0%。

解: 平均访问时间=命中时间+不命中率×不命中开销 平均访问时间1-路=2.0+1.4% *80=3.12ns 平均访问时间2-路=2.0*(1+10%)+1.0% *80=3.0ns 两路组相联的平均访问时间比较低

CPU时间=ICX(CPIx时钟周期时间+每条指令的平均访存次数x不命中率x不命中开销x时钟周期时间)

用80ns代替“不命中开销x时钟周期时间”,并用CPI=2,时钟周期时间=2,每条指令的平均访存时间=1.3带入的 CPU 时间1路=IC(2.0*2+1.2*0.014*80)=5.344IC CPU 时间2路=IC(2.2*2+1.2*0.01*80)=5.36IC 相对性能比:

CPU时间2路5.31xIC5.36???1.003

CPU时间1路5.27xIC5.344

计算机系统结构第二版张晨曦考前资料大题大全看完必过

指出下列指令存在什么冲突?请给后消除冲突的方法及消除冲突后的指令代码?(1)DIV.DF0,F2,F4(2)ADD.DF6,F0,F8(3)S.DF6,0(R1)(4)SUB.DF8,F10,F14(5)MUL.DF6,F10,F8ADD和SUB存在反相关,会引起WAR读后写相关ADD和MUL存在输出相关,会引起WAW写后
推荐度:
点击下载文档文档为doc格式
3pukt8w6xt8mqar1rud16ehs64cxfu0121m
领取福利

微信扫码领取福利

微信扫码分享