第四章

高速缓冲存储器

一、cache工作原理

1、主存和缓存的编址

复习第六天

2、命中与未命中

假如:

​ 缓存共有 C 块

​ 主存共有 M 块 M>>C

命中 主存块 已调入 缓存

​ 主存块与缓冲块 建立 了对应关系

标记来记录 与某缓存块建立了对应关系的 主存块号

未命中 主存块 未调入 缓存

​ 主存块与 缓存块 未建立 对应关系

3、cache的命中率

(1)命中率:

CPU访问的信息在cache中的比率;

是衡量cache效率的主要指标。

(2)命中率公式:

复习第六天

(3)影响命中率的因素

①cache容量越大,命中率越高,但价格越高。

②与块长B有关,联系复杂,取决于程序的局部特性。

注意:
块长B不宜过大,一般取块长为4——8个可编址单位。

4、cache——主存系统的效率

假设:

tc为命中时的cache访问时间;

tm为未命中时的主存访问时间;

h表示命中率;

1-h表示未命中率;

则:

平均访问时间为:hxtc+(1-h)xtm
复习第六天

访问效率e与命中率有关:

e=(访问cache的时间/平均访问时间)x100%

则:e=(tc/(hxtc+(1-h)xtm))x100%

复习第六天

例:
CPU执行一段程序时,cache完成存取的次数为1900次,主存完成的存取次数为100次,已知cache存取时间为50ns,主存存取时间为250ns,求cache/主存系统的效率和平均访问时间。

解:

(1)命中率:

h=1900/(1900+100)=0.95

(2)平均访问时间:

t=0.95x50+(1-0.95)x250=60ns

(3)访问效率:

e=50/60*100%=83.3%

二、cache的基本结构

复习第六天

三、cache的读写操作

1、读操作

复习第六天

2、写操作

为了保持cache和主存的一致性,有两种方法

(1)写直达法

写操作数时既写入cache又写入主存

缺点:若CPU多次访问同一块,就会使该块被频繁写入内存。

(2)写回法

写操作是只把数据写入cache而不写入主存;

当cache数据被替换出去时才写回主存;

命中时读写操作时间就是访问cache的时间;

不命中时,发生数据替换是,可能导致被替换的块需写回主存,增加了cache的复杂性。

四、cache的改进

1、增加caceh级数

片内cache

片外cache

2、统一缓存和分立缓存

指令cache

数据cache

与主存结构有关;

与指令执行的控制方式有关,是否预取、流水。

五、cache——主存的地址映射

1、直接映射(固定的映射关系)

复习第六天

复习第六天

复习第六天

2、全相联映射(灵活性大的映射关系)

复习第六天

复习第六天

3、组相联映射(直接映射和全相联映射的折中)

复习第六天

4、三种映射方式比较

(1)直接映射:

某一主存块只能映射到唯一缓存块。映射方式简单,当时不够灵活,容易导致快冲突。

(2)全相联映射:某一主存块可映射到任一缓存块,最灵活,不易冲突,但成本高。

(3)组相联映射:某一主存块可映射到某一组中的任一块,兼顾了灵活性和成本。

5、例题

复习第六天

复习第六天

复习第六天
复习第六天

六、替换算法

1、先进先出(FIFO)算法

复习第六天

2、最近最少使用算法

替换出近期用得最少的字块

随时记录cache中各字块的使用情况

以确定近期最少使用的字块

3、随机法

随机替换,没有依据访存的局部性原理,不能提高命中率。

相关文章:

  • 2021-09-29
  • 2021-10-03
  • 2022-12-23
  • 2022-01-04
  • 2021-04-19
  • 2022-01-15
  • 2022-12-23
  • 2021-08-30
猜你喜欢
  • 2022-12-23
  • 2021-09-03
  • 2021-12-02
  • 2022-01-16
  • 2021-08-27
  • 2021-09-27
  • 2021-07-16
相关资源
相似解决方案