计组之存储系统:6、Cache-主存映射方式(全相连映射、直接映射、组相连映射)
6、Cache-主存映射方式
- 思維導(dǎo)圖
- 待解決問題
- 三種Cache-主存映射方式
- 全相聯(lián)映射(隨意放)
- 直接映射(只能放固定位置)
- 組相聯(lián)映射(可放到特定分組)
- 各種映射的優(yōu)缺點:
思維導(dǎo)圖
待解決問題
三種Cache-主存映射方式
1、全相連映射:隨意放
2、直接映射:0%8=0,8%8=0;所以cache的0號塊存放0,8,16…
3、組相連映射:0%4=0,4%4=0;所以cache的0組存放0,4,8…
4、如何區(qū)分Cache中存放的是哪個主存塊?
我們第一反應(yīng)是給cache每一塊增加一個標(biāo)記位,用于保存主存的塊號,但是計算機(jī)硬件只能保存0和1;假如默認(rèn)標(biāo)記為0時cache中未存放數(shù)據(jù),但是當(dāng)你訪問cache時,會認(rèn)為你將主存0號塊的數(shù)據(jù)放入了其中,但其實該cache是空的,所以需要增加一個有效位。
全相聯(lián)映射(隨意放)
訪存步驟:
1、主存地址的前22位, 1對比Cache中所有塊2的標(biāo)記;
2、若標(biāo)記匹配且有效位=1,則Cache命中,訪問塊內(nèi)地址為2!!-3001110 的單元。
直接映射(只能放固定位置)
1、與全相連映射相比,對于主存地址分析可知,Cache的塊號剛好與主存塊號的后3為相同(Cache總塊數(shù)為8),所以在進(jìn)行標(biāo)記時,就不需要在標(biāo)記這三位了,所以從原來的22位變成了19位
2、訪存步驟:根據(jù)主存塊號的后3位確定Cache行,在主存塊號的前19位與Cache標(biāo)記匹配且有效位=1,最后訪問塊內(nèi)地址為 001110 的單元。
組相聯(lián)映射(可放到特定分組)
1、同直接映射相同,2塊為一組,分四組時,以后倆位就直接反映了組號,所以也不用保存,因此,標(biāo)記位保存20位即可
2、訪存步驟:首先根據(jù)主存塊號的后12位確定所屬分組號;其次若主存塊號的前20位與分組內(nèi)的某個標(biāo)記匹配且有效位=1,則Cache命中;最后訪問塊內(nèi)地址為 001110的單元。
各種映射的優(yōu)缺點:
見思維導(dǎo)圖
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的计组之存储系统:6、Cache-主存映射方式(全相连映射、直接映射、组相连映射)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转]python yield
- 下一篇: AppStore 上架注意事项及错误修改