您的位置:首页 > 理论基础

计算机组成原理 实验1 Cache模拟器的实现

2016-11-11 10:43 1711 查看
一.实验目的

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

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

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

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

二、实验内容和步骤

1、启动CacheSim。

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

3、依次输入以下参数:Cache容量、块容量、映射方式、替换策略和写策略。

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

256KB 8 Byte 直接映射 —— ——-

64KB 32 Byte 4路组相联 LRU ——-

64KB 32 Byte 4路组相联 随机 ——–

8KB 64 Byte 全相联 LRU ———

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

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

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

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

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

三.实验结果分析

四.实验心得

***实验过程***


一.首先要了解cache的作用:

:在多并行存储系统中,由于I/O设备向主存请求的级别高于CPU访存,这就出现了CPU等待I/O设备访存的现象,致使CPU空等一段时间,甚至可能等待几个主存周期,从而降低了CPU的工作效率。为了避免CPU与I/O设备争抢访存,可在CPU与主存之间加一级缓存这样,主存可将CPU要取的信息提前送至缓存,一旦主存在与I/O设备交换时,CPU可直接从缓存中读取所需信息,不必空等而影响效率。

二.实验结果

Cache容量 块容量 映射方式 命中率 差量

8KB 32B 直接映射 96.5519

16KB 32B 直接映射 97.8677 1.3158

32KB 32B 直接映射 98.2644 0.3967

64KB 32B 直接映射 98.5404 0.2760

128KB 32B 直接映射 98.6606 0.1202

Cache容量 块容量 映射方式 命中率 差量

32KB 8B 直接映射 95.6332

32KB 16B 直接映射 97.5547 1.9215

32KB 32B 直接映射 98.5404 0.9857

32KB 64B 直接映射 99.017 0.4766

32KB 128B 直接映射 99.1196 0.1026

Cache容量 块容量 映射方式 命中率 差量

128KB 64B 2路组相联 99.3083

128KB 64B 4路组相联 99.3221 0.0138

128KB 64B 6路组相联 99.3246 0.0025

128KB 64B 8路组相联 99.3244 -0.0002

128KB 64B 16路组相联 99.3263 0.0019

Cache容量 块容量 映射方式 命中率

64KB 32B FIFO 5.73938

64KB 32B LRU 98.7636

64KB 32B RANDOM 98.7122

三:思考

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

根据实验结果显示:Cache 的容量与块长是影响cache效率的重要因素;

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

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

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

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

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

LRU算法比较好地利用访存局部性原理,替换出近期用得最少的字块,它需要随时记录cache 各个字块使用情况。FIFO不需要记录各个字块的使用情况,比较容易实现开销小,但是没有根据访存的局部性原理,最早调入的信息可能以后还要用到,或经常用到例如循环程序;

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

四:实验心得

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

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

因为LRU 、FIFO 、RANDOM替换算法对命中率也有这一些影响。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  计算机组成原理