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

全相联映像:

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

 

                  

直接相联映像:

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

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



组相联映像:

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

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


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

集中了两个方式的长处。索引

成本也不过高。内存

最多见的Cache映像方式。io

                                   

总结:

三种映射规则可以简单以为是对取模运算和取商运算的组合;
若是:内存=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得到组号。
相关文章
相关标签/搜索