实验3 Cache性能分析
3.1 实验目的
1. 加深对Cache的基本概念、基本组织结构以及基本工作原理的理解; 2. 掌握Cache的容量、相联度、块大小对Cache性能的影响;
3. 掌握降低Cache不命中率的各种方法,以及这些方法对Cache性能提高的好处; 4. 理解LRU与随机法的基本思想以及它们对Cache性能的影响;
3.2 实验平台
实验平台采用Cache模拟器MyCache。
3.3 实验内容及步骤
首先要掌握MyCache模拟器的使用方法。 3.3.1 Cache的容量对不命中率的影响 1. 启动MyCache模拟器。
2. 用鼠标单击“复位”按钮,把各参数设置为默认值。
3. 选择一个地址流文件。方法:选择“访问地址”→“地址流文件”选项,然后单击“浏
览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。
4. 选择不同的Cache容量,包括2KB、4KB、8KB、16KB、32KB、64KB、128KB和256KB。分
别执行模拟器(单击“执行到底”按钮即可执行),然后在表5.1中记录各种情况下的不命中率。
表5.1 不同容量下Cache的不命中率 Cache的容量(KB) 2 4 8 16 32 64 128 256 9.87% 7.19% 4.48% 2.65% 1.42% 0.89% 0.60% 0.49% 不命中率 地址流文件名: E:\\cjh\\系统结构模拟器\\MyCache模拟器\\地址流\\all.din 5. 以容量为横坐标,画出不命中率随Cache容量变化而变化的曲线,并指明地址流文件名。
不命中率随Cache容量变化图12.00%10.00%8.00%6.00%4.00%2.00%0.00%248163264128
6据结果,你能得出什么结论?
不命中率不命中率Cache容量(KB)3.3.2 相联度对不命中率的影响
1. 用鼠标单击“复位”按钮,把各参数设置为默认值。此时的Cache的容量为64KB。 2. 选择一个地址流文件。方法:选择“访问地址”→“地址流文件”选项,然后单击“浏
览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。
3. 选择不同的Cache相联度,包括直接映像、2路、4路、8路、16路和32路。分别执行
模拟器(单击“执行到底”按钮即可执行),然后在表5.2中记录各种情况下的不命中
率。
表5.2 当容量为64KB时,不同相联度下Cache的不命中率 相联度 1 2 4 8 16 32 1.97% 1.15% 0.99% 0.93% 0.92% 0.91% 不命中率
地址流文件名: E:\\cjh\\系统结构模拟器\\MyCache模拟器\\地址流\\cc1.din 4. 把Cache的容量设置为256KB,重复3的工作,并填写表5.3。
表5.3 当容量为256KB时,不同相联度下Cache的不命中率 相联度 1 2 4 8 16 32 0.98% 0.78% 0.74% 0.73% 0.71% 0.71% 不命中率
5. 以相联度为横坐标,画出在64KB和256KB的情况下不命中率随Cache相联度变化而变
化的曲线,并指明地址流文件名。
Cache容量为64K时:
不同相联度下Cache的不命中率2.50%2.00%1.50%1.00%0.50%0.00%124相联度816
Cache容量为256K时:
不命中率不命中率不同相联度下Cache的不命中率1.20%1.00%0.80%0.60%0.40%0.20%0.00%124相联度816
6. 根据该模拟结果,你能得出什么结论? 7.
当cache容量一定时,不命中率先是随着相联度地增加而减小的的,但增加到一定程度后,不命中率不会再降低。
不命中率不命中率
当相联度相同,相联度较小时,cache容量越大不命中率就越低,但当相联度到达一定程度时,再增大cache容量就没有任何意义 3.3.3 Cache块大小对不命中率的影响
1. 用鼠标单击“复位”按钮,把各参数设置为默认值。
2. 选择一个地址流文件。方法:选择“访问地址”→“地址流文件”选项,然后单击“浏
览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。
3. 选择不同的Cache块大小,包括16B、32B、64B、128B、和256B。对于Cache的各种容
量,包括2KB、8KB、32KB、128KB和256KB。分别执行模拟器(单击“执行到底”按钮即可执行),然后在表5.4中记录各种情况下的不命中率。
表5.4 各种块大小情况下Cache的不命中率 块大小 Cache的容量(KB) (B) 2 8 32 128 512 16 7.80% 7.40% 7.20% 7.20% 7.20% 32 5.40 5.00% 4.70% 4.70% 4.70% 64 4.00% 3.40% 3.10% 3.10% 3.10% 128 4.40% 3.30% 2.40% 2.40% 1.06% 256 6.50% 5.10% 2.30% 1.90% 1.90%
地址流文件名: E:\\cjh\\系统结构模拟器\\MyCache模拟器\\地址流\\eg.din 4.分析Cache块大小对不命中率的影响。 3.3.4 替换算法对不命中率的影响
1.用鼠标单击“复位”按钮,把各参数设置为默认值。
2.选择地址流文件all.din。方法:选择“访问地址”→“地址流文件”选项,然后单击“浏览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。
3.对于不同的替换算法、Cache容量和相联度,分别执行模拟器(单击“执行到底”按钮即可执行),然后在表5.5中记录各种情况下的不命中率。
表5.5 LRU和随机替换算法的不命中率的比较 相联度 Cache的2路 4路 8路 容量 LRU 随机算法 LRU 随机算法 LRU 随机算法 16KB 1.71% 2.05% 1.33% 1.77% 1.21% 1.97% 64KB 0.53% 0.63% 0.47% 0.58% 0.45% 0.59% 256KB 0.38% 0.40% 0.36% 0.37% 0.36% 0.36% 1MB 0.35% 0.35% 0.35% 0.35% 0.35% 0.35%
4.分析不同的替换算法对不命中率的影响。
1) LRU和随机算法的不命中率随着相联度的增加而减少且随着cache容量的增加而减少; 2) 在相联度相同,cache容量相同时,使用LRU替换算法的不命中率比随机算法的不命中
率小;
3) 当cache容量增大到一定程度,相联度达到一定程度时,不命中率不会再降低,且与算
法的选择关系不大。
因篇幅问题不能全部显示,请点此查看更多更全内容