找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2270|回復: 0
打印 上一主題 下一主題
收起左側(cè)

cache的兩種方式——Write Through和Write back

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:105323 發(fā)表于 2016-3-4 14:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
程序的局部性原理:是指程序在執(zhí)行時呈現(xiàn)出局部性規(guī)律,即在一段時間內(nèi),整個程序的執(zhí)行僅限于程序中的某一部分。相應地,執(zhí)行所訪問的存儲空間也局限于某個內(nèi)存區(qū)域。局部性原理又表現(xiàn)為:時間局部性和空間局部性。時間局部性是指如果程序中的某條指令一旦執(zhí)行,則不久之后該指令可能再次被執(zhí)行;如果某數(shù)據(jù)被訪問,則不久之后該數(shù)據(jù)可能再次被訪問?臻g局部性是指一旦程序訪問了某個存儲單元,則不久之后。其附近的存儲單元也將被訪問。

為了保證cache和memory的數(shù)據(jù)一致性,通常有三種方法:1〉writethrough:CPU向cache寫入數(shù)據(jù)時,同時向memory也寫一份,使cache和memory的數(shù)據(jù)保持一致。優(yōu)點是簡單,缺點是每次都要訪問memory,速度比較慢。
2〉postwrite:CPU更新cache數(shù)據(jù)時,把更新的數(shù)據(jù)寫入到一個更新緩沖器,在合適的時候才對memory進行更新。這樣可以提高cache訪問速度,但是,在數(shù)據(jù)連續(xù)被更新兩次以上的時候,緩沖區(qū)將不夠使用,被迫同時更新memory。
3〉writeback:CPU更新cache時,只是把更新的cache區(qū)標記一下,并不同步更新memory。只是在cache區(qū)要被新進入的數(shù)據(jù)取代時,才更新memory。這樣做的原因是考慮到很多時候cache存入的是中間結(jié)果,沒有必要同步更新memory。優(yōu)點是CPU執(zhí)行的效率提高,缺點是實現(xiàn)起來技術(shù)比較復雜。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表