LAB2 PB13204003 施钰婷
2016-06-17 本文已影响0人
圆圆是一只喵
实验二 Cache 模拟器
实验目的
- 加深对Cache的基本概念、基本组织结构以及基本工作原理的理解;
- 掌握Cache容量、相联度、块大小对Cache性能的影响;
- 掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处;
- 理解LRU与随机法的基本思想以及它们对Cache性能的影响。
实现内容
- 能够设置 Cache 总的大小
- 能够设置 Cache 块的大小
- 能够设置Cache 的映射机制:直接映射、n-路组相联
- 能够设置 Cache 的替换策略:LRU、FIFO
- 能够设置 Cache 的写策略:写回法、写直达法
- 能够设置将 Cache 分为数据 Cache 和 指令 Cache
- 能够设置预取策略
实验原理
Cache结构
- 采用分层分级结构,越接近CPU则速度越快,存储空间越小。
Cache功能
- Cache可以协调从CPU到主存的读写速度差异和存储空间差异,通过若干层cache,以接近CPU的速度读取主存主存大小的存储空间。
- 提供“缓存”的目的是为了让数据访问的速度适应CPU的处理速度,其基于的原理是内存中“程序执行与数据访问的局域性行为”,即一定程序执行时间和空间内,被访问的代码集中于一部分。
映射机制
- 直接映射:每一个内存块地址都可通过模运算对应到一个唯一缓存块上。这是一种多对一映射:多个内存块地址须共享一个缓存区域。
- 组相联映射:把存储空间组织成多个组,每个组有若干数据块。通过建立内存数据和组索引的对应关系,一个内存块可以被载入到对应组内的任一数据块上。
- 全相连:内存中的数据块可以被放置到缓存的任意区域。
换页算法
电脑内存空间的大小固定,无法容纳服务器上所有的文件,所以当有新的文件要被置换入缓存时,必须根据一定的原则来替换掉适当的文件。
- 先进先出算法(FIFO):最先进入的内容作为替换对象
- 最久未使用算法(LRU):最久没有访问的内容作为替换对象
写策略
- 写回法:将缓存中的页换回主存中时,将修改过的快加载回主存。
- 写直达法:在修改缓存中的页时,直接也写回主存。