zl程序教程

您现在的位置是:首页 >  后端

当前栏目

计组 | 【Cache】主存映射cache容量及cache写策略

映射 策略 cache 容量 计组
2023-09-11 14:19:29 时间

 

预备知识

1.cache的产生背景

在多体并行存储器中讲过,外部设备的优先级最高,这样就会导致CPU等待外部设备访存的现象,致使CPU空等一段时间,甚至可能等待几个主存周期,从而降低了CPU的工作效率。

为了避免CPU与I/O设备争抢访存,可在 CPU与主存之间加一个Cache。

这样一来,如果外部设备正在和主存交换信息,CPU就可以不用等待,直接从Cache中取所需信息。当然,考生会提出质疑,Cache那么小,每次访问 CPU的数据都有吗?解释:

2.局部性原理

通过大量典型程序的分析,发现 CPU从主存取指令或取数据,在一定时间内,只是对主存局部地址区域的访问(如循环程序、一些常数)。

于是人们就想到一个办法,将CPU近期需要的程序提前存放到Cache中。

这样CPU只需访问Cache就可以得到所需要的数据了。

一般Cache采用高速的SRAM制作(主存一般使用DRAM),其价格比主存高,容量远比主存小。

补充:局部性原理一般有两种,即时间局部性原理和空间局部性原理。

  • 1)  时间局部性原理。如果某个数据或指令被使用,那么不久将可能再被使用。
  • 2)空间局部性原理。如果某个数据或指令被使用,那么附近数据也可能被使用。

3.主存与Cache的编址

 

前提:如果主存要和Cach