实验一 Cache模拟器的实现.docx

上传人:b****7 文档编号:8984014 上传时间:2023-02-02 格式:DOCX 页数:17 大小:358.53KB
下载 相关 举报
实验一 Cache模拟器的实现.docx_第1页
第1页 / 共17页
实验一 Cache模拟器的实现.docx_第2页
第2页 / 共17页
实验一 Cache模拟器的实现.docx_第3页
第3页 / 共17页
实验一 Cache模拟器的实现.docx_第4页
第4页 / 共17页
实验一 Cache模拟器的实现.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

实验一 Cache模拟器的实现.docx

《实验一 Cache模拟器的实现.docx》由会员分享,可在线阅读,更多相关《实验一 Cache模拟器的实现.docx(17页珍藏版)》请在冰豆网上搜索。

实验一 Cache模拟器的实现.docx

实验一Cache模拟器的实现

实验1Cache模拟器的实现

一.实验目的

(1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。

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

(3)掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处。

(4)理解LRU与随机法的基本思想以及它们对Cache性能的影响。

二、实验内容和步骤

1、启动CacheSim。

2、根据课本上的相关知识,进一步熟悉Cache的概念和工作机制。

Cache出现:

 

I/O设备访问主存请求级别高于CPU访存,在多体并行存储系统出现,使得CPU等甚多至几个主存周期,效率降低;所以在CPU于主存之间加一级缓存,先将CPU要取的信息提前送至缓存,CPU可直接从缓存中读取信息; 

3、依次输入以下参数:

Cache容量、块容量、映射方式、替换策略和写策略。

控制块容量,映射方式,替换策略,写策略不变,改变Cache容量,测量同一个文件,观察Cache的命中率与其容量大小有何关系

Cache容量

块容量

映射方式

替换策略

写策略

1KB

2Byte

直接映射

------

-------

2KB

2Byte

直接映射

------

-------

64KB

2Byte

直接映射

------

------

128KB

2Byte

直接映射

------

--------

1024KB

2Byte

直接映射

------

---------

 

1)输入第一组测试数据:

测试结果:

2)输入第二组测试数据:

测试结果:

3)输入第三组测试数据

测试结果:

4)输入第四组操作数据:

测试结果:

5)输入第五组测试数据:

测试结果:

Cache容量

块容量

映射方式

替换策略

写策略

16KB

64Byte

4路组相连

LRU

-------

16KB

128Byte

4路组相连

LRU

-------

16KB

256Byte

4路组相连

LRU

------

16KB

512Byte

4路组相连

LRU

--------

16KB

1024Byte

4路组相连

LRU

---------

1)输入第一组数据

测试结果

2)输入第二组数据

测试结果:

3)输入第三组数据

测试结果:

4)输入第四组数据:

测试结果:

控制Cache容量,Cache的大小,替换策略,写策略不变,改变映射方式,观察块的命中率与其映射方式有无关系

Cache容量

块容量

映射方式

替换策略

写策略

64KB

252Byte

直接映射

LRU

-------

64KB

252Byte

4路组相连

LRU

-------

64KB

252Byte

全相联

LRU

------

1)输入第一组数据

测试结果:

4、读取cache-traces.zip中的trace文件。

5、运行程序,观察cache的访问次数、读/写次数、平均命中率、读/写命中率。

思考:

1、Cache的命中率与其容量大小有何关系?

Cache的容量与块长是影响cache效率的重要因素; 

Cache容量越大,其CPU命中率就越高,当然容量过大,增加成本,而且cache容量达到一定值时, 命中率已不因容量的增加而又明显的提高;

2、Cache块大小对不命中率有何影响?

Cache当块由小到大,在已被访问字的附近,近期也可能访问,增大块长,可将更多有用字存入缓存,提高命中率;但是继续增大块长,命中率可能下降,因为所装入缓存的有用数据反而少于被替换掉的有用数据,由于块长增大,块数减少,装入新的块要覆盖旧块,很可能出现少数块刚装入就被覆盖,故命中率可能下降;

3、替换算法和相联度大小对不命中率有何影响?

替换算法中:

LRU算法的平均命中率比FIFO的高 

LRU算法比较好地利用访存局部性原理,替换出近期用得最少的字块,它需要随时记录cache各个字块使用情况。

FIFO不需要记录各个字块的使用情况,比较容易实现开销小,但是没有根据访存的局部性原理,最早调入的信息可能以后还要用到,或经常用到例如循环程序; 

Cache容量一定时,随着相联度的不断增加,不命中率渐渐减小,但是当相连度增加到一定程度时,不命中率保持不变;

三.实验结果分析

∙Cache的命中率与其容量大小的关系

 

将所有测试的数据绘制成折线图,更清晰的展现,如下 

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

 

∙替换算法对命中率影响数据分析

 

 

FIFO 

 

LRU 

 

Random 

∙相关度大小对命中率的影响

 

*折线图 

 

四.实验心得

有实验指导书可知,实验所需要知识点是高速缓冲存储器第四章的基础内容,然后由书中学习了cache发展历程,基本工作原理; 

对实验所需要的重点名词,进行了理解;命中率,访问效率,平均访问时间例题进行了理解,从而分析了Cache容量,相关度,块大小,替换算法对命中率的影响; 

因为LRU、FIFO、RANDOM替换算法对命中率也有这一些影响; 

看了主存地址映射:

有直接映射,全相连映射,感觉有一些迷糊了; 

不是太容易理解了,然后XX搜了一些相连度大小对命中率影响,然后运用CacheSim模拟器,仅仅从一个数值中值看出来简单的变化; 

但是并不能看出有什么规律;然后把它们用excel做成折线图,发现其中存在的规律; 

然后翻阅书籍;解释为什么会存在着现象;这种实践让在学习知识点的过程中,更加有说服性了;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1