計算機組成原理——主存與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得到組號。
相關文章
相關標籤/搜索