实验4 Cache性能分析【计算机系统结构】 您所在的位置:网站首页 CSAPP实验linkbomb 实验4 Cache性能分析【计算机系统结构】

实验4 Cache性能分析【计算机系统结构】

2023-06-18 16:03| 来源: 网络整理| 查看: 265

实验4 Cache性能分析【计算机系统结构】 前言推荐实验四 Cache性能分析1 实验目的2 实验平台3 实验内容和步骤3.1 Cache容量对不命中率的影响3.2 相联度对不命中率的影响3.3 Cache块大小对不命中率的影响3.4 替换算法对不命中率的影响 4 实验总结与心得5 请思考 最后

前言

2023-6-16 21:19:13

以下内容源自《【计算机系统结构】》 仅供学习交流使用

推荐

实验3 Tomasulo算法【计算机系统结构】

实验四 Cache性能分析 1 实验目的

(1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。 (2)掌握Cache容量、相联度、块大小对Cache性能的影响。 (3)掌握降低Cache不命中率的各种方法。

2 实验平台

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

(2) 系统打开操作界面,如下图所示:

MyCache-Cache模拟器 设置参数区 模拟结果显示区 执行控制区 (3) 可以设置的参数包括Cache的容量、块大小、相联度、替换算法、预取策略、写策略、写不命中时的调块策略。可以直接从列表中选择。 (4) 访问地址可以选择来自地址流文件,也可以选择手动输入。如果是前者,则可以通过单击“浏览”按钮,从模拟器所在文件夹下的“地址流”文件夹中选取地址流文件(.din)文件,然后执行。执行得方式可以是单步,也可以选择一次执行结束。如果选择手动输入,就可以在“执行控制”区域中输入块地址,然后单击“访问”按钮。系统会在界面的右边显示访问类型、地址、块号以及块内地址。 (5) 模拟结果包括:

访问总次数,总的不命中次数,总的不命中率。读指令操作的次数,其不命中次数及其不命中率。读数据操作的次数,其不命中次数及其不命中率。写数据操作的次数,其不命中次数及其不命中率。手动输入单次访问的相关信息。 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中记录各种情况下的不命中率。 地址流文件名: all.din

在这里插入图片描述

(5) 指明地址流文件名,以容量为横坐标,画出不命中率虽Cache容量变化而变化的曲线图。

在这里插入图片描述

图1 all.din文件中不同Cache容量下的不命中率

(6) 根据该模拟结果,能得出什么结论? 增加Cache容量可以有效地减少Cache的不命中率。

3.2 相联度对不命中率的影响

(1) 单击“复位”按钮,将各参数设置为默认值。此时的Cache容量为64KB。 (2) 选择一个地址流文件。具体方法:选择“访问地址”→“地址流文件”选项,然后单击“浏览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。 (3) 选取不同的Cache相联度,包括直接映像、2路、4路、8路、16路和32路。分别执行模拟器(单击“执行到底”按钮),然后在表2中记录各种情况下的不命中率。 在这里插入图片描述

(4) 把Cache的容量设置为256KB,重复(3)步骤填表3。

在这里插入图片描述

(5) 以相联度为横坐标,画出在64KB和256KB的情况下不命中率随Cache相联度变化而变化的曲线。并指明地址流文件名。 在这里插入图片描述

(6) 根据模拟结果,你能得出什么结论? 提高相联度可以减少Cache的不命中率。

3.3 Cache块大小对不命中率的影响

(1) 单击“复位”按钮,将各参数设置为默认值。 (2) 选择一个地址流文件。具体方法:选择“访问地址”→“地址流文件”选项,然后单击“浏览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。 (3) 选择不同的Cache块大小,包括16B,32B,64B,128B和256B。对于Cache的各种容量,包括2KB,8 KB,32 KB,128 KB和512 KB,分别执行模拟器(单击“执行到底”),然后在表4中记录各种情况下的不命中率。

在这里插入图片描述

(4) 分析Cache块大小对不命中率的影响。 1.增强了空间局部性,减少了强制性不命中; 2.减少了Cache中块的数目,所以有可能会增加冲突不命中。

3.4 替换算法对不命中率的影响

(1) 单击“复位”按钮,将各参数设置为默认值。 (2) 选择地址流文件all.din。 (3) 对于不同的替换算法、Cache容量和相联度,分别执行模拟器(单击“执行到底”按钮),在表5中记录各种情况下的不命中率。 在这里插入图片描述 (4) 分析不同的替换算法对Cache不命中率的影响。 在Cache容量较小时,LRU算法的不命中率低于随机算法,当Cache容量较大时,两者差距不明显。

4 实验总结与心得

通过本次实验,我加深了对Cache的基本概念、基本组织结构以及基本工作原理的理解,掌握了Cache容量、相联度、块大小对Cache性能的影响,掌握了降低Cache不命中率的各种方法。

5 请思考

通过前面的仿真过程主要理解了影响Cache命中率的因素。命中率会影响Cache系统性能,但评价Cache系统性能应该考虑到访问的缺失代价的问题。更好的评价Cache系统性能的思想是存储器平均访问时间: 存储器平均访问时间=Cache命中时间+Cache命中缺失率╳缺失代价 请从此思路出发,分析Cache性能优化方法。用自己的语言总结这些优化方法的思想。通过查找资料,举出某些采用上述优化方法机器实例。 思想:提升命中率,降低缺失代价,减少命中时间。 实例:ADM Opteron的存储器。

最后

2023-6-16 21:26:01

你对我百般注视, 并不能构成万分之一的我, 却是一览无余的你。

祝大家逢考必过 点赞收藏关注哦



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有