美文网首页工作生活
cache原理与映射 - 草稿

cache原理与映射 - 草稿

作者: skelton | 来源:发表于2019-07-02 21:19 被阅读0次

    利用的原理:程序访问的局部性原理

    (时间访问局部性和空间访问局部性)

    解释:时间局部性是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则不久之后该数据可能再次被访问。
      空间局部性是指一旦程序访问了某个存储单元,则不久之后。其附近的存储单元也将被访问。
    cpu访问的数据和指令,在一定时间内,只是对主存局部地址区域进行访问。
    我们先说说时间局部性。在内存中往往是在主存中连续存放的。这些指令数据,可能需要多次调用,例如一些子程序,循环程序和一些常数。cpu将最近一段时间要频繁使用的数据和程序从主存送到cache中,这样cpu就可以在一定时间内只访问cache.
    我们再说说空间局部性。上面说道,cpu访问数据和指令在主存内是连续存放的,所以cpu在访问某个存储单元后,马上就会访问他相邻的其他存储单元
    直接映射
    把主存的每一块映射到一个固定的cache行(槽)
    映射关系为
    cache行号=主存块号mod cache行数
    假设cache有16行
    例如:4=100 mod 16

    说明主存第100块映射到cache第四行

    cache原理与映射 - 草稿

    说下这个主存标记的作用,假设cache有16行,则每个块群有16块。主存第1块映射到cache的地址为1mod16=1,映射到第一行。但是第17块映射到cache地址,17mod16=1,同样也为第一行。第一个块属于第一块群,第17块属于第2块群,主存标记就可以指出我到底是1块群,还是2块群,还是其他块群。

    CPU通过判断内存中访问单元的高七位的主存标记和cache槽里面的标记相等否,相等且有效位为1表示命中了,否则就是不命中

    cache最高的一位为有效位,0表示空,被替换后为1


    全相连映射

    cache原理与映射 - 草稿

    不按地址访问,按内容访问。命中率很高,无需cache索引,因为要同时比较cache项的标志。每一行都要比较器,代价很大,速度慢。


    组相联映射

    cache组号=主存块号mod cache组数


    相关文章

      网友评论

        本文标题:cache原理与映射 - 草稿

        本文链接:https://www.haomeiwen.com/subject/vgkicctx.html