第五章存储系统 第2节 Cache的基本知识

一、基本工作原理

1、Cache的基本组成

存储空间管理

信息交换单位—Cache-CPU间为字、Cache-主存间为块;
信息交换管理—目录表(Cache-主存的映射)。

组成

存储体、控制器(目录表+比较器+替换机构+读写机构)
image
image

2、Cache的工作原理

访问过程

  1. 地址变换
  2. 数据访问
  3. 数据写回主存

二、实现技术

cache实现技术有:

  1. 映射规则(块可调入哪些行)
  2. 替换算法(如何选牺牲行)
  3. 查找方法(如何找到目标行)
  4. 写策略(何时/如何写回主存)

这四个,全部是硬件实现。

1、映射规则

确定一个主存块可放到哪些Cache行(候选行)中。
性能指标为块调入时的冲突率。常见有直接、全相联、组相联三种。
通常选用组相联映射方式(全相联的查找/替换成本太高)。
image

2、查找方法

确定如何查找目标行。
性能指标为查找的速度、成本。
先根据索引确定候选行—块地址=<标记,索引>,然后进行并行查找(按地址查找(单体多字MEM))。
image

Cache命中时的工作过程

  1. 取目录项(即行的管理信息,根据索引去取)
  2. 比较是否命中(比较标记)
  3. 取目标缓存块(即取块数据可与①同时),读块内数据(可与②同时),或写块内数据、存目标缓存块
  4. 通知操作完成
    image

3、替换算法

确定从候选行中如何选出一个牺牲块(行)。性能指标为对命中率的影响程度、算法的实现成本
常见算法如下:
通常选用LRU算法。属于堆栈型算法,硬件实现用寄存器堆栈(相联查找+中部移出)实现,栈底对应牺牲行。
image

4、写策略

确定写操作的数据,何时写到主存。性能指标为对TA、总线占用度的影响程度
常见有全写法、写回法两种。连接总线的$用写回法(TA及总线占用度均好),其余的$用全写法(一致性好、T命中(写)差别小)

全写法

T命中(写)=TMem(字);占用总线/次,保持一致性。
当写缺失时,采用不按写分配法。T缺失(写)=0 (不调入目标块、直接写主存)。
image
image

写回法

T命中(写)=TCache(字),替换时写主存;有不一致性。
当写缺失时,采用按写分配法。T缺失(写)≥TMem(块) (先调入目标块、再处理写操作)。
image
image

Cache写主存的性能优化

写提交代替写完成,即零等待写(还没写就通知CPU已完成)。

全写法T命中(写)=TMem(字)→TCache(字)。

设置写缓冲器(字)或写回缓冲器(块),数据先写入缓冲区、在cache空闲或者命中时再写入主存。
缓冲器组成大小为2~4行。每行有如下元素。
image

三、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个方面进行。

posted @ 2022-05-10 22:14  流云轻响  阅读(148)  评论(0)    收藏  举报