当前位置:文档之家› 实验1 Cache性能分析

实验1 Cache性能分析

实验1 Cache性能分析
1 实验目的
(1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。

(2)掌握Cache容量、相联度、块大小对Cache性能的影响。

(3)掌握降低Cache
2 实验平台
采用MyCache模拟器。

MyCache模拟器的使用方法:
(1) 双击MyCache.exe,启动模拟器。

(2) 系统打开操作界面,如下图所示:
(3)
写不命中时的调块策略。

可以直接从列表中选择。

(4) 访问地址可以选择来自地址流文件,也可以选择手动输入。

如果是前者,则可以通过单击“浏览”按钮,从模拟器所在文件夹下的“地址流”文件夹中选取地址流文件(.din)文件,然后执行。

执行得方式可以是单步,也可以选择一次执行结束。

如果选择手动输入,就可以在“执行控制”区域中输入块地址,然后单击“访问”按钮。

系统会在界面的右边显示访问类型、地址、块号以及块内地址。

3 实验内容和步骤
3.1 Cache容量对不命中率的影响
(1) 启动MyCache。

(2) 单击“复位”按钮,将各参数设置为默认值。

(3) 选择一个地址流文件。

具体方法:选择“访问地址”→“地址流文件”选项,然后单击“浏览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。

(4) 选择不同的Cache容量,包括2KB,4 KB,8 KB,16 KB,32 KB,64 KB,128 KB和256 KB,分别执行模拟器(单击“执行到底”按钮就可执行),然后在表1.1中记录各种情况下的不命中率。

地址流文件名:all.din
表1.1 不同容量下Cache的不命中率
(5)指明地址流文件名,以容量为横坐标,画出不命中率虽Cache容量变化而变化的曲线
(6) 根据该模拟结果,能得出什么结论?
相同的地址流文件,Cache容量越大,Cache的不命中率越低,命中率越高,但当Cache 容量达到一定程度时,Cache的命中率将不变。

3.2 相联度对不命中率的影响
(1) 单击“复位”按钮,将各参数设置为默认值。

此时的Cache容量为64KB。

(2) 选择一个地址流文件。

具体方法:选择“访问地址”→“地址流文件”选项,然后单击“浏览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。

(3) 选取不同的Cache相联度,包括直接映像、2路、4路、8路、16路和32路。

分别执行模拟器(单击“执行到底”按钮),然后再表1.2中记录各种情况下的不命中率。

地址流文件名:all.din
(4) 把Cache的容量设置为256KB,重复(3)步骤填表1.3。

(5) 以相联度为横坐标,画出在64KB和256KB的情况下不命中率随Cache相联度变化而变化的曲线。

并指令地址流文件名。

(6) 根据模拟结果,你能得出什么结论?
相同的地址流文件,当Cache的容量一致时,相联度越大,Cache的不命中率越低,命中率越高,但当相联度达到一定的程度时,Cache命中率不再变化。

当相联度相同时,Cache 不命中率越低,命中率越高,但当Cache容量达到一定程度时,Cache的命中率不再变化。

3.3 Cache块大小对不命中率的影响
(1) 单击“复位”按钮,将各参数设置为默认值。

(2) 选择一个地址流文件。

具体方法:选择“访问地址”→“地址流文件”选项,然后单击“浏览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。

(3) 选择不同的Cache块大小,包括16B,32B,64B,128B和256B。

对于Cache的各种容量,包括2KB,8 KB,32 KB,128 KB和512 KB,分别执行模拟器(单击“执行到底”),然后在表1.4中记录各种情况下的不命中率。

地址流文件名:all.din
(4) 分析Cache块大小对不命中率的影响。

相同的地址流文件,当Cache容量不变时,块的大小越大则Cache命中率越高,但当块的大小超过一定程度时,Cache的命中率会变小。

3.4 替换算法对不命中率的影响
(1) 单击“复位”按钮,将各参数设置为默认值。

(2) 选择地址流文件all.din。

(3) 对于不同的替换算法、Cache容量和相联度,分别执行模拟器(单击“执行到底”按钮),在表1.5中记录各种情况下的不命中率。

表7.5 LRU和随机算法的不命中率的比较
(4) 分析不同的替换算法对Cache不命中率的影响。

当Cache容量不变、相联度不变时,采用LRU算法的Cache命中率高于随机算法的Cache 命中率,但当Cache容量大到一定程度时,采用两种算法的Cache命中率一样。

4 实验总结与心得
本次实验,我通过使用Cache模拟器模拟了Cache的命中率的影响因素,通过控制变量的方法和多次的实验,我得出了课本上的结论。

让我对Cache命中率的分析有了更深入的理解和领悟。

本次实验对我学习相关的课程知识有着积极的作用。

相关主题