第五章存储系统 第2节 Cache的基本知识
一、基本工作原理
1、Cache的基本组成
存储空间管理
信息交换单位—Cache-CPU间为字、Cache-主存间为块;
信息交换管理—目录表(Cache-主存的映射)。
组成
存储体、控制器(目录表+比较器+替换机构+读写机构)
2、Cache的工作原理
访问过程
- 地址变换
- 数据访问
- 数据写回主存
二、实现技术
cache实现技术有:
- 映射规则(块可调入哪些行)
- 替换算法(如何选牺牲行)
- 查找方法(如何找到目标行)
- 写策略(何时/如何写回主存)
这四个,全部是硬件实现。
1、映射规则
确定一个主存块可放到哪些Cache行(候选行)中。
性能指标为块调入时的冲突率。常见有直接、全相联、组相联三种。
通常选用组相联映射方式(全相联的查找/替换成本太高)。
2、查找方法
确定如何查找目标行。
性能指标为查找的速度、成本。
先根据索引确定候选行—块地址=<标记,索引>,然后进行并行查找(按地址查找(单体多字MEM))。
Cache命中时的工作过程
- 取目录项(即行的管理信息,根据索引去取)
- 比较是否命中(比较标记)
- 取目标缓存块(即取块数据可与①同时),读块内数据(可与②同时),或写块内数据、存目标缓存块
- 通知操作完成
3、替换算法
确定从候选行中如何选出一个牺牲块(行)。性能指标为对命中率的影响程度、算法的实现成本
常见算法如下:
通常选用LRU算法。属于堆栈型算法,硬件实现用寄存器堆栈(相联查找+中部移出)实现,栈底对应牺牲行。
4、写策略
确定写操作的数据,何时写到主存。性能指标为对TA、总线占用度的影响程度
常见有全写法、写回法两种。连接总线的$用写回法(TA及总线占用度均好),其余的$用全写法(一致性好、T命中(写)差别小)
全写法
T命中(写)=TMem(字);占用总线/次,保持一致性。
当写缺失时,采用不按写分配法。T缺失(写)=0 (不调入目标块、直接写主存)。
写回法
T命中(写)=TCache(字),替换时写主存;有不一致性。
当写缺失时,采用按写分配法。T缺失(写)≥TMem(块) (先调入目标块、再处理写操作)。
Cache写主存的性能优化
写提交代替写完成,即零等待写(还没写就通知CPU已完成)。
全写法T命中(写)=TMem(字)→TCache(字)。
设置写缓冲器(字)或写回缓冲器(块),数据先写入缓冲区、在cache空闲或者命中时再写入主存。
缓冲器组成大小为2~4行。每行有如下元素。
三、Cache性能分析
1、平均访问时间TA
TA=T命中+F·T缺失,T缺失包括块调入、替换等时延。
2、处理器性能与TA
TCPU=INCPITC=(CPU执行的TC数+存储器停顿的TC数)TC =(CPU执行的TC数+访存次数FT缺失)TC
TA=T命中+F·T缺失,可从3个方面进行。
本文来自博客园,作者:流云轻响,转载请注明原文链接:https://www.cnblogs.com/wozra/p/16255651.html