• 计算机组成原理——主存与cache的映射关系


    全相联映像:

    特点:指主存的一个字块能够映像到整个Cache的不论什么一个字块中。这样的映射方法比較灵活,cache的利用率高。但地址转换速度慢,且须要採用某种置换算法将cache中的内容调入调出,实现起来系统开销大。

     

                      

    直接相联映像:

    特点:指主存的一个字块仅仅能映像到Cache的一个准确确定的字块中,主存的字块仅仅能够和固定的Cache字块相应,方式直接,利用率低。

    成本低,命中率低,效率较低。



    组相联映像:

             对全相联和直接映像的一种折中的处理方案。

    既不在主存和Cache之间实现字块的全然任意相应,也不在主存和Cache之间实现字块的多对一的硬性相应。而是实现一种有限度的任意相应。


             特点:折中方案。组间全相联,组内直接映像。

    集中了两个方式的长处。

    成本也不太高。

    最常见的Cache映像方式。

                                       

    总结:

    三种映射规则能够简单觉得是对取模运算和取商运算的组合;
    如果:内存=30块,cache=5块,1块=10个字,所以内存=300个字。cache=50个字;内存包括的字数为memsize,块包括的字数为blocksize,cache包括的字数为cachesize,每一个区包括的块数为regionblocknum。每一个组包括的块数为groupblocknum,区内块号(区内偏移量)为regionblockoffset。
    直接映射:memsize MOD blocksize获得的是字在块内的偏移量。memsize / blocksize获得的是块的标号作为标记。
    全相联映射:regionblocknum取cache中的块的数量,所以cahce总是与内存中的一个区大小同样。memsize blocksize)获得全部的块数,然后再对块进行分区,分区操作是memsize blocksize)/regionblocknum获得全部的区数,
    memsize blocksize)MOD  regionblocknum获得区内块号(区内偏移量)。区内偏移量做索引,区号做标记。
    组相联映射:regionblockoffset=memsize blocksize)MOD  regionblocknum,regionblockoffset / groupblocknum获得组内偏移量,regionblockoffset MOD  groupblocknum获得组号。


  • 相关阅读:
    2-5 Flutter开发环境与Android开发环境设置详解(Windows)
    2-3 Flutter开发环境与iOS开发环境设置(Mac)
    2-1 本章作业&2-2 开发系统与工具选择
    ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置
    ASP.NET Core会议管理平台实战_3、认证、授权表迁移
    29.镜像容器与仓库
    27.集成EFCore配置Client和API
    26.OpenIdConnect获取用户信息的两种方式
    25.ProfileService实现(调试)
    24.集成ASP.NETCore Identity
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6773684.html
Copyright © 2020-2023  润新知