您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 西安邮电大学-Cache性能分析实验报告
西安邮电大学(计算机学院)课内实验报告实验名称:cache性能分析专业名称:软件工程班级:学生姓名:学号(8位):指导教师:杨锐实验日期:2015年5月20日1实验目的(1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。(2)掌握Cache容量、相联度、块大小对Cache性能的影响。(3)掌握降低Cache不命中率的各种方法。2实验平台采用MyCache模拟器。MyCache模拟器的使用方法:(1)双击MyCache.exe,启动模拟器。(2)系统打开操作界面,如下图所示:MyCache-Cache模拟器设置参数区模拟结果显示区执行控制区(3)可以设置的参数包括Cache的容量、块大小、相联度、替换算法、预取策略、写策略、写不命中时的调块策略。可以直接从列表中选择。(4)访问地址可以选择来自地址流文件,也可以选择手动输入。如果是前者,则可以通过单击“浏览”按钮,从模拟器所在文件夹下的“地址流”文件夹中选取地址流文件(.din)文件,然后执行。执行得方式可以是单步,也可以选择一次执行结束。如果选择手动输入,就可以在“执行控制”区域中输入块地址,然后单击“访问”按钮。系统会在界面的右边显示访问类型、地址、块号以及块内地址。(5)模拟结果包括:访问总次数,总的不命中次数,总的不命中率。读指令操作的次数,其不命中次数及其不命中率。读数据操作的次数,其不命中次数及其不命中率。写数据操作的次数,其不命中次数及其不命中率。手动输入单次访问的相关信息。3实验内容和步骤3.1Cache容量对不命中率的影响(1)启动MyCache。(2)单击“复位”按钮,将各参数设置为默认值。(3)选择一个地址流文件。具体方法:选择“访问地址”→“地址流文件”选项,然后单击“浏览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。(4)选择不同的Cache容量,包括2KB,4KB,8KB,16KB,32KB,64KB,128KB和256KB,分别执行模拟器(单击“执行到底”按钮就可执行),然后在表1.1中记录各种情况下的不命中率。地址流文件名:all.din表1.1不同容量下Cache的不命中率Cache容量248163264128256不命中率9.87%7.19%4.48%2.65%1.42%0.89%0.60%0.49%(5)指明地址流文件名,以容量为横坐标,画出不命中率虽Cache容量变化而变化的曲线图。(6)根据该模拟结果,能得出什么结论?未命中率受cache容量的变化而变化,cache容量越大,未命中率越低3.2相联度对不命中率的影响(1)单击“复位”按钮,将各参数设置为默认值。此时的Cache容量为64KB。(2)选择一个地址流文件。具体方法:选择“访问地址”→“地址流文件”选项,然后单击“浏览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。(3)选取不同的Cache相联度,包括直接映像、2路、4路、8路、16路和32路。分别执行模拟器(单击“执行到底”按钮),然后在表1.2中记录各种情况下的不命中率。表1.2容量为64KB时,不同相联度的不命中率相联度直接映像2481632不命中率0.89%0.53%0.47%0.45%0.44%0.44%地址流文件名:all.din(4)把Cache的容量设置为256KB,重复(3)步骤填表1.3。表1.3容量为256KB时,不同相联度的不命中率相联度直接映像2481632不命中率0.49%0.38%0.36%0.36%0.35%0.35%(5)以相联度为横坐标,画出在64KB和256KB的情况下不命中率随Cache相联度变化而变化的曲线。并指明地址流文件名。(6)根据模拟结果,你能得出什么结论?未命中率基本不受相联度的影响,当直接映像时与相联度为2,4,8,16,32时略有偏差。3.3Cache块大小对不命中率的影响(1)单击“复位”按钮,将各参数设置为默认值。(2)选择一个地址流文件。具体方法:选择“访问地址”→“地址流文件”选项,然后单击“浏览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。(3)选择不同的Cache块大小,包括16B,32B,64B,128B和256B。对于Cache的各种容量,包括2KB,8KB,32KB,128KB和512KB,分别执行模拟器(单击“执行到底”),然后在表1.4中记录各种情况下的不命中率。表1.4各种块大小情况下Cache的不命中率块大小(B)Cache容量28321285121612.02%5.79%1.86%0.95%0.71%329.87%4.48%1.42%0.60%0.42%649.36%4.03%1.20%0.43%0.27%12810.49%4.60%1.08%0.35%0.20%25613.45%5.35%1.19%0.34%0.16%地址流文件名:all.din(4)分析Cache块大小对不命中率的影响。cache容量会影响未命中率,cache块大小也会影响未命中率,且当cache的块大小保持不变时,未命中率随cache容量的增大而减小,当保持cache的容量不变时,未命中率随cache块大小的增大而减小。3.4替换算法对不命中率的影响(1)单击“复位”按钮,将各参数设置为默认值。(2)选择地址流文件all.din。(3)对于不同的替换算法、Cache容量和相联度,分别执行模拟器(单击“执行到底”按钮),在表1.5中记录各种情况下的不命中率。表7.5LRU和随机算法的不命中率的比较Cache容量相联度2路4路8路LRU随机算法LRU随机算法LRU随机算法16KB1.71%2.07%1.33%1.81%1.21%2.03%64KB0.53%0.65%0.47%0.59%0.45%0.62%256KB0.38%0.40%0.36%0.37%0.36%0.36%1MB0.35%0.35%0.35%0.35%0.35%0.35%(4)分析不同的替换算法对Cache不命中率的影响。算法不同对不命中率有影响,在相联度和cache容量保持不变时,LRU算法的不命中率较随机算法不命中率低。在cache容量不变时,相联度度增大,采用同一算法时cache不命中越低;当相联度不变,cache容量增大时,采用同一算法时cache不命中率越低。4实验总结与心得通过本次实验我知道了Cache的不命中率受各方面因素影响,cache容量,cache块大小,以及所采用的算法等因素。
本文标题:西安邮电大学-Cache性能分析实验报告
链接地址:https://www.777doc.com/doc-5906742 .html